175 SUBROUTINE ssbgv( JOBZ, UPLO, N, KA, KB, AB, LDAB, BB, LDBB, W, Z,
184 INTEGER INFO, KA, KB, LDAB, LDBB, LDZ, N
187 REAL AB( ldab, * ), BB( ldbb, * ), W( * ),
188 $ work( * ), z( ldz, * )
196 INTEGER IINFO, INDE, INDWRK
209 wantz = lsame( jobz,
'V' )
210 upper = lsame( uplo,
'U' )
213 IF( .NOT.( wantz .OR. lsame( jobz,
'N' ) ) )
THEN 215 ELSE IF( .NOT.( upper .OR. lsame( uplo,
'L' ) ) )
THEN 217 ELSE IF( n.LT.0 )
THEN 219 ELSE IF( ka.LT.0 )
THEN 221 ELSE IF( kb.LT.0 .OR. kb.GT.ka )
THEN 223 ELSE IF( ldab.LT.ka+1 )
THEN 225 ELSE IF( ldbb.LT.kb+1 )
THEN 227 ELSE IF( ldz.LT.1 .OR. ( wantz .AND. ldz.LT.n ) )
THEN 231 CALL xerbla(
'SSBGV', -info )
242 CALL spbstf( uplo, n, kb, bb, ldbb, info )
252 CALL ssbgst( jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, z, ldz,
253 $ work( indwrk ), iinfo )
262 CALL ssbtrd( vect, uplo, n, ka, ab, ldab, w, work( inde ), z, ldz,
263 $ work( indwrk ), iinfo )
267 IF( .NOT.wantz )
THEN 268 CALL ssterf( n, w, work( inde ), info )
270 CALL ssteqr( jobz, n, w, work( inde ), z, ldz, work( indwrk ),
subroutine ssteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
SSTEQR
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine spbstf(UPLO, N, KD, AB, LDAB, INFO)
SPBSTF
subroutine ssbgv(JOBZ, UPLO, N, KA, KB, AB, LDAB, BB, LDBB, W, Z, LDZ, WORK, INFO)
SSBGV
subroutine ssbtrd(VECT, UPLO, N, KD, AB, LDAB, D, E, Q, LDQ, WORK, INFO)
SSBTRD
subroutine ssterf(N, D, E, INFO)
SSTERF
subroutine ssbgst(VECT, UPLO, N, KA, KB, AB, LDAB, BB, LDBB, X, LDX, WORK, INFO)
SSBGST