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 )
subroutine zcopy(N, ZX, INCX, ZY, INCY)
ZCOPY
subroutine zgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
ZGEMV
subroutine zgerc(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
ZGERC
subroutine zlatzm(SIDE, M, N, V, INCV, TAU, C1, C2, LDC, WORK)
ZLATZM
subroutine zgeru(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
ZGERU
subroutine zaxpy(N, ZA, ZX, INCX, ZY, INCY)
ZAXPY
subroutine zlacgv(N, X, INCX)
ZLACGV conjugates a complex vector.