144 SUBROUTINE zlarz( SIDE, M, N, L, V, INCV, TAU, C, LDC, WORK )
152 INTEGER INCV, L, LDC, M, N
156 COMPLEX*16 C( LDC, * ), V( * ), WORK( * )
163 parameter( one = ( 1.0d+0, 0.0d+0 ),
164 $ zero = ( 0.0d+0, 0.0d+0 ) )
176 IF( lsame( side,
'L' ) )
THEN
180 IF( tau.NE.zero )
THEN
184 CALL zcopy( n, c, ldc, work, 1 )
189 CALL zgemv(
'Conjugate transpose', l, n, one, c( m-l+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 ),
219 $ v, incv, one, work, 1 )
223 CALL zaxpy( m, -tau, work, 1, c, 1 )
228 CALL zgerc( m, l, -tau, work, 1, v, incv, c( 1, n-l+1 ),
subroutine zgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
ZGEMV
subroutine zgeru(m, n, alpha, x, incx, y, incy, a, lda)
ZGERU
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.