LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches

◆ dlarrj()

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.

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

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
[in]N
!>          N is INTEGER
!>          The order of the matrix.
!> 
[in]D
!>          D is DOUBLE PRECISION array, dimension (N)
!>          The N diagonal elements of T.
!> 
[in]E2
!>          E2 is DOUBLE PRECISION 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 DOUBLE PRECISION
!>          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 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.
!> 
[in,out]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.
!> 
[out]WORK
!>          WORK is DOUBLE PRECISION array, dimension (2*N)
!>          Workspace.
!> 
[out]IWORK
!>          IWORK is INTEGER array, dimension (2*N)
!>          Workspace.
!> 
[in]PIVMIN
!>          PIVMIN is DOUBLE PRECISION
!>          The minimum pivot in the Sturm sequence for T.
!> 
[in]SPDIAM
!>          SPDIAM is DOUBLE PRECISION
!>          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