Skip to content

Aitken Acceleration

Fixed-point iteration with 0<λ<10 < \lambda < 1 (linear convergence) can be painfully slow when λ\lambda is close to 1. Aitken acceleration is a technique that uses three consecutive iterates to construct a much better estimate of the root, dramatically reducing the number of steps needed. It does not change the underlying iteration; it simply extrapolates from the pattern of convergence.


The Acceleration Formula

Given three consecutive iterates xkx_k, xk+1x_{k+1}, xk+2x_{k+2} from a fixed-point iteration, the Aitken accelerated estimate is:

x^k+2=xk−(xk+1−xk)2xk+2−2xk+1+xk\hat{x}_{k+2} = x_k - \frac{(x_{k+1} - x_k)^2}{x_{k+2} - 2x_{k+1} + x_k}

The denominator xk+2−2xk+1+xkx_{k+2} - 2x_{k+1} + x_k is the second finite difference of the sequence, measuring the curvature of the convergence path. When the sequence is converging linearly at rate λ\lambda, this formula extrapolates exactly to the fixed point.


Worked Example

Problem: Let g(x)=x+116(1x−0.5)g(x) = x + \dfrac{1}{16}\left(\dfrac{1}{x} - 0.5\right) with x0=1.5x_0 = 1.5. Apply one round of Aitken acceleration.

Step 1 — Compute two standard iterates

x1=g(x0)=g(1.5)=1.5+116 ⁣(11.5−0.5)=1.5+116(0.66‾−0.5)=1.5+0.010417=1.510417x_1 = g(x_0) = g(1.5) = 1.5 + \frac{1}{16}\!\left(\frac{1}{1.5} - 0.5\right) = 1.5 + \frac{1}{16}(0.6\overline{6} - 0.5) = 1.5 + 0.010417 = 1.510417

x2=g(x1)=g(1.510417)=1.510417+116 ⁣(11.510417−0.5)≈1.520546x_2 = g(x_1) = g(1.510417) = 1.510417 + \frac{1}{16}\!\left(\frac{1}{1.510417} - 0.5\right) \approx 1.520546

Step 2 — Apply the Aitken formula

x^2=x0−(x1−x0)2x2−2x1+x0\hat{x}_2 = x_0 - \frac{(x_1 - x_0)^2}{x_2 - 2x_1 + x_0}

=1.5−(1.510417−1.5)21.520546−2(1.510417)+1.5= 1.5 - \frac{(1.510417 - 1.5)^2}{1.520546 - 2(1.510417) + 1.5}

=1.5−(0.010417)21.520546−3.020834+1.5= 1.5 - \frac{(0.010417)^2}{1.520546 - 3.020834 + 1.5}

=1.5−0.000108514−0.000288= 1.5 - \frac{0.000108514}{-0.000288}

≈1.5+0.377604=1.877604\approx 1.5 + 0.377604 = \boxed{1.877604}

Step 3 — Continue from the accelerated value

The plain iteration from x0=1.5x_0 = 1.5 would require many more steps to reach this neighbourhood. Instead, treat x^2=1.877604\hat{x}_2 = 1.877604 as the new starting point:

x3=g(x^2)≈1.879641x_3 = g(\hat{x}_2) \approx 1.879641

Then compute x4=g(x3)x_4 = g(x_3) and apply the formula again to produce x^4\hat{x}_4, which will be even closer to the true root x∗=2x^* = 2.