I would like to ask for advice for people with experience in computing very large eigenvalue problems on sparse, hermitian matrices.
Basically, I would like to compute the smallest eigenvalues using routines that can handle the generalized eigenvalue problem. I have seen that there are several options such as KrylovKit.jl
, ArnoldiMethod.jl
, or the wrapper Arpack.jl
. Which could be the best choice?
I personally would start with Arpack, but I am not well-versed in the present state of the art.
I would recommend ArnoldiMethods.jl, which should be more stable than the alternatives. You may read the release announcement at [ANN] ArnoldiMethod.jl v0.4 . It does handle generalized eigensystems, although you need to implement a bit of boilerplate code yourself (the documentation tells you what to do).
If your matrix has any special structure (e.g., banded), there might be alternatives.