scipy.optimize.golden¶
-
scipy.optimize.
golden
(func, args=(), brack=None, tol=1.4901161193847656e-08, full_output=0, maxiter=5000)[source]¶ Return the minimum of a function of one variable using golden section method.
Given a function of one variable and a possible bracketing interval, return the minimum of the function isolated to a fractional precision of tol.
Parameters: func : callable func(x,*args)
Objective function to minimize.
args : tuple, optional
Additional arguments (if present), passed to func.
brack : tuple, optional
Triple (a,b,c), where (a<b<c) and func(b) < func(a),func(c). If bracket consists of two numbers (a, c), then they are assumed to be a starting interval for a downhill bracket search (see
bracket
); it doesn’t always mean that obtained solution will satisfy a<=x<=c.tol : float, optional
x tolerance stop criterion
full_output : bool, optional
If True, return optional outputs.
maxiter : int
Maximum number of iterations to perform.
See also
minimize_scalar
- Interface to minimization algorithms for scalar univariate functions. See the ‘Golden’ method in particular.
Notes
Uses analog of bisection method to decrease the bracketed interval.
Examples
We illustrate the behaviour of the function when brack is of size 2 and 3 respectively. In the case where brack is of the form (xa,xb), we can see for the given values, the output need not necessarily lie in the range
(xa, xb)
.>>> def f(x): ... return x**2
>>> from scipy import optimize
>>> minimum = optimize.golden(f, brack=(1, 2)) >>> minimum 1.5717277788484873e-162 >>> minimum = optimize.golden(f, brack=(-1, 0.5, 2)) >>> minimum -1.5717277788484873e-162