# 程序代写代做代考 prolog scheme algorithm Chapter 3

Chapter 3
Orthogonal Polynomials and Related
Approximation Results

The Fourier spectral method is only appropriate for problems with periodic
boundary conditions. If a Fourier method is applied to a non-periodic problem,
it inevitably induces the so-called Gibbs phenomenon, and reduces the global
convergence rate to O(N−1) (cf. Gottlieb and Orszag (1977)). Consequently,
one should not apply a Fourier method to problems with non-periodic boundary
conditions. Instead, one should use orthogonal polynomials which are eigenfunc-
tions of some singular Sturm-Liouville problems. The commonly used orthogonal
polynomials include the Legendre, Chebyshev, Hermite and Laguerre polynomials.

The aim of this chapter is to present essential properties and fundamental
approximation results related to orthogonal polynomials. These results serve as
preparations for polynomial-based spectral methods in the forthcoming chapters.
This chapter is organized as follows. In the first section, we present relevant prop-
erties of general orthogonal polynomials, and set up a general framework for the
study of orthogonal polynomials. We then study the Jacobi polynomials in Sect. 3.2,
Legendre polynomials in Sect. 3.3 and Chebyshev polynomials in Sect. 3.4. In
Sect. 3.5, we present some general approximation results related to these families
of orthogonal polynomials. We refer to Szegö (1975), Davis and Rabinowitz (1984)
and Gautschi (2004) for other aspects of orthogonal polynomials.

3.1 Orthogonal Polynomials

Orthogonal polynomials play the most important role in spectral methods, so it is
necessary to have a thorough study of their relevant properties. Our starting point is
the generation of orthogonal polynomials by a three-term recurrence relation, which
leads to some very useful formulas such as the Christoffel-Darboux formula. We
then review some results on zeros of orthogonal polynomials, and present efficient
algorithms for their computations. We also devote several sections to discussing
some important topics such as Gauss-type quadrature formulas, polynomial inter-
polations, discrete transforms, and spectral differentiation techniques.

J. Shen et al., Spectral Methods: Algorithms, Analysis and Applications, 47
Springer Series in Computational Mathematics 41, DOI 10.1007/978-3-540-71041-7 3,

48 3 Orthogonal Polynomials and Related Approximation Results

3.1.1 Existence and Uniqueness

Given an open interval I := (a,b) (−∞ ≤ a < b ≤+∞), and a generic weight func- tion ω such that ω(x)> 0, ∀x ∈ I and ω ∈ L1(I), (3.1)
two functions f and g are said to be orthogonal to each other in L2ω (a,b) or orthog-
onal with respect to ω if

( f ,g)ω :=
∫ b

a
f (x)g(x)ω(x)dx = 0.

An algebraic polynomial of degree n is denoted by

pn(x) = knx
n + kn−1xn−1 + . . .+ k1x+ k0, kn �= 0, (3.2)

where {ki} are real constants, and kn is the leading coefficient of pn.
A sequence of polynomials {pn}∞n=0 with deg(pn) = n is said to be orthogonal

in L2ω (a,b) if

(pn, pm)ω =
∫ b

a
pn(x)pm(x)ω(x)dx = γnδmn, (3.3)

where the constant γn = ‖pn‖2ω is nonzero, and δmn is the Kronecker delta.
Throughout this section, {pn} denotes a sequence of polynomials orthogonal

with respect to the weight function ω , and pn is of degree n.
Denote by Pn the set of all algebraic polynomials of degree ≤ n, namely,

Pn := span
{

1,x,x2, . . . ,xn
}
. (3.4)

By a dimension argument,

Pn = span{p0, p1, . . . , pn} . (3.5)

A direct consequence is the following.

Lemma 3.1. pn+1 is orthogonal to any polynomial q ∈ Pn.
Proof. Thanks to (3.5), for any q ∈ Pn, we can write

q = bn pn + bn−1pn−1 + . . .+ b0p0.

Hence,

(pn+1, q)ω = bn(pn+1, pn)ω + bn−1(pn+1, pn−1)ω + . . .+ b0(pn+1, p0)ω = 0,

where we have used the orthogonality (3.3). ��
Hereafter, we denote the monic polynomial corresponding to pn by

