148 SUBROUTINE zgehd2( N, ILO, IHI, A, LDA, TAU, WORK, INFO )
155 INTEGER IHI, ILO, INFO, LDA, N
158 COMPLEX*16 A( lda, * ), TAU( * ), WORK( * )
165 parameter( one = ( 1.0d+0, 0.0d+0 ) )
175 INTRINSIC dconjg, max, min
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(
'ZGEHD2', -info )
196 DO 10 i = ilo, ihi - 1
201 CALL zlarfg( ihi-i, alpha, a( min( i+2, n ), i ), 1, tau( i ) )
206 CALL zlarf(
'Right', ihi, ihi-i, a( i+1, i ), 1, tau( i ),
207 $ a( 1, i+1 ), lda, work )
211 CALL zlarf(
'Left', ihi-i, n-i, a( i+1, i ), 1,
212 $ 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 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...