FEAST Library Package

Current status:
  • Solving standard (AX=XΛ) or generalized (AX=BXΛ) Hermitian and non-Hermitian eigenvalue problems
  • Returns eigenvalues within a user-specified search interval/contour with associated left/right eigenvectors and (bi)-orthonormal basis;
  • Two libraries: SMP version (one node), and MPI version (multi-nodes).
  • Three levels of parallelism using FEAST-MPI (MPI-MPI-OpenMP)
  • Real/Complex and Single/Double precisions,
  • Source code and pre-compiled 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 mat-vec 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 SPIKE-SMP linear system solver (included)
    • FEAST SPARSE interfaces requires the Intel MKL-PARDISO 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. user-defined 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 FEAST-MPI interfaces to target MPI system solvers (e. g. Cluster Pardiso, MUMPS, Domain-decomposition, 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 right-hand-sides can be solved in parallel.
    Consequently, within a parallel environment, the algorithm complexity depends on solving a single linear system.
Current research:
  • Non-linear problems