Problems using solvers from Iterativesolvers.jl in DifferentialEquations.jl


Trying the LinSolveIterativeSolvers API of DifferentialEquations.jl to use the linear solvers from IterativeSolvers.jl always lead to some errors. I’m using julia 1.6.

First the API only works for the gmres solver but it leads to a specific error:
no method matching eps(::Type{ComplexF64})

For the other solvers (cg, bicgstabl, minres and chebyshev), the API is wrong, for instance the bicgstabl error is:
bicgstabl_iterator!(::Any, ::Any, ::Any, ::Int64; Pl, max_mv_products, abstol, reltol, initial_zero) at /Users/amael/.julia/packages/IterativeSolvers/TpeDx/src/bicgstabl.jl:27 got unsupported keyword arguments "initially_zero", "restart", "maxiter", "Pr".


Yeah the IterativeSolver API drifted and needs a few more tests in DiffEqBase. I believe you opened an issue and we can follow up there.

Has this solved? Is resorting to petsc.jl an option here? Thx.

This was solved a long time ago. See the tutorial Solving Large Stiff Equations · DifferentialEquations.jl for some details.

Apologies. My bad. I am looking for a iterative linear solver able to solve complex valued linear systems.

Did the KrylovJL_GMRES one shown in the tutorial not work?

Will check and get back to you. Thx.