numra-nonlinear
Nonlinear solvers for the Numra workspace — Newton-Raphson with Wolfe line-search globalization, analytical or finite-difference Jacobians.
Iterative methods for systems of nonlinear equations F(x) = 0. The same machinery underlies every implicit ODE stage and every gradient-based optimizer's inner solve in the workspace.
Example
use ;
// Solve x² = 2 by finding a root of F(x) = x² − 2.
;
let solver = default_solver;
let r = solver.solve.unwrap;
assert!;
What's in this crate
Newton— Newton-Raphson with optional Wolfe line searchnewton_solve/NewtonOptions/NewtonResult— function form with full control over tolerances, max-iterations, and FD Jacobian stepNonlinearSystemtrait — user-definedF(x)and optional analytical Jacobianwolfe_line_search/WolfeOptions— standalone strong-Wolfe line search for use outside the Newton solver
Composes with
numra-linalgfor the linear-system solve at each Newton stepnumra-odefor the implicit-stage and BDF nonlinear correctionnumra-optimfor SQP and augmented-Lagrangian inner solves
Install
[]
= "0.1"
Or via the umbrella crate:
[]
= "0.1"
Documentation
- API: https://docs.rs/numra-nonlinear
- Book: Implicit methods — where the Newton machinery is documented in its primary use case
- Source: https://github.com/moussaoutlook/numra-rs/tree/main/numra-nonlinear
License
Numra Academic & Research License (Non-Commercial). Academic and research use is free; commercial use requires a separate license — contact contact@spectralautomata.com. See LICENSE.