larrj#

Functions

void slarrj(
    const INT  n,
    const f32* D,
    const f32* E2,
    const INT  ifirst,
    const INT  ilast,
    const f32  rtol,
    const INT  offset,
          f32* W,
          f32* werr,
          f32* work,
          INT* iwork,
    const f32  pivmin,
    const f32  spdiam,
          INT* info
);
void slarrj(const INT n, const f32 *D, const f32 *E2, const INT ifirst, const INT ilast, const f32 rtol, const INT offset, f32 *W, f32 *werr, f32 *work, INT *iwork, const f32 pivmin, const f32 spdiam, INT *info)#

Given the initial eigenvalue approximations of T, SLARRJ does bisection to refine the eigenvalues of T, W( IFIRST-OFFSET ) through W( ILAST-OFFSET ), to more accuracy.

Initial guesses for these eigenvalues are input in W, the corresponding estimate of the error in these guesses in WERR. During bisection, intervals [left, right] are maintained by storing their mid-points and semi-widths in the arrays W and WERR respectively.

Parameters

in
n

The order of the matrix. N >= 0.

in
D

Double precision array, dimension (N). The N diagonal elements of T.

in
E2

Double precision array, dimension (N-1). The squares of the (N-1) subdiagonal elements of T.

in
ifirst

The index of the first eigenvalue to be computed (0-based).

in
ilast

The index of the last eigenvalue to be computed (0-based).

in
rtol

Tolerance for the convergence of the bisection intervals. An interval [LEFT,RIGHT] has converged if RIGHT-LEFT < RTOL*MAX(|LEFT|,|RIGHT|).

in
offset

Offset for the arrays W and WERR, i.e., the IFIRST-OFFSET through ILAST-OFFSET elements of these arrays are to be used.

inout
W

Double precision array, dimension (N). On input, W( IFIRST-OFFSET ) through W( ILAST-OFFSET ) are estimates of the eigenvalues of L D L^T indexed IFIRST through ILAST. On output, these estimates are refined.

inout
werr

Double precision array, dimension (N). On input, WERR( IFIRST-OFFSET ) through WERR( ILAST-OFFSET ) are the errors in the estimates of the corresponding elements in W. On output, these errors are refined.

out
work

Double precision array, dimension (2*N). Workspace.

out
iwork

Integer array, dimension (2*N). Workspace.

in
pivmin

The minimum pivot in the Sturm sequence for T.

in
spdiam

The spectral diameter of T.

out
info

Error flag.

Functions

void dlarrj(
    const INT  n,
    const f64* D,
    const f64* E2,
    const INT  ifirst,
    const INT  ilast,
    const f64  rtol,
    const INT  offset,
          f64* W,
          f64* werr,
          f64* work,
          INT* iwork,
    const f64  pivmin,
    const f64  spdiam,
          INT* info
);
void dlarrj(const INT n, const f64 *D, const f64 *E2, const INT ifirst, const INT ilast, const f64 rtol, const INT offset, f64 *W, f64 *werr, f64 *work, INT *iwork, const f64 pivmin, const f64 spdiam, INT *info)#

Given the initial eigenvalue approximations of T, DLARRJ does bisection to refine the eigenvalues of T, W( IFIRST-OFFSET ) through W( ILAST-OFFSET ), to more accuracy.

Initial guesses for these eigenvalues are input in W, the corresponding estimate of the error in these guesses in WERR. During bisection, intervals [left, right] are maintained by storing their mid-points and semi-widths in the arrays W and WERR respectively.

Parameters

in
n

The order of the matrix. N >= 0.

in
D

Double precision array, dimension (N). The N diagonal elements of T.

in
E2

Double precision array, dimension (N-1). The squares of the (N-1) subdiagonal elements of T.

in
ifirst

The index of the first eigenvalue to be computed (0-based).

in
ilast

The index of the last eigenvalue to be computed (0-based).

in
rtol

Tolerance for the convergence of the bisection intervals. An interval [LEFT,RIGHT] has converged if RIGHT-LEFT < RTOL*MAX(|LEFT|,|RIGHT|).

in
offset

Offset for the arrays W and WERR, i.e., the IFIRST-OFFSET through ILAST-OFFSET elements of these arrays are to be used.

inout
W

Double precision array, dimension (N). On input, W( IFIRST-OFFSET ) through W( ILAST-OFFSET ) are estimates of the eigenvalues of L D L^T indexed IFIRST through ILAST. On output, these estimates are refined.

inout
werr

Double precision array, dimension (N). On input, WERR( IFIRST-OFFSET ) through WERR( ILAST-OFFSET ) are the errors in the estimates of the corresponding elements in W. On output, these errors are refined.

out
work

Double precision array, dimension (2*N). Workspace.

out
iwork

Integer array, dimension (2*N). Workspace.

in
pivmin

The minimum pivot in the Sturm sequence for T.

in
spdiam

The spectral diameter of T.

out
info

Error flag.