148 SUBROUTINE cgehd2( N, ILO, IHI, A, LDA, TAU, WORK, INFO )
155 INTEGER IHI, ILO, INFO, LDA, N
158 COMPLEX A( LDA, * ), TAU( * ), WORK( * )
165 parameter( one = ( 1.0e+0, 0.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(
'CGEHD2', -info )
196 DO 10 i = ilo, ihi - 1
201 CALL clarfg( ihi-i, alpha, a(
min( i+2, n ), i ), 1, tau( i ) )
206 CALL clarf(
'Right', ihi, ihi-i, a( i+1, i ), 1, tau( i ),
207 $ a( 1, i+1 ), lda, work )
211 CALL clarf(
'Left', ihi-i, n-i, a( i+1, i ), 1,
212 $ conjg( tau( i ) ), a( i+1, i+1 ), lda, work )
subroutine cgehd2(n, ilo, ihi, a, lda, tau, work, info)
CGEHD2 reduces a general square matrix to upper Hessenberg form using an unblocked algorithm.
subroutine clarfg(n, alpha, x, incx, tau)
CLARFG generates an elementary reflector (Householder matrix).
subroutine clarf(side, m, n, v, incv, tau, c, ldc, work)
CLARF applies an elementary reflector to a general rectangular matrix.