Developer Reference for Intel® oneAPI Math Kernel Library for C
?larrf2
Finds a new relatively robust representation such that at least one of the eigenvalues is relatively isolated.
Syntax
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 );
Include Files
mkl_scalapack.h
Description
Given the initial representation LDLT and its cluster of close eigenvalues (in a relative measure), w ( clstrt ), w ( clstrt +1 ), … w ( clend ) 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 (Finds a new relatively robust representation such that at least one of the eigenvalues is relatively isolated.) ?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.
Input Parameters
- n
-
INTEGER The order of the matrix (subblock, if the matrix was split).
- d
-
REAL for slarrf2 DOUBLE PRECISION for dlarrf2 Array of size n The n diagonal elements of the diagonal matrix D .
- l
-
REAL for slarrf2 DOUBLE PRECISION for dlarrf2 Array of size n -1 The ( n -1) subdiagonal elements of the unit bidiagonal matrix L .
- ld
-
REAL for slarrf2 DOUBLE PRECISION for dlarrf2 Array of size n -1
The ( n -1) elements l [ i ]* d [ i ] .
- clstrt
-
INTEGER The index of the first eigenvalue in the cluster.
- clend
-
INTEGER The index of the last eigenvalue in the cluster.
- clmid1 , clmid2
-
INTEGER The index of a middle eigenvalue pair with large gap.
- w
-
REAL for slarrf2 DOUBLE PRECISION for dlarrf2 Array of size ≥ ( clend - clstrt +1)
The eigenvalue approximations of LDLT in ascending order. w [ clstrt - 1] through w [ clend - 1] form the cluster of relatively close eigenalues.
- wgap
-
REAL for slarrf2 DOUBLE PRECISION for dlarrf2 Array of size ≥ ( clend - clstrt +1) The separation from the right neighbor eigenvalue in w .
- werr
-
REAL for slarrf2 DOUBLE PRECISION for dlarrf2 Array of size ≥ ( clend - clstrt +1) werr contains the semiwidth of the uncertainty interval of the corresponding eigenvalue approximation in w .
- spdiam
-
REAL for slarrf2 DOUBLE PRECISION for dlarrf2 Estimate of the spectral diameter obtained from the Gerschgorin intervals
- clgapl , clgapr
-
REAL for slarrf2 DOUBLE PRECISION for dlarrf2 Absolute gap on each end of the cluster.
Set by the calling function to protect against shifts too close to eigenvalues outside the cluster.
- pivmin
-
REAL for slarrf2 DOUBLE PRECISION for dlarrf2 The minimum pivot allowed in the Sturm sequence.
- work
-
REAL for slarrf2 DOUBLE PRECISION for dlarrf2 Workspace array of size 2* n
OUTPUT Parameters
- wgap
-
Contains refined values of its input approximations. Very small gaps are unchanged.
- sigma
-
REAL for slarrf2 DOUBLE PRECISION for dlarrf2 The shift ( σ ) used to form L+D+L+T .
- dplus
-
REAL for slarrf2 DOUBLE PRECISION for dlarrf2 Array of size n The n diagonal elements of the diagonal matrix D+ .
- lplus
-
REAL for slarrf2 DOUBLE PRECISION for dlarrf2 Array of size n -1 The first ( n -1) elements of lplus contain the subdiagonal elements of the unit bidiagonal matrix L+ .