FEAST Library Package
Current status:
 Solving standard (AX=XΛ) or generalized (AX=BXΛ)
Hermitian and nonHermitian eigenvalue problems
 Returns eigenvalues within a userspecified search interval/contour with associated left/right eigenvectors and
(bi)orthonormal basis;
 Two libraries: SMP version (one node), and MPI version (multinodes).
 Three levels of parallelism using FEASTMPI (MPIMPIOpenMP)
 Real/Complex and Single/Double precisions,
 Source code and precompiled libraries provided for common architectures (e.g. x64) The library offers maximum portability.
 Reverse communication interfaces (RCI): Maximum flexibility for application specific. Those are
matrix format independent, inner system solver independent, so users must provide their own linear
system solvers (direct or iterative) and matvec utility routines.
 Predefined driver interfaces for dense, banded, and sparse (CSR) formats: Less flexibility but easy
to use ("plug and play"):
 FEAST DENSE interfaces require LAPACK.
 FEAST BANDED interfaces use the SPIKESMP linear system solver (included)
 FEAST SPARSE interfaces requires the Intel MKLPARDISO solver.
 All the FEAST interfaces must be linked with any (optimized) LAPACK and BLAS packages
 A set of flexible and useful practical options available (quadrature rules, contour shapes, stopping criteria, initial
guess, etc.)
 Multiple support routines included (e.g. userdefined custom contour in complex plane,
extract nodes/weights from predefined quadrature rules,
convergence rate analyser, fast stochastic estimates for search subspace size, etc.)
 Large number of examples provided and documentation included,
 Utility sparse drivers included: users can provide directly their sparse systems for quick testing, timing, etc. .
Current development:
 New optimized FEASTMPI interfaces to target MPI system solvers (e. g. Cluster Pardiso, MUMPS, Domaindecomposition, etc.)

FEAST Algorithm
Some of the important capabilities of the FEAST algorithm
can be briefly outlined as follows:
 High robustness with fast convergence to very high accuracy
 Naturally captures all multiplicities
 No(explicit) orthogonalization procedure on long vectors
 Reusable subspace  can benefit from suitable initial guess for solving series of eigenvalue problems that are close one another
 Ideally suited for large sparse systems allows the use of iterative methods.
 Can exploit natural parallelism at three different levels:
 1. search intervals can be treated separately (no overlap);
 2. linear systems can be solved independently across the quadrature nodes of the complex contour;
 3. each linear system with multiple righthandsides can be solved in parallel.
Consequently, within a parallel environment, the algorithm complexity depends on solving a single
linear system.
Current research:
