150 SUBROUTINE zgehd2( N, ILO, IHI, A, LDA, TAU, WORK, INFO )
158 INTEGER IHI, ILO, INFO, LDA, N
161 COMPLEX*16 A( lda, * ), TAU( * ), WORK( * )
168 parameter ( one = ( 1.0d+0, 0.0d+0 ) )
178 INTRINSIC dconjg, max, min
187 ELSE IF( ilo.LT.1 .OR. ilo.GT.max( 1, n ) )
THEN
189 ELSE IF( ihi.LT.min( ilo, n ) .OR. ihi.GT.n )
THEN
191 ELSE IF( lda.LT.max( 1, n ) )
THEN
195 CALL xerbla(
'ZGEHD2', -info )
199 DO 10 i = ilo, ihi - 1
204 CALL zlarfg( ihi-i, alpha, a( min( i+2, n ), i ), 1, tau( i ) )
209 CALL zlarf(
'Right', ihi, ihi-i, a( i+1, i ), 1, tau( i ),
210 $ a( 1, i+1 ), lda, work )
214 CALL zlarf(
'Left', ihi-i, n-i, a( i+1, i ), 1,
215 $ dconjg( tau( i ) ), a( i+1, i+1 ), lda, work )
subroutine zlarf(SIDE, M, N, V, INCV, TAU, C, LDC, WORK)
ZLARF applies an elementary reflector to a general rectangular matrix.
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine zlarfg(N, ALPHA, X, INCX, TAU)
ZLARFG generates an elementary reflector (Householder matrix).
subroutine zgehd2(N, ILO, IHI, A, LDA, TAU, WORK, INFO)
ZGEHD2 reduces a general square matrix to upper Hessenberg form using an unblocked algorithm...