Visible to Intel only — GUID: GUID-24EE539E-D3CD-44A9-879A-0099F0EBC4DB
Visible to Intel only — GUID: GUID-24EE539E-D3CD-44A9-879A-0099F0EBC4DB
?lar1va
Computes scaled eigenvector corresponding to given eigenvalue.
Syntax
void slar1va(MKL_INT* n, MKL_INT* b1, MKL_INT* bn, float* lambda, float* d, float* l, float* ld, float* lld, float* pivmin, float* gaptol, float* z, MKL_INT* wantnc, MKL_INT* negcnt, float* ztz, float* mingma, MKL_INT* r, MKL_INT* isuppz, float* nrminv, float* resid, float* rqcorr, float* work);
void dlar1va(MKL_INT* n, MKL_INT* b1, MKL_INT* bn, double* lambda, double* d, double* l, double* ld, double* lld, double* pivmin, double* gaptol, double* z, MKL_INT* wantnc, MKL_INT* negcnt, double* ztz, double* mingma, MKL_INT* r, MKL_INT* isuppz, double* nrminv, double* resid, double* rqcorr, double* work);
Include Files
- mkl_scalapack.h
Description
?slar1va computes the (scaled) r-th column of the inverse of the submatrix in rows b1 through bn of the tridiagonal matrix LDLT - λI. When λ is close to an eigenvalue, the computed vector is an accurate eigenvector. Usually, r corresponds to the index where the eigenvector is largest in magnitude. The following steps accomplish this computation :
Stationary qd transform, LDLT - λI = L+D+L+T,
Progressive qd transform, LDLT - λI = U-D-U-T,
Computation of the diagonal elements of the inverse of LDLT - λI by combining the above transforms, and choosing r as the index where the diagonal of the inverse is (one of the) largest in magnitude.
Computation of the (scaled) r-th column of the inverse using the twisted factorization obtained by combining the top part of the stationary and the bottom part of the progressive transform.
Input Parameters
- n
-
The order of the matrix LDLT.
- b1
-
First index of the submatrix of LDLT.
- bn
-
Last index of the submatrix of LDLT.
- lambda
-
The shift λ. In order to compute an accurate eigenvector, lambda should be a good approximation to an eigenvalue of LDLT.
- l
-
Array of size n-1
The (n-1) subdiagonal elements of the unit bidiagonal matrix L, in elements 0 to n-2.
- d
-
Array of size n
The n diagonal elements of the diagonal matrix D.
- ld
-
Array of size n-1
The n-1 elements l[i]*d[i], i=0,...,n-2.
- lld
-
Array of size n-1
The n-1 elements l[i]*l]i]*d[i], i=0,...,n-2.
- pivmin
-
The minimum pivot in the Sturm sequence.
- gaptol
-
Tolerance that indicates when eigenvector entries are negligible with respect to their contribution to the residual.
- z
-
Array of size n
On input, all entries of z must be set to 0.
- wantnc
-
Specifies whether negcnt has to be computed.
- r
-
The twist index for the twisted factorization used to compute z.
On input, 0 ≤r≤n. If r is input as 0, r is set to the index where (LDLT - σI)-1 is largest in magnitude. If 1 ≤r≤n, r is unchanged.
Ideally, r designates the position of the maximum entry in the eigenvector.
- work
-
(Workspace) array of size 4*n
OUTPUT Parameters
- z
-
On output, z contains the (scaled) r-th column of the inverse. The scaling is such that z[r-1] equals 1.
- negcnt
-
If wantncis non-zero then negcnt = the number of pivots < pivmin in the matrix factorization LDLT, and negcnt = -1 otherwise.
- ztz
-
The square of the 2-norm of z.
- mingma
-
The reciprocal of the largest (in magnitude) diagonal element of the inverse of LDLT - σI.
- r
-
On output, r contains the twist index used to compute z.
- isuppz
-
array of size 2
The support of the vector in z, i.e., the vector z is non-zero only in elements isuppz[0] and isuppz[1].
- nrminv
-
nrminv = 1/SQRT( ztz )
- resid
-
The residual of the FP vector.
resid = ABS( mingma )/SQRT( ztz )
- rqcorr
-
The Rayleigh Quotient correction to lambda.