2 $ M, W, Z, LDZ, NZC, ISUPPZ, WORK, LWORK, IWORK,
3 $ LIWORK, DOL, DOU, NEEDIL, NEEDIU,
4 $ INDWLC, PIVMIN, SCALE, WL, WU,
5 $ VSTART, FINISH, MAXCLS,
6 $ NDEPTH, PARITY, ZOFFSET, INFO )
16 INTEGER DOL, DOU, INDWLC, INFO, LDZ, LIWORK, LWORK, M,
17 $ maxcls, n, ndepth, needil, neediu, nzc, parity,
20 REAL PIVMIN, SCALE, WL, WU
21 LOGICAL VSTART, FINISH
25 INTEGER ISUPPZ( * ), IWORK( * )
26 REAL D( * ), E( * ), W( * ), WORK( * )
205 REAL ONE, FOUR, MINRGP
206 PARAMETER ( ONE = 1.0e0,
211 LOGICAL LQUERY, WANTZ, ZQUERY
212 INTEGER IINDBL, IINDW, IINDWK, IINFO, IINSPL, INDERR,
213 $ INDGP, INDGRS, INDSDM, INDWRK, ITMP, J, LIWMIN,
215 REAL EPS, RTOL1, RTOL2
220 EXTERNAL lsame, slamch, slanst
226 INTRINSIC max,
min, real, sqrt
232 wantz = lsame( jobz,
'V' )
234 lquery = ( ( lwork.EQ.-1 ).OR.( liwork.EQ.-1 ) )
235 zquery = ( nzc.EQ.-1 )
254 eps = slamch(
'Precision' )
256 IF( (n.EQ.0).OR.(n.EQ.1) )
THEN
277 rtol1 = four*sqrt(eps)
278 rtol2 =
max( sqrt(eps)*5.0e-3, four * eps )
287 $ pivmin, iwork( iinspl ), m,
288 $ dol, dou, needil, neediu, minrgp, rtol1, rtol2,
289 $ w, work( inderr ), work( indgp ), iwork( iindbl ),
290 $ iwork( iindw ), work( indgrs ),
291 $ work( indsdm ), z, ldz,
292 $ isuppz, work( indwrk ), iwork( iindwk ),
294 $ maxcls, ndepth, parity, zoffset, iinfo )
295 IF( iinfo.NE.0 )
THEN
296 info = 200 + abs( iinfo )
307 itmp = iwork( iindbl+j-1 )
308 w( j ) = w( j ) + e( iwork( iinspl+itmp-1 ) )
322 IF( scale.NE.one )
THEN
323 CALL sscal( m, one / scale, w, 1 )
329 IF( dol.NE.1 .OR. dou.NE.m )
THEN
subroutine slarrv2(n, vl, vu, d, l, pivmin, isplit, m, dol, dou, needil, neediu, minrgp, rtol1, rtol2, w, werr, wgap, iblock, indexw, gers, sdiam, z, ldz, isuppz, work, iwork, vstart, finish, maxcls, ndepth, parity, zoffset, info)
subroutine sstegr2b(jobz, n, d, e, m, w, z, ldz, nzc, isuppz, work, lwork, iwork, liwork, dol, dou, needil, neediu, indwlc, pivmin, scale, wl, wu, vstart, finish, maxcls, ndepth, parity, zoffset, info)