Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated Arpack fails in Mac M1? #149

Open
marianoarnaiz opened this issue Feb 17, 2023 · 4 comments
Open

Updated Arpack fails in Mac M1? #149

marianoarnaiz opened this issue Feb 17, 2023 · 4 comments

Comments

@marianoarnaiz
Copy link

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

Stacktrace:
 [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
@ViralBShah
Copy link
Collaborator

ViralBShah commented Feb 28, 2023

You can dev your copy of Arpack.jl and just change the dependency to Arpack_jll 3.8 (which I believe has been built in Yggdrasil).

Does your code only fail on M1 with the current Arpack.jl? Is this an M1 specific issue?

@marianoarnaiz
Copy link
Author

How can I change dependecies? A bit of help please :).
I only have this laptop. I can´t check in another.

@marianoarnaiz
Copy link
Author

I there a way to fork version 0.5.0. I woerked well for me :)

@ViralBShah
Copy link
Collaborator

Maybe easier to try ArnoldiMethods.jl?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants