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. If more are needed to meet convergence, NoConvergence is raised.
- 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, withx
giving the current point, andf
the current function value.- inner_tol, inner_maxiter, …
Parameters to pass on to the “inner” Krylov solver. See
scipy.sparse.linalg.gmres
for details.- outer_kint, optional
Size of the subspace kept across LGMRES nonlinear iterations.
See
scipy.sparse.linalg.lgmres
for details.