Numerical AnalysisInterpolation

Runge's Phenomenon and Chebyshev Nodes

High-degree interpolation at equally spaced points can swing wildly near the ends; Chebyshev nodes, bunched toward the ends, fix it.

Not started Jump to practice

It seems obvious that more data points give a better fit. For polynomial interpolation at equally spaced points it is false, and the classic example is Runge's function $f(x) = \frac{1}{1 + 25x^{2}}$ on $[-1, 1]$. The error formula explains why, and a choice of nodes based on the unit circle fixes it.

Runge's function (gray) and its interpolant (blue) through equally spaced nodes. Near the ends the polynomial swings far away from the function.
Maximum interpolation error for Runge's function on [−1, 1].
nodesmax error, equally spacedmax error, Chebyshev
$5$$0.44$$0.40$
$11$$1.9$$0.11$
$21$$60$$0.015$

Two things go wrong at the same time. The derivatives $f^{(n+1)}$ of Runge's function grow very fast with $n$ (it has poles at $x = \pm\frac{i}{5}$ in the complex plane, close to the interval). And for equally spaced nodes the node product $\omega(x)$ is far larger in the outer gaps than in the middle. Together they win over the $(n + 1)!$ in the denominator.

The cure is to choose nodes that keep $|\omega(x)|$ small everywhere. The Chebyshev nodes on $[-1, 1]$ are $$x_k = \cos\frac{(2k + 1)\pi}{2(n + 1)},\quad k = 0, 1, \ldots, n:$$ the $x$-coordinates of points equally spaced in angle around the upper half of the unit circle. They crowd toward the ends of the interval.

Key idea

With Chebyshev nodes, $\omega(x) = \frac{T_{n+1}(x)}{2^{n}}$, so $\max|\omega| = 2^{-n}$: the smallest possible for $n + 1$ nodes, with all its ripples the same height. For smooth functions like Runge's, the Chebyshev interpolants converge as $n$ grows.

Why it works

The Chebyshev polynomial $T_m$ is defined by $T_m(\cos\theta) = \cos(m\theta)$; it is a polynomial in $x = \cos\theta$ of degree $m$ with leading coefficient $2^{m-1}$. Its zeros are where $m\theta$ is an odd multiple of $\frac{\pi}{2}$, which are exactly the Chebyshev nodes for $m = n + 1$. So $\omega$, the monic polynomial with those zeros, equals $T_{n+1}/2^{n}$, and since $|\cos| \le 1$, $|\omega(x)| \le 2^{-n}$, with equality at $n + 2$ points. One can show no other monic polynomial of degree $n + 1$ stays smaller on all of $[-1, 1]$.

Worked example: Three Chebyshev nodes

Find the Chebyshev nodes for 3 points on $[-1, 1]$ and compare $\max|\omega|$ with the equally spaced nodes $-1, 0, 1$.
  1. Angles $\frac{\pi}{6}, \frac{\pi}{2}, \frac{5\pi}{6}$, so the nodes are $\frac{\sqrt{3}}{2}$, $0$, $-\frac{\sqrt{3}}{2}$.
  2. Chebyshev: $\max|\omega| = 2^{-2} = \frac{1}{4}$.
  3. Equally spaced: $\omega = x^{3} - x$, largest at $x = \pm\frac{1}{\sqrt{3}}$, where $|\omega| = \frac{2\sqrt{3}}{9} \approx 0.385$.
  4. With 11 nodes the gap is wider: about $0.0085$ for equal spacing against $2^{-10} \approx 0.00098$ for Chebyshev.

Answer: $\pm\frac{\sqrt{3}}{2}$ and $0$; $0.25$ versus $0.385$

Worked example: Another interval

Move the 3 Chebyshev nodes to $[0, 4]$.
  1. Use $x = \frac{a + b}{2} + \frac{b - a}{2}t = 2 + 2t$ for each node $t$.
  2. $t = \pm\frac{\sqrt{3}}{2}, 0$ give $x = 2 \pm \sqrt{3}$ and $x = 2$, about $0.27$, $2$ and $3.73$.

Answer: $2 - \sqrt{3}$, $2$, $2 + \sqrt{3}$

Common mistake

Expecting more equally spaced points always to give a better fit. For Runge's function the error grows with the degree, mostly near the ends. Fixes: Chebyshev nodes when you can choose where to sample, or piecewise polynomials such as Cubic Splines when the data come equally spaced.

Practice

Pass with 3 right answers, the last 2 in a row. Each right answer earns 3 XP.

Loading practice…

Builds on

Leads to

This is one of the top rungs of Numerical Analysis.

Sources and further reading

  • Tobin A. Driscoll and Richard J. Braun, Fundamentals of Numerical Computation (University of Delaware, free online edition): chapter "Global function approximation", sections "Stability of polynomial interpolation" and "Orthogonal polynomials" (Chebyshev points)
  • MIT OpenCourseWare 18.330, Introduction to Numerical Analysis: lecture notes on polynomial interpolation (Runge's phenomenon and Chebyshev nodes)
@teddyrookbook GitHub