Contractions and Iterated Sequences

Iterated Sequences and Geometric Convergence

The sequence of iterates

Given ff and a starting point u0u_0, the sequence of iterates is defined recursively:

un+1=f(un)u_{n+1} = f(u_n)

If this sequence converges to a real number cc and ff is continuous, then taking the limit in the recurrence relation gives f(c)=cf(c) = c: the limit is necessarily a fixed point. The whole question is therefore how to guarantee convergence.

Geometric decay of the error

Suppose ff is kk-contracting and has a fixed point cc. Applying the definition to the pair (un,c)\left(u_n, c\right), and since f(c)=cf(c) = c:

∣un+1−c∣=∣f(un)−f(c)∣≤k ∣un−c∣\lvert u_{n+1} - c \rvert = \lvert f(u_n) - f(c) \rvert \leq k\,\lvert u_n - c \rvert

A straightforward induction then gives the fundamental bound:

∣un−c∣≤kn ∣u0−c∣\lvert u_n - c \rvert \leq k^n\,\lvert u_0 - c \rvert

Since 0≤k<10 \leq k < 1, we have kn→0k^n \to 0, so un→cu_n \to c: the convergence is geometric, and it occurs whatever the starting point.

A step-by-step example

Let us iterate f(x)=cos⁡xf(x) = \cos x starting from u0=0u_0 = 0. The fixed point, called the Dottie number, is c≈0.739085c \approx 0.739085.

nn unu_n ∣un−c∣\lvert u_n - c \rvert
00 00 0.73910.7391
22 0.5403020.540302 0.19880.1988
44 0.6542900.654290 0.08480.0848
66 0.7013690.701369 0.03770.0377
88 0.7221020.722102 0.01700.0170
1010 0.7314040.731404 0.00770.0077

The error is divided by a little more than 22 every two steps, which corresponds to ∣f′(c)∣2=sin⁡2c≈0.45\lvert f'(c) \rvert^2 = \sin^2 c \approx 0.45, well below the bound k2≈0.71k^2 \approx 0.71:

012345678910error |u_n - c|index n

Usable error estimates

In practice we do not know cc, so the bound in terms of ∣u0−c∣\lvert u_0 - c \rvert is useless as it stands. Two variants, however, can be computed from the observed values alone:

∣un−c∣≤kn1−k ∣u1−u0∣and∣un−c∣≤k1−k ∣un−un−1∣\lvert u_n - c \rvert \leq \frac{k^n}{1 - k}\,\lvert u_1 - u_0 \rvert \qquad \text{and} \qquad \lvert u_n - c \rvert \leq \frac{k}{1 - k}\,\lvert u_n - u_{n-1} \rvert

The first, called the a priori estimate, lets you fix in advance the number of iterations needed; the second, called the a posteriori estimate, turns the gap between two consecutive terms into a bound on the actual error. It is the stopping criterion used in algorithms.

Classic pitfall

Believing that a sequence defined by un+1=f(un)u_{n+1} = f(u_n) converges as soon as ff has a fixed point. For f(x)=−2xf(x) = -2x, the fixed point is 00, and yet the sequence starting from u0=1u_0 = 1 is 1,−2,4,−8,…1, -2, 4, -8, \ldots: it diverges, because ∣f′∣=2>1\lvert f' \rvert = 2 > 1. The fixed point is then called repelling. Only contraction guarantees that it is attracting.