184 SUBROUTINE zlarzt( DIRECT, STOREV, N, K, V, LDV, TAU, T, LDT )
191 CHARACTER DIRECT, STOREV
192 INTEGER K, LDT, LDV, N
195 COMPLEX*16 T( LDT, * ), TAU( * ), V( LDV, * )
202 parameter( zero = ( 0.0d+0, 0.0d+0 ) )
219 IF( .NOT.lsame( direct,
'B' ) )
THEN
221 ELSE IF( .NOT.lsame( storev,
'R' ) )
THEN
225 CALL xerbla(
'ZLARZT', -info )
230 IF( tau( i ).EQ.zero )
THEN
245 CALL zlacgv( n, v( i, 1 ), ldv )
246 CALL zgemv(
'No transpose', k-i, n, -tau( i ),
247 $ v( i+1, 1 ), ldv, v( i, 1 ), ldv, zero,
249 CALL zlacgv( n, v( i, 1 ), ldv )
253 CALL ztrmv(
'Lower',
'No transpose',
'Non-unit', k-i,
254 $ t( i+1, i+1 ), ldt, t( i+1, i ), 1 )
subroutine xerbla(srname, info)
subroutine zgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
ZGEMV
subroutine zlacgv(n, x, incx)
ZLACGV conjugates a complex vector.
subroutine zlarzt(direct, storev, n, k, v, ldv, tau, t, ldt)
ZLARZT forms the triangular factor T of a block reflector H = I - vtvH.
subroutine ztrmv(uplo, trans, diag, n, a, lda, x, incx)
ZTRMV