The Block Locally Optimal Preconditioned Eigenvalue Xolvers (BLOPEX) (Knyazev et al., 2007) is a suite of routines for the scalable (parallel) solution of eigenvalue problems. Its object-oriented design allows easy portability. Currently available built-in interfaces are Hypre, PETSc, MATLAB, GNU Octave, and a serial stand-alone version. BLOPEX supports real and complex arithmetic, and long integers. The current version is double-precision. The single-precision is not yet supported. Hypre and PETSc interfaces use the Message Passing Interface (MPI) standard for all message-passing communication. The most recent stable version of BLOPEX is 1.1, released in 2010.
SLEPc and PHAML have interfaces to call BLOPEX eigensolvers. DevTools includes some BLOPEX code.
BLOPEX provides the following features:
- Knyazev, A.V. (2001), "Toward the Optimal Preconditioned Eigensolver: Locally Optimal Block Preconditioned Conjugate Gradient Method", SIAM Journal on Scientific Computing 23 (2): 517–541, doi:10.1137/S1064827500366124
- Knyazev, A.V.; Lashuk, M.E.; Argentati; Ovchinnikov, E. (2007), "Block Locally Optimal Preconditioned Eigenvalue Xolvers (BLOPEX) in hypre and PETSc", SIAM Journal on Scientific Computing 25 (5): 517–541, doi:10.1137/060661624