186 SUBROUTINE zlarzt( DIRECT, STOREV, N, K, V, LDV, TAU, T, LDT )
194 CHARACTER DIRECT, STOREV
195 INTEGER K, LDT, LDV, N
198 COMPLEX*16 T( ldt, * ), TAU( * ), V( ldv, * )
205 parameter ( zero = ( 0.0d+0, 0.0d+0 ) )
222 IF( .NOT.lsame( direct,
'B' ) )
THEN
224 ELSE IF( .NOT.lsame( storev,
'R' ) )
THEN
228 CALL xerbla(
'ZLARZT', -info )
233 IF( tau( i ).EQ.zero )
THEN
248 CALL zlacgv( n, v( i, 1 ), ldv )
249 CALL zgemv(
'No transpose', k-i, n, -tau( i ),
250 $ v( i+1, 1 ), ldv, v( i, 1 ), ldv, zero,
252 CALL zlacgv( n, v( i, 1 ), ldv )
256 CALL ztrmv(
'Lower',
'No transpose',
'Non-unit', k-i,
257 $ t( i+1, i+1 ), ldt, t( i+1, i ), 1 )
subroutine zgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
ZGEMV
subroutine zlarzt(DIRECT, STOREV, N, K, V, LDV, TAU, T, LDT)
ZLARZT forms the triangular factor T of a block reflector H = I - vtvH.
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine ztrmv(UPLO, TRANS, DIAG, N, A, LDA, X, INCX)
ZTRMV
subroutine zlacgv(N, X, INCX)
ZLACGV conjugates a complex vector.