186 SUBROUTINE slarzt( DIRECT, STOREV, N, K, V, LDV, TAU, T, LDT )
194 CHARACTER DIRECT, STOREV
195 INTEGER K, LDT, LDV, N
198 REAL T( ldt, * ), TAU( * ), V( ldv, * )
205 parameter ( zero = 0.0e+0 )
222 IF( .NOT.lsame( direct,
'B' ) )
THEN
224 ELSE IF( .NOT.lsame( storev,
'R' ) )
THEN
228 CALL xerbla(
'SLARZT', -info )
233 IF( tau( i ).EQ.zero )
THEN
248 CALL sgemv(
'No transpose', k-i, n, -tau( i ),
249 $ v( i+1, 1 ), ldv, v( i, 1 ), ldv, zero,
254 CALL strmv(
'Lower',
'No transpose',
'Non-unit', k-i,
255 $ t( i+1, i+1 ), ldt, t( i+1, i ), 1 )
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine sgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
SGEMV
subroutine slarzt(DIRECT, STOREV, N, K, V, LDV, TAU, T, LDT)
SLARZT forms the triangular factor T of a block reflector H = I - vtvH.
subroutine strmv(UPLO, TRANS, DIAG, N, A, LDA, X, INCX)
STRMV