# ?larrj

Performs refinement of the initial estimates of the eigenvalues of the matrix T.

## Syntax

call slarrj( n, d, e2, ifirst, ilast, rtol, offset, w, werr, work, iwork, pivmin, spdiam, info )

call dlarrj( n, d, e2, ifirst, ilast, rtol, offset, w, werr, work, iwork, pivmin, spdiam, info )

## Description

Given the initial eigenvalue approximations of T, this routine 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 `[a,b]` are maintained by storing their mid-points and semi-widths in the arrays w and werr respectively.

## Input Parameters

n

  INTEGER. The order of the matrix T.

d

  REAL for slarrj

  DOUBLE PRECISION for dlarrj

  Array, DIMENSION (n).

  Contains n diagonal elements of the matrix T.

e2

  REAL for slarrj

  DOUBLE PRECISION for dlarrj

  Array, DIMENSION (`n-1`).

  Contains `(n-1)` squared sub-diagonal elements of the T.

ifirst

  INTEGER.

  The index of the first eigenvalue to be computed.

ilast

  INTEGER.

  The index of the last eigenvalue to be computed.
rtol

  REAL for slarrj

  DOUBLE PRECISION for dlarrj

  Tolerance for the convergence of the bisection intervals. An interval `[a,b]` is considered to be converged if `(b-a) ≤ rtol*max(|a|,|b|)`.

offset

  INTEGER.

  Offset for the arrays w and werr, that is the `ifirst-offset` through `ilast-offset` elements of these arrays are to be used.
w

  REAL for slarrj

  DOUBLE PRECISION for dlarrj

  Array, DIMENSION (`n`).

  On input, `w(ifirst-offset)` through `w(ilast-offset)` are estimates of the eigenvalues of `L*D*LT` indexed ifirst through ilast.

werr

  REAL for slarrj

  DOUBLE PRECISION for dlarrj

  Array, DIMENSION (n).

  On input, `werr(ifirst-offset)` through `werr(ilast-offset)` are the errors in the estimates of the corresponding elements in w.

work

  REAL for slarrj

  DOUBLE PRECISION for dlarrj

  Workspace array, DIMENSION (`2*n`).

iwork

  INTEGER.

  Workspace array, DIMENSION (`2*n`).

pivmin

  REAL for slarrj

  DOUBLE PRECISION for dlarrj

  The minimum pivot in the Sturm sequence for the matrix T.

spdiam

  REAL for slarrj

  DOUBLE PRECISION for dlarrj

  The spectral diameter of the matrix T.

## Output Parameters

w

  On exit, contains the refined estimates of the eigenvalues.

werr

  On exit, contains the refined errors in the estimates of the corresponding elements in w.

info

  INTEGER.

  Now it is not used and always is set to 0.

Parent topic: Auxiliary Routines