`k` smallest eigenvalues of symmetric positive definite matrix

I need to compute the k smallest eigenvalues of a symmetric positive definite real matrix, and their corresponding eigenvectors. Can I use a Julia package for this, or is there something under LinearAlgebra that helps?

LinearAlgebra.eigen takes vl,vu parameters, to return eigenvalues within [vl,vu], but I do not know a priori the magnitude of the eigenvalues, so I wouldn’t know what vl,vu to use to get the k smallest ones.

Maybe ARPACK.jl could help.

looks like Arpack.jl doesn’t support Julia v0.6.4. I still have some dependencies that don’t work in v1.0, so I cannot upgrade just yet. Is there something I can use in v0.6.4?

In 0.6.4 you can just use Arpacks eigs function with the which=:SM keyword right away:

https://docs.julialang.org/en/v0.6.4/stdlib/linalg/#Base.LinAlg.eigs-Tuple{Any,Any}

1 Like

Thanks!