The core of BLOPEX is the archive blopex_abstract.tgz, which contains the eigenxolvers codes and can be compiled into the BLOPEX library, using the sample makefiles provided.
To test the basic functionality of the BLOPEX library, we include the archive blopex_serial.tgz with a simple serial test driver (preinstalled LAPACK is required).
BLOPEX is incorporated in the HYPRE package from CASC of LLNL thanks to their generous support. Sample BLOPEX-Hypre tests are the lines in Hypre test/TEST_ij/*.jobs and test/TEST_struct/*.jobs that contain -lobpcg option. For the reference only, we provide the archive blopex_hypre.tgz, which contains the most recent files already included in Hypre.
BLOPEX is also availabe as an external block to the
PETSc
package from
Mathematics and Computer Science Division
of ANL.
The BLOPEX-PETSc archive
blopex_petsc.tgz
is provided here for the reference only.
Download the latest PETSc and configure it with
./config/configure.py --download-hypre=1 --download-blopex=1
options to use BLOPEX-PETSc with Hypre preconditioning.
Sample BLOPEX-PETSc test drivers are in the
PETSc src/contrib/blopex directory.
Finally, BLOPEX is available in and for MATLAB as the archive blopex_matlab.tgz, which contains the MATLAB sources of the BLOPEX eigenxolvers (also available from MathWorks) and the MATLAB interface to the C code of blopex_abstract.tgz.
Main features:
a matrix-free iterative method for computing several extreme eigenpairs
of symmetric positive generalized eigenproblems;
a user-defined symmetric positive preconditioner (a good preconditioner
for a stiffness matrix works well for the corresponding eigenvalue problem,
too!);
robustness with respect to random initial approximations, variable
preconditioners, and ill-conditioning of the stiffness matrix;
nearly optimal convergence speed.
Numerical comparisons suggest that LOBPCG is a genuine analog for eigenproblems
of the standard
preconditioned conjugate gradient method for symmetric linear systems.
The LOBPCG algorithm is presented in the paper Andrew Knyazev, Toward the Optimal Preconditioned Eigensolver: Locally Optimal Block Preconditioned Conjugate Gradient Method. SIAM Journal on Scientific Computing 23 (2001), no. 2, pp. 517-541.
This project is in progress. Please visit my Preconditioned Eigensolvers Web page for more info.
The BLOPEX package is supported. Please contact me ASAP if you find any bugs.
Andrew Knyazev andrew.knyazev(at)ucdenver.edu
Department of Mathematics,
University
of Colorado Denver
P.O. Box 173364, Campus Box 170, Denver, CO 80217-3364.
Street Address: 1250 14th St.. Room 540, Denver CO 80202
Phone: (303) 556-8442. Fax: (303) 556-8550