UNIVERSITYOF CAMBRIDGE

CENTREFOR MATHEMATICAL SCIENCES

DEPARTMENT OF APPLIED &THEORETICAL PHYSICS

Numerical analysis and orthogonal polynomials CHAPTER 2: Orthogonal expansions

Arieh Iserles OPTRIM, Madrid October 2017 1 List of topics:

2.1 A primer of spectral methods

2.2 Fast Legendre Transform via hypergeometric identities

2.3 Connection coefficients

2.4 Fast Legendre Transform via perturbed Chebyshev grid

2.5 Fast Multipole Method (FMM)

2.6 FMM applied to fast transforms

2 2.1 A primer of spectral methods

Classical methods for differential equations: Finite differences: Discretise your PDE on a grid, approximating deriva- tives by finite linear combinations of nodal values. Finite elements: Approximate the solution as a of func- tions with small support and either minimise a variational functional (the Ritz method) or determine a projection of the weak solution (the Galerkin method).

The end-product in each case is a large system (linear or nonlinear) of sparse algebraic equations: solving this system represents the real nu- merical price tag of a method.

An alternative paradigm: Expand the solution in an orthogonal system so that convergence occurs very rapidly. Although the outcome is a dense algebraic system, typically it is considerably smaller.

3 ∗ We seek an orthogonal {φn} of the ambient space s.t.

1. The expansion coefficients Z b f(x)φm(x) dx fˆ = a m b Z 2 φm(x) dx a converge rapidly;

2. The first n coefficients fˆm can be evaluated rapidly: this typically means in O(n(log n)q) operations for some small q.

3. Let fˆ ∈ be the vector of the coefficients. We say that D is a differ- C 0 entiation if fˆ = Dfˆ. It need be known explicitly, it should be cheap to form Dv for a vector v and, in an ideal world, we want D to be skew-Hermitian.

∗We assume for simplicity that the ambient space is L(a, b).

4 4. The basis functions {φn} match required boundary conditions (e.g. Dirichlet, Neumann or periodic).

Example I The diffusion equation ut = uxx for −1 ≤ x ≤ 1, t ≥ 0, with periodic boundary conditions. iπnx We choose the Fourier basis φn = e , n ∈ Z – in other words, repre- sent N X iπnx u(x, t) ≈ uˆn(t)e n=−N+1 0 2 2 for some N  1. Trivially, we end up with uˆn = −π n uˆn, in other words with N X iπnx−π2n2t u(x, t) ≈ αne , m=−N+1 where the αns are given by the Fourier expansion of the initial condition – this can be done in O(N log N) operations by (FFT).

5 In this case the spectral method is nothing else but separation of variables, although in general this need not be true.

Let us examine points 1–4:

1. The αns converge for a smooth at a spectral speed (i.e., their size is asymp- totically smaller than a reciprocal of any polynomial in |n|). This means that we need a fairly small N.

2. αn for −N + 1 ≤ n ≤ N can be calculated in O(N log N) flops by FFT. 0 3. The differentiation matrix D is diagonal and skew-Hermitian, Dn,n = −iπnDn,n. 4. Periodicity is matched by the basis functions.

Example II The diffusion equation ut = uxx for −1 ≤ x ≤ 1, t ≥ 0, with Dirichlet boundary conditions. ∞ The obvious choice is a Chebyshev basis {Tn}n=0, whereby 1 Z π 2 Z π uˆ0 = f(cos θ) dθ, uˆn = f(cos θ) cos nθ dθ, n ∈ N. π 0 π 0

