148 SUBROUTINE clarz( SIDE, M, N, L, V, INCV, TAU, C, LDC, WORK )
157 INTEGER INCV, L, LDC, M, N
161 COMPLEX C( ldc, * ), V( * ), WORK( * )
168 parameter ( one = ( 1.0e+0, 0.0e+0 ),
169 $ zero = ( 0.0e+0, 0.0e+0 ) )
180 IF( lsame( side,
'L' ) )
THEN
184 IF( tau.NE.zero )
THEN
188 CALL ccopy( n, c, ldc, work, 1 )
193 CALL cgemv(
'Conjugate transpose', l, n, one, c( m-l+1, 1 ),
194 $ ldc, v, incv, one, work, 1 )
199 CALL caxpy( n, -tau, work, 1, c, ldc )
204 CALL cgeru( l, n, -tau, v, incv, work, 1, c( m-l+1, 1 ),
212 IF( tau.NE.zero )
THEN
216 CALL ccopy( m, c, 1, work, 1 )
220 CALL cgemv(
'No transpose', m, l, one, c( 1, n-l+1 ), ldc,
221 $ v, incv, one, work, 1 )
225 CALL caxpy( m, -tau, work, 1, c, 1 )
230 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 clacgv(N, X, INCX)
CLACGV conjugates a complex vector.
subroutine ccopy(N, CX, INCX, CY, INCY)
CCOPY
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.
subroutine cgeru(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
CGERU
subroutine caxpy(N, CA, CX, INCX, CY, INCY)
CAXPY