Finds a new relatively robust representation such that at least one of the eigenvalues is relatively isolated.
void slarrf2(MKL_INT* n, float* d, float* l, float* ld, MKL_INT* clstrt, MKL_INT* clend, MKL_INT* clmid1, MKL_INT* clmid2, float* w, float* wgap, float* werr, MKL_INT* trymid, float* spdiam, float* clgapl, float* clgapr, float* pivmin, float* sigma, float* dplus, float* lplus, float* work, MKL_INT* info);
void dlarrf2(MKL_INT* n, double* d, double* l, double* ld, MKL_INT* clstrt, MKL_INT* clend, MKL_INT* clmid1, MKL_INT* clmid2, double* w, double* wgap, double* werr, MKL_INT* trymid, double* spdiam, double* clgapl, double* clgapr, double* pivmin, double* sigma, double* dplus, double* lplus, double* work, MKL_INT* info);
Given the initial representation LDLT and its cluster of close eigenvalues (in a relative measure), defined by the indices of the first and last eigenvalues in the cluster, ?larrf2 finds a new relatively robust representation LDLT - σ I = L+D+L+T such that at least one of the eigenvalues of L+D+L+T is relatively isolated.
This is an enhanced version of ?larrf that also tries shifts in the middle of the cluster, should there be a large gap, in order to break large clusters into at least two pieces.
The order of the matrix (subblock, if the matrix was split).
Array of size n
The n diagonal elements of the diagonal matrix D.
Array of size n-1
The (n-1) subdiagonal elements of the unit bidiagonal matrix L.
Array of size n-1
The (n-1) elements l[i]*d[i].
The index of the first eigenvalue in the cluster.
The index of the last eigenvalue in the cluster.
The index of a middle eigenvalue pair with large gap.
Array of size ≥ (clend-clstrt+1)
The eigenvalue approximations of LD LT in ascending order. w[clstrt - 1] through w[clend - 1] form the cluster of relatively close eigenalues.
Array of size ≥ (clend-clstrt+1)
The separation from the right neighbor eigenvalue in w.
Array of size ≥ (clend-clstrt+1)
werr contains the semiwidth of the uncertainty interval of the corresponding eigenvalue approximation in w.
Estimate of the spectral diameter obtained from the Gerschgorin intervals
Absolute gap on each end of the cluster.
Set by the calling function to protect against shifts too close to eigenvalues outside the cluster.
The minimum pivot allowed in the Sturm sequence.
Workspace array of size 2*n
Contains refined values of its input approximations. Very small gaps are unchanged.
The shift (σ) used to form L+D+L+T.
Array of size n
The n diagonal elements of the diagonal matrix D+.
Array of size n-1
The first (n-1) elements of lplus contain the subdiagonal elements of the unit bidiagonal matrix L+.