SciPy

scipy.optimize.fixed_point

scipy.optimize.fixed_point(func, x0, args=(), xtol=1e-08, maxiter=500, method='del2')[source]

Find a fixed point of the function.

Given a function of one or more variables and a starting point, find a fixed-point of the function: i.e. where func(x0) == x0.

Parameters:
func : function

Function to evaluate.

x0 : array_like

Fixed point of function.

args : tuple, optional

Extra arguments to func.

xtol : float, optional

Convergence tolerance, defaults to 1e-08.

maxiter : int, optional

Maximum number of iterations, defaults to 500.

method : {“del2”, “iteration”}, optional

Method of finding the fixed-point, defaults to “del2” which uses Steffensen’s Method with Aitken’s Del^2 convergence acceleration [1]. The “iteration” method simply iterates the function until convergence is detected, without attempting to accelerate the convergence.

References

[1](1, 2) Burden, Faires, “Numerical Analysis”, 5th edition, pg. 80

Examples

>>> from scipy import optimize
>>> def func(x, c1, c2):
...    return np.sqrt(c1/(x+c2))
>>> c1 = np.array([10,12.])
>>> c2 = np.array([3, 5.])
>>> optimize.fixed_point(func, [1.2, 1.3], args=(c1,c2))
array([ 1.4920333 ,  1.37228132])

Previous topic

root_scalar(method=’halley’)

Next topic

scipy.optimize.root