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)
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