Over a million developers have joined DZone. {{announcement.body}}
{{announcement.title}}

# Fixed point iteration

DZone 's Guide to

# Fixed point iteration

· Web Dev Zone ·
Free Resource

Comment (0)

Save
{{ articles.views | formatCount}} Views
A fixed point for a function is a point at which the value of the function does not change when the function is applied. More formally, x is a fixed point for a given function f if

and the fixed point iteration

converges to the a fixed point if f is continuous.
The following function implements the fixed point iteration algorithm:
```from pylab import plot,show
from numpy import array,linspace,sqrt,sin
from numpy.linalg import norm

def fixedp(f,x0,tol=10e-5,maxiter=100):
""" Fixed point algorithm """
e = 1
itr = 0
xp = []
while(e > tol and itr < maxiter):
x = f(x0)      # fixed point equation
e = norm(x0-x) # error at the current step
x0 = x
xp.append(x0)  # save the solution of the current step
itr = itr + 1
return x,xp```
Let's find the fixed point of the square root funtion starting from x = 0.5 and plot the result
```f = lambda x : sqrt(x)

x_start = .5
xf,xp = fixedp(f,x_start)

x = linspace(0,2,100)
y = f(x)
plot(x,y,xp,f(xp),'bo',
x_start,f(x_start),'ro',xf,f(xf),'go',x,x,'k')
show()```

The result of the program would appear as follows:

The red dot is the starting point, the blue ones are the sequence x_1,x_2,x_3,... and the green is the fixed point found.
In a similar way, we can compute the fixed point of function of multiple variables:

```# 2 variables function
def g(x):
x = 1/4*(x*x + x*x)
x = sin(x+1)
return array(x)

x,xf = fixedp(g,[0, 1])
print '   x =',x
print 'f(x) =',g(xf[len(xf)-1])```
In this case g is a function of two variables and x is a vector, so the fixed point is a vector and the output is as follows:
```   x = [ 0.          0.84147098]
f(x) = [ 0.          0.84147098]
```

Source:  http://glowingpython.blogspot.com/2012/01/fixed-point-iteration.html
Topics:

Comment (0)

Save
{{ articles.views | formatCount}} Views

Opinions expressed by DZone contributors are their own.