SciPy

scipy.optimize.fmin_bfgs

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

Minimize a function using the BFGS algorithm.

Parameters
fcallable f(x,*args)

Objective function to be minimized.

x0ndarray

Initial guess.

fprimecallable f’(x,*args), optional

Gradient of f.

argstuple, optional

Extra arguments passed to f and fprime.

gtolfloat, optional

Gradient norm must be less than gtol before successful termination.

normfloat, optional

Order of norm (Inf is max, -Inf is min)

epsilonint or ndarray, optional

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

callbackcallable, optional

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

maxiterint, optional

Maximum number of iterations to perform.

full_outputbool, optional

If True,return fopt, func_calls, grad_calls, and warnflag in addition to xopt.

dispbool, optional

Print convergence message if True.

retallbool, optional

Return a list of results at each iteration if True.

Returns
xoptndarray

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

foptfloat

Minimum value.

goptndarray

Value of gradient at minimum, f’(xopt), which should be near 0.

Boptndarray

Value of 1/f’’(xopt), i.e. the inverse hessian matrix.

func_callsint

Number of function_calls made.

grad_callsint

Number of gradient calls made.

warnflaginteger

1 : Maximum number of iterations exceeded. 2 : Gradient and/or function calls not changing.

allvecslist

The value of xopt at each iteration. Only returned if retall is True.

See also

minimize

Interface to minimization algorithms for multivariate functions. See the ‘BFGS’ method in particular.

Notes

Optimize the function, f, whose gradient is given by fprime using the quasi-Newton method of Broyden, Fletcher, Goldfarb, and Shanno (BFGS)

References

Wright, and Nocedal ‘Numerical Optimization’, 1999, pg. 198.

Previous topic

scipy.optimize.fmin_cg

Next topic

scipy.optimize.fmin_ncg