Fixed-point iteration

In numerical analysis, fixed-point iteration is a method of computing fixed points of iterated functions.

More specifically, given a function f defined on the real numbers with real values and given a point x_0 in the domain of f, the fixed point iteration is

x_{n+1}=f(x_n), \, n=0, 1, 2, \dots

which gives rise to the sequence x_0, x_1, x_2, \dots which is hoped to converge to a point x. If f is continuous, then one can prove that the obtained x is a fixed point of f, i.e.,

f(x)=x.

More generally, the function f can be defined on any metric space with values in that same space.

Examples

The fixed-point iteration xn+1 = sin xn with initial value x0 = 2 converges to 0. This example does not satisfy the assumptions of the Banach fixed point theorem and so its speed of convergence is very slow.
 x_{n+1} = 
\begin{cases}
\frac{x_n}{2}, & x_n \ne 0\\
1, & x_n=0
\end{cases}

converges to 0 for all values of x_0. However, 0 is not a fixed point of the function

f(x) = 
\begin{cases}
\frac{x}{2}, & x \ne 0\\
1, & x = 0
\end{cases}

as this function is not continuous at x=0, and in fact has no fixed points.

Applications

x_{n+1}=x_n-\frac{f(x_n)}{f'(x_n)}.
If we write g(x)=x-\frac{f(x)}{f'(x)}, we may rewrite the Newton iteration as the fixed-point iteration x_{n+1}=g(x_n).
If this iteration converges to a fixed point x of g, then
x=g(x)=x-\frac{f(x)}{f'(x)}, so f(x)/f'(x)=0.
The inverse of anything is nonzero, therefore f(x)=0: x is a root of f. Under the assumptions of the Banach fixed point theorem, the Newton iteration, framed as the fixed point method, demonstrates linear convergence. However, a more detailed analysis shows quadratic convergence, i.e.,
|x_n-x|<Cq^{2^n}, under certain circumstances.

Properties

Proof of this theorem:
Since f is Lipschitz continuous with Lipschitz constant L<1, then for the sequence \{x_n,n=0,1,2...\}, we have:
|x_2-x_1|=|f(x_1)-f(x_0)|\leq L|x_1-x_0|,
|x_3-x_2|=|f(x_2)-f(x_1)|\leq L|x_2-x_1|,
\cdots,
and
|x_n-x_{n-1}|=|f(x_{n-1})-f(x_{n-2})|\leq L|x_{n-1}-x_{n-2}|.
Combining the above inequalities yields:
|x_n-x_{n-1}|\leq L^{n-1}|x_1-x_0|.
Since L<1, L^{n-1}\rightarrow 0 as n \rightarrow \infty.
Therefore, we can show \{x_n\} is a Cauchy sequence and thus it converges to a point x^*.
For the iteration x_n=f(x_{n-1}), let n go to infinity on both sides of the equation, we obtain x^*=f(x^*). This shows that x^* is the fixed point for f. So we proved the iteration will eventually converge to a fixed-point.
This property is very useful because not all iterations can arrive at a convergent fixed-point. When constructing a fixed-point iteration, it is very important to make sure it converges. There are several fixed-point theorems to guarantee the existence of the fixed point, but since the iteration function is continuous, we can usually use the above theorem to test if an iteration converges or not. The proof of the generalized theorem to metric space is similar.

See also

References

  1. One may also consider certain iterations A-stable if the iterates stay bounded for a long time, which is beyond the scope of this article.
  2. M A Kumar (2010), Solve Implicit Equations (Colebrook) Within Worksheet, Createspace, ISBN 1-4528-1619-0
  3. Bellman, R. (1957). Dynamic programming, Princeton University Press.
  4. Sniedovich, M. (2010). Dynamic Programming: Foundations and Principles, Taylor & Francis.

External links