133 SUBROUTINE dlarrc( JOBT, N, VL, VU, D, E, PIVMIN,
134 $ EIGCNT, LCNT, RCNT, INFO )
142 INTEGER EIGCNT, INFO, LCNT, N, RCNT
143 DOUBLE PRECISION PIVMIN, VL, VU
146 DOUBLE PRECISION D( * ), E( * )
152 DOUBLE PRECISION ZERO
153 parameter( zero = 0.0d0 )
158 DOUBLE PRECISION LPIVOT, RPIVOT, SL, SU, TMP, TMP2
178 matt = lsame( jobt,
'T' )
185 IF( lpivot.LE.zero )
THEN
188 IF( rpivot.LE.zero )
THEN
193 lpivot = ( d( i+1 )-vl ) - tmp/lpivot
194 rpivot = ( d( i+1 )-vu ) - tmp/rpivot
195 IF( lpivot.LE.zero )
THEN
198 IF( rpivot.LE.zero )
THEN
209 IF( lpivot.LE.zero )
THEN
212 IF( rpivot.LE.zero )
THEN
215 tmp = e(i) * d(i) * e(i)
218 IF( tmp2.EQ.zero )
THEN
225 IF( tmp2.EQ.zero )
THEN
233 IF( lpivot.LE.zero )
THEN
236 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.