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 zaxpy(n, za, zx, incx, zy, incy)
ZAXPY
subroutine zcopy(n, zx, incx, zy, incy)
ZCOPY
subroutine zgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
ZGEMV
subroutine zgeru(m, n, alpha, x, incx, y, incy, a, lda)
ZGERU
subroutine zgerc(m, n, alpha, x, incx, y, incy, a, lda)
ZGERC
subroutine zlacgv(n, x, incx)
ZLACGV conjugates a complex vector.
subroutine zlatzm(side, m, n, v, incv, tau, c1, c2, ldc, work)
ZLATZM