Loading...
Searching...
No Matches

## slarrj()

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.

Download SLARRJ + dependencies [TGZ] [ZIP] [TXT]

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

  [in]

  N

      !>          N is INTEGER
      !>          The order of the matrix.
      !>

  [in]

  D

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

  [in]

  E2

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

  [in]

  IFIRST

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

  [in]

  ILAST

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

  [in]

  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|).
      !>

  [in]

  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.
      !>

  [in,out]

  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.
      !>

  [in,out]

  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.
      !>

  [out]

  WORK

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

  [out]

  IWORK

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

  [in]

  PIVMIN

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

  [in]

  SPDIAM

      !>          SPDIAM is REAL
      !>          The spectral diameter of T.
      !>

  [out]

  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