182 SUBROUTINE dlarzt( DIRECT, STOREV, N, K, V, LDV, TAU, T, LDT )
189 CHARACTER DIRECT, STOREV
190 INTEGER K, LDT, LDV, N
193 DOUBLE PRECISION T( LDT, * ), TAU( * ), V( LDV, * )
199 DOUBLE PRECISION ZERO
200 parameter( zero = 0.0d+0 )
217 IF( .NOT.lsame( direct,
'B' ) )
THEN
219 ELSE IF( .NOT.lsame( storev,
'R' ) )
THEN
223 CALL xerbla(
'DLARZT', -info )
228 IF( tau( i ).EQ.zero )
THEN
243 CALL dgemv(
'No transpose', k-i, n, -tau( i ),
244 $ v( i+1, 1 ), ldv, v( i, 1 ), ldv, zero,
249 CALL dtrmv(
'Lower',
'No transpose',
'Non-unit', k-i,
250 $ 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