151 SUBROUTINE zlatzm( SIDE, M, N, V, INCV, TAU, C1, C2, LDC, WORK )
159 INTEGER incv, ldc, m, n
163 COMPLEX*16 c1( ldc, * ), c2( ldc, * ), v( * ), work( * )
170 parameter( one = ( 1.0d+0, 0.0d+0 ),
171 $ zero = ( 0.0d+0, 0.0d+0 ) )
185 IF( ( min( m, n ).EQ.0 ) .OR. ( tau.EQ.zero ) )
188 IF(
lsame( side,
'L' ) )
THEN 192 CALL zcopy( n, c1, ldc, work, 1 )
194 CALL zgemv(
'Conjugate transpose', m-1, n, one, c2, ldc, v,
195 $ incv, one, work, 1 )
201 CALL zaxpy( n, -tau, work, 1, c1, ldc )
202 CALL zgeru( m-1, n, -tau, v, incv, work, 1, c2, ldc )
204 ELSE IF(
lsame( side,
'R' ) )
THEN 208 CALL zcopy( m, c1, 1, work, 1 )
209 CALL zgemv(
'No transpose', m, n-1, one, c2, ldc, v, incv, one,
214 CALL zaxpy( m, -tau, work, 1, c1, 1 )
215 CALL zgerc( m, n-1, -tau, work, 1, v, incv, c2, ldc )
subroutine zgeru(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
ZGERU
logical function lsame(CA, CB)
LSAME
subroutine zaxpy(N, ZA, ZX, INCX, ZY, INCY)
ZAXPY
subroutine zgerc(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
ZGERC
subroutine zcopy(N, ZX, INCX, ZY, INCY)
ZCOPY
subroutine zlacgv(N, X, INCX)
ZLACGV conjugates a complex vector.
subroutine zgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
ZGEMV