p̄n(x) := pn(x)/kn = x
n + a

(n)
n−1x

n−1 + . . .+ a(n)0 . (3.6)

3.1 Orthogonal Polynomials 49

We show below that for any given weight function ω(x) defined in (a,b), there
exists a unique family of monic orthogonal polynomials generated by a three-term
recurrence formula.

Theorem 3.1. For any given positive weight function ω ∈ L1(I), there exists a
unique sequence of monic orthogonal polynomials { p̄n} with deg(p̄n) = n, which
can be constructed as follows

p̄0 = 1, p̄1 = x−α0,
p̄n+1 = (x−αn)p̄n −βn p̄n−1, n ≥ 1,

(3.7)

where

αn =
(xp̄n, p̄n)ω
‖ p̄n‖2ω

, n ≥ 0, (3.8a)

βn =
‖ p̄n‖2ω
‖ p̄n−1‖2ω

, n ≥ 1. (3.8b)

Proof. It is clear that the first two polynomials are

p̄0(x)≡ 1, p̄1(x) = x−α0.

To determine α0, we see that (p̄0, p̄1)ω = 0 if and only if

α0 =
∫ b

a
ω(x)xdx

/∫ b
a

ω(x)dx =
(xp̄0, p̄0)ω
‖ p̄0‖2ω

,

where the denominator is positive due to (3.1).
We proceed with the proof by using an induction argument. Assuming that by a

similar construction, we have derived a sequence of monic orthogonal polynomials
{p̄k}nk=0 . Next, we seek p̄n+1 of the form

p̄n+1 = xp̄n −αn p̄n −βn p̄n−1 −
n−2

k=0

γ(n)k p̄k, (3.9)

with αn and βn given by (3.8), and we require
(

p̄n+1, p̄k
)

ω = 0, 0 ≤ k ≤ n. (3.10)

Taking the inner product with p̄k on both sides of (3.9), and using the orthogo-
nality of { p̄k}nk=0, we find that (3.10) is fulfilled if and only if

(p̄n+1, p̄n)ω = (xp̄n, p̄n)ω −αn(p̄n, p̄n)ω = 0,
(p̄n+1, p̄n−1)ω = (xp̄n, p̄n−1)ω −βn(p̄n−1, p̄n−1)ω = 0,

(p̄n+1, p̄ j)ω = (xp̄n, p̄ j)ω −
n−2

k=0

γ(n)k (p̄k, p̄ j)ω

(3.3)
= (xp̄n, p̄ j)ω − γ(n)j ‖ p̄ j‖2ω = 0, 0 ≤ j ≤ n− 2.

(3.11)

50 3 Orthogonal Polynomials and Related Approximation Results

Hence, the first equality implies (3.8a), and by the second one,

βn =
(xp̄n, p̄n−1)ω
‖ p̄n−1‖2ω

=
(p̄n,xp̄n−1)ω
‖ p̄n−1‖2ω

=
‖ p̄n‖2ω
‖ p̄n−1‖2ω

,

where we have used the fact

xp̄n−1 = p̄n +
n−1

k=0

δ (n)k p̄k,

and the orthogonality of { p̄k}nk=0 to deduce the last identity. It remains to show that
the coefficients {γ(n)k }n−2k=0 in (3.9) are all zero. Indeed, we derive from Lemma 3.1
that (

xp̄n, p̄ j
)

ω = (p̄n, xp̄ j)ω = 0, 0 ≤ j ≤ n− 2,

which, together with the last equation of (3.11), implies γ(n)k ≡ 0 for 0 ≤ k ≤ n− 2,
in (3.9). This completes the induction.

Next, we show that the polynomial sequence generated by (3.7)–(3.8) is unique.
For this purpose, we assume that {q̄n}∞n=0 is another sequence of monic orthogonal
polynomials. Since p̄n, given by (3.7), is also monic, we have deg

(
p̄n+1− q̄n+1

)
≤ n.

By Lemma 3.1,

(p̄n+1, p̄n+1 − q̄n+1)ω = 0, (q̄n+1, p̄n+1 − q̄n+1)ω = 0,
which implies

(
p̄n+1 − q̄n+1, p̄n+1 − q̄n+1

)
ω = 0 ⇒ p̄n+1(x)− q̄n+1(x)≡ 0.

