148 SUBROUTINE dgehd2( N, ILO, IHI, A, LDA, TAU, WORK, INFO )
155 INTEGER , ILO, INFO, LDA, N
158 DOUBLE PRECISION A( LDA, * ), TAU( * ), WORK( * )
165 parameter( one = 1.0d+0 )
184 ELSE IF( ilo.LT.1 .OR. ilo.GT.
max( 1, n ) )
THEN
186 ELSE IF( ihi.LT.
min( ilo, n ) .OR. ihi.GT.n )
THEN
188 ELSE IF( lda.LT.
max( 1, n ) )
THEN
192 CALL xerbla(
'DGEHD2', -info )
196 DO 10 i = ilo, ihi - 1
200 CALL dlarfg( ihi-i, a( i+1, i ), a(
min( i+2, n ), i ), 1,
207 CALL dlarf(
'Right', ihi, ihi-i, a( i+1, i ), 1, tau( i ),
208 $ a( 1, i+1 ), lda, work )
212 CALL dlarf(
'Left', ihi-i, n-i, a( i+1, i ), 1, tau( i ),
213 $ a( i+1, i+1 ), lda, work )
subroutine dgehd2(n, ilo, ihi, a, lda, tau, work, info)
DGEHD2 reduces a general square matrix to upper Hessenberg form using an unblocked algorithm.
subroutine dlarfg(n, alpha, x, incx, tau)
DLARFG generates an elementary reflector (Householder matrix).
subroutine dlarf(side, m, n, v, incv, tau, c, ldc, work)
DLARF applies an elementary reflector to a general rectangular matrix.