173 SUBROUTINE ssbgv( JOBZ, UPLO, N, KA, KB, AB, LDAB, BB, LDBB, W,
183 INTEGER INFO, KA, KB, LDAB, LDBB, LDZ, N
186 REAL AB( LDAB, * ), BB( LDBB, * ), W( * ),
187 $ WORK( * ), Z( LDZ, * )
195 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,
264 $ work( indwrk ), iinfo )
268 IF( .NOT.wantz )
THEN
269 CALL ssterf( n, w, work( inde ), info )
271 CALL ssteqr( jobz, n, w, work( inde ), z, ldz,
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 ssteqr(compz, n, d, e, z, ldz, work, info)
SSTEQR