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) -> fFunction whose root to find; should take and return an array-like object.
xin: array_likeInitial guess for the solution
jacobian: JacobianA 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, optionalNumber of iterations to make. If omitted (default), make as many as required to meet tolerances.
verbose: bool, optionalPrint status to stdout on every iteration.
maxiter: int, optionalMaximum number of iterations to make. If more are needed to meet convergence, NoConvergence is raised.
f_tol: float, optionalAbsolute tolerance (in max-norm) for the residual. If omitted, default is 6e-6.
f_rtol: float, optionalRelative tolerance for the residual. If omitted, not used.
x_tol: float, optionalAbsolute 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, optionalRelative minimum step size. If omitted, not used.
tol_norm: function(vector) -> scalar, optionalNorm to use in convergence check. Default is the maximum norm.
line_search: {None, 'armijo' (default), 'wolfe'}, optionalWhich 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, optionalOptional callback function. It is called on every iteration as
callback(x, f)wherexis the current solution andfthe corresponding residual.
Returns
sol: ndarrayAn array (of similar array type as
x0) containing the final solution.
Raises
: NoConvergenceWhen a solution was not found.
full_output: boolIf true, returns a dictionary
infocontaining convergence information.raise_exception: boolIf 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
Aliases
-
scipy.optimize._nonlin.nonlin_solve