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
176 matt = lsame( jobt,
'T' )
183 IF( lpivot.LE.zero )
THEN
186 IF( rpivot.LE.zero )
THEN
191 lpivot = ( d( i+1 )-vl ) - tmp/lpivot
192 rpivot = ( d( i+1 )-vu ) - tmp/rpivot
193 IF( lpivot.LE.zero )
THEN
196 IF( rpivot.LE.zero )
THEN
207 IF( lpivot.LE.zero )
THEN
210 IF( rpivot.LE.zero )
THEN
213 tmp = e(i) * d(i) * e(i)
216 IF( tmp2.EQ.zero )
THEN
223 IF( tmp2.EQ.zero )
THEN
231 IF( lpivot.LE.zero )
THEN
234 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.