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