PReconditioned Iterative MultiMethod Eigensolver

PRIMME                

PReconditioned Iterative MultiMethod Eigensolver


Version 1.2 (Dec 24, 2014)

Available under the Lesser GPL license

Download the tar file:   primme_v1.2.tar.gz

Optional: send your e-mail to andreas to be included in the distribution list for future releases/updates.

Documentation   in pdf   or   in HTML

Use the filestyle: primmestyle.css for local html installation.

Symmetric and Hermitian eigenvalue problems enjoy a remarkable theoretical structure that allows for efficient and stable algorithms for obtaining a few required eigenpairs. This is probably one of the reasons that enabled applications requiring the solution of symmetric eigenproblems to push their accuracy and thus computational demands to unprecedented levels. Materials science, structural engineering, and some QCD applications routinely compute eigenvalues of matrices of dimension more than a million; and often much more than that! Typically, with increasing dimension comes increased ill conditioning, and thus the use of preconditioning becomes essential.

Changes in Version 1.2

Version 1.2 implements performance improvements and bug fixes that have been reported over the years by PRIMME's users, who the authors are indebted to.
  • A Fortran compiler is no longer required for building the PRIMME library. Fortran programs can still be linked to PRIMME's F77 interface.
  • Fixed some uncommon issues with the F77 interface
  • PRIMME can be called now multiple times from the same program.
  • Performance improvements in the QMR inner solver, especially for complex arithmetic
  • Fixed a couple of bugs with the locking functionality. In certain extreme cases where all eigenvalues of a matrix were needed. The order of selecting interior eigenvalues. The above fixes have improved robustness and performance.
  • PRIMME now assigns unique random seeds per parallel process for up to 4096^3 (140 trillion processes)
  • For the DYNAMIC method, fixed issues with initialization and synchronization decisions across multiple processes.
  • Fixed uncommon library interface bugs, coordinated better the set_method() and the user setting of parameters, and improved the interface in the sample programs and makefiles
  • Other performance and documentation improvements

    For any questions/reports/bugs send a message to "andreas" at cs dot wm dot edu

    Older versions:

    Version 1.1   primme_v1.1.tar.gz

    The following papers describe the research that has led to this software. To cite PRIMME, please cite paper [1]. More information can be found in the rest of the papers. The work has been supported by a number of grants from the National Science Foundation.
    Andreas Stathopoulos and James R. McCombs
    1. PRIMME: PReconditioned Iterative MultiMethod Eigensolver: Methods and software description ACM Transaction on Mathematical Software Vol. 37, No. 2, (2010), 21:1--21:30.

    2. A. Stathopoulos, "Nearly optimal preconditioned methods for Hermitian eigenproblems under limited memory. Part I: Seeking one eigenvalue", SIAM J. Sci. Comput., Vol. 29, No. 2, (2007), 481--514. [ pdf ]

    3. A. Stathopoulos and J. R. McCombs, "Nearly optimal preconditioned methods for Hermitian eigenproblems under limited memory. Part II: Seeking many eigenvalues", SIAM J. Sci. Comput., Vol. 29, No. 5, (2007), 2162-2188. [ pdf ]

    4. J. R. McCombs and A. Stathopoulos, "Iterative Validation of Eigensolvers: A Scheme for Improving the Reliability of Hermitian Eigenvalue Solvers", SIAM J. Sci. Comput., Vol. 28, No. 6, (2006), 2337--2358. [ pdf ]

    5. A. Stathopoulos, "Locking issues for finding a large number of eigenvectors of Hermitian matrices", Tech Report: WM-CS-2005-09, July, 2005, submitted. [ pdf ]

    6. A. Stathopoulos and K. Wu, "A block orthogonalization procedure with constant synchronization requirements", SIAM Journal on Scientific Computing, Volume 23, Number 6, (2002), 2165--2182. [ pdf ]

    7. A. Stathopoulos "Some insights on restarting symmetric eigenvalue methods with Ritz and harmonic Ritz vectors", in Iterative Methods in Scientific Computation IV, D. R. Kincaid & Anne C. Elster (eds.), pp. 297--311, Series in Computational and Applied Mathematics, IMACS, NJ (1999). [ pdf ]

    8. A. Stathopoulos and Y. Saad, "Restarting techniques for (Jacobi-)Davidson symmetric eigenvalue methods", special issue on eigenvalue methods, Electronic Transactions on Numerical Analysis, Vol. 7, (1998), 163-181.

    9. K. Wu, Y. Saad and A. Stathopoulos, "Inexact Newton Preconditioning Techniques for Eigenvalue Problems", special issue on eigenvalue methods, Electronic Transactions on Numerical Analysis, Vol. 7, (1998), 202-214.

    10. A. Stathopoulos, Y. Saad, and K. Wu, "Dynamic Thick Restarting of the Davidson, and the Implicitly Restarted Arnoldi Methods", SIAM J. Scientific Computing, 19, 1, (1998) 227-45. Copyright © 1998 Society for Industrial and Applied Mathematics. [ pdf ]

    11. A. Stathopoulos, Y. Saad, and C. F. Fischer, "Robust Preconditioning of Large, Sparse, Symmetric Eigenvalue Problems," the Journal of Computational and Applied Mathematics, 64 (1995) 197-215. [ pdf ]

    12. A. Stathopoulos and C. F. Fischer, "A Davidson Program for Finding a Few Selected Extreme Eigenpairs of a Large, Sparse, Real, Symmetric Matrix," Computer Physics Communications, 79 (1994) 268-290. [ pdf ]




    Back to my home page