Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

Extended Eigensolver Input Parameters

The input parameters for Extended Eigensolver routines are contained in an integer array named fpm. To call the Extended Eigensolver interfaces, this array should be initialized using the routine feastinit.

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:

  • generalized eigenvalue problem:

  • standard eigenvalue problem:

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 tracej 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)=1

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(30) to fpm(63)

-

Reserved for future use.

fpm(64)

0

Use the Intel® oneAPI Math Kernel Library (oneMKL) PARDISO solver with the user-defined PARDISOiparm array settings.

NOTE:

This option can only be used by Extended Eigensolver Predefined Interfaces for Sparse Matrices.

fpm(64)=0

Extended Eigensolver routines use the Intel® oneAPI Math Kernel Library (oneMKL) PARDISO defaultiparm 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.