179      SUBROUTINE chbgv( JOBZ, UPLO, N, KA, KB, AB, LDAB, BB, LDBB, W,
 
  181     $                  LDZ, WORK, RWORK, INFO )
 
  189      INTEGER            INFO, KA, KB, LDAB, LDBB, LDZ, N
 
  192      REAL               RWORK( * ), W( * )
 
  193      COMPLEX            AB( LDAB, * ), BB( LDBB, * ), WORK( * ),
 
  202      INTEGER            IINFO, INDE, INDWRK
 
  216      wantz = lsame( jobz, 
'V' )
 
  217      upper = lsame( uplo, 
'U' )
 
  220      IF( .NOT.( wantz .OR. lsame( jobz, 
'N' ) ) ) 
THEN 
  222      ELSE IF( .NOT.( upper .OR. lsame( uplo, 
'L' ) ) ) 
THEN 
  224      ELSE IF( n.LT.0 ) 
THEN 
  226      ELSE IF( ka.LT.0 ) 
THEN 
  228      ELSE IF( kb.LT.0 .OR. kb.GT.ka ) 
THEN 
  230      ELSE IF( ldab.LT.ka+1 ) 
THEN 
  232      ELSE IF( ldbb.LT.kb+1 ) 
THEN 
  234      ELSE IF( ldz.LT.1 .OR. ( wantz .AND. ldz.LT.n ) ) 
THEN 
  238         CALL xerbla( 
'CHBGV', -info )
 
  249      CALL cpbstf( uplo, n, kb, bb, ldbb, info )
 
  259      CALL chbgst( jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, z, ldz,
 
  260     $             work, rwork( indwrk ), iinfo )
 
  269      CALL chbtrd( vect, uplo, n, ka, ab, ldab, w, rwork( inde ), z,
 
  274      IF( .NOT.wantz ) 
THEN 
  275         CALL ssterf( n, w, rwork( inde ), info )
 
  277         CALL csteqr( jobz, n, w, rwork( inde ), z, ldz,
 
  278     $                rwork( indwrk ), info )
 
 
subroutine chbgst(vect, uplo, n, ka, kb, ab, ldab, bb, ldbb, x, ldx, work, rwork, info)
CHBGST
subroutine chbgv(jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz, work, rwork, info)
CHBGV
subroutine chbtrd(vect, uplo, n, kd, ab, ldab, d, e, q, ldq, work, info)
CHBTRD
subroutine csteqr(compz, n, d, e, z, ldz, work, info)
CSTEQR