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 zlarfg(N, ALPHA, X, INCX, TAU)
ZLARFG generates an elementary reflector (Householder matrix).
subroutine xerbla(SRNAME, INFO)
XERBLA
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 zlarf(SIDE, M, N, V, INCV, TAU, C, LDC, WORK)
ZLARF applies an elementary reflector to a general rectangular matrix.