100 SUBROUTINE sstech( N, A, B, EIG, TOL, WORK, INFO )
111 REAL A( * ), B( * ), EIG( * ), WORK( * )
118 parameter( zero = 0.0e0 )
121 INTEGER BPNT, COUNT, I, ISUB, J, NUML, NUMU, TPNT
122 REAL EMIN, EPS, LOWER, MX, TUPPR, UNFLEP, UPPER
145 IF( tol.LT.zero )
THEN
152 eps = slamch(
'Epsilon' )*slamch(
'Base' )
153 unflep = slamch(
'Safe minimum' ) / eps
160 mx = max( mx, abs( eig( i ) ) )
162 eps = max( eps*mx, unflep )
172 DO 30 j = 2, n + 1 - i
173 IF( work( j ).LT.emin )
THEN
178 IF( isub.NE.n+1-i )
THEN
179 work( isub ) = work( n+1-i )
193 upper = work( tpnt ) + eps
194 lower = work( bpnt ) - eps
201 tuppr = work( bpnt+1 ) + eps
208 lower = work( bpnt ) - eps
214 CALL sstect( n, a, b, lower, numl )
215 CALL sstect( n, a, b, upper, numu )
217 IF( count.NE.bpnt-tpnt+1 )
THEN
subroutine sstech(n, a, b, eig, tol, work, info)
SSTECH
subroutine sstect(n, a, b, shift, num)
SSTECT