146 SUBROUTINE zlarz( SIDE, M, N, L, V, INCV, TAU, C, LDC, WORK )
154 INTEGER INCV, L, LDC, M, N
158 COMPLEX*16 C( LDC, * ), V( * ), WORK( * )
165 parameter( one = ( 1.0d+0, 0.0d+0 ),
166 $ zero = ( 0.0d+0, 0.0d+0 ) )
177 IF( lsame( side,
'L' ) )
THEN
181 IF( tau.NE.zero )
THEN
185 CALL zcopy( n, c, ldc, work, 1 )
190 CALL zgemv(
'Conjugate transpose', l, n, one, c( m-l+1, 1 ),
191 $ ldc, v, incv, one, work, 1 )
196 CALL zaxpy( n, -tau, work, 1, c, ldc )
201 CALL zgeru( l, n, -tau, v, incv, work, 1, c( m-l+1, 1 ),
209 IF( tau.NE.zero )
THEN
213 CALL zcopy( m, c, 1, work, 1 )
217 CALL zgemv(
'No transpose', m, l, one, c( 1, n-l+1 ), ldc,
218 $ v, incv, one, work, 1 )
222 CALL zaxpy( m, -tau, work, 1, c, 1 )
227 CALL zgerc( m, l, -tau, work, 1, v, incv, c( 1, n-l+1 ),
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 zlarz(side, m, n, l, v, incv, tau, c, ldc, work)
ZLARZ applies an elementary reflector (as returned by stzrzf) to a general matrix.