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 ),