DLARRK

   November 2006

Purpose

DLARRK computes one eigenvalue of a symmetric tridiagonal
matrix T to suitable accuracy. This is an auxiliary code to be
called from DSTEMR.

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) DOUBLE PRECISION
GU
(input) DOUBLE PRECISION
An upper and a lower bound on the eigenvalue.
D
(input) DOUBLE PRECISION array, dimension (N)
The n diagonal elements of the tridiagonal matrix T.
E2
(input) DOUBLE PRECISION array, dimension (N-1)
The (n-1) squared off-diagonal elements of the tridiagonal matrix T.
PIVMIN
(input) DOUBLE PRECISION
The minimum pivot allowed in the Sturm sequence for T.
RELTOL
(input) DOUBLE PRECISION
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) DOUBLE PRECISION
WERR
(output) DOUBLE PRECISION
The error bound on the corresponding eigenvalue approximation
in W.
INFO
(output) INTEGER
= 0:       Eigenvalue converged
= -1:      Eigenvalue did NOT converge

Internal Parameters

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

Call Graph

Caller Graph