146      SUBROUTINE sgehd2( N, ILO, IHI, A, LDA, TAU, WORK, INFO )
 
  153      INTEGER            IHI, ILO, INFO, LDA, N
 
  156      REAL               A( LDA, * ), TAU( * ), WORK( * )
 
  177      ELSE IF( ilo.LT.1 .OR. ilo.GT.max( 1, n ) ) 
THEN 
  179      ELSE IF( ihi.LT.min( ilo, n ) .OR. ihi.GT.n ) 
THEN 
  181      ELSE IF( lda.LT.max( 1, n ) ) 
THEN 
  185         CALL xerbla( 
'SGEHD2', -info )
 
  189      DO 10 i = ilo, ihi - 1
 
  193         CALL slarfg( ihi-i, a( i+1, i ), a( min( i+2, n ), i ), 1,
 
  198         CALL slarf1f( 
'Right', ihi, ihi-i, a( i+1, i ), 1, tau( i ),
 
  199     $                 a( 1, i+1 ), lda, work )
 
  203         CALL slarf1f( 
'Left', ihi-i, n-i, a( i+1, i ), 1, tau( i ),
 
  204     $                 a( i+1, i+1 ), lda, work )
 
 
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 slarf1f(side, m, n, v, incv, tau, c, ldc, work)
SLARF1F applies an elementary reflector to a general rectangular