6 n−1 n 0 X 0 X T2n = 4n T2`+1, T2n+1 = (2n + 1)T0 + 2(2n + 1) T2` `=0 `=1 implies n−1 00 3 X 2 2 T2n =4 n T0 + 8n (n − k )T2k, k=1 n−1 00 X T2n+1 = 4(2n + 1) (n − k)(n + k + 1)T2k+1. k=0 PN Consequently, letting u(x, t) ≈ n=0 uˆn(t)Tn(x), we have bN/2c 0 X 3 uˆ0 =4 k uˆ2k, k=0 bN/2c 0 X 2 2 uˆ2n =8 k(k − n )ˆu2k, n ≥ 1, k=n+1 bN/2c−1 0 X uˆ2n+1 =4 (2k + 1)(k − n)(k + n + 1)ˆu2k+1. k=n+1 7 A checklist: 1. An expansion of a smooth function in Chebyshev polynomials converges at spectral speed. 2. Chebyshev expansion of initial condition can be computed with Fast Cosine Transform in O(N log N) operations. 3. The differentiation matrix of any polynomial basis is necessarily lower-triangular. A naive product by a vector is expensive and, worse, lower triangular is as far from skew- Hermitian as they come – and this is bad news for numerical stability – we might be compelled to solve the ODE using excessively small time steps! 4. We can match Dirichlet (or Neumann, Robin, . . . ) boundary conditions with Chebyshev polynomials.

Point 3 is a serious impediment toward use of Chebyshev spectral methods for parabolic PDEs (although there are clever ways to overcome it), but neither for elliptic not hyperbolic PDEs.

8 Example III Consider the spectral problem for a Fredholm operator, Z 1 f(x)K(y − x) dx = λf(y), −1 ≤ y ≤ 1. −1 This is a compact operator hence it has a point spectrum with at most a single accumulation point at the origin. The finite section method approxi- mates ∞ X f(x) ≈ αnφn(x), n=0 ∞ where {φn}n=0 is an orthonormal basis of L[−1, 1]. It is easy to prove that ∞ X Z 1 Z 1 αn φn(x)φm(y)K(y − x) dx dy = λαm, m ∈ Z+, 1 1 n=0 − − i.e. the algebraic eigenvalue problem A[∞]α = λα, where

[∞] Z 1 Z 1 Am,n = φn(x)φm(y)K(y − x) dx dy, m, n ∈ Z+. −1 −1

9 Denoting by A[N] the (N + 1) × (N + 1) section of A[∞] (i.e., restricting the range of m, n to 0, . . . , n) we obtain the finite-dimensional eigenvalue problem A[N]α[N] = λα[N], which can be solved by standard software. Clearly, the faster the convergence, the smaller we need to take N, the smaller the eigen- value problem. Which basis to choose? In this case the nature of the basis is dictated by the problem itself: we need to expand in Legendre polynomials. 1. The bivariate expansion converges at a spectral speed. 2. Just now we have no fast way of computing a Fast Legendre Transform but watch this space! 3. A differentiation matrix is irrelevant in this setting. 4. Using Legendre polynomials, we have no problems with boundary con- ditions.

10 Speed of convergence 2 We will examine convergence for two functions: e−x and ecos πx, both in [−1, 1]: note that the second is periodic. e−x2 : N = 16 N = 32 N = 64

Fourier N = 128 N = 256 Chebyshev

log P fˆ ψ − f log |fˆ | 11 10 |n|≤N n n 10 n ecos πx: N = 16 N = 32 N = 64

Fourier N = 128 N = 256 Chebyshev

P ˆ ˆ log10 |n|≤N fnψn − f log10 |fn| 12 Comments: 2 A. Once e−x , which is not periodic, is approximated by Fourier, the error   decays like O |N|−1 : very slowly. Otherwise, in all instances the error decays spectrally. B. Once the error decays spectrally, we need a fairly small number of terms – the outcome is a very small algebraic system.

Our presentation is exclusively for linear problems but spectral methods can deal with nonlinear equations, e.g. by exploiting the identities ∞  ∞  X X inx f(x)g(x) =  fˆmˆgn−me (convolution), n=−∞ m=−∞ 1 TmTn = (T + T ). 2 |m−n| m+n They can also be easily generalised by products to parallelepipeds.∗ ∗ m More exotic domains in R , m ≥ 2, are much more complicated. 13 2.2 Fast Legendre Transform via hypergeometric identities

