146 SUBROUTINE zlarz( SIDE, M, N, L, V, INCV, TAU, C, LDC, WORK )
154 INTEGER INCV, L, LDC, M, N
158 COMPLEX*16 C( ldc, * ), V( * ), WORK( * )
165 parameter( one = ( 1.0d+0, 0.0d+0 ),
166 $ zero = ( 0.0d+0, 0.0d+0 ) )
177 IF( lsame( side,
'L' ) )
THEN 181 IF( tau.NE.zero )
THEN 185 CALL zcopy( n, c, ldc, work, 1 )
190 CALL zgemv(
'Conjugate transpose', l, n, one, c( m-l+1, 1 ),
191 $ ldc, v, incv, one, work, 1 )
196 CALL zaxpy( n, -tau, work, 1, c, ldc )
201 CALL zgeru( l, n, -tau, v, incv, work, 1, c( m-l+1, 1 ),
209 IF( tau.NE.zero )
THEN 213 CALL zcopy( m, c, 1, work, 1 )
217 CALL zgemv(
'No transpose', m, l, one, c( 1, n-l+1 ), ldc,
218 $ v, incv, one, work, 1 )
222 CALL zaxpy( m, -tau, work, 1, c, 1 )
227 CALL zgerc( m, l, -tau, work, 1, v, incv, c( 1, n-l+1 ),
subroutine zgeru(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
ZGERU
subroutine zaxpy(N, ZA, ZX, INCX, ZY, INCY)
ZAXPY
subroutine zgerc(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
ZGERC
subroutine zcopy(N, ZX, INCX, ZY, INCY)
ZCOPY
subroutine zlacgv(N, X, INCX)
ZLACGV conjugates a complex vector.
subroutine zgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
ZGEMV
subroutine zlarz(SIDE, M, N, L, V, INCV, TAU, C, LDC, WORK)
ZLARZ applies an elementary reflector (as returned by stzrzf) to a general matrix.