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 method 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? I am not an expert in CS, maybe somebody has some clues on recent progress in this field?

  • $\begingroup$ Please read the FAQ, the scope of cstheory is theoretical computer science. Questions asking for references and algorithms are fine but questions asking for ready to use code/libraries should be posted on SO. $\endgroup$
    – Kaveh
    Commented Aug 22, 2011 at 21:38
  • $\begingroup$ IMHO, it is hard to distinguish algorithm, development code and library here. What I am using now started as a 'reference' implementation of a brand new algorithm and now it is usually called library. $\endgroup$
    – Misha
    Commented Aug 23, 2011 at 4:34
  • $\begingroup$ No, I think it is clear and it is not hard to distinguish them. Btw, I don't understand your argument, code (development code or library or whatever) deals with practical issues of implementation which are not theoretical issues at all. The fact that some library was started as an algorithm does not remove the distinction. $\endgroup$
    – Kaveh
    Commented Aug 23, 2011 at 4:40
  • $\begingroup$ In this particular field progress is pushed by needs of computational codes for physics. If you look through Saad papers, he extensively uses testing of the algorithms for real problems. AFAIK the only way to understand which algorithm is better here is to test it. Yes, I am asking for theoretical issues here. And I will ask SO similar question later. $\endgroup$
    – Misha
    Commented Aug 23, 2011 at 4:50
  • 2
    $\begingroup$ That's exactly what I am trying to do. $\endgroup$
    – Misha
    Commented Aug 23, 2011 at 4:58


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.