-
template<typename T>
void larrj(integer *n, T *d, T *e2, integer *ifirst, integer *ilast, T *rtol, integer *offset, T *w, T *werr, T *work, integer *iwork, T *pivmin, T *spdiam, integer *info)# LARRJ 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 – [in]
N is INTEGER
The order of the matrix.
D – [in]
D is REAL array, dimension (N)
The N diagonal elements of T.
E2 – [in]
E2 is REAL array, dimension (N-1)
The Squares of the (N-1) subdiagonal elements of T.
IFIRST – [in]
IFIRST is INTEGER
The index of the first eigenvalue to be computed.
ILAST – [in]
ILAST is INTEGER
The index of the last eigenvalue to be computed.
RTOL – [in]
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 – [in]
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 – [inout]
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 – [inout]
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 – [out]
WORK is REAL array, dimension (2*N)
Workspace.
IWORK – [out]
IWORK is INTEGER array, dimension (2*N)
Workspace.
PIVMIN – [in]
PIVMIN is REAL
The minimum pivot in the Sturm sequence for T.
SPDIAM – [in]
SPDIAM is REAL
The spectral diameter of T.
INFO – [out]
INFO is INTEGER
Error flag.