?feast_scsrev/?feast_hcsrev
?feast_scsrev/?feast_hcsrev
Extended Eigensolver interface for standard eigenvalue problem with sparse matrices.
Syntax
void
sfeast_scsrev
(
const
char
*
uplo
,
const
MKL_INT
*
n
,
const
float
*
a
,
const
MKL_INT
*
ia
,
const
MKL_INT
*
ja
,
MKL_INT
*
fpm
,
float
*
epsout
,
MKL_INT
*
loop
,
const
float
*
emin
,
const
float
*
emax
,
MKL_INT
*
m0
,
float
*
e
,
float
*
x
,
MKL_INT
*
m
,
float
*
res
,
MKL_INT
*
info
);
void
dfeast_scsrev
(
const
char
*
uplo
,
const
MKL_INT
*
n
,
const
double
*
a
,
const
MKL_INT
*
ia
,
const
MKL_INT
*
ja
,
MKL_INT
*
fpm
,
double
*
epsout
,
MKL_INT
*
loop
,
const
double
*
emin
,
const
double
*
emax
,
MKL_INT
*
m0
,
double
*
e
,
double
*
x
,
MKL_INT
*
m
,
double
*
res
,
MKL_INT
*
info
);
void
cfeast_hcsrev
(
const
char
*
uplo
,
const
MKL_INT
*
n
,
const
MKL_Complex8
*
a
,
const
MKL_INT
*
ia
,
const
MKL_INT
*
ja
,
MKL_INT
*
fpm
,
float
*
epsout
,
MKL_INT
*
loop
,
const
float
*
emin
,
const
float
*
emax
,
MKL_INT
*
m0
,
float
*
e
,
MKL_Complex8
*
x
,
MKL_INT
*
m
,
float
*
res
,
MKL_INT
*
info
);
void
zfeast_hcsrev
(
const
char
*
uplo
,
const
MKL_INT
*
n
,
const
MKL_Complex16
*
a
,
const
MKL_INT
*
ia
,
const
MKL_INT
*
ja
,
MKL_INT
*
fpm
,
double
*
epsout
,
MKL_INT
*
loop
,
const
double
*
emin
,
const
double
*
emax
,
MKL_INT
*
m0
,
double
*
e
,
MKL_Complex16
*
x
,
MKL_INT
*
m
,
double
*
res
,
MKL_INT
*
info
);
Include Files
- mkl.h
Description
The routines compute all the eigenvalues and eigenvectors for standard eigenvalue problems, , within a given search interval.
Ax
= λ
x
Input Parameters
- uplo
- Must be'U'or'L'or'F'.Ifuplo='U',astores the upper triangular parts ofA.Ifuplo='L',astores the lower triangular parts ofA.Ifuplo='F',astores the full matrixA.
- n
- Sets the size of the problem.n> 0.
- a
- Array containing the nonzero elements of either the full matrixAor the upper or lower triangular part of the matrixA, as specified byuplo.
- ia
- Array of lengthn+ 1, containing indices of elements in the arraya, such thatia[is the index in the arrayi]aof the first non-zero element from the rowi. The value of the last elementia[is equal to the number of non-zeros plus one.n]
- ja
- Array containing the column indices for each non-zero element of the matrixAbeing represented in the arraya. Its length is equal to the length of the arraya.
- fpm
- Array, dimension of 128. This array is used to pass various parameters to Extended Eigensolver routines. See Extended Eigensolver Input Parameters for a complete description of the parameters and their default values.
- emin,emax
- The lower and upper bounds of the interval to be searched for eigenvalues;emin≤emax.
- m0
- On entry, specifies the initial guess for subspace dimension to be used,0 <. Setm0≤nm0≥mwheremis the total number of eigenvalues located in the interval [emin,emax]. If the initial guess is wrong, Extended Eigensolver routines returninfo=3.
- x
- On entry, if=1, the arrayfpm[4]xof sizecontains a basis of guess subspace wherenbymnis the order of the input matrix.
Output Parameters
- fpm
- On output, the last 64 values correspond toPARDISOIntel® oneAPI Math Kernel Librarytoiparm[0](regardless of the value ofiparm[63]on input).fpm[63]
- epsout
- On output, contains the relative error on the trace: |-tracei| /max(|tracei-1emin|, |emax|)
- loop
- On output, contains the number of refinement loop executed. Ignored on input.
- e
- Array of lengthm0. On output, the firstmentries ofeare eigenvalues found in the interval.
- x
- On output, the firstmcolumns ofxcontain the orthonormal eigenvectors corresponding to the computed eigenvaluese, with thei-th column ofxholding the eigenvector associated withe[.i]
- m
- The total number of eigenvalues found in the interval [emin,emax]: 0 ≤m≤m0.
- res
- Array of lengthm0. On exit, the firstmcomponents contain the relative residual vector:fori=1, 2, …,m, and wheremis the total number of eigenvalues found in the search interval.
- info