SciPy

root(method=’df-sane’)

scipy.optimize.root(fun, x0, args=(), method='df-sane', tol=None, callback=None, options={'func': None, 'ftol': 1e-08, 'fatol': 1e-300, 'maxfev': 1000, 'fnorm': None, 'disp': False, 'M': 10, 'eta_strategy': None, 'sigma_eps': 1e-10, 'sigma_0': 1.0, 'line_search': 'cruz'})

Solve nonlinear equation with the DF-SANE method

See also

For documentation for the rest of the parameters, see scipy.optimize.root

Options
ftolfloat, optional

Relative norm tolerance.

fatolfloat, optional

Absolute norm tolerance. Algorithm terminates when ||func(x)|| < fatol + ftol ||func(x_0)||.

fnormcallable, optional

Norm to use in the convergence check. If None, 2-norm is used.

maxfevint, optional

Maximum number of function evaluations.

dispbool, optional

Whether to print convergence process to stdout.

eta_strategycallable, optional

Choice of the eta_k parameter, which gives slack for growth of ||F||**2. Called as eta_k = eta_strategy(k, x, F) with k the iteration number, x the current iterate and F the current residual. Should satisfy eta_k > 0 and sum(eta, k=0..inf) < inf. Default: ||F||**2 / (1 + k)**2.

sigma_epsfloat, optional

The spectral coefficient is constrained to sigma_eps < sigma < 1/sigma_eps. Default: 1e-10

sigma_0float, optional

Initial spectral coefficient. Default: 1.0

Mint, optional

Number of iterates to include in the nonmonotonic line search. Default: 10

line_search{‘cruz’, ‘cheng’}

Type of line search to employ. ‘cruz’ is the original one defined in [Martinez & Raydan. Math. Comp. 75, 1429 (2006)], ‘cheng’ is a modified search defined in [Cheng & Li. IMA J. Numer. Anal. 29, 814 (2009)]. Default: ‘cruz’

References

1

“Spectral residual method without gradient information for solving large-scale nonlinear systems of equations.” W. La Cruz, J.M. Martinez, M. Raydan. Math. Comp. 75, 1429 (2006).

2
  1. La Cruz, Opt. Meth. Software, 29, 24 (2014).

3
  1. Cheng, D.-H. Li. IMA J. Numer. Anal. 29, 814 (2009).

Previous topic

root(method=’krylov’)

Next topic

scipy.optimize.linprog