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.

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, {fopt, func_calls, grad_calls, warnflag}, {allvecs})

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.

Other Parameters:
maxiter : int
Maximum number of iterations to perform.
full_output : bool
If True then return fopt, func_calls, grad_calls, and warnflag in addition to xopt.
disp : bool
Print convergence message if True.
retall : bool
return a list of results at each iteration if True.
Notes:Optimize the function, f, whose gradient is given by fprime using the nonlinear conjugate gradient algorithm of Polak and Ribiere See Wright, and Nocedal ‘Numerical Optimization’, 1999, pg. 120-122.

Previous topic


Next topic


This Page

Quick search