183 SUBROUTINE chbgv( JOBZ, UPLO, N, KA, KB, AB, LDAB, BB, LDBB, W, Z,
184 $ LDZ, WORK, RWORK, INFO )
193 INTEGER INFO, KA, KB, LDAB, LDBB, LDZ, N
196 REAL RWORK( * ), W( * )
197 COMPLEX AB( ldab, * ), BB( ldbb, * ), WORK( * ),
206 INTEGER IINFO, INDE, INDWRK
219 wantz = lsame( jobz,
'V' )
220 upper = lsame( uplo,
'U' )
223 IF( .NOT.( wantz .OR. lsame( jobz,
'N' ) ) )
THEN 225 ELSE IF( .NOT.( upper .OR. lsame( uplo,
'L' ) ) )
THEN 227 ELSE IF( n.LT.0 )
THEN 229 ELSE IF( ka.LT.0 )
THEN 231 ELSE IF( kb.LT.0 .OR. kb.GT.ka )
THEN 233 ELSE IF( ldab.LT.ka+1 )
THEN 235 ELSE IF( ldbb.LT.kb+1 )
THEN 237 ELSE IF( ldz.LT.1 .OR. ( wantz .AND. ldz.LT.n ) )
THEN 241 CALL xerbla(
'CHBGV ', -info )
252 CALL cpbstf( uplo, n, kb, bb, ldbb, info )
262 CALL chbgst( jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, z, ldz,
263 $ work, rwork( indwrk ), iinfo )
272 CALL chbtrd( vect, uplo, n, ka, ab, ldab, w, rwork( inde ), z,
277 IF( .NOT.wantz )
THEN 278 CALL ssterf( n, w, rwork( inde ), info )
280 CALL csteqr( jobz, n, w, rwork( inde ), z, ldz,
281 $ rwork( indwrk ), info )
subroutine chbgv(JOBZ, UPLO, N, KA, KB, AB, LDAB, BB, LDBB, W, Z, LDZ, WORK, RWORK, INFO)
CHBGV
subroutine csteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
CSTEQR
subroutine chbtrd(VECT, UPLO, N, KD, AB, LDAB, D, E, Q, LDQ, WORK, INFO)
CHBTRD
subroutine chbgst(VECT, UPLO, N, KA, KB, AB, LDAB, BB, LDBB, X, LDX, WORK, RWORK, INFO)
CHBGST
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine ssterf(N, D, E, INFO)
SSTERF
subroutine cpbstf(UPLO, N, KD, AB, LDAB, INFO)
CPBSTF