root(method=’krylov’)#
- scipy.optimize.root(fun, x0, args=(), method='hybr', jac=None, tol=None, callback=None, options=None)
See also
For documentation for the rest of the parameters, see
scipy.optimize.root- Options:
- ——-
- nitint, optional
Number of iterations to make. If omitted (default), make as many as required to meet tolerances.
- dispbool, optional
Print status to stdout on every iteration.
- maxiterint, optional
Maximum number of iterations to make.
- ftolfloat, optional
Relative tolerance for the residual. If omitted, not used.
- fatolfloat, optional
Absolute tolerance (in max-norm) for the residual. If omitted, default is 6e-6.
- xtolfloat, optional
Relative minimum step size. If omitted, not used.
- xatolfloat, 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.
- tol_normfunction(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’.
- jac_optionsdict, optional
Options for the respective Jacobian approximation.
- rdifffloat, optional
Relative step size to use in numerical differentiation.
- methodstr or callable, optional
Krylov method to use to approximate the Jacobian. Can be a string, or a function implementing the same interface as the iterative solvers in
scipy.sparse.linalg. If a string, needs to be one of:'lgmres','gmres','bicgstab','cgs','minres','tfqmr'.The default is
scipy.sparse.linalg.lgmres.- inner_MLinearOperator or InverseJacobian
Preconditioner for the inner Krylov iteration. Note that you can use also inverse Jacobians as (adaptive) preconditioners. For example,
>>> jac = BroydenFirst() >>> kjac = KrylovJacobian(inner_M=jac.inverse).
If the preconditioner has a method named ‘update’, it will be called as
update(x, f)after each nonlinear step, withxgiving the current point, andfthe current function value.- inner_rtol, inner_atol, inner_callback, …
Parameters to pass on to the “inner” Krylov solver.
For a full list of options, see the documentation for the solver you are using. By default this is
scipy.sparse.linalg.lgmres. If the solver has been overridden through method, see the documentation for that solver instead. To use an option for that solver, prependinner_to it. For example, to control thertolargument to the solver, set the inner_rtol option here.- outer_kint, optional
Size of the subspace kept across LGMRES nonlinear iterations.
See
scipy.sparse.linalg.lgmresfor details.