Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
A newer version of this document is available. Customers should click here to go to the newest version.
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. |



