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.SciPyLeastSquaresType
SciPyLeastSquares(; method="trf", loss="linear")

Wrapper over scipy.optimize.least_squares (via PythonCall) for solving NonlinearLeastSquaresProblems. The keyword arguments correspond to the method ("trf", "dogbox", "lm") and the robust loss function ("linear", "soft_l1", "huber", "cauchy", "arctan").

source
NonlinearSolveSciPy.SciPyRootType
SciPyRoot(; method="hybr")

Wrapper over scipy.optimize.root for solving NonlinearProblems. Available methods include "hybr" (default), "lm", "broyden1", "broyden2", "anderson", "diagbroyden", "linearmixing", "excitingmixing", "krylov", "df-sane" – any method accepted by SciPy.

source
NonlinearSolveSciPy.SciPyRootScalarType
SciPyRootScalar(; method="brentq")

Wrapper over scipy.optimize.root_scalar for scalar IntervalNonlinearProblems (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).

source