148 SUBROUTINE sgehd2( N, ILO, IHI, A, LDA, TAU, WORK, INFO )
155 INTEGER IHI, ILO, INFO, LDA, N
158 REAL A( LDA, * ), TAU( * ), WORK( * )
165 parameter( one = 1.0e+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(
'SGEHD2', -info )
196 DO 10 i = ilo, ihi - 1
200 CALL slarfg( ihi-i, a( i+1, i ), a( min( i+2, n ), i ), 1,
207 CALL slarf(
'Right', ihi, ihi-i, a( i+1, i ), 1, tau( i ),
208 $ a( 1, i+1 ), lda, work )
212 CALL slarf(
'Left', ihi-i, n-i, a( i+1, i ), 1, tau( i ),
213 $ a( i+1, i+1 ), lda, work )
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine sgehd2(N, ILO, IHI, A, LDA, TAU, WORK, INFO)
SGEHD2 reduces a general square matrix to upper Hessenberg form using an unblocked algorithm.
subroutine slarfg(N, ALPHA, X, INCX, TAU)
SLARFG generates an elementary reflector (Householder matrix).
subroutine slarf(SIDE, M, N, V, INCV, TAU, C, LDC, WORK)
SLARF applies an elementary reflector to a general rectangular matrix.