DiffEqBase.jl icon indicating copy to clipboard operation
DiffEqBase.jl copied to clipboard

ERROR: ... no method matching bicgstabl_iterator! ... got unsupported keyword arguments "initially_zero", ...

Open gybefloyd opened this issue 4 years ago • 2 comments

Hi @ChrisRackauckas , @YingboMa,

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}) and I'm working with Float64 all the way.

I suspect this error is not restricted to gmres but 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".

The call at line 165 of DiffEqBase.jl/src/linear_nonlinear.jl seems to correspond only to the gmres signature, see for instance [https://julialinearalgebra.github.io/IterativeSolvers.jl/dev/linear_systems/bicgstabl/].

Though I have no clue for the eps(::Type{ComplexF64}) error.

Best, Amael

gybefloyd avatar Apr 26 '21 09:04 gybefloyd

Yes, it looks like some of IterativeSolvers had breaking changes which weren't caught by tests. First things first, let's boost up our tests. Do it without complex numbers first, because that could be an upstream IterativeSolvers.jl issue.

ChrisRackauckas avatar Apr 26 '21 11:04 ChrisRackauckas

Thx for the reply. Ok for the test part abouth the IterativeSolvers interface. I emphasize that I'm not using any complex numbers. Seems that there is a failure to recognize the type of my arrays. I'm working on a minimum example.

gybefloyd avatar Apr 26 '21 12:04 gybefloyd