148 SUBROUTINE zlarz( SIDE, M, N, L, V, INCV, TAU, C, LDC, WORK )
157 INTEGER INCV, L, LDC, M, N
161 COMPLEX*16 C( ldc, * ), V( * ), WORK( * )
168 parameter ( one = ( 1.0d+0, 0.0d+0 ),
169 $ zero = ( 0.0d+0, 0.0d+0 ) )
180 IF( lsame( side,
'L' ) )
THEN
184 IF( tau.NE.zero )
THEN
188 CALL zcopy( n, c, ldc, work, 1 )
193 CALL zgemv(
'Conjugate transpose', l, n, one, c( m-l+1, 1 ),
194 $ ldc, v, incv, one, work, 1 )
199 CALL zaxpy( n, -tau, work, 1, c, ldc )
204 CALL zgeru( l, n, -tau, v, incv, work, 1, c( m-l+1, 1 ),
212 IF( tau.NE.zero )
THEN
216 CALL zcopy( m, c, 1, work, 1 )
220 CALL zgemv(
'No transpose', m, l, one, c( 1, n-l+1 ), ldc,
221 $ v, incv, one, work, 1 )
225 CALL zaxpy( m, -tau, work, 1, c, 1 )
230 CALL zgerc( m, l, -tau, work, 1, v, incv, c( 1, n-l+1 ),
subroutine zcopy(N, ZX, INCX, ZY, INCY)
ZCOPY
subroutine zgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
ZGEMV
subroutine zgerc(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
ZGERC
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.
subroutine zgeru(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
ZGERU
subroutine zaxpy(N, ZA, ZX, INCX, ZY, INCY)
ZAXPY
subroutine zlacgv(N, X, INCX)
ZLACGV conjugates a complex vector.