This proves the uniqueness. ��
The above theorem provides a general three-term recurrence relation to construct

orthogonal polynomials, and the constants αn and βn can be evaluated explicitly for
the commonly used families. The three-term recurrence relation (3.7) is essential
for deriving other properties of orthogonal polynomials. For convenience, we first
extend it to the orthogonal polynomials {pn}, which are not necessarily monic.
Corollary 3.1. Let {pn} be a sequence of orthogonal polynomials with the leading
coefficient kn �= 0. Then we have

pn+1 = (anx− bn)pn − cn pn−1, n ≥ 0, (3.12)
with p−1 := 0, p0 = k0 and

an =
kn+1
kn

, (3.13a)

bn =
kn+1
kn

(xpn, pn)ω
‖pn‖2ω

, (3.13b)

cn =
kn−1kn+1

k2n

‖pn‖2ω
‖pn−1‖2ω

. (3.13c)

3.1 Orthogonal Polynomials 51

Proof. This result follows directly from Theorem 3.1 by inserting p̄l = pl/kl with
l = n− 1,n,n+ 1 into (3.7) and (3.8). ��

The orthogonal polynomials {pn} with leading coefficients {kn} are uniquely de-
termined by (3.12)–(3.13). Interestingly, the following result, which can be viewed
as the converse of Corollary 3.1, also holds. We leave its proof as an exercise (see
Problem 3.1).

Corollary 3.2. Let {kn �= 0} be a sequence of real numbers. The three-term re-
currence relation (3.12)–(3.13) generates a sequence of polynomials satisfying the
properties:

• the leading coefficient of pn is kn and deg(pn) = n;
• {pn} are orthogonal with respect to the weight function ω(x);
• the L2ω -norm of pn is given by

γn = ‖pn‖2ω = (a0/an)c1c2 . . .cnγ0, n ≥ 0, (3.14)

where γ0 = k20
∫ b

a ω(x)dx.
An important consequence of the three-term recurrence formula (3.12)–(3.13) is

the well-known Christoff-Darboux formula.

Corollary 3.3. Let {pn} be a sequence of orthogonal polynomials with deg(pn) = n.
Then,

pn+1(x)pn(y)− pn(x)pn+1(y)
x− y =

kn+1
kn

n

j=0

‖pn‖2ω
‖p j‖2ω

p j(x)p j(y), (3.15)

and

p′n+1(x)pn(x)− p′n(x)pn+1(x) =
kn+1
kn

n

j=0

‖pn‖2ω
‖p j‖2ω

p2j(x). (3.16)

Proof. We first prove (3.15). By Corollary 3.1,

p j+1(x)p j(y)− p j(x)p j+1(y)
= [(a jx− b j)p j(x)− c j p j−1(x)]p j(y)
− p j(x)[(a jy− b j)p j(y)− c j p j−1(y)]

= a j(x− y)p j(x)p j(y)+ c j[p j(x)p j−1(y)− p j−1(x)p j(y)].
Thus, by (3.13),

k j
k j+1‖p j‖2ω

p j+1(x)p j(y)− p j(x)p j+1(y)
x− y

− k j−1
k j‖p j−1‖2ω

p j(x)p j−1(y)− p j−1(x)p j(y)
x− y =

1
‖p j‖2ω

p j(x)p j(y).

This relation also holds for j = 0 by defining p−1 := 0. Summing the above identities
for 0 ≤ j ≤ n leads to (3.15).

52 3 Orthogonal Polynomials and Related Approximation Results

To prove (3.16), we observe that

pn+1(x)pn(y)− pn(x)pn+1(y)
x− y

=
pn+1(x)− pn+1(y)

x− y pn(y)−
pn(x)− pn(y)

x− y pn+1(y).

Consequently, letting y → x, we obtain (3.16) from (3.15) and the definition of the
derivative. ��

Define the kernel

Kn(x,y) =
n

j=0

p j(x)p j(y)

‖p j‖2ω
. (3.17)

The Christoff-Darboux formula (3.15) can be rewritten as

Kn(x,y) =
kn

kn+1‖pn‖2ω
pn+1(x)pn(y)− pn(x)pn+1(y)

x− y . (3.18)

