146      SUBROUTINE zgehd2( N, ILO, IHI, A, LDA, TAU, WORK, INFO )
 
  153      INTEGER            IHI, ILO, INFO, LDA, N
 
  156      COMPLEX*16         A( LDA, * ), TAU( * ), WORK( * )
 
  163      parameter( one = ( 1.0d+0, 0.0d+0 ) )
 
  172      INTRINSIC          dconjg, max, min
 
  181      ELSE IF( ilo.LT.1 .OR. ilo.GT.max( 1, n ) ) 
THEN 
  183      ELSE IF( ihi.LT.min( ilo, n ) .OR. ihi.GT.n ) 
THEN 
  185      ELSE IF( lda.LT.max( 1, n ) ) 
THEN 
  189         CALL xerbla( 
'ZGEHD2', -info )
 
  193      DO 10 i = ilo, ihi - 1
 
  197         CALL zlarfg( ihi-i, a( i+1, i ), a( min( i+2, n ), i ), 1,
 
  202         CALL zlarf1f( 
'Right', ihi, ihi-i, a( i+1, i ), 1, tau( i ),
 
  203     $                 a( 1, i+1 ), lda, work )
 
  207         CALL zlarf1f( 
'Left', ihi-i, n-i, a( i+1, i ), 1,
 
  208     $                 conjg( tau( i ) ), a( i+1, i+1 ), lda, work )
 
 
subroutine zgehd2(n, ilo, ihi, a, lda, tau, work, info)
ZGEHD2 reduces a general square matrix to upper Hessenberg form using an unblocked algorithm.
 
subroutine zlarf1f(side, m, n, v, incv, tau, c, ldc, work)
ZLARF1F applies an elementary reflector to a general rectangular
 
subroutine zlarfg(n, alpha, x, incx, tau)
ZLARFG generates an elementary reflector (Householder matrix).