Fast implementations of root finding algorithms in Julia that satisfy the SciML common interface.
For information on using the package, see the stable documentation. Use the in-development documentation for the version of the documentation which contains the unreleased features.
using NonlinearSolve, StaticArrays
f(u, p) = u .* u .- 2
u0 = @SVector[1.0, 1.0]
prob = NonlinearProblem(f, u0)
solver = solve(prob)
## Bracketing Methods
f(u, p) = u .* u .- 2.0
u0 = (1.0, 2.0) # brackets
prob = IntervalNonlinearProblem(f, u0)
sol = solve(prob)
If you found this library to be useful in academic work, then please cite:
@article{pal2024nonlinearsolve,
title={NonlinearSolve. jl: High-Performance and Robust Solvers for Systems of Nonlinear Equations in Julia},
author={Pal, Avik and Holtorf, Flemming and Larsson, Axel and Loman, Torkel and Schaefer, Frank and Qu, Qingyu and Edelman, Alan and Rackauckas, Chris and others},
journal={arXiv preprint arXiv:2403.16341},
year={2024}
}