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 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 zlacgv(N, X, INCX)
ZLACGV conjugates a complex vector.
subroutine zcopy(N, ZX, INCX, ZY, INCY)
ZCOPY
subroutine zaxpy(N, ZA, ZX, INCX, ZY, INCY)
ZAXPY
subroutine zgeru(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
ZGERU