API
NonlinearSolvers.NonlinearSolvers — ModuleNonlinearSolversA set of solvers for systems of non-linear equations
Numerical Methods
NonlinearSolvers.NewtonsMethod — TypeNewtonsMethod(
f!::F!,
j!::J!,
x_init::A,
) where {F! <: Function, J! <: Function, A <: AbstractArray}A non-linear system of equations type.
Fields
f!Function to find the root of
j!Jacobian of
f!x_initInitial guess
x1Storage
JStorage
J⁻¹Storage
FStorage
NonlinearSolvers.NewtonsMethodAD — TypeNewtonsMethodAD(f!::F!, x_init::A) where {F!, A <: AbstractArray}A non-linear system of equations type.
Fields
f!Function to find the root of
x_initInitial guess
x1Storage
JStorage
J⁻¹Storage
FStorage
Solve
NonlinearSolvers.solve! — Functionsolve!(
method::AbstractNonlinearSolverMethod{FT},
soltype::SolutionType = CompactSolution(),
tol::Union{Nothing, AbstractTolerance} = nothing,
maxiters::Union{Nothing, Int} = 10_000,
)Solve the non-linear system given
methodthe numerical methodsoltypethe solution type (CompactSolutionorVerboseSolution)tolthe stopping tolerancemaxitersthe maximum number of iterations to perform
Solution types
NonlinearSolvers.CompactSolution — TypeCompactSolution <: SolutionTypeUsed to return a CompactSolutionResults
NonlinearSolvers.VerboseSolution — TypeVerboseSolution <: SolutionTypeUsed to return a VerboseSolutionResults
VerboseSolution is designed for debugging purposes only, and is not GPU-friendly.
Results types
NonlinearSolvers.CompactSolutionResults — TypeCompactSolutionResults{AT} <: AbstractSolutionResults{AT}Result returned from find_zero when CompactSolution is passed as the soltype.
NonlinearSolvers.VerboseSolutionResults — TypeVerboseSolutionResults{AT} <: AbstractSolutionResults{AT}Result returned from find_zero when VerboseSolution is passed as the soltype.
Stopping conditions (tolerances)
NonlinearSolvers.ResidualTolerance — TypeResidualToleranceA tolerance type based on the residual of the equation $f(x) = 0$
NonlinearSolvers.SolutionTolerance — TypeSolutionToleranceA tolerance type based on the solution $x$ of the equation $f(x) = 0$