DLATZM(3F) DLATZM(3F)
DLATZM - applie a Householder matrix generated by DTZRQF to a matrix
SUBROUTINE DLATZM( SIDE, M, N, V, INCV, TAU, C1, C2, LDC, WORK )
CHARACTER SIDE
INTEGER INCV, LDC, M, N
DOUBLE PRECISION TAU
DOUBLE PRECISION C1( LDC, * ), C2( LDC, * ), V( * ), WORK( *
)
DLATZM applies a Householder matrix generated by DTZRQF to a matrix.
Let P = I - tau*u*u', u = ( 1 ),
( v )
where v is an (m-1) vector if SIDE = 'L', or a (n-1) vector if SIDE =
'R'.
If SIDE equals 'L', let
C = [ C1 ] 1
[ C2 ] m-1
n
Then C is overwritten by P*C.
If SIDE equals 'R', let
C = [ C1, C2 ] m
1 n-1
Then C is overwritten by C*P.
SIDE (input) CHARACTER*1
= 'L': form P * C
= 'R': form C * P
M (input) INTEGER
The number of rows of the matrix C.
N (input) INTEGER
The number of columns of the matrix C.
V (input) DOUBLE PRECISION array, dimension
(1 + (M-1)*abs(INCV)) if SIDE = 'L' (1 + (N-1)*abs(INCV)) if SIDE
= 'R' The vector v in the representation of P. V is not used if
TAU = 0.
Page 1
DLATZM(3F) DLATZM(3F)
INCV (input) INTEGER
The increment between elements of v. INCV <> 0
TAU (input) DOUBLE PRECISION
The value tau in the representation of P.
C1 (input/output) DOUBLE PRECISION array, dimension
(LDC,N) if SIDE = 'L' (M,1) if SIDE = 'R' On entry, the nvector
C1 if SIDE = 'L', or the m-vector C1 if SIDE = 'R'.
On exit, the first row of P*C if SIDE = 'L', or the first column
of C*P if SIDE = 'R'.
C2 (input/output) DOUBLE PRECISION array, dimension
(LDC, N) if SIDE = 'L' (LDC, N-1) if SIDE = 'R' On entry, the
(m - 1) x n matrix C2 if SIDE = 'L', or the m x (n - 1) matrix C2
if SIDE = 'R'.
On exit, rows 2:m of P*C if SIDE = 'L', or columns 2:m of C*P if
SIDE = 'R'.
LDC (input) INTEGER
The leading dimension of the arrays C1 and C2. LDC >= (1,M).
WORK (workspace) DOUBLE PRECISION array, dimension
(N) if SIDE = 'L' (M) if SIDE = 'R'
DLATZM(3F) DLATZM(3F)
DLATZM - applie a Householder matrix generated by DTZRQF to a matrix
SUBROUTINE DLATZM( SIDE, M, N, V, INCV, TAU, C1, C2, LDC, WORK )
CHARACTER SIDE
INTEGER INCV, LDC, M, N
DOUBLE PRECISION TAU
DOUBLE PRECISION C1( LDC, * ), C2( LDC, * ), V( * ), WORK( *
)
DLATZM applies a Householder matrix generated by DTZRQF to a matrix.
Let P = I - tau*u*u', u = ( 1 ),
( v )
where v is an (m-1) vector if SIDE = 'L', or a (n-1) vector if SIDE =
'R'.
If SIDE equals 'L', let
C = [ C1 ] 1
[ C2 ] m-1
n
Then C is overwritten by P*C.
If SIDE equals 'R', let
C = [ C1, C2 ] m
1 n-1
Then C is overwritten by C*P.
SIDE (input) CHARACTER*1
= 'L': form P * C
= 'R': form C * P
M (input) INTEGER
The number of rows of the matrix C.
N (input) INTEGER
The number of columns of the matrix C.
V (input) DOUBLE PRECISION array, dimension
(1 + (M-1)*abs(INCV)) if SIDE = 'L' (1 + (N-1)*abs(INCV)) if SIDE
= 'R' The vector v in the representation of P. V is not used if
TAU = 0.
Page 1
DLATZM(3F) DLATZM(3F)
INCV (input) INTEGER
The increment between elements of v. INCV <> 0
TAU (input) DOUBLE PRECISION
The value tau in the representation of P.
C1 (input/output) DOUBLE PRECISION array, dimension
(LDC,N) if SIDE = 'L' (M,1) if SIDE = 'R' On entry, the nvector
C1 if SIDE = 'L', or the m-vector C1 if SIDE = 'R'.
On exit, the first row of P*C if SIDE = 'L', or the first column
of C*P if SIDE = 'R'.
C2 (input/output) DOUBLE PRECISION array, dimension
(LDC, N) if SIDE = 'L' (LDC, N-1) if SIDE = 'R' On entry, the
(m - 1) x n matrix C2 if SIDE = 'L', or the m x (n - 1) matrix C2
if SIDE = 'R'.
On exit, rows 2:m of P*C if SIDE = 'L', or columns 2:m of C*P if
SIDE = 'R'.
LDC (input) INTEGER
The leading dimension of the arrays C1 and C2. LDC >= (1,M).
WORK (workspace) DOUBLE PRECISION array, dimension
(N) if SIDE = 'L' (M) if SIDE = 'R'
PPPPaaaaggggeeee 2222 [ Back ]
|