# Module Sundials_NonlinearSolver.Newton

module Newton: sig .. end

Generic nonlinear solver based on Newton's method.

val make : ?context:Sundials.Context.t ->       ('d, 'k) Nvector.t -> ('d, 'k, 's, [ Nvec ]) Sundials_NonlinearSolver.t

Creates a nonlinear solver based on Newton's method. Solves nonlinear systems of the form $F(y) = 0$ .

val make_sens : ?context:Sundials.Context.t ->       int ->       ('d, 'k) Nvector.t -> ('d, 'k, 's, [ Sens ]) Sundials_NonlinearSolver.t

Creates a nonlinear solver based on Newton's method for sensitivity-enabled integrators. Solves nonlinear systems of the form $F(y) = 0$ .

In the call make_sens count y,

• count is the number of vectors in the nonlinear problem, if there are $N_s$ sensitivities, then count should be $N_s + 1$ if using a simultaneous corrector or $N_s$ if using a staggered corrector; and,
• y is a template for cloning vectors.
val get_sys_fn : ('d, 'k, 's, [ Nvec ]) Sundials_NonlinearSolver.t ->       (('d, 'k) Nvector.t, 's) Sundials_NonlinearSolver.sysfn option

Returns the residual function that defines the nonlinear system.

Raises Invalid_argument` if called on a nonlinear solver that was not created by this module.