A remarkable property of {Kn} is stated in the following lemma.
Lemma 3.2. There holds the integral equation:

q(x) =
∫ b

a
q(t)Kn(x, t)ω(t)dt, ∀q ∈ Pn. (3.19)

Moreover, the polynomial sequence {Kn(x,a)} (resp. {Kn(x,b)}) is orthogonal with
respect to the weight function (x− a)ω (resp. (b− x)ω).
Proof. Thanks to (3.5), for any q ∈ Pn, we can write

q(x) =
n

j=0

q̂ j p j(x) with q̂ j =
1

‖p j‖2ω

∫ b
a

q(t)p j(t)ω(t)dt.

Thus, by definition (3.17),

q(x) =
n

j=0

1
‖p j‖2ω

∫ b
a

q(t)p j(x)p j(t)ω(t)dt =
∫ b

a
q(t)Kn(x, t)ω(t)dt,

which gives (3.19).
Next, taking x = a and q(t) = (t − a)r(t) for any r ∈ Pn−1 in (3.19) yields

0 = q(a) =
∫ b

a
Kn(t,a)r(t)(t − a)ω(t)dt, ∀r ∈ Pn−1,

which implies {Kn(x,a)} is orthogonal with respect to (x− a)ω .
Similarly, taking x = b and q(t) = (b− t)r(t) for any r ∈ Pn−1 in (3.19), we can

show that {Kn(x,b)} is orthogonal with respect to (b− x)ω . ��

3.1 Orthogonal Polynomials 53

3.1.2 Zeros of Orthogonal Polynomials

Zeros of orthogonal polynomials play a fundamental role in spectral methods. For
example, they are chosen as the nodes of Gauss-type quadratures, and used to gen-
erate computational grids for spectral methods. Therefore, it is useful to derive their
essential properties.

Again, let {pn} (with deg(pn) = n) be a sequence of polynomials orthogonal
with respect to the weight function ω(x) in (a,b). The first important result about
the zeros of orthogonal polynomials is the following:

Theorem 3.2. The zeros of pn+1 are all real, simple, and lie in the interval (a,b).

Proof. We first show that the zeros of pn+1 are all real. Assuming α ± iβ are a pair
of complex roots of pn+1. Then pn+1/((x−α)2 +β 2) ∈ Pn−1, and by Lemma 3.1,

0 =
∫ b

a
pn+1

pn+1
(x−α)2 +β 2 ωdx =

∫ b
a

(
(x−α)2 +β 2

)∣∣∣ pn+1
(x−α)2 +β 2

∣∣∣2ωdx,

which implies that β = 0. Hence, all zeros of pn+1 must be real.
Next, we prove that the n+ 1 zeros of pn+1 are simple, and lie in the interval

(a,b). By the orthogonality,

∫ b
a

pn+1(x)ω(x)dx = 0, ∀n ≥ 0,

there exists at least one zero of pn+1 in (a,b). In other words, pn+1(x) must change
sign in (a,b). Let x0,x1, . . . ,xk be all such points in (a,b) at which pn+1(x) changes
sign. If k = n, we are done, since {xi}ni=0 are the n+ 1 simple real zeros of pn+1. If
k < n, we consider the polynomial q(x) = (x− x0)(x− x1) . . . (x− xk). Since deg(q) = k+ 1 < n+ 1, by orthogonality, we derive (pn+1, q)ω = 0. However, pn+1(x)q(x) cannot change sign on (a,b), since each sign change in pn+1(x) is canceled by a corresponding sign change in q(x). It follows that (pn+1, q)ω �= 0, which leads to a contradiction. �� Another important property is known as the separation theorem. Theorem 3.3. Let x0 = a, xn+1 = b and x1 < x2 < .. . < xn be the zeros of pn. Then there exists exactly one zero of pn+1 in each subinterval (x j, x j+1), j = 0,1, . . . ,n. 54 3 Orthogonal Polynomials and Related Approximation Results Proof. It is obvious that the location of zeros is invariant with any nonzero constant multiple of pn and pn+1, so we assume that the leading coefficients kn,kn+1 > 0.

We first show that each of the interior subintervals (x j, x j+1), j = 1,2, . . . ,n− 1,
contains at least one zero of pn+1, which is equivalent to proving

