Warning
This package has been moved into a subpackage in NonlinearSolve (https://github.com/SciML/NonlinearSolve.jl/tree/master/lib/SimpleNonlinearSolve). Direct all questions and issues to NonlinearSolve.jl repository
Fast implementations of root finding algorithms in Julia that satisfy the SciML common interface. SimpleNonlinearSolve.jl focuses on low-dependency implementations of very fast methods for very small and simple problems. For the full set of solvers, see NonlinearSolve.jl, of which SimpleNonlinearSolve.jl is just one solver set.
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 SimpleNonlinearSolve, StaticArrays
f(u, p) = u .* u .- 2
u0 = @SVector[1.0, 1.0]
probN = NonlinearProblem{false}(f, u0)
solver = solve(probN, SimpleNewtonRaphson(), abstol = 1e-9)
## Bracketing Methods
f(u, p) = u .* u .- 2.0
u0 = (1.0, 2.0) # brackets
probB = IntervalNonlinearProblem(f, u0)
sol = solve(probB, ITP())For more details on the bracketing methods, refer to the Tutorials and detailed APIs
- Batched solvers have been removed in favor of BatchedArrays.jl. Stay tuned for detailed tutorials on how to useBatchedArrays.jlwithNonlinearSolve&SimpleNonlinearSolvesolvers.
- The old style of specifying autodiff with chunksize,standardtag, etc. has been deprecated in favor of directly specifying the autodiff type, likeAutoForwardDiff.
- Broydenand- Klementhave been renamed to- SimpleBroydenand- SimpleKlementto avoid conflicts with- NonlinearSolve.jl's- GeneralBroydenand- GeneralKlement, which will be renamed to- Broydenand- Klementin the future.
- LBroydenhas been renamed to- SimpleLimitedMemoryBroydento make it consistent with- NonlinearSolve.jl's- LimitedMemoryBroyden.