larrf#
Functions
-
void slarrf(const INT n, const f32 *restrict D, const f32 *restrict L, const f32 *restrict LD, const INT clstrt, const INT clend, const f32 *restrict W, f32 *restrict wgap, const f32 *restrict werr, const f32 spdiam, const f32 clgapl, const f32 clgapr, const f32 pivmin, f32 *sigma, f32 *restrict dplus, f32 *restrict lplus, f32 *restrict work, INT *info)#
SLARRF finds a new relatively robust representation L(+) D(+) L(+)^T such that at least one of the eigenvalues of L(+) D(+) L(+)^T is relatively isolated.
Given the initial representation L D L^T and its cluster of close eigenvalues (in a relative measure), W(clstrt), W(clstrt+1), … W(clend), SLARRF finds a new relatively robust representation L D L^T - SIGMA I = L(+) D(+) L(+)^T such that at least one of the eigenvalues of L(+) D(+) L(+)^T is relatively isolated.
Parameters
innThe order of the matrix (subblock, if the matrix split).
inDDouble precision array, dimension (n). The n diagonal elements of the diagonal matrix D.
inLDouble precision array, dimension (n-1). The (n-1) subdiagonal elements of the unit bidiagonal matrix L.
inLDDouble precision array, dimension (n-1). The (n-1) elements L(i)*D(i).
inclstrtThe index of the first eigenvalue in the cluster (0-based).
inclendThe index of the last eigenvalue in the cluster (0-based).
inWDouble precision array. The eigenvalue approximations of L D L^T in ascending order. W(clstrt) through W(clend) form the cluster.
inoutwgapDouble precision array. The separation from the right neighbor eigenvalue in W.
inwerrDouble precision array. The semiwidth of the uncertainty interval of the corresponding eigenvalue approximation in W.
inspdiamEstimate of the spectral diameter obtained from the Gerschgorin intervals.
inclgaplAbsolute gap on the left end of the cluster.
inclgaprAbsolute gap on the right end of the cluster.
inpivminThe minimum pivot allowed in the Sturm sequence.
outsigmaThe shift used to form L(+) D(+) L(+)^T.
outdplusDouble precision array, dimension (n). The n diagonal elements of the diagonal matrix D(+).
outlplusDouble precision array, dimension (n-1). The first (n-1) elements contain the subdiagonal elements of the unit bidiagonal matrix L(+).
outworkDouble precision array, dimension (2*n). Workspace.
outinfo= 0: successful exit
= 1: failure
void slarrf(
const INT n,
const f32* restrict D,
const f32* restrict L,
const f32* restrict LD,
const INT clstrt,
const INT clend,
const f32* restrict W,
f32* restrict wgap,
const f32* restrict werr,
const f32 spdiam,
const f32 clgapl,
const f32 clgapr,
const f32 pivmin,
f32* sigma,
f32* restrict dplus,
f32* restrict lplus,
f32* restrict work,
INT* info
);
Functions
-
void dlarrf(const INT n, const f64 *restrict D, const f64 *restrict L, const f64 *restrict LD, const INT clstrt, const INT clend, const f64 *restrict W, f64 *restrict wgap, const f64 *restrict werr, const f64 spdiam, const f64 clgapl, const f64 clgapr, const f64 pivmin, f64 *sigma, f64 *restrict dplus, f64 *restrict lplus, f64 *restrict work, INT *info)#
DLARRF finds a new relatively robust representation L(+) D(+) L(+)^T such that at least one of the eigenvalues of L(+) D(+) L(+)^T is relatively isolated.
Given the initial representation L D L^T and its cluster of close eigenvalues (in a relative measure), W(clstrt), W(clstrt+1), … W(clend), DLARRF finds a new relatively robust representation L D L^T - SIGMA I = L(+) D(+) L(+)^T such that at least one of the eigenvalues of L(+) D(+) L(+)^T is relatively isolated.
Parameters
innThe order of the matrix (subblock, if the matrix split).
inDDouble precision array, dimension (n). The n diagonal elements of the diagonal matrix D.
inLDouble precision array, dimension (n-1). The (n-1) subdiagonal elements of the unit bidiagonal matrix L.
inLDDouble precision array, dimension (n-1). The (n-1) elements L(i)*D(i).
inclstrtThe index of the first eigenvalue in the cluster (0-based).
inclendThe index of the last eigenvalue in the cluster (0-based).
inWDouble precision array. The eigenvalue approximations of L D L^T in ascending order. W(clstrt) through W(clend) form the cluster.
inoutwgapDouble precision array. The separation from the right neighbor eigenvalue in W.
inwerrDouble precision array. The semiwidth of the uncertainty interval of the corresponding eigenvalue approximation in W.
inspdiamEstimate of the spectral diameter obtained from the Gerschgorin intervals.
inclgaplAbsolute gap on the left end of the cluster.
inclgaprAbsolute gap on the right end of the cluster.
inpivminThe minimum pivot allowed in the Sturm sequence.
outsigmaThe shift used to form L(+) D(+) L(+)^T.
outdplusDouble precision array, dimension (n). The n diagonal elements of the diagonal matrix D(+).
outlplusDouble precision array, dimension (n-1). The first (n-1) elements contain the subdiagonal elements of the unit bidiagonal matrix L(+).
outworkDouble precision array, dimension (2*n). Workspace.
outinfo= 0: successful exit
= 1: failure
void dlarrf(
const INT n,
const f64* restrict D,
const f64* restrict L,
const f64* restrict LD,
const INT clstrt,
const INT clend,
const f64* restrict W,
f64* restrict wgap,
const f64* restrict werr,
const f64 spdiam,
const f64 clgapl,
const f64 clgapr,
const f64 pivmin,
f64* sigma,
f64* restrict dplus,
f64* restrict lplus,
f64* restrict work,
INT* info
);