Math 2.0

Numerical analysis Recurrences and evaluation of functions Proposition

Clenshaw algorithm

Builds on Recurrence relationChebyshev polynomialsHorner's method

Statement

Let n≥1n \ge 1, let xx be a fixed point, and let ϕ0(x),…,ϕn(x)\phi_0(x), \ldots, \phi_n(x) be numbers that satisfy the three-term recurrence ϕk+1(x)=αk(x) ϕk(x)+βk(x) ϕk−1(x),1≤k≤n−1,\phi_{k+1}(x) = \alpha_k(x)\, \phi_k(x) + \beta_k(x)\, \phi_{k-1}(x), \qquad 1 \le k \le n-1, for given coefficients αk(x)\alpha_k(x) and βk(x)\beta_k(x). Let a0,…,ana_0, \ldots, a_n be numbers and S(x)=∑k=0nakϕk(x)S(x) = \sum_{k=0}^{n} a_k \phi_k(x). Set bn+1=bn+2=0b_{n+1} = b_{n+2} = 0 and, for k=n,n−1,…,1k = n, n-1, \ldots, 1, bk=ak+αk(x) bk+1+βk+1(x) bk+2,b_k = a_k + \alpha_k(x)\, b_{k+1} + \beta_{k+1}(x)\, b_{k+2}, where αn(x)\alpha_n(x), βn(x)\beta_n(x) and βn+1(x)\beta_{n+1}(x) may be given any values in these formulas, since they multiply bn+1=0b_{n+1} = 0 or bn+2=0b_{n+2} = 0. Then S(x)=a0 ϕ0(x)+b1 ϕ1(x)+β1(x) b2 ϕ0(x).S(x) = a_0\, \phi_0(x) + b_1\, \phi_1(x) + \beta_1(x)\, b_2\, \phi_0(x).

Remarks

Write ak=bk−αkbk+1−βk+1bk+2a_k = b_k - \alpha_k b_{k+1} - \beta_{k+1} b_{k+2} for 1≤k≤n1 \le k \le n and substitute in ∑k≥1akϕk\sum_{k \ge 1} a_k \phi_k. After collecting terms, the coefficient of bjb_j for j≥3j \ge 3 is ϕj−αj−1ϕj−1−βj−1ϕj−2=0\phi_j - \alpha_{j-1}\phi_{j-1} - \beta_{j-1}\phi_{j-2} = 0, and the coefficient of b2b_2 is ϕ2−α1ϕ1=β1ϕ0\phi_2 - \alpha_1 \phi_1 = \beta_1 \phi_0; only the terms in the formula remain. For the Chebyshev polynomials TkT_k one has ϕ0=1\phi_0 = 1, ϕ1=x\phi_1 = x, αk=2x\alpha_k = 2x and βk=−1\beta_k = -1, so ∑k=0nakTk(x)=a0+xb1−b2\sum_{k=0}^n a_k T_k(x) = a_0 + x b_1 - b_2. Check with n=2n = 2: b2=a2b_2 = a_2, b1=a1+2xa2b_1 = a_1 + 2x a_2, and a0+x(a1+2xa2)−a2=a0+a1x+a2(2x2−1)a_0 + x(a_1 + 2x a_2) - a_2 = a_0 + a_1 x + a_2(2x^2 - 1), which is a0T0+a1T1+a2T2a_0 T_0 + a_1 T_1 + a_2 T_2. For the monomials ϕk=xk\phi_k = x^k, with αk=x\alpha_k = x and βk=0\beta_k = 0, the algorithm is Horner's method. The cost is O(n)O(n) operations, and the values ϕk(x)\phi_k(x) for k≥2k \ge 2 are never formed.

Going deeper

For a student

The algorithm is the standard way to evaluate a truncated Chebyshev series, for instance in function libraries and in Chebyshev spectral methods. It works for any family defined by a three-term recurrence, so for all classical orthogonal polynomials and also for some special functions such as Bessel functions. The backward recurrence is the transpose of the forward one, which explains why only b1b_1 and b2b_2 appear in the result. Its rounding error behaviour is good for Chebyshev series on [−1,1][-1, 1], though near the endpoints ±1\pm 1 the errors can be amplified.

Reading path

To understand this page from the ground up, read these 4 pages in order. The foundations come first.

Show the path as a graph
Each page uses the pages above it. The colour of the bar on a box shows how strong the evidence is, and the box also gives it as text. The list has the same pages.
  • no evidence level
  1. Chebyshev polynomials object
  2. Horner's method concept
  3. Recurrence relation concept
  4. Clenshaw algorithm statement

Further reading

  1. Web https://en.wikipedia.org/wiki/Clenshaw_algorithm
About this page
Tag476ZQPMZHP
URIm2://476ZQPMZHP
Kindstatement, proposition
WritingW0 stub
MSC65D20, 33C45
StatusThis copy of the site has no build data. Run m2 status 476ZQPMZHP.
AboutRecurrence relation
UsesRecurrence relation, Chebyshev polynomials, Horner's method
Same as

Markdown · JSON · Edit on GitHub

What this page needs for W1

  • an inventory row: the row of the inventory that the node accounts for (0 of 1)
  • a source with a locator (0 of 1)

The writing levels say how complete the text of a page is. They do not measure its truth.

What links here

No page links to this page yet.