scipy 1.8.0 Pypi GitHub Homepage
Other Docs
NotesParametersReturns
fmin_ncg(f, x0, fprime, fhess_p=None, fhess=None, args=(), avextol=1e-05, epsilon=1.4901161193847656e-08, maxiter=None, full_output=0, disp=1, retall=0, callback=None)

Notes

Only one of fhess_p or fhess need to be given. If fhess is provided, then fhess_p will be ignored. If neither fhess nor fhess_p is provided, then the hessian product will be approximated using finite differences on fprime . fhess_p must compute the hessian times an arbitrary vector. If it is not given, finite-differences on fprime are used to compute it.

Newton-CG methods are also called truncated Newton methods. This function differs from scipy.optimize.fmin_tnc because

  1. scipy.optimize.fmin_ncg is written purely in Python using NumPy

    and scipy while scipy.optimize.fmin_tnc calls a C function.

  2. scipy.optimize.fmin_ncg is only for unconstrained minimization

    while scipy.optimize.fmin_tnc is for unconstrained minimization or box constrained minimization. (Box constraints give lower and upper bounds for each variable separately.)

Parameters

f : callable ``f(x, *args)``

Objective function to be minimized.

x0 : ndarray

Initial guess.

fprime : callable ``f'(x, *args)``

Gradient of f.

fhess_p : callable ``fhess_p(x, p, *args)``, optional

Function which computes the Hessian of f times an arbitrary vector, p.

fhess : callable ``fhess(x, *args)``, optional

Function to compute the Hessian matrix of f.

args : tuple, optional

Extra arguments passed to f, fprime, fhess_p, and fhess (the same set of extra arguments is supplied to all of these functions).

epsilon : float or ndarray, optional

If fhess is approximated, use this value for the step size.

callback : callable, optional

An optional user-supplied function which is called after each iteration. Called as callback(xk), where xk is the current parameter vector.

avextol : float, optional

Convergence is assumed when the average relative error in the minimizer falls below this amount.

maxiter : int, optional

Maximum number of iterations to perform.

full_output : bool, optional

If True, return the optional outputs.

disp : bool, optional

If True, print convergence message.

retall : bool, optional

If True, return a list of results at each iteration.

Returns

xopt : ndarray

Parameters which minimize f, i.e., f(xopt) == fopt .

fopt : float

Value of the function at xopt, i.e., fopt = f(xopt) .

fcalls : int

Number of function calls made.

gcalls : int

Number of gradient calls made.

hcalls : int

Number of Hessian calls made.

warnflag : int

Warnings generated by the algorithm. 1 : Maximum number of iterations exceeded. 2 : Line search failure (precision loss). 3 : NaN result encountered.

allvecs : list

The result at each iteration, if retall is True (see below).

Unconstrained minimization of a function using the Newton-CG method.

See Also

minimize

Interface to minimization algorithms for multivariate functions. See the 'Newton-CG' :None:None:`method` in particular.

Examples

See :

Local connectivity graph

Hover to see nodes names; edges to Self not shown, Caped at 50 nodes.

Using a canvas is more power efficient and can get hundred of nodes ; but does not allow hyperlinks; , arrows or text (beyond on hover)

SVG is more flexible but power hungry; and does not scale well to 50 + nodes.

All aboves nodes referred to, (or are referred from) current nodes; Edges from Self to other have been omitted (or all nodes would be connected to the central node "self" which is not useful). Nodes are colored by the library they belong to, and scaled with the number of references pointing them


GitHub : /scipy/optimize/_optimize.py#1713
type: <class 'function'>
Commit: