148 SUBROUTINE clarz( SIDE, M, N, L, V, INCV, TAU, C, LDC, WORK )
157 INTEGER incv, l, ldc, m, n
161 COMPLEX c( ldc, * ), v( * ), work( * )
168 parameter( one = ( 1.0e+0, 0.0e+0 ),
169 $ zero = ( 0.0e+0, 0.0e+0 ) )
180 IF(
lsame( side,
'L' ) )
THEN
184 IF( tau.NE.zero )
THEN
188 CALL
ccopy( n, c, ldc, work, 1 )
193 CALL
cgemv(
'Conjugate transpose', l, n, one, c( m-l+1, 1 ),
194 $ ldc, v, incv, one, work, 1 )
199 CALL
caxpy( n, -tau, work, 1, c, ldc )
204 CALL
cgeru( l, n, -tau, v, incv, work, 1, c( m-l+1, 1 ),
212 IF( tau.NE.zero )
THEN
216 CALL
ccopy( m, c, 1, work, 1 )
220 CALL
cgemv(
'No transpose', m, l, one, c( 1, n-l+1 ), ldc,
221 $ v, incv, one, work, 1 )
225 CALL
caxpy( m, -tau, work, 1, c, 1 )
230 CALL
cgerc( m, l, -tau, work, 1, v, incv, c( 1, n-l+1 ),
subroutine clarz(SIDE, M, N, L, V, INCV, TAU, C, LDC, WORK)
CLARZ applies an elementary reflector (as returned by stzrzf) to a general matrix.
LOGICAL function lsame(CA, CB)
LSAME
subroutine caxpy(N, CA, CX, INCX, CY, INCY)
CAXPY
subroutine clacgv(N, X, INCX)
CLACGV conjugates a complex vector.
subroutine cgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
CGEMV
subroutine ccopy(N, CX, INCX, CY, INCY)
CCOPY
subroutine cgerc(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
CGERC
subroutine cgeru(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
CGERU