Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?larrb
Provides limited bisection to locate eigenvalues for more accuracy.
Syntax
call slarrb ( n , d , lld , ifirst , ilast , rtol1 , rtol2 , offset , w , wgap , werr , work , iwork , pivmin , spdiam , twist , info )
call dlarrb ( n , d , lld , ifirst , ilast , rtol1 , rtol2 , offset , w , wgap , werr , work , iwork , pivmin , spdiam , twist , info )
Include Files
mkl.fi
Description
slarrb dlarrb
Given the relatively robust representation (RRR) L*D*L:code:`T` , the routine does “limited” bisection to refine the eigenvalues of L*D*L:code:`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 and their gaps are input in werr and wgap , respectively. During bisection, intervals [ left , right ] 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.
- d
-
REAL for slarrb DOUBLE PRECISION for dlarrb Array, DIMENSION ( n ). The n diagonal elements of the diagonal matrix D .
- lld
-
REAL for slarrb DOUBLE PRECISION for dlarrb Array, DIMENSION ( n -1). The n -1 elements L_{i}*L_{i}*D_{i} .
- ifirst
-
INTEGER . The index of the first eigenvalue to be computed.
- ilast
-
INTEGER . The index of the last eigenvalue to be computed.
- rtol1 , rtol2
-
REAL for slarrb DOUBLE PRECISION for dlarrb Tolerance for the convergence of the bisection intervals. An interval [ left , right ] has converged if RIGHT-LEFT.LT.MAX( rtol1*gap, rtol2*max(|left|,|right|) ) , where gap is the (estimated) distance to the nearest eigenvalue.
- offset
-
INTEGER . Offset for the arrays w , wgap and werr , that is, the ifirst - offset through ilast - offset elements of these arrays are to be used.
- w
-
REAL for slarrb DOUBLE PRECISION for dlarrb Array, DIMENSION ( n ). On input, w ( ifirst - offset ) through w ( ilast - offset ) are estimates of the eigenvalues of L*D*L:code:`T` indexed ifirst through ilast .
- wgap
-
REAL for slarrb DOUBLE PRECISION for dlarrb Array, DIMENSION ( n -1). The estimated gaps between consecutive eigenvalues of L*D*L:code:`T` , that is, wgap ( i - offset ) is the gap between eigenvalues i and i +1. Note that if IFIRST.EQ.ILAST then wgap ( ifirst - offset ) must be set to 0.
- werr
-
REAL for slarrb DOUBLE PRECISION for dlarrb 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 slarrb DOUBLE PRECISION for dlarrb Workspace array, DIMENSION (2* n ).
- pivmin
-
REAL for slarrb DOUBLE PRECISION for dlarrb The minimum pivot in the Sturm sequence.
- spdiam
-
REAL for slarrb DOUBLE PRECISION for dlarrb The spectral diameter of the matrix.
- twist
-
INTEGER . The twist index for the twisted factorization that is used for the negcount.
- iwork
-
INTEGER . Workspace array, DIMENSION (2* n ).
Output Parameters
- w
-
On output, the estimates of the eigenvalues are “refined”.
- wgap
-
On output, the gaps are refined.
- werr
-
On output, “refined” errors in the estimates of w .
info
INTEGER .
Now it is not used and always is set to 0.