{ } Raw JSON

bundles / scipy latest / scipy / optimize / _nonlin / nonlin_solve

function

scipy.optimize._nonlin:nonlin_solve

source: /scipy/optimize/_nonlin.py :125

Signature

def   nonlin_solve ( F x0 jacobian = krylov iter = None verbose = False maxiter = None f_tol = None f_rtol = None x_tol = None x_rtol = None tol_norm = None line_search = armijo callback = None full_output = False raise_exception = True )

Summary

Find a root of a function, in a way suitable for large-scale problems.

Parameters

F : function(x) -> f

Function whose root to find; should take and return an array-like object.

xin : array_like

Initial guess for the solution

jacobian : Jacobian

A Jacobian approximation: Jacobian object or something that asjacobian can transform to one. Alternatively, a string specifying which of the builtin Jacobian approximations to use:

krylov, broyden1, broyden2, anderson diagbroyden, linearmixing, excitingmixing

iter : int, optional

Number of iterations to make. If omitted (default), make as many as required to meet tolerances.

verbose : bool, optional

Print status to stdout on every iteration.

maxiter : int, optional

Maximum number of iterations to make. If more are needed to meet convergence, NoConvergence is raised.

f_tol : float, optional

Absolute tolerance (in max-norm) for the residual. If omitted, default is 6e-6.

f_rtol : float, optional

Relative tolerance for the residual. If omitted, not used.

x_tol : float, optional

Absolute minimum step size, as determined from the Jacobian approximation. If the step size is smaller than this, optimization is terminated as successful. If omitted, not used.

x_rtol : float, optional

Relative minimum step size. If omitted, not used.

tol_norm : function(vector) -> scalar, optional

Norm to use in convergence check. Default is the maximum norm.

line_search : {None, 'armijo' (default), 'wolfe'}, optional

Which type of a line search to use to determine the step size in the direction given by the Jacobian approximation. Defaults to 'armijo'.

callback : function, optional

Optional callback function. It is called on every iteration as callback(x, f) where x is the current solution and f the corresponding residual.

Returns

sol : ndarray

An array (of similar array type as x0) containing the final solution.

Raises

: NoConvergence

When a solution was not found.

full_output : bool

If true, returns a dictionary info containing convergence information.

raise_exception : bool

If True, a NoConvergence exception is raise if no solution is found.

Notes

This algorithm implements the inexact Newton method, with backtracking or full line searches. Several Jacobian approximations are available, including Krylov and Quasi-Newton methods.

See also

Jacobian
asjacobian

Aliases

  • scipy.optimize._nonlin.nonlin_solve