As a part of other work I need to solve relatively large (~1E5x1E5) and sparse (~100 non-zero elements in each raw in few blocks) hermitian eigensystems. Usually only few eigenvalues+vectors are needed, but with high precision. Currently I am using Arpack (Arnoldi with shift-inverse when precision is preferable or spectrum folding when size is important). As an option plan to use TRLan (thick restart Lanczos) and try Chebyshev filtering instead of spectrum folding.

Probably, newer methods exist for this purpose?


SLEPc is the package I am most familiar with for the scalable solution of sparse eigensystems. The developers also maintain a survey of software for solving sparse eigensystems (last updated in 2009).

  • $\begingroup$ This package is quite strange. From documentation I got the idea that it is more like a wrapper around different libraries. Which purpose is to make a switch between different methods easier. Probably, I am wrong. $\endgroup$
    – Misha
    Feb 12 '12 at 14:53
  • $\begingroup$ @Misha: You're correct. The purpose of these wrappers (and all of the associated infrastructure) is to make switching among different methods easier, so you can try other methods besides ARPACK and TRLan. $\endgroup$ Feb 12 '12 at 22:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.