# Advice on library to solve generalized eigenvalue problem of very large, sparse, hermitian matrices

**URL:** <https://discourse.julialang.org/t/advice-on-library-to-solve-generalized-eigenvalue-problem-of-very-large-sparse-hermitian-matrices/131294>\
**Category:** General Usage\
**Tags:** question\
**Created:** [August 1, 2025, 3:25pm UTC](https://discourse.julialang.org/t/advice-on-library-to-solve-generalized-eigenvalue-problem-of-very-large-sparse-hermitian-matrices/131294 "2025-08-01T15:25:59Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![RayleighLord](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rayleighlord/32/33592_2.png) [@RayleighLord](https://discourse.julialang.org/u/RayleighLord)\
**Post date:** [August 1, 2025, 3:25pm UTC](https://discourse.julialang.org/t/advice-on-library-to-solve-generalized-eigenvalue-problem-of-very-large-sparse-hermitian-matrices/131294/1 "2025-08-01T15:25:59Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![tobydriscoll](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobydriscoll/32/1843_2.png) [@tobydriscoll](https://discourse.julialang.org/u/tobydriscoll)\
**Post date:** [August 6, 2025, 7:09pm UTC](https://discourse.julialang.org/t/advice-on-library-to-solve-generalized-eigenvalue-problem-of-very-large-sparse-hermitian-matrices/131294/2 "2025-08-06T19:09:28Z")

</div>

I personally would start with Arpack, but I am not well-versed in the present state of the art.

---

<div class="post-metadata">

**Author:** ![jishnub](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jishnub/32/33620_2.png) [@jishnub](https://discourse.julialang.org/u/jishnub)\
**Post date:** [August 6, 2025, 8:12pm UTC](https://discourse.julialang.org/t/advice-on-library-to-solve-generalized-eigenvalue-problem-of-very-large-sparse-hermitian-matrices/131294/3 "2025-08-06T20:12:32Z")

</div>

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](https://discourse.julialang.org/t/ann-arnoldimethod-jl-v0-4/110604) . 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.
