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, with- xgiving the current point, and- fthe 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, prepend- inner_to it. For example, to control the- rtolargument 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.