SLARRK(3f)

NAME
SLARRK - one eigenvalue of a symmetric tridiagonal matrix T to suitable accuracy

SYNOPSIS

SUBROUTINE SLARRK(
    N, IW, GL, GU, D, E2, PIVMIN, RELTOL, W, WERR, INFO)

IMPLICIT
    NONE

INTEGER
    INFO, IW, N

REAL
    PIVMIN, RELTOL, GL, GU, W, WERR

REAL
    D( * ), E2( * )

PURPOSE
SLARRK computes one eigenvalue of a symmetric tridiagonal matrix T to suitable accuracy. This is an auxiliary code to be called from SSTEMR.
To avoid overflow, the matrix must be scaled so that its
largest element is no greater than overflow**(1/2) *
underflow**(1/4) in absolute value, and for greatest
accuracy, it should not be much smaller than that.
See W. Kahan "Accurate Eigenvalues of a Symmetric Tridiagonal Matrix", Report CS41, Computer Science Dept., Stanford
University, July 21, 1966.

ARGUMENTS

N       (input) INTEGER
    The order of the tridiagonal matrix T. N >= 0.

IW      (input) INTEGER
    The index of the eigenvalues to be returned.

GL      (input) REAL
    GU (input) REAL An upper and a lower bound on the eigenvalue.

D       (input) REAL             array, dimension (N)
    The n diagonal elements of the tridiagonal matrix T.

E2      (input) REAL             array, dimension (N-1)
    The (n-1) squared off-diagonal elements of the tridiagonal matrix T.

PIVMIN  (input) REAL
    The minimum pivot allowed in the Sturm sequence for T.

RELTOL  (input) REAL
    The minimum relative width of an interval. When an interval is narrower than RELTOL times the larger (in magnitude) endpoint, then it is considered to be sufficiently small, i.e., converged. Note: this should always be at least radix*machine epsilon.

W       (output) REAL

WERR    (output) REAL
    The error bound on the corresponding eigenvalue approximation in W.

INFO    (output) INTEGER
    = 0: Eigenvalue converged
    = -1: Eigenvalue did NOT converge

PARAMETERS

FUDGE   REAL            , default = 2
    A "fudge factor" to widen the Gershgorin intervals.