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 xerbla(srname, info)
subroutine ssbgst(vect, uplo, n, ka, kb, ab, ldab, bb, ldbb, x, ldx, work, info)
SSBGST
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 spbstf(uplo, n, kd, ab, ldab, info)
SPBSTF
subroutine ssteqr(compz, n, d, e, z, ldz, work, info)
SSTEQR
subroutine ssterf(n, d, e, info)
SSTERF