177 SUBROUTINE ssbgv( JOBZ, UPLO, N, KA, KB, AB, LDAB, BB, LDBB, W, Z,
187 INTEGER INFO, KA, KB, LDAB, LDBB, LDZ, N
190 REAL AB( ldab, * ), BB( ldbb, * ), W( * ),
191 $ work( * ), z( ldz, * )
199 INTEGER IINFO, INDE, INDWRK
212 wantz = lsame( jobz,
'V' )
213 upper = lsame( uplo,
'U' )
216 IF( .NOT.( wantz .OR. lsame( jobz,
'N' ) ) )
THEN 218 ELSE IF( .NOT.( upper .OR. lsame( uplo,
'L' ) ) )
THEN 220 ELSE IF( n.LT.0 )
THEN 222 ELSE IF( ka.LT.0 )
THEN 224 ELSE IF( kb.LT.0 .OR. kb.GT.ka )
THEN 226 ELSE IF( ldab.LT.ka+1 )
THEN 228 ELSE IF( ldbb.LT.kb+1 )
THEN 230 ELSE IF( ldz.LT.1 .OR. ( wantz .AND. ldz.LT.n ) )
THEN 234 CALL xerbla(
'SSBGV ', -info )
245 CALL spbstf( uplo, n, kb, bb, ldbb, info )
255 CALL ssbgst( jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, z, ldz,
256 $ work( indwrk ), iinfo )
265 CALL ssbtrd( vect, uplo, n, ka, ab, ldab, w, work( inde ), z, ldz,
266 $ work( indwrk ), iinfo )
270 IF( .NOT.wantz )
THEN 271 CALL ssterf( n, w, work( inde ), info )
273 CALL ssteqr( jobz, n, w, work( inde ), z, ldz, work( indwrk ),
subroutine spbstf(UPLO, N, KD, AB, LDAB, INFO)
SPBSTF
subroutine ssteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
SSTEQR
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 xerbla(SRNAME, INFO)
XERBLA
subroutine ssbgst(VECT, UPLO, N, KA, KB, AB, LDAB, BB, LDBB, X, LDX, WORK, INFO)
SSBGST
subroutine ssterf(N, D, E, INFO)
SSTERF