184 SUBROUTINE clarzt( DIRECT, STOREV, N, K, V, LDV, TAU, T, LDT )
191 CHARACTER DIRECT, STOREV
192 INTEGER K, LDT, LDV, N
195 COMPLEX T( LDT, * ), TAU( * ), V( LDV, * )
202 parameter( zero = ( 0.0e+0, 0.0e+0 ) )
219 IF( .NOT.lsame( direct,
'B' ) )
THEN
221 ELSE IF( .NOT.lsame( storev,
'R' ) )
THEN
225 CALL xerbla(
'CLARZT', -info )
230 IF( tau( i ).EQ.zero )
THEN
245 CALL clacgv( n, v( i, 1 ), ldv )
246 CALL cgemv(
'No transpose', k-i, n, -tau( i ),
247 $ v( i+1, 1 ), ldv, v( i, 1 ), ldv, zero,
249 CALL clacgv( n, v( i, 1 ), ldv )
253 CALL ctrmv(
'Lower',
'No transpose',
'Non-unit', k-i,
254 $ t( i+1, i+1 ), ldt, t( i+1, i ), 1 )
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine cgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
CGEMV
subroutine ctrmv(UPLO, TRANS, DIAG, N, A, LDA, X, INCX)
CTRMV
subroutine clacgv(N, X, INCX)
CLACGV conjugates a complex vector.
subroutine clarzt(DIRECT, STOREV, N, K, V, LDV, TAU, T, LDT)
CLARZT forms the triangular factor T of a block reflector H = I - vtvH.