148 SUBROUTINE dgehd2( N, ILO, IHI, A, LDA, TAU, WORK, INFO )
155 INTEGER IHI, 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 xerbla(srname, info)
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 dlarf(side, m, n, v, incv, tau, c, ldc, work)
DLARF applies an elementary reflector to a general rectangular matrix.
subroutine dlarfg(n, alpha, x, incx, tau)
DLARFG generates an elementary reflector (Householder matrix).