153 SUBROUTINE zlatzm( SIDE, M, N, V, INCV, TAU, C1, C2, LDC, WORK )
162 INTEGER incv, ldc, m, n
166 COMPLEX*16 c1( ldc, * ), c2( ldc, * ), v( * ), work( * )
173 parameter( one = ( 1.0d+0, 0.0d+0 ),
174 $ zero = ( 0.0d+0, 0.0d+0 ) )
188 IF( ( min( m, n ).EQ.0 ) .OR. ( tau.EQ.zero ) )
191 IF(
lsame( side,
'L' ) )
THEN
195 CALL
zcopy( n, c1, ldc, work, 1 )
197 CALL
zgemv(
'Conjugate transpose', m-1, n, one, c2, ldc, v,
198 $ incv, one, work, 1 )
204 CALL
zaxpy( n, -tau, work, 1, c1, ldc )
205 CALL
zgeru( m-1, n, -tau, v, incv, work, 1, c2, ldc )
207 ELSE IF(
lsame( side,
'R' ) )
THEN
211 CALL
zcopy( m, c1, 1, work, 1 )
212 CALL
zgemv(
'No transpose', m, n-1, one, c2, ldc, v, incv, one,
217 CALL
zaxpy( m, -tau, work, 1, c1, 1 )
218 CALL
zgerc( m, n-1, -tau, work, 1, v, incv, c2, ldc )