184 SUBROUTINE dlarzt( DIRECT, STOREV, N, K, V, LDV, TAU, T, LDT )
191 CHARACTER DIRECT, STOREV
192 INTEGER K, LDT, LDV, N
195 DOUBLE PRECISION T( ldt, * ), TAU( * ), V( ldv, * )
201 DOUBLE PRECISION ZERO
202 parameter( zero = 0.0d+0 )
219 IF( .NOT.lsame( direct,
'B' ) )
THEN 221 ELSE IF( .NOT.lsame( storev,
'R' ) )
THEN 225 CALL xerbla(
'DLARZT', -info )
230 IF( tau( i ).EQ.zero )
THEN 245 CALL dgemv(
'No transpose', k-i, n, -tau( i ),
246 $ v( i+1, 1 ), ldv, v( i, 1 ), ldv, zero,
251 CALL dtrmv(
'Lower',
'No transpose',
'Non-unit', k-i,
252 $ t( i+1, i+1 ), ldt, t( i+1, i ), 1 )
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine dgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
DGEMV
subroutine dlarzt(DIRECT, STOREV, N, K, V, LDV, TAU, T, LDT)
DLARZT forms the triangular factor T of a block reflector H = I - vtvH.
subroutine dtrmv(UPLO, TRANS, DIAG, N, A, LDA, X, INCX)
DTRMV