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.


Function to evaluate.


Fixed point of function.

argstuple, optional

Extra arguments to func.

xtolfloat, optional

Convergence tolerance, defaults to 1e-08.

maxiterint, 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.



Burden, Faires, “Numerical Analysis”, 5th edition, pg. 80


>>> import numpy as np
>>> 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])