Arpack is broken?

Hi all. sorry to bother you guys.
I wrote a code a couple of years back that used Arpack in julia. I am updating it but I can´t run it.

In my notes for it I have this:

  • Arpacy_jll must be the newer version. The older one has problems with large eigenvalues problem.
    Pkg.add(Pkg.PackageSpec(;name=“Arpack_jll”, version=“3.8”));
  • The above library (as of today) requires the old version of Arpack as it is more stable
    Pkg.add(Pkg.PackageSpec(;name=“Arpack”, version=“0.5.0”));

When I run it I get this error.
I wonder if there is any work around.

ERROR: ┌ Error: XYAUPD_Exception: Maximum number of iterations taken. All possible eigenvalues of OP has been found.
│ IPARAM(5) returns the number of wanted converged Ritz values.
│   info = 1
└ @ Arpack ~/.julia/packages/Arpack/FCvNd/src/libarpack.jl:47

 [1] aupd_wrapper(T::Type, matvecA!::Arpack.var"#17#27"{SparseMatrixCSC{Float64, Int64}}, matvecB::Arpack.var"#13#23", solveSI::Arpack.var"#18#28", n::Int64, sym::Bool, cmplx::Bool, bmat::String, nev::Int64, ncv::Int64, which::String, tol::Float64, maxiter::Int64, mode::Int64, v0::Vector{Float64}, check::Int64)
   @ Arpack ~/.julia/packages/Arpack/FCvNd/src/libarpack.jl:141
 [2] _eigs(A::SparseMatrixCSC{Float64, Int64}, B::SparseMatrixCSC{Float64, Int64}; nev::Int64, ncv::Int64, which::Symbol, tol::Float64, maxiter::Int64, sigma::Float64, v0::Vector{Float64}, ritzvec::Bool, explicittransform::Symbol, check::Int64)
   @ Arpack ~/.julia/packages/Arpack/FCvNd/src/Arpack.jl:240
 [3] #eigs#5
   @ ~/.julia/packages/Arpack/FCvNd/src/Arpack.jl:53 [inlined]
 [4] kwcall(::NamedTuple{(:nev, :sigma, :tol, :ncv, :maxiter, :which), Tuple{Int64, Float64, Float64, Int64, Int64, Symbol}}, ::typeof(eigs), A::SparseMatrixCSC{Float64, Int64}, B::SparseMatrixCSC{Float64, Int64})
   @ Arpack ~/.julia/packages/Arpack/FCvNd/src/Arpack.jl:53
 [5] Rayleigh_Forwardsp(Nsolid::Int64, vsv::Vector{Float64}, vpv::Vector{Float64}, rhov::Vector{Float64}, f::Vector{Float64}, hsolid::Vector{Float64}, Nmodes::Int64, Nfluid::Int64, vpfv::Matrix{Float64}, rhofv::Matrix{Float64}, hfv::Matrix{Float64}, qsv::Vector{Float64})
   @ Main ~/Documents/JULIA_UCM/SeitComp-1D_ForTesting2/src/seis/SW_Disp.jl:499
 [6] SW_Disp(Model::Matrix{Float64}, h_index::Int64, Obs_T::StepRange{Int64, Int64}, Nmodes::Int64, Anisotropy::Int64)
   @ Main ~/Documents/JULIA_UCM/SeitComp-1D_ForTesting2/src/seis/SW_Disp.jl:42
 [7] top-level scope
   @ REPL[27]:1

Is, Arpack 0.5.4 is indeed broken. eigs() doesn't work in my computer, but works in another one. (Arpack 0.5.4) · Issue #147 · JuliaLinearAlgebra/Arpack.jl · GitHub. I would suggest to use 0.5.3.

Thanks for the info. Do you happen to have 0.5.0? It was the last version that worked for me :frowning:

0.5.3 works for me. If you set compat to Arpack = "=0.5.0" you will get that.