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

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.