Developer Reference for Intel® oneAPI Math Kernel Library for C
Extended Eigensolver Input Parameters
The input parameters for Extended Eigensolver routines are contained in an MKL_INT array named fpm . To call the Extended Eigensolver interfaces, this array should be initialized using the routine feastinit (Initialize Extended Eigensolver input parameters with default values.) .
Parameter |
Default |
Description |
|---|---|---|
fpm[0] |
0 |
Specifies whether Extended Eigensolver routines print runtime status. |
fpm[0] =0 |
||
Extended Eigensolver routines do not generate runtime messages at all. |
||
fpm[0] =1 |
||
Extended Eigensolver routines print runtime status to the screen. |
||
fpm[1] |
8 |
The number of contour points Ne = 8 (see the description of FEAST algorithm). Must be one of {3,4,5,6,8,10,12,16,20,24,32,40,48}. |
fpm[2] |
12 |
Error trace double precision stopping criteria ε ( ε = 10 -fpm[2] ) . |
fpm[3] |
20 |
Maximum number of Extended Eigensolver refinement loops allowed. If no convergence is reached within fpm[3] refinement loops, Extended Eigensolver routines return info =2. |
fpm[4] |
0 |
User initial subspace. If fpm[4] =0 then Extended Eigensolver routines generate initial subspace, if fpm[4] =1 the user supplied initial subspace is used. |
fpm[5] |
0 |
Extended Eigensolver stopping test. |
fpm[5] =0 |
||
Extended Eigensolvers are stopped if this residual stopping test is satisfied:
|
||
where mode is the total number of eigenvalues found in the search interval and ε = 10 -fpm[6] for real and complex or ε = 10 -fpm[2] for double precision and double complex. |
||
fpm[5] =1 |
||
Extended Eigensolvers are stopped if this trace stopping test is satisfied: ![]() , where \({trace}_{j}\) denotes the sum of all eigenvalues found in the search interval [ emin , emax ] at the j -th Extended Eigensolver iteration: ![]() |
||
fpm[6] |
5 |
Error trace single precision stopping criteria (10 -fpm[6] ). |
fpm[13] |
0 |
fpm[13] =0 |
Standard use for Extended Eigensolver routines. |
||
fpm[13] =1 |
||
Non-standard use for Extended Eigensolver routines: return the computed eigenvectors subspace after one single contour integration. |
||
fpm[26] |
0 |
Specifies whether Extended Eigensolver routines check input matrices (applies to CSR format only). |
fpm[26] =0 |
||
Extended Eigensolver routines do not check input matrices. |
||
fpm[26] =1 |
||
Extended Eigensolver routines check input matrices. |
||
fpm[27] |
0 |
Check if matrix B is positive definite. Set fpm[27] =1 to check if B is positive definite. |
fpm[49] |
0 |
Specifies whether Extended Eigensolver routines compute the total number of eigenvalues located in the interval [ emin , emax ] (applies to CSR format only). |
fpm[49] =0 |
||
Standard use for Extended Eigensolver routines. |
||
fpm[49] =1 |
||
Non-standard use for Extended Eigensolver routines: return m0 as the total number of eigenvalues. fpm[49] is set to 0 on exit. |
||
fpm[28] to fpm[48], fpm[50] to fpm[62] |
Reserved for future use. |
|
fpm[63] |
0 |
Use the Intel® oneMKL PARDISO solver with the user-defined PARDISO iparm array settings. |
fpm[63] =0 |
||
Extended Eigensolver routines use the Intel® oneMKL PARDISO default iparm settings defined by calling the pardisoinit subroutine. |
||
fpm[63] =1 |
||
The values from fpm[64] to fpm[127] correspond to iparm[0] to iparm[63] respectively according to the formula fpm[64 + i] = iparm[i] for i = 0, 1, ..., 63. |