pn+1(x j)pn+1(x j+1)< 0, 1 ≤ j ≤ n− 1. (3.20) Since pn can be written as pn(x) = kn(x− x1)(x− x2) . . . (x− xn), a direct calculation leads to p′n(x j) = kn j−1 ∏ l=1 (x j − xl) · n ∏ l= j+1 (x j − xl). (3.21) This implies p′n(x j)p ′ n(x j+1) = Dn, j × (−1)n− j × (−1)n− j−1 < 0, (3.22) where Dn, j is a positive constant. On the other hand, using the facts that pn(x j) = pn(x j+1) = 0 and kn,kn+1 > 0, we find from (3.16) that

−p′n(x j)pn+1(x j)> 0, −p′n(x j+1)pn+1(x j+1)> 0. (3.23)

Consequently,

[
p′n(x j)p

n(x j+1)

][
pn+1(x j)pn+1(x j+1)

]
> 0

(3.22)
=⇒ pn+1(x j)pn+1(x j+1)< 0. Next, we prove that there exists at least one zero of pn+1 in each of the boundary subintervals (xn, b) and (a,x1). Since pn(xn) = 0 and p ′ n(xn) > 0 (cf. (3.21)), the

use of (3.16) again gives pn+1(xn) < 0. On the other hand, due to kn+1 > 0, we
have pn+1(b)> 0. Therefore, pn+1(xn)pn+1(b) < 0, which implies (xn,b) contains at least one zero of pn+1. The existence of at least one zero of pn+1 in (a,x1) can be justified in a similar fashion. In summary, we have shown that each of the n+ 1 subintervals (x j,x j+1), 0 ≤ j ≤ n, contains at least one zero of pn+1. By Theorem 3.2, pn+1 has exactly n+ 1 real zeros, so each subinterval contains exactly one zero of pn+1. �� A direct consequence of (3.22) is the following. Corollary 3.4. Let {pn} be a sequence of orthogonal polynomials with deg(pn)= n. Then the zeros of p′n are real and simple, and there exists exactly one zero of p ′ n between two consecutive zeros of pn. 3.1 Orthogonal Polynomials 55 3.1.3 Computation of Zeros of Orthogonal Polynomials We present below two efficient algorithms for computing zeros of orthogonal poly- nomials. The first approach is the so-called Eigenvalue Method. Theorem 3.4. The zeros {x j}nj=0 of the orthogonal polynomial pn+1(x) are eigen- values of the following symmetric tridiagonal matrix: An+1 = ⎡ ⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣ α0 β1 β1 α1 β2 . . . . . . . . . βn−1 αn−1 βn βn αn ⎤ ⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦ , (3.24) where α j = b j a j , j ≥ 0; β j = 1 a j−1 √ a j−1c j a j , j ≥ 1, (3.25) with {a j,b j,c j} being the coefficients of the three-term recurrence relation (3.12), namely, p j+1(x) = (a jx− b j)p j(x)− c j p j−1(x), j ≥ 0, (3.26) with p−1 := 0. Proof. We first normalize the orthogonal polynomials {p j} by defining p̃ j(x) = 1√ γ j p j(x) with γ j = ‖p j‖2ω ⇒ ‖ p̃ j‖ω = 1. Thus, we have xp̃ j (3.26) = c j a j √ γ j−1 γ j p̃ j−1 + b j a j p̃ j + 1 a j √ γ j+1 γ j p̃ j+1 (3.13) = 1 a j−1 √ γ j γ j−1 p̃ j−1 + b j a j p̃ j + 1 a j √ γ j+1 γ j p̃ j+1 = β j p̃ j−1(x)+α j p̃ j(x)+β j+1 p̃ j+1(x), j ≥ 0, (3.27) where we denote α j := b j a j , β j := 1 a j−1 √ γ j γ j−1 . 56 3 Orthogonal Polynomials and Related Approximation Results By (3.13), γ j γ j−1 = a j−1c j a j > 0 ⇒ β j =
1

a j−1

a j−1c j

a j
.

Then we rewrite the recurrence relation (3.27) as

xp̃ j(x) = β j p̃ j−1(x)+α j p̃ j(x)+β j+1 p̃ j+1(x), j ≥ 0.

