SciPy
This is an extension for importing solvers from SciPy into the SciML interface. Note that these solvers do not come by default, and thus one needs to install the package before using these solvers:
import Pkg
Pkg.add("NonlinearSolveSciPy")
import NonlinearSolveSciPy as NLSP
Note that using this package requires Python and SciPy to be available via PythonCall.jl.
Solver API
NonlinearSolveSciPy.SciPyLeastSquares
— TypeSciPyLeastSquares(; method="trf", loss="linear")
Wrapper over scipy.optimize.least_squares
(via PythonCall) for solving NonlinearLeastSquaresProblem
s. The keyword arguments correspond to the method
("trf", "dogbox", "lm") and the robust loss function ("linear", "soft_l1", "huber", "cauchy", "arctan").
NonlinearSolveSciPy.SciPyRoot
— TypeSciPyRoot(; method="hybr")
Wrapper over scipy.optimize.root
for solving NonlinearProblem
s. Available methods include "hybr" (default), "lm", "broyden1", "broyden2", "anderson", "diagbroyden", "linearmixing", "excitingmixing", "krylov", "df-sane" – any method accepted by SciPy.
NonlinearSolveSciPy.SciPyRootScalar
— TypeSciPyRootScalar(; method="brentq")
Wrapper over scipy.optimize.root_scalar
for scalar IntervalNonlinearProblem
s (bracketing problems). The default method uses Brent's algorithm ("brentq"). Other valid options: "bisect", "brentq", "brenth", "ridder", "toms748", "secant", "newton" (secant/Newton do not require brackets).