# scipy.optimize.fmin_cg¶

scipy.optimize.fmin_cg(f, x0, fprime=None, args=(), gtol=1.0000000000000001e-05, norm=inf, epsilon=1.4901161193847656e-08, maxiter=None, full_output=0, disp=1, retall=0, callback=None)

Minimize a function using a nonlinear conjugate gradient algorithm.

Parameters : f : callable f(x,*args) Objective function to be minimized. x0 : ndarray Initial guess. fprime : callable f’(x,*args) Function which computes the gradient of f. args : tuple Extra arguments passed to f and fprime. gtol : float Stop when norm of gradient is less than gtol. norm : float Order of vector norm to use. -Inf is min, Inf is max. epsilon : float or ndarray If fprime is approximated, use this value for the step size (can be scalar or vector). callback : callable An optional user-supplied function, called after each iteration. Called as callback(xk), where xk is the current parameter vector. xopt : ndarray Parameters which minimize f, i.e. f(xopt) == fopt. fopt : float Minimum value found, f(xopt). func_calls : int The number of function_calls made. grad_calls : int The number of gradient calls made. warnflag : int 1 : Maximum number of iterations exceeded. 2 : Gradient and/or function calls not changing. allvecs : ndarray If retall is True (see other parameters below), then this vector containing the result at each iteration is returned.

Notes

Optimize the function, f, whose gradient is given by fprime using the nonlinear conjugate gradient algorithm of Polak and Ribiere. See Wright & Nocedal, ‘Numerical Optimization’, 1999, pg. 120-122.

#### Previous topic

scipy.optimize.fmin_powell

#### Next topic

scipy.optimize.fmin_bfgs