184 SUBROUTINE zlarzt( DIRECT, STOREV, N, K, V, LDV, TAU, T, LDT )
191 CHARACTER DIRECT, STOREV
192 INTEGER K, LDT, LDV, N
195 COMPLEX*16 T( LDT, * ), TAU( * ), V( LDV, * )
202 parameter( zero = ( 0.0d+0, 0.0d+0 ) )
219 IF( .NOT.lsame( direct,
'B' ) )
THEN
221 ELSE IF( .NOT.lsame( storev,
'R' ) )
THEN
225 CALL xerbla(
'ZLARZT', -info )
230 IF( tau( i ).EQ.zero )
THEN
245 CALL zlacgv( n, v( i, 1 ), ldv )
246 CALL zgemv(
'No transpose', k-i, n, -tau( i ),
247 $ v( i+1, 1 ), ldv, v( i, 1 ), ldv, zero,
249 CALL zlacgv( n, v( i, 1 ), ldv )
253 CALL ztrmv(
'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 ztrmv(UPLO, TRANS, DIAG, N, A, LDA, X, INCX)
ZTRMV
subroutine zgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
ZGEMV
subroutine zlacgv(N, X, INCX)
ZLACGV conjugates a complex vector.
subroutine zlarzt(DIRECT, STOREV, N, K, V, LDV, TAU, T, LDT)
ZLARZT forms the triangular factor T of a block reflector H = I - vtvH.