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 sgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
SGEMV
subroutine strmv(UPLO, TRANS, DIAG, N, A, LDA, X, INCX)
STRMV
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine slarzt(DIRECT, STOREV, N, K, V, LDV, TAU, T, LDT)
SLARZT forms the triangular factor T of a block reflector H = I - vtvH.