Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

dlaref(3) [debian man page]

DLAREF(l)					      LAPACK auxiliary routine (version 1.5)						 DLAREF(l)

NAME
DLAREF - applie one or several Householder reflectors of size 3 to one or two matrices (if column is specified) on either their rows or columns SYNOPSIS
SUBROUTINE DLAREF( TYPE, A, LDA, WANTZ, Z, LDZ, BLOCK, IROW1, ICOL1, ISTART, ISTOP, ITMP1, ITMP2, LILOZ, LIHIZ, VECS, V2, V3, T1, T2, T3 ) LOGICAL BLOCK, WANTZ CHARACTER TYPE INTEGER ICOL1, IROW1, ISTART, ISTOP, ITMP1, ITMP2, LDA, LDZ, LIHIZ, LILOZ DOUBLE PRECISION T1, T2, T3, V2, V3 DOUBLE PRECISION A( LDA, * ), VECS( * ), Z( LDZ, * ) PURPOSE
DLAREF applies one or several Householder reflectors of size 3 to one or two matrices (if column is specified) on either their rows or columns. ARGUMENTS
TYPE (global input) CHARACTER*1 If 'R': Apply reflectors to the rows of the matrix (apply from left) Otherwise: Apply reflectors to the columns of the matrix Unchanged on exit. A (global input/output) DOUBLE PRECISION array, (LDA,*) On entry, the matrix to receive the reflections. The updated matrix on exit. LDA (local input) INTEGER On entry, the leading dimension of A. Unchanged on exit. WANTZ (global input) LOGICAL If .TRUE., then apply any column reflections to Z as well. If .FALSE., then do no additional work on Z. Z (global input/output) DOUBLE PRECISION array, (LDZ,*) On entry, the second matrix to receive column reflections. This is changed only if WANTZ is set. LDZ (local input) INTEGER On entry, the leading dimension of Z. Unchanged on exit. BLOCK (global input) LOGICAL If .TRUE., then apply several reflectors at once and read their data from the VECS array. If .FALSE., apply the single reflector given by V2, V3, T1, T2, and T3. IROW1 (local input/output) INTEGER On entry, the local row element of A. Undefined on output. ICOL1 (local input/output) INTEGER On entry, the local column element of A. Undefined on output. ISTART (global input) INTEGER Specifies the "number" of the first reflector. This is used as an index into VECS if BLOCK is set. ISTART is ignored if BLOCK is .FALSE.. ISTOP (global input) INTEGER Specifies the "number" of the last reflector. This is used as an index into VECS if BLOCK is set. ISTOP is ignored if BLOCK is .FALSE.. ITMP1 (local input) INTEGER Starting range into A. For rows, this is the local first column. For columns, this is the local first row. ITMP2 (local input) INTEGER Ending range into A. For rows, this is the local last column. For columns, this is the local last row. LILOZ LIHIZ (local input) INTEGER These serve the same purpose as ITMP1,ITMP2 but for Z when WANTZ is set. VECS (global input) DOUBLE PRECISION array of size 3*N (matrix size) This holds the size 3 reflectors one after another and this is only accessed when BLOCK is .TRUE. V2 V3 T1 T2 T3 (global input/output) DOUBLE PRECISION This holds information on a single size 3 Householder reflector and is read when BLOCK is .FALSE., and overwritten when BLOCK is .TRUE. Implemented by: G. Henry, May 1, 1997 LAPACK version 1.5 12 May 1997 DLAREF(l)

Check Out this Related Man Page

DORMR3(l)								 )								 DORMR3(l)

NAME
DORMR3 - overwrite the general real m by n matrix C with Q * C if SIDE = 'L' and TRANS = 'N', or Q'* C if SIDE = 'L' and TRANS = 'T', or C * Q if SIDE = 'R' and TRANS = 'N', or C * Q' if SIDE = 'R' and TRANS = 'T', SYNOPSIS
SUBROUTINE DORMR3( SIDE, TRANS, M, N, K, L, A, LDA, TAU, C, LDC, WORK, INFO ) CHARACTER SIDE, TRANS INTEGER INFO, K, L, LDA, LDC, M, N DOUBLE PRECISION A( LDA, * ), C( LDC, * ), TAU( * ), WORK( * ) PURPOSE
DORMR3 overwrites the general real m by n matrix C with Q * C if SIDE = 'L' and TRANS = 'N', or Q'* C if SIDE = 'L' and TRANS = 'T', or C * Q if SIDE = 'R' and TRANS = 'N', or C * Q' if SIDE = 'R' and TRANS = 'T', where Q is a real orthogonal matrix defined as the product of k elementary reflectors Q = H(1) H(2) . . . H(k) as returned by DTZRZF. Q is of order m if SIDE = 'L' and of order n if SIDE = 'R'. ARGUMENTS
SIDE (input) CHARACTER*1 = 'L': apply Q or Q' from the Left = 'R': apply Q or Q' from the Right TRANS (input) CHARACTER*1 = 'N': apply Q (No transpose) = 'T': apply Q' (Transpose) M (input) INTEGER The number of rows of the matrix C. M >= 0. N (input) INTEGER The number of columns of the matrix C. N >= 0. K (input) INTEGER The number of elementary reflectors whose product defines the matrix Q. If SIDE = 'L', M >= K >= 0; if SIDE = 'R', N >= K >= 0. L (input) INTEGER The number of columns of the matrix A containing the meaningful part of the Householder reflectors. If SIDE = 'L', M >= L >= 0, if SIDE = 'R', N >= L >= 0. A (input) DOUBLE PRECISION array, dimension (LDA,M) if SIDE = 'L', (LDA,N) if SIDE = 'R' The i-th row must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by DTZRZF in the last k rows of its array argument A. A is modified by the routine but restored on exit. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,K). TAU (input) DOUBLE PRECISION array, dimension (K) TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by DTZRZF. C (input/output) DOUBLE PRECISION array, dimension (LDC,N) On entry, the m-by-n matrix C. On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q. LDC (input) INTEGER The leading dimension of the array C. LDC >= max(1,M). WORK (workspace) DOUBLE PRECISION array, dimension (N) if SIDE = 'L', (M) if SIDE = 'R' INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value FURTHER DETAILS
Based on contributions by A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA LAPACK version 3.0 15 June 2000 DORMR3(l)
Man Page