Help with ArnoldiMethod.jl

Hi everyone. I am trying to solve the general eigenvalue problem closed to a value by computing the eigenvalues of largest magnitude. Using Arpack the command is similar to:

dp,xp=eigs(A,B,nev=3,sigma=ω[o]/rspd);

But I found ArnoldiMethod.jl and someone mentioned it should be faster than the Arpack.jl.

I found this:

https://haampie.github.io/ArnoldiMethod.jl/stable/usage/02_spectral_transformations.html

But I do not know how to set the “sigma” value.

Any help getting the LM eigenvalues and eigenfuncitons faster than Arpack. This is kind of bottlenecking my code.

you set it yourself, see here https://github.com/rveltz/BifurcationKit.jl/blob/master/src/EigSolver.jl#L138 for a regular eigenvalue problem.

I also do it in my most recent tutorial

You have also other algo:

1 Like

EigSolver calls Arpack for sparse matrixes?

Why would it be faster? It is Arnoldi (Lanczos, for symmetric matrices), same as Arpack.

I don’t know is what I read.

I am not getting any of the given options to work properly.

Any idea to make Arpack run faster? I was thinking of editing “eigs” to remove a bunch of the “if” in there…

There are 4 different eigen solvers in EigSolver.jl based on eig, Arpack, ArnoldiMethod, KrylovKit. They works for matrix-free or sparse linear operators.

It difficult to tell without A and B.

Dear @rveltz. They are quite sparse matrix…

I would very much appreciate if you can check them and tell me the best way to address my problem. I have uploaded my code here:

https://github.com/marianoarnaiz/SWF

Running: SWF_light.jl (comment using GMT and the plot)

Will make all the computations. The for loop that calls the arpack is in function:

Rayleigh_Forwardsp, between lines 463 and 467