scipy.optimize.fmin_ncg¶

scipy.optimize.
fmin_ncg
(f, x0, fprime, fhess_p=None, fhess=None, args=(), avextol=1e05, epsilon=1.4901161193847656e08, maxiter=None, full_output=0, disp=1, retall=0, callback=None)[source]¶ Unconstrained minimization of a function using the NewtonCG method.
 Parameters
 fcallable
f(x, *args)
Objective function to be minimized.
 x0ndarray
Initial guess.
 fprimecallable
f'(x, *args)
Gradient of f.
 fhess_pcallable
fhess_p(x, p, *args)
, optional Function which computes the Hessian of f times an arbitrary vector, p.
 fhesscallable
fhess(x, *args)
, optional Function to compute the Hessian matrix of f.
 argstuple, optional
Extra arguments passed to f, fprime, fhess_p, and fhess (the same set of extra arguments is supplied to all of these functions).
 epsilonfloat or ndarray, optional
If fhess is approximated, use this value for the step size.
 callbackcallable, optional
An optional usersupplied function which is called after each iteration. Called as callback(xk), where xk is the current parameter vector.
 avextolfloat, optional
Convergence is assumed when the average relative error in the minimizer falls below this amount.
 maxiterint, optional
Maximum number of iterations to perform.
 full_outputbool, optional
If True, return the optional outputs.
 dispbool, optional
If True, print convergence message.
 retallbool, optional
If True, return a list of results at each iteration.
 fcallable
 Returns
 xoptndarray
Parameters which minimize f, i.e.
f(xopt) == fopt
. foptfloat
Value of the function at xopt, i.e.
fopt = f(xopt)
. fcallsint
Number of function calls made.
 gcallsint
Number of gradient calls made.
 hcallsint
Number of hessian calls made.
 warnflagint
Warnings generated by the algorithm. 1 : Maximum number of iterations exceeded.
 allvecslist
The result at each iteration, if retall is True (see below).
See also
minimize
Interface to minimization algorithms for multivariate functions. See the ‘NewtonCG’ method in particular.
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, finitedifferences on fprime are used to compute it.
NewtonCG methods are also called truncated Newton methods. This function differs from scipy.optimize.fmin_tnc because
 scipy.optimize.fmin_ncg is written purely in python using numpy
and scipy while scipy.optimize.fmin_tnc calls a C function.
 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.)
References
Wright & Nocedal, ‘Numerical Optimization’, 1999, pg. 140.