137 SUBROUTINE dlarrc( JOBT, N, VL, VU, D, E, PIVMIN,
138 $ EIGCNT, LCNT, RCNT, INFO )
147 INTEGER EIGCNT, INFO, LCNT, N, RCNT
148 DOUBLE PRECISION PIVMIN, VL, VU
151 DOUBLE PRECISION D( * ), E( * )
157 DOUBLE PRECISION ZERO
158 parameter( zero = 0.0d0 )
163 DOUBLE PRECISION LPIVOT, RPIVOT, SL, SU, TMP, TMP2
183 matt = lsame( jobt,
'T' )
190 IF( lpivot.LE.zero )
THEN 193 IF( rpivot.LE.zero )
THEN 198 lpivot = ( d( i+1 )-vl ) - tmp/lpivot
199 rpivot = ( d( i+1 )-vu ) - tmp/rpivot
200 IF( lpivot.LE.zero )
THEN 203 IF( rpivot.LE.zero )
THEN 214 IF( lpivot.LE.zero )
THEN 217 IF( rpivot.LE.zero )
THEN 220 tmp = e(i) * d(i) * e(i)
223 IF( tmp2.EQ.zero )
THEN 230 IF( tmp2.EQ.zero )
THEN 238 IF( lpivot.LE.zero )
THEN 241 IF( rpivot.LE.zero )
THEN subroutine dlarrc(JOBT, N, VL, VU, D, E, PIVMIN, EIGCNT, LCNT, RCNT, INFO)
DLARRC computes the number of eigenvalues of the symmetric tridiagonal matrix.