<p>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. </p>

<p>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? </p>

CC BY-SA 3.0
2011-08-22T21:38:09.620Z
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.
Kaveh
CC BY-SA 3.0
2011-08-23T04:34:32.267Z
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.
Misha
CC BY-SA 3.0
2011-08-23T04:40:54.893Z
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.
Kaveh
CC BY-SA 3.0
2011-08-23T04:50:21.240Z
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.
Misha
CC BY-SA 3.0
2011-08-23T04:53:52.187Z
You are saying that you are not an expert in CS, let alone TCS, right? I don't know what you mean by Saad. Here is my suggestion, ask here for algorithms, then when you get satisfying answers, ask on SO for code/library implementing those algorithms.
Kaveh
CC BY-SA 3.0
2011-08-23T04:58:30.213Z
That's exactly what I am trying to do.
Misha
CC BY-SA 3.0
2011-08-23T04:59:34.113Z
In that case there is no disagreement between us. :)
Kaveh
<linear-algebra><na.numerical-analysis><sparse-matrix>
What's new in sparse eigensystems solution
Misha
# What's new in sparse eigensystems solution

(Asked by: username_0 on 2011-08-22)

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?

**Tags:** linear-algebra, na.numerical-analysis, sparse-matrix

> **Comments:**
> **username_1**: 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.  
> **username_0**: 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.  
> **username_1**: 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.  
> **username_0**: 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.  
> **username_1**: You are saying that you are not an expert in CS, let alone TCS, right? I don't know what you mean by Saad. Here is my suggestion, ask here for algorithms, then when you get satisfying answers, ask on SO for code/library implementing those algorithms.  
> **username_0**: That's exactly what I am trying to do.  
> **username_1**: In that case there is no disagreement between us. :)  

---

## 0 answers

