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.