We can do Chebyshev expansions (of the first and the second kind) fast – what about Legendre polynomials (and, with greater generality, Jacobi polynomials)? There are several algorithms and the first is based on a very strange hypergeometric identity.

bn/2c xn 1 2n + 1 − 4m Step I: = X P (x). ! 2n 3 n−2m n m=0 m!(2)n−m

Step II: Let f be analytic within the Bernstein ellipse n1 iθ −1 −iθ o Br = 2(re + r e ): −π ≤ θ ≤ π , r ∈ (0, 1). Then ∞ (n+2m) 1 X f (0) fˆn = (n + ) , n ∈ . 2 n+2m 1 Z+ 2 m!( )n+m+1 m=0 2 14 Step III: If γ is a simple, closed, positively oriented Jordan curve in Br \ [−1, 1], then by the Cauchy integral theorem Z ( ) ˆ cn f z fn = ϕn(z) dz, n ∈ Z+, 2πi γ zn+1 where " # n! n+1, n+2; 1 cn = , ϕn(z) = F 2 2 . n 1 2 1 + 3; 2 2 (2)n n 2 z

Step IV: ϕn is a slowly-convergent Taylor series. Instead use the nonlin- ear transformation " 1 # " # a, a + ; 2 1 −2a 2a, 2a − c + 1; ζ 2F1 2 2ζ − ζ = (1 − ζ) 2F1 , c; 2 c; 2 − ζ where Re ζ < 1.

15 1 3 Set a = 2(n + 1), c = n + 2, whereby 1 " 1 # 2 −1/2 n + 1, 2; ζ ϕn((2ζ − ζ ) ) = F . 1 n+12 1 n + 3; 2 (1 − 2ζ) 2 − ζ Choose γ as Bρ, ρ ∈ (r, 1) (therefore Bρ lives inside Br). Then

ζ 2 = ρ < 1 2 − ζ and the hypergeometric function decays rapidly.

Step V: After some algebra (2 )n Z π ˆ ρ cn 2 2iθ 1 iθ −1 −iθ inθ 2 2iθ fn = (1 − ρ e )f(2(ρe + ρ e ))e χn(ρ e ) dθ, 2π −π where " 1 # n + 1, 2; χn(z) = 2F1 3 z . n + 2; 16 1 3 Step VI: The Taylor coefficients χn,m = (n + 1)m(2)m/[m!(n + 2)m] converge rapidly and the first M terms can be evaluated by recursion in O(M) operations. Truncating the expansion

n Z π iθ −1 −iθ ! M (2ρ) cn 2 2iθ ρe +ρ e inθ X 2m 2imθ fˆn ≈ (1−ρ e )f e χn,mρ e dθ 2π −π 2 m=0 M n X 2m ˆ[M] = (2ρ) cn χn,mρ ˆvn+2m := fn , m=0 where Z π iθ −1 −iθ ! 1 2 2iθ ρe +ρ e inθ ˆvn = (1−ρ e )f e dθ, −N + 1 ≤ m ≤ N, 2π −π 2 can be computed by FFT in O(N log N) operations.

17 Convergence To compute the Taylor coefficients 1 (n + 1)m(2)m χn,m = 3 , m = 0,...,M m!(n + 2)m by recursion requires O(M) operations. Since ∞ ˆ[M] ˆ n X 2m |fn − fn|≤ cn(2ρ) max |ˆvk| |χn,m|ρ , k≥0 m=M+1 kfk Z π L∞(Bρ) 2 2iθ |ˆvn|≤ |1 − ρ e | dθ := d, 2π −π we have ∞ n [M] n X 2m cn2 d n+2M+2 |fˆ − fˆn| ≤ cnd(2ρ) ρ = ρ n 1 2 m=M+1 − ρ and this can be made arbitrarily small uniformly in n choosing sufficiently large M. Hence convergence.