We now take j = 0,1, . . . ,n to form a system with the matrix form

xP̃(x) = An+1P̃(x)+βn+1 p̃n+1(x)En+1, (3.28)

where An+1 is given by (3.24), and

P̃(x) =
(

p̃0(x), p̃1(x), . . . , p̃n(x)
)T

, En+1 = (0,0, . . . ,0,1)
T .

Since p̃n+1(x j) = 0, 0 ≤ j ≤ n, the system (3.28) at x = x j becomes

x jP̃(x j) = An+1P̃(x j), 0 ≤ j ≤ n. (3.29)

Hence, {x j}nj=0 are eigenvalues of the symmetric tridiagonal matrix An+1. ��
An alternative approach for finding zeros of orthogonal polynomials is to use an

iterative procedure. More precisely, let x0j be an initial approximation to the zero x j
of pn+1(x). Then, one can construct an iterative scheme in the general form:

{
xk+1j = x

k
j +D(x

k
j), 0 ≤ j ≤ n, k ≥ 0,

given
{

x0j
}n

j=0
, and a termination rule.

(3.30)

The deviation D(·) classifies different types of iterative schemes. For instance, the
Newton method is of second-order with

D(x) =− pn+1(x)
p′n+1(x)

, (3.31)

while the Laguerre method is a third-order scheme with

D(x) =− pn+1(x)
p′n+1(x)

− pn+1(x)p
′′
n+1(x)

2(p′n+1(x))
2

. (3.32)

Higher-order schemes can be constructed by using higher-order derivatives of pn+1.
The success of an iterative method often depends on how good is the initial guess.

If the initial approximation is not sufficiently close, the algorithm may converge to
other unwanted values or even diverge. For a thorough discussion on how to find
zeros of polynomials, we refer to Pan (1997) and the references therein.

3.1 Orthogonal Polynomials 57

We now discuss the relations between orthogonal polynomials and Gauss-type
integration formulas. The mechanism of a Gauss-type quadrature is to seek the best
numerical approximation of an integral by selecting optimal nodes at which the in-
tegrand is evaluated. It belongs to the family of the numerical quadratures:

∫ b
a

f (x)ω(x)dx =
N

j=0

f (x j)ω j +EN[ f ], (3.33)

where {x j,ω j}Nj=0 are the quadrature nodes and weights, and EN [ f ] is the quadrature
error. If EN [ f ]≡ 0, we say the quadrature formula (3.33) is exact for f .

Hereafter, we assume that the nodes {x j}Nj=0 are distinct. If f (x) ∈ CN+1[a,b],
we have (see, e.g., Davis and Rabinowitz (1984)):

EN [ f ] =
1

(N + 1)!

∫ b
a

f (N+1)(ξ (x))
N

i=0

(x− xi)dx, (3.34)

where ξ (x) ∈ [a,b]. The Lagrange basis polynomials associated with {x j}Nj=0 are
given by

h j(x) =
N

i=0;i�= j

x− xi
x j − xi

, 0 ≤ j ≤ N, (3.35)

so taking f (x) = h j in (3.33) and using (3.34), we find the quadrature weights:

ω j =
∫ b

a
h j(x)ω(x)dx, 0 ≤ j ≤ N. (3.36)

We say that the integration formula (3.33)–(3.36) has a degree of precision (DOP)
m, if there holds

EN [p] = 0, ∀p ∈ Pm but ∃q ∈ Pm+1 such that EN [q] �= 0. (3.37)

In general, for any N + 1 distinct nodes {x j}Nj=0 ⊆ (a,b), the DOP of (3.33)–(3.36)
is between N and 2N + 1. Moreover, if the nodes {xk}Nk=0 are chosen as zeros of
the polynomial pN+1 orthogonal with respect to ω , this rule enjoys the maximum
degree of precision 2N + 1. Such a rule is known as the Gauss quadrature.

Theorem 3.5. (Gauss quadrature) Let {x j}Nj=0 be the set of zeros of the orthogonal
polynomial pN+1. Then there exists a unique set of quadrature weights {ω j}Nj=0,
defined by (3.36), such that

∫ b
a

p(x)ω(x)dx =
N

j=0

p(x j)ω j, ∀p ∈ P2N+1, (3.38)

58 3 Orthogonal Polynomials and Related Approximation Results

where the quadrature weights are all positive and given by

ω j =
kN+1
kN

‖pN‖2ω
pN(x j)p′N+1(x j)

, 0 ≤ j ≤ N, (3.39)

where k j is the leading coefficient of the polynomial p j.

Proof. Let {h j}Nj=0 be the Lagrange basis polynomials defined in (3.35). It is clear
that

PN = span
{

h j : 0 ≤ j ≤ N
}

⇒ p(x) =
N

j=0

p(x j)h j(x), ∀p ∈ PN .

Hence,
∫ b

a
p(x)ω(x)dx =

N

j=0

p(x j)
∫ b

a
h j(x)ω(x)dx

(3.36)
=

N

j=0

p(x j)ω j, (3.40)

which implies (3.38) is exact for any p ∈ PN . In other words, the DOP of this rule is
not less than N.

Next, for any p ∈ P2N+1, we can write p = rpN+1 + s where r,s ∈ PN . In view of
pN+1(x j) = 0, we have p(x j) = s(x j) for 0 ≤ j ≤ N. Since pN+1 is orthogonal to r
(cf. Lemma 3.1) and s ∈ PN , we find

∫ b
a

p(x)ω(x)dx =
∫ b

a
s(x)ω(x)dx

=
N

j=0

s(x j)ω j
(3.40)
=

N

j=0

p(x j)ω j, ∀p ∈ P2N+1, (3.41)

Now, we show that ω j > 0 for 0 ≤ j ≤ N. Taking p(x) = h2j(x) ∈ P2N in (3.41)

0 ≤ k ≤ N.

Note that the Lagrange basis polynomials take the form

h j(x) =
(x− a)qN(x)(

(x− a)qN(x)
)′∣∣∣

x=x j
(x− x j)

=
(x− a)qN(x)(

qN(x j)+ (x j − a)q′N(x j)
)
(x− x j)

, 0 ≤ j ≤ N.

Hence, letting j = 0, we derive (3.51a) from the definition of ω0, and for 1 ≤ j ≤ N,

ω j =
∫ b

a
h j(x)ω(x)dx =

1
x j − a

∫ b
a

qN(x)
q′N(x j)(x− x j)

ω̃(x)dx.

Recall that {qn} are orthogonal with respect to ω̃, so the integral part turns out to
be the weight of the Gauss quadrature associated with N nodes being the zeros of
qN(x). Hence, (3.51b) follows from the formula (3.39). ��

62 3 Orthogonal Polynomials and Related Approximation Results

Remark 3.1. Similarly, a second Gauss-Radau quadrature can be constructed if we
want to include the right endpoint x = b instead of the left endpoint x = a.

We now turn to the Gauss-Lobatto quadrature, whose nodes include two end-
points x = a,b. In this case, we choose αN and βN such that

pN+1(x)+αN pN(x)+βN pN−1(x) = 0 for x = a,b, (3.53)

and set

zN−1(x) =
pN+1(x)+αN pN(x)+βN pN−1(x)

(x− a)(b− x) . (3.54)

It is clear that zN−1 ∈ PN−1 and for any rN−2 ∈ PN−2, we derive from Lemma 3.1
that

∫ b
a

zN−1rN−2(x− a)(b− x)ω dx

=

∫ b
a

(
pN+1 +αN pN +βN pN−1

)
rN−2ω dx = 0.

(3.55)

Hence,
{

zN−1 : N ≥ 1
}

defines a sequence of polynomials orthogonal with respect
to the weight function ω̂(x) := (x− a)(b− x)ω(x), and the leading coefficient of
zN−1 is −kN+1.
Theorem 3.8. (Gauss-Lobatto quadrature) Let x0 = a, xN = b and {x j}N−1j=1 be the
zeros of zN−1 in (3.53)–(3.54). Then there exists a unique set of quadrature weights
{ω j}Nj=0, defined by (3.36), such that

∫ b
a

p(x)ω(x)dx =
N

j=0

p(x j)ω j, ∀p ∈ P2N−1, (3.56)

where the quadrature weights are expressed as

ω0 =
1

(b− a)zN−1(a)
∫ b

a
(b− x)zN−1(x)ω(x)dx, (3.57a)

ω j =
1

(x j − a)(b− x j)
kN+1
kN

‖zN−2‖2ω̂
zN−2(x j)z′N−1(x j)

, 1 ≤ j ≤ N − 1, (3.57b)

ωN =
1

(b− a)zN−1(b)
∫ b

a
(x− a)zN−1(x)ω(x)dx. (3.57c)

Moreover, we have ω j > 0 for 1 ≤ j ≤ N − 1.
Proof. The exactness (3.56) and the formulas of the weights can be derived in a
similar fashion as in Theorem 3.7, so we skip the details. Here, we just verify ω j > 0
for 1 ≤ j ≤ N − 1 by using a different approach. Since {zN−1} are orthogonal with

3.1 Orthogonal Polynomials 63

respect to the weight function ω̂, and zN−1(x j) = 0 for 1 ≤ j ≤ N − 1, we obtain
from the Christoff-Darboux formula (3.16) that

kN
kN+1

zN−2(x j)z′N−1(x j) =
N−2

j=0

‖zN−2‖2ω̂
‖z j‖2ω̂

z2j(x j)> 0, 1 ≤ j ≤ N − 1.

Inserting it into the formula (3.57b) leads to ω j > 0 for 1 ≤ j ≤ N − 1. ��
The Gauss-type quadrature formulas provide powerful tools for evaluating

integrals and inner products in a spectral method. They also play an important role
in spectral differentiations as to be shown later.

3.1.5 Interpolation and Discrete Transforms

Let
{

x j,ω j
}N

j=0

and weights. We define the corresponding discrete inner product and norm as

〈u,v〉N,ω :=
N

j=0

u(x j)v(x j)ω j, ‖u‖N,ω :=

〈u,u〉N,ω . (3.58)

Note that 〈·, ·〉N,ω is an approximation to the continuous inner product (·, ·)ω , and
the exactness of Gauss-type quadrature formulas implies

〈u,v〉N,ω = (u,v)ω , ∀u · v ∈ P2N+δ , (3.59)

where δ = 1, 0 and −1 for the Gauss, Gauss-Radau and Gauss-Lobatto quadrature,
respectively.

Definition 3.1. For any u ∈C(Λ), we define the interpolation operator IN : C(Λ)→
PN such that

(INu)(x j) = u(x j), 0 ≤ j ≤ N, (3.60)
where Λ = (a,b), [a,b), [a,b] for the Gauss, Gauss-Radau and Gauss-Lobatto

The interpolation condition (3.60) implies that IN p = p for all p ∈ PN . On the other
hand, since INu ∈ PN , we can write

(INu)(x) =
N

n=0

ũn pn(x), (3.61)

which is the counterpart of the discrete Fourier series (2.20) and may be referred to
as the discrete polynomial series. By taking the discrete inner product of (3.61) with
{pk}Nk=0, we can determine the coefficients {ũn} by using (3.60) and (3.59). More
precisely, we have

64 3 Orthogonal Polynomials and Related Approximation Results

Theorem 3.9.

ũn =
1
γn

N

j=0

u(x j)pn(x j)ω j, 0 ≤ n ≤ N, (3.62)

where γn = ‖pn‖2ω for 0 ≤ n ≤ N − 1, and

γN =

{
‖pN‖2ω , for Gauss and Gauss-Radau,
〈pN , pN〉N,ω , for Gauss-Lobatto.

(3.63)

The formula (3.62)-(3.63) defines the forward discrete polynomial transform as in
the Fourier case, which transforms the physical values {u(x j)}Nj=0 to the expansion
coefficients {ũn}Nn=0. Conversely, the backward (or inverse) discrete polynomial
transform is formulated by

u(x j) = (INu)(x j) =
N

n=0

ũn pn(x j), 0 ≤ j ≤ N, (3.64)

which takes the expansion coefficients {ũn}Nn=0 to the physical values {u(x j)}Nj=0.
We see that if the matrices

(
pn(x j)

)
0≤n, j≤N and/or

(
γ−1n pn(x j)ω j

)
0≤n, j≤N are

precomputed, then the discrete transforms (3.62) and (3.64) can be manipulated
directly by a standard matrix–vector multiplication routine in about N2 flops. Since
discrete t