# larrj - Man Page

larrj: step in stemr, refine eigval estimates

## Synopsis

### Functions

subroutine **dlarrj** (n, d, e2, ifirst, ilast, rtol, offset, w, werr, work, iwork, pivmin, spdiam, info)**DLARRJ** performs refinement of the initial estimates of the eigenvalues of the matrix T.

subroutine **slarrj** (n, d, e2, ifirst, ilast, rtol, offset, w, werr, work, iwork, pivmin, spdiam, info)**SLARRJ** performs refinement of the initial estimates of the eigenvalues of the matrix T.

## Detailed Description

## Function Documentation

### subroutine dlarrj (integer n, double precision, dimension( * ) d, double precision, dimension( * ) e2, integer ifirst, integer ilast, double precision rtol, integer offset, double precision, dimension( * ) w, double precision, dimension( * ) werr, double precision, dimension( * ) work, integer, dimension( * ) iwork, double precision pivmin, double precision spdiam, integer info)

**DLARRJ** performs refinement of the initial estimates of the eigenvalues of the matrix T.

**Purpose:**

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***N*N is INTEGER The order of the matrix.

*D*D is DOUBLE PRECISION array, dimension (N) The N diagonal elements of T.

*E2*E2 is DOUBLE PRECISION array, dimension (N-1) The Squares of the (N-1) subdiagonal elements of T.

*IFIRST*IFIRST is INTEGER The index of the first eigenvalue to be computed.

*ILAST*ILAST is INTEGER The index of the last eigenvalue to be computed.

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

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

*W*W is 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.

*WERR*WERR is 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.

*WORK*WORK is DOUBLE PRECISION array, dimension (2*N) Workspace.

*IWORK*IWORK is INTEGER array, dimension (2*N) Workspace.

*PIVMIN*PIVMIN is DOUBLE PRECISION The minimum pivot in the Sturm sequence for T.

*SPDIAM*SPDIAM is DOUBLE PRECISION The spectral diameter of T.

*INFO*INFO is INTEGER Error flag.

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Contributors:**Beresford Parlett, University of California, Berkeley, USA

Jim Demmel, University of California, Berkeley, USA

Inderjit Dhillon, University of Texas, Austin, USA

Osni Marques, LBNL/NERSC, USA

Christof Voemel, University of California, Berkeley, USA

Definition at line **165** of file **dlarrj.f**.

### subroutine slarrj (integer n, real, dimension( * ) d, real, dimension( * ) e2, integer ifirst, integer ilast, real rtol, integer offset, real, dimension( * ) w, real, dimension( * ) werr, real, dimension( * ) work, integer, dimension( * ) iwork, real pivmin, real spdiam, integer info)

**SLARRJ** performs refinement of the initial estimates of the eigenvalues of the matrix T.

**Purpose:**

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***N*N is INTEGER The order of the matrix.

*D*D is REAL array, dimension (N) The N diagonal elements of T.

*E2*E2 is REAL array, dimension (N-1) The Squares of the (N-1) subdiagonal elements of T.

*IFIRST*IFIRST is INTEGER The index of the first eigenvalue to be computed.

*ILAST*ILAST is INTEGER The index of the last eigenvalue to be computed.

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

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

*W*W is REAL 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.

*WERR*WERR is REAL 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.

*WORK*WORK is REAL array, dimension (2*N) Workspace.

*IWORK*IWORK is INTEGER array, dimension (2*N) Workspace.

*PIVMIN*PIVMIN is REAL The minimum pivot in the Sturm sequence for T.

*SPDIAM*SPDIAM is REAL The spectral diameter of T.

*INFO*INFO is INTEGER Error flag.

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Contributors:**Beresford Parlett, University of California, Berkeley, USA

Jim Demmel, University of California, Berkeley, USA

Inderjit Dhillon, University of Texas, Austin, USA

Osni Marques, LBNL/NERSC, USA

Christof Voemel, University of California, Berkeley, USA

Definition at line **165** of file **slarrj.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.