larrk#
Functions
-
void slarrk(const INT n, const INT iw, const f32 gl, const f32 gu, const f32 *restrict D, const f32 *restrict E2, const f32 pivmin, const f32 reltol, f32 *w, f32 *werr, INT *info)#
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.
Parameters
innThe order of the tridiagonal matrix T. N >= 0.
iniwThe index of the eigenvalue to be returned.
inglA lower bound on the eigenvalue.
inguAn upper bound on the eigenvalue.
inDDouble precision array, dimension (N). The N diagonal elements of the tridiagonal matrix T.
inE2Double precision array, dimension (N-1). The (N-1) squared off-diagonal elements of the tridiagonal matrix T.
inpivminThe minimum pivot allowed in the Sturm sequence for T.
inreltolThe minimum relative width of an interval.
outwThe eigenvalue approximation.
outwerrThe error bound on the corresponding eigenvalue approximation in W.
outinfo= 0: Eigenvalue converged.
= -1: Eigenvalue did NOT converge.
void slarrk(
const INT n,
const INT iw,
const f32 gl,
const f32 gu,
const f32* restrict D,
const f32* restrict E2,
const f32 pivmin,
const f32 reltol,
f32* w,
f32* werr,
INT* info
);
Functions
-
void dlarrk(const INT n, const INT iw, const f64 gl, const f64 gu, const f64 *restrict D, const f64 *restrict E2, const f64 pivmin, const f64 reltol, f64 *w, f64 *werr, INT *info)#
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.
Parameters
innThe order of the tridiagonal matrix T. N >= 0.
iniwThe index of the eigenvalue to be returned.
inglA lower bound on the eigenvalue.
inguAn upper bound on the eigenvalue.
inDDouble precision array, dimension (N). The N diagonal elements of the tridiagonal matrix T.
inE2Double precision array, dimension (N-1). The (N-1) squared off-diagonal elements of the tridiagonal matrix T.
inpivminThe minimum pivot allowed in the Sturm sequence for T.
inreltolThe minimum relative width of an interval.
outwThe eigenvalue approximation.
outwerrThe error bound on the corresponding eigenvalue approximation in W.
outinfo= 0: Eigenvalue converged.
= -1: Eigenvalue did NOT converge.
void dlarrk(
const INT n,
const INT iw,
const f64 gl,
const f64 gu,
const f64* restrict D,
const f64* restrict E2,
const f64 pivmin,
const f64 reltol,
f64* w,
f64* werr,
INT* info
);