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 dlarfg(N, ALPHA, X, INCX, TAU)
DLARFG generates an elementary reflector (Householder matrix).
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 xerbla(SRNAME, INFO)
XERBLA
subroutine dlarf(SIDE, M, N, V, INCV, TAU, C, LDC, WORK)
DLARF applies an elementary reflector to a general rectangular matrix.