18 The strange case of ρ → 1

The ellipses Bρ and projected roots of unity for ρ = 0.5, 0.75, 0.95.

As ρ ↑ 1, we have ∞ ˆ X fn → cn χn,m[ˆτn+2m − τˆn+2m+2], m=0 −1 R π where τˆn = π 0 f(cos θ) cos nθ dθ is the nth Chebyshev coefficient of f. This can be computed fast with Fast Cosine Transform. 19 2.3 Connection coefficients

∞ ∞ The method admits an alternative explanation. Let {pn}n=0 and {qn}n=0 be two sets of orthogonal polynomials and f a ‘nice’ function, then ∞ ∞ X X f(x) = fˇnpn(x) = fˆnqn(x), n=0 n=0 ˇ hf, pnip ˆ hf, qniq fn = , fn = , n ∈ Z+. hp, pip hq, qiq The connection coefficients αm,n, 0 ≤ n ≤ n are numbers s.t. m X pm(x) = αm,nqn(x), n ∈ Z+, n=0 and they always exist since an OPS form a basis of P.

20 Letting pn = Tn and qn = Pn, it is trivial that ∞ ˆ X ˇ fn = αn,mfm, n ∈ Z+ m=n and, truncating the sum, this affords us a way to extend Fast Chebyshev Transform to Legendre (and to other OP expansions). The connection co- efficients can be derived directly from bn/2c n! (2n − 4k + 1)P (x) xn = X n−2k , 2n 3 k=0 k!(2)n−k bm/2c k m−2k δm,0 m X (−1) (m − k − 1)!2 m−2k Tm(x)= + x , 2 2 !( 2 )! k=1 k m − k except that the outcome is precisely the previous method for ρ ↑ 1. Does it mean that we don’t need anymore the convoluted hypergeometric expansion? Not really! Provided f is smooth in the complex plane, convergence occurs much faster for ρ < 1 – actually, the smaller ρ, the faster the convergence. 21 • The approach of hypergeometric identities has been extended to ul- traspherical polynomials. • The approach of connection coefficients has been generalised to all Jacobi polynomials.

Can we extend it to all OP expansions? E.g. to Laguerre or Hermite ex- pansions?

No! The entire idea is that the connection coefficients decay very rapidly for any fixed n and growing m so that for every ε > 0 there exists (hopefully small) M s.t. ∞ X |αn,m| < ε, n ∈ Z+, m=n+M+1 because this ensures convergence.

22 To illustrate this point, consider the growth (or otherwise) of connection coefficients from Legendre to Hermite polynomials, n−m X k2n 2n + 2m + 1 α2n,2m = (−1) 3 , 0 ≤ m ≤ n k=0 k (n − k − m)!(2)n−k+m (odd coefficients behave similarly) and denote by κε ∈ N the least index s.t. |α2n,2m| < ε for all m > κε:

The function is linear, hence the cost of an algorithm to convert Legendre to Hermite expansion is quadratic in n – and this is unacceptable! 23 How does this compare with our Fast Legendre Transform?

1 1 3 ρ = 4; ρ = 2; ρ = 4.

Mn ˆ n X 2m Once we form adaptive sums fn ≈ (2ρ) cn χn,mρ ˆvn+2m, where m=0 Mn = max{a + bn, 0} for suitable values of a, b, the summation cost just O(N) operations and the main expense is the cost of FFT. 24 2.4 Fast Legendre Transform via perturbed Chebyshev grid

We consider two problems, one the (scaled) inverse of the other: Legendre to function (LtF): Given c0, c1, . . . , cN−1, compute N−1 X (N) fk = cnPn(ξk ), k = −,...,N − 1, n=0 (N) (N) (N) where ξN−1 < ξN−2 < · < ξ0 are the zeros of PN ; Function to Legendre (FtL): Given b0, . . . , bN−1, f0, . . . , fN−1, compute N−1  1 X (N) cn = n + b f Pn(ξ , n = 0,...,N − 1. 2 k k k k=0 Choosing b0, . . . , nN−1 as the weights of Gauss–Legendre quadrature (N) (N) (and bearing in mind that ξ0 , . . . , ξN−1 are its nodes), FtL is a means to compute Legendre coefficients.

25 LtF (N) Let ξk = cos θk, k = 0,...,N − 1. We first describe the Chebyshev to function (CtF) summation N−1 N−1 X (N) X fk = cnTn(ξk ) = cn cos(nθk), k = 0,...,N − 1, n=0 n=0 ∗ ∗ 1 in O(N log N) operations. Set θk = θk + δk, where θk = (k + 2)π/N is the kth Chebyshev point. Then ∞ (nδ )2` ∞ (nδ )2`+1 cos(nθ ) = X (−1)` k cos(nθ∗) − X (−1)` k sin(nθ∗). k (2 )! k (2 +1)! k `=0 ` `=0 ` Truncating the series, M 2` N−1 1 X ` δk X 2` n(k + 2)π f ≈ (−1) cnn cos k (2 )! `=0 ` n=0 N M 2`+1 N−1 1 X ` δk X 2`+1 n(k + 2)π − (−1) cnn sin . (2 +1)! `=0 ` n=0 N

26 This ‘costs’ M + 1 Fast Cosine Transforms and M + 1 Fast Sine Trans- forms, at the combined price tag of O(MN log N) operations and makes sense only once M is small – i.e. if the δks are small.

π And this is the case! Indeed, |δk| ≤ 2(N+1) (and much stronger bounds).

27 LtC We need to ‘translate’ from Chebyshev-to-function into Legendre-to-function by a Legendre-to-Chebyshev transform: given coefficients c0, . . . , cN−1, find ˆc0,..., ˆcN−1 s.t. N−1 N−1 X X cnPn(cos θk) = ˆcnTn(cos θk), k = 0,...,N − 1. n=0 n=0 > Let θ = [θ0, θ1, . . . , θN−1] , then there exist N × N matrices CN and P N so that for a polynomial p ∈ PN−1 −1 pN (θ) = T N (θ)ˆc = P N (θ)c ⇒ ˆc = T N (θ)P N (θ)c. −1 Computing T N (θ)d is precisely CtF and we can do it in O(N log N) operations – the challenge is to sum d = P N (θ)c.

28 Asymptotically, M−1 1 π X cos((nθ − (m + 2)(2 − θ)) Pn(cos θ) ≈ cn αn,m , m+1 m=0 (2 sin θ) 2 where 1 2 3 n! [( )m] c = , α = 2 , m = 0,...,M − 1. n 1/2 3 n,m 3 π (2)n m!(n + 2)n Therefore M−1 X Pn(cos θ) ≈ cn [um(θ)Un−1(cos θ) + vm(cos θ)Tn(cos θ)], m=0 where 1 π 1 π sin θ sin((m + 2)(2 − θ)) cos((m + 2)(2 − θ)) um(θ) = , vm(θ) = . +1 +1 (2 sin θ)m 2 2(sin θ)m 2

29 Let θc be the vector of Chebyshev points. We partition

K c REM c X [k] c P N (θ ) = P N (θ ) + PN (θ ), k=1 where, setting the tolerance ε > 0,      1   1 2 M+1  1  [(2)M ]  2  nM =  , 2 π3/2M!ε 

  ( c  k k−1 [k] c PN (θ ) i,j , ik ≤ i ≤ N − ik, α N ≤ j ≤ α N, P N (θ ) = i,j 0, otherwise,     N + 1 nM 1 1  ik = arcsin , α = min , , π αkN 2 log N  nM K   [ ] P REM(θc) =P (θc) − X P k (θc). N i,j N N k=1

30 REM P N

[3] [2] [1] P N P N P N

REM The product P N c can be done in O(KN/α) operations, since it has 2 −1 [k] ≈ πKN(α − 1) nonzero terms and P N can be computed in O(KN/α) operations. Balancing the two gives α. Moreover, requiring αK+1N < n ,  M  we have K = O(log N/ log log N). The total cost is O N(log N)2/ log log N .

31 FtL An obvious idea is to use Clenshaw–Curtis quadrature. Thus,  1 Z 1 fˆn = n + f(x)Pn(x) dx 2 −1  1 Z π = n + f(cos θ)Pn(cos θ) sin θ dθ. 2 0 The function Fn(θ) = f(cos θ)Pn(cos θ) is even and periodic and ∞ ˇ X fn,` fˆn = fˇ + 2 , n,0 1 4 2 `=1 − ` ˇ where the fn,`s are the Chebyshev coefficients of Fn, 2 Z π ˇ fn,` = Fn(θ) cos `θ dθ, `, n ∈ Z+. π 0 This can be approximated by a Discrete Cosine Transform

32 1 ( ` n + 2 (−1) f(−1) + f(1) ` fˇ2 ≈ + (−1) f(0)Pn(0) ` N 2  N−1   X πm n πm πm πm` + f(cos ) + (−1) f(−cos ) Pn(cos ) cos . m=1 2N 2N 2N N  In other words, just a single FCT (at the cost of O(N log N)), plus some additional O(N) housekeeping.

Similar approach can be extended to other ‘nice’ weights living in (−1, 1), e.g. Jacobi polynomials.

33 2.5 The Fast Multipole Method (FMM)

Let G(x, y) = log(x − y), where v = v1 + iv2. Since

log |x − y| = Re log(x − y), it is (up to a factor of −1/(2π), which we suppress) the complex represen- 2 2 tation of the fundamental solution of ∆ u = 0 in R . We wish to compute N X um = G(xm, xj)qj, m = 1,...,N, j=1 where the ums are the potentials and qjs the sources, while M,N  1.

Naive computation takes O(MN) operations: can we do better?

34 Well-separated sources and targets

Let qj = q(yj), um = u(xm) and suppose that the xms and yjs are separated.

yj t

xm t c the centre of the box

35 We have ∞ 1 y − cp log(x − y) = log(x − c)1 − X , p=1 p x − c with rapid convergence because |y − c|  |x − c|. Therefore

N X um = u(xm) = log(xm − yj)qj j=1 P 1 ≈ log(x − c)ˆq − X ˆq , m 0 p p p=1 (xm − c) where N N X 1 X p ˆq0 = qj, ˆqp = − (yj − c) qj, p = 1,...,P. j=1 p j=1

Computing the ˆqp takes O(NP ) operations and forming the ums O(MP ): altogether the operations’ count is O((M + N)P ) and note that P  M,N.

36 The Fast Multipole Method Divide the computational domain into boxes,

Compute the interaction between particles in a box and particles in well- separated boxes (far-field potentials) by the above procedure, the rest (near-field potentials) by direct calculation. 37 1. The procedure itself is considerably more complicated and awash with detail – and its programming is a nightmare. 2. The overall cost is O(N log N) (for M ≈ N) but further refinement reduces it to O(N). 3. The procedure can be nested and is amenable to parallelisation. 4. FMM can be extended to 3D (but not beyond!) but matters become even more complicated. 5. The underlying issue is a matrix-times-vector problem and FMM can be rephrased as a matrix tessalation: this point of view will be useful in the next section.

Main applications of FMM: Solving the Poisson equation in nice geome- tries in 2D and 3D; solving the Helmholz equation ∇2u + λu = 0; solving integral equations.

38 2.5 FMM applied to fast transforms

We revisit the problem of computing the Legendre transforms N−1 N−1 X X f(x) ≈ cnPn(x) = djTj(x). n=0 j=0 Let d = MN c, hence c = LN d, L = M−1. It is easy to verify that M and L are upper triangular. Their coefficients can be calculated explicitly. Γ(z + 1) 2 y − x y + x Λ(z) = 2 , M(x, y) = Λ Λ , Γ(z + 1) π 2 2 (x + 1)y y − x − 2 y + x − 1 L(x, y) = − 2 Λ Λ , (y + x + 1)(y − x) 2 2 ( M(i, j), 0 < i ≤ j < N, i + j even, (MN ) = i,j 0, otherwise, ( L(i, j), 0 ≤ i ≤ j < N, i + j even, (LN ) = i,j 0, otherwise.

39 Recall the well separated points from the FMM theory: specifically, given the square

S = {(x, y): x0 ≤ x ≤ x0 + a, y0 ≤ y ≤ y0 + a}, we say that S is separated from the diagonal if y0 − x0 ≥ 2a.

Likewise, if A is an N × N upper triangular matrix, set

Ti,j = Ap+i,q+j, i, j = 1, . . . , m, where p, q ≥ 0 are given. We say that the submatrix T is separated from the diagonal (SFD) if q − p ≥ 2m.

Let T be an m × m SFD submatrix of MN (similar analysis applies to LN ) and consider the product w = T v.

40 Let ti be the ith Chebyshev point and N−1 x − t ` (x) = Y j , i t − t j=0 i j j6=i the ith Lagrange’s interpolation polynomial. Then the error of the approxi- mation at Chebyshev points, k−1 X  j  M(i0 + i, j0 + j) ≈ M(i0 + i, j0 + trm)`r , r=0 m   decays like O 3−k . Therefore

m−1 m−1 X X wi = M(i0 + i, j0 + j)vj ≈ M(i0 + i, j0 + trm)br, j=0 r=0 where m−1 X  j  br = `r vj, r = 0, . . . , k − 1. j=0 m

41 All this can be calculated in O(km) operations. The trick is now to tile the upper triangle of MN with SFD submatrices, calculating the remaining ‘junk’ directly.

@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 42 • The cost of the entire operation scales like O(N log N). • Coding is very complicated but, fortunately, there exist off-the-shelf programs. • It is possible to generalise this approach to a larger set of OPs, e.g. Jacobi polynomials.

43 References

Spectral methods: Gottlieb, D. & Orszag, S.A. (1977), of Spectral Methods: Theory and Applications, CBMS–NSF Regional Conference Series in Applied Mathematics 26, SIAM, Philadelphia. Quarteroni, A. & Valli, A. (1994), Numerical Approximation of Partial Differential Equa- tions, Springer-Verlag, Berlin. Trefethen, Ll.N. (2000), Spectral Methods in MATLAB. Software, Environments, and Tools, SIAM, Philadelphia.

Fast Legendre Transform via hypergeometric identities: Cantero, M.J. & Iserles, A. (2013), “On expansions in orthogonal polynomials”, Adv. Com- put. Math. 38, 35–61. Iserles, A. (2011), “A fast and simple algorithm for the computation of Legendre coeffi- cients”, Numer. Math. 117, 529–553. 44 Connection coefficients: Wang, H. & Huybrechs, D. (2014), “Fast and accurate computation of Jacobi expansion coefficients of analytic functions”, Tech. Rep., KU Leuven.

Fast Legendre Transform via perturbed Chebyshev grid: Hale, N. & Townsend, A. (2014) “A fast, simple, and stable Chebyshev–Legendre trans- form using an asymptotic formula”, SIAM J. Sci. Comp. 36, A148–A167.

Fast Multipole Method: Carrier, J., Greengard, L. & Rokhlin, V. (1988), “A fast adaptive multipole algorithm for particle simulations”, SIAM J. Sci. Statist. Comput. 9, 669–686.

Greengard, L. & Rokhlin, V. (1987), “A fast algorithm for particle simulations”, J. Comput. Phys. 73, 325–348.

FMM applied to fast transforms: Alpert, B.K. & Rokhlin, V. (1991), “A fast algorithm for the evaluation of Legendre expan- sions”, SIAM J. Sci. Statist. Comput. 12, 158–179.

45