?feast_syev/?feast_heev
?feast_syev/?feast_heev
Extended Eigensolver interface for standard eigenvalue problem with dense matrices.
Syntax
void
sfeast_syev
(
const
char
*
uplo
,
const
MKL_INT
*
n
,
const
float
*
a
,
const
MKL_INT
*
lda
,
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_syev
(
const
char
*
uplo
,
const
MKL_INT
*
n
,
const
double
*
a
,
const
MKL_INT
*
lda
,
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_heev
(
const
char
*
uplo
,
const
MKL_INT
*
n
,
const
MKL_Complex8
*
a
,
const
MKL_INT
*
lda
,
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_heev
(
const
char
*
uplo
,
const
MKL_INT
*
n
,
const
MKL_Complex16
*
a
,
const
MKL_INT
*
lda
,
MKL_INT
*
fpm
,
double
*
epsout
,
MKL_INT
*
loop
,
const
double
*
emin
,
const
double
*
emax
,
MKL_INT
*
m0
,
double
*
,
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 of dimensionldabyn, contains either full matrixAor upper or lower triangular part of the matrixA, as specified byuplo
- lda
- The leading dimension of the arraya. Must be at least max(1,n).
- 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
- 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