144 SUBROUTINE clarz( SIDE, M, N, L, V, INCV, TAU, C, LDC, WORK )
152 INTEGER INCV, L, LDC, M, N
156 COMPLEX C( LDC, * ), V( * ), WORK( * )
163 parameter( one = ( 1.0e+0, 0.0e+0 ),
164 $ zero = ( 0.0e+0, 0.0e+0 ) )
176 IF( lsame( side,
'L' ) )
THEN
180 IF( tau.NE.zero )
THEN
184 CALL ccopy( n, c, ldc, work, 1 )
189 CALL cgemv(
'Conjugate transpose', l, n, one, c( m-l+1,
191 $ ldc, v, incv, one, work, 1 )
196 CALL caxpy( n, -tau, work, 1, c, ldc )
201 CALL cgeru( l, n, -tau, v, incv, work, 1, c( m-l+1, 1 ),
209 IF( tau.NE.zero )
THEN
213 CALL ccopy( m, c, 1, work, 1 )
217 CALL cgemv(
'No transpose', m, l, one, c( 1, n-l+1 ),
219 $ v, incv, one, work, 1 )
223 CALL caxpy( m, -tau, work, 1, c, 1 )
228 CALL cgerc( m, l, -tau, work, 1, v, incv, c( 1, n-l+1 ),
subroutine cgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
CGEMV
subroutine cgerc(m, n, alpha, x, incx, y, incy, a, lda)
CGERC
subroutine cgeru(m, n, alpha, x, incx, y, incy, a, lda)
CGERU
subroutine clarz(side, m, n, l, v, incv, tau, c, ldc, work)
CLARZ applies an elementary reflector (as returned by stzrzf) to a general matrix.