Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
Extended Eigensolver Input Parameters
The input parameters for Extended Eigensolver routines are contained in an integer 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(1) |
0 |
Specifies whether Extended Eigensolver routines print runtime status. |
fpm(1) =0 |
||
Extended Eigensolver routines do not generate runtime messages at all. |
||
fpm(1) =1 |
||
Extended Eigensolver routines print runtime status to the screen. |
||
fpm(2) |
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(3) |
12 |
Error trace double precision stopping criteria ε ( ε = 10 -fpm(3) ) . |
fpm(4) |
20 |
Maximum number of Extended Eigensolver refinement loops allowed. If no convergence is reached within fpm(4) refinement loops, Extended Eigensolver routines return info =2. |
fpm(5) |
0 |
User initial subspace. If fpm(5) =0 then Extended Eigensolver routines generate initial subspace, if fpm(5) =1 the user supplied initial subspace is used. |
fpm(6) |
0 |
Extended Eigensolver stopping test. |
fpm(6) =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(7) for real and complex or ε = 10 -fpm(3) for double precision and double complex. |
||
fpm(6) =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(7) |
5 |
Error trace single precision stopping criteria (10 -fpm(7) ). |
fpm(14) |
0 |
fpm(14) =0 |
Standard use for Extended Eigensolver routines. |
||
fpm(14) =0 |
||
Non-standard use for Extended Eigensolver routines: return the computed eigenvectors subspace after one single contour integration. |
||
fpm(27) |
0 |
Specifies whether Extended Eigensolver routines check input matrices (applies to CSR format only). |
fpm(27) =0 |
||
Extended Eigensolver routines do not check input matrices. |
||
fpm(27) =1 |
||
Extended Eigensolver routines check input matrices. |
||
fpm(28) |
0 |
Check if matrix B is positive definite. Set fpm(28) =1 to check if B is positive definite. |
fpm(50) |
0 |
Specifies whether Extended Eigensolver routines compute the total number of eigenvalues located in the interval [ emin , emax ] (applies to CSR format only). |
fpm(50) =0 |
||
Standard use for Extended Eigensolver routines. |
||
fpm(50) =1 |
||
Non-standard use for Extended Eigensolver routines: return m0 as the total number of eigenvalues. fpm(50) is set to 0 on exit. |
||
fpm(29) to fpm(49), fpm(51) to fpm(63) |
Reserved for future use. |
|
fpm(64) |
0 |
Use the Intel® oneMKL PARDISO solver with the user-defined PARDISO iparm array settings. |
fpm(64) =0 |
||
Extended Eigensolver routines use the Intel® oneMKL PARDISO default iparm settings defined by calling the pardisoinit subroutine. |
||
fpm(64) =1 |
||
The values from fpm(65) to fpm(128) correspond to iparm(1) to iparm(64) respectively according to the formula fpm(64 + i) = iparm(i) for i = 1, 2, ..., 64. |



