Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
200 views140 pages

Pde 18 A

This document introduces numerical analysis methods for solving partial differential equations. It will focus on two methods: the finite difference method for the 1D heat equation and the finite element method for the 2D Poisson equation. These contain the core ideas of numerical PDE solutions. Numerical analysis is important because it allows for computer simulation and modeling of real-world phenomena described by differential equations. The process involves mathematical modeling, analysis of models, numerical approximation and discretization, algorithm implementation, program development, output analysis and validation - all connected to and advancing mathematics.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
200 views140 pages

Pde 18 A

This document introduces numerical analysis methods for solving partial differential equations. It will focus on two methods: the finite difference method for the 1D heat equation and the finite element method for the 2D Poisson equation. These contain the core ideas of numerical PDE solutions. Numerical analysis is important because it allows for computer simulation and modeling of real-world phenomena described by differential equations. The process involves mathematical modeling, analysis of models, numerical approximation and discretization, algorithm implementation, program development, output analysis and validation - all connected to and advancing mathematics.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 140

Introduction to Numerical Analysis for

Partial Differential Equations


Norikazu SAITO (齊藤宣一)
The University of Tokyo
http://www.infsup.jp/saito/
2018 Summer Semester (April 2018)
Contents
Introduction. Modeling and analysis 1

Chapter I. Finite difference method for the heat equation 3

1 Heat equation 3
1.1 Initial-boundary value problems . . . . . . . . . . . . . . . . . . 3
1.2 Uniqueness and maximum principle . . . . . . . . . . . . . . . . 5
1.3 Construction of a solution and Fourier’s method . . . . . . . . 6
1.4 Duhamel’s principle . . . . . . . . . . . . . . . . . . . . . . . . 8

2 Explicit finite difference scheme 10


2.1 Finite difference quotients . . . . . . . . . . . . . . . . . . . . . 10
2.2 Explicit scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 Numerical experiments by Scilab . . . . . . . . . . . . . . . . . 14

3 Implicit finite difference schemes 23


3.1 Simple implicit scheme . . . . . . . . . . . . . . . . . . . . . . . 23
3.2 The implicit θ scheme . . . . . . . . . . . . . . . . . . . . . . . 26
3.3 Inhomogeneous problems . . . . . . . . . . . . . . . . . . . . . 27
3.4 Numerical experiments by Scilab . . . . . . . . . . . . . . . . . 29

4 Convergence and error estimates 34


4.1 ℓ∞ analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.2 ℓ2 analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.3 Numerical examples . . . . . . . . . . . . . . . . . . . . . . . . 42

5 Nonlinear problems 45
5.1 Semilinear diffusion equation . . . . . . . . . . . . . . . . . . . 45
5.2 Explicit scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.3 Implicit schemes . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.4 An example: Gray-Scott model . . . . . . . . . . . . . . . . . . 53

6 Complement for FDM 56


6.1 Non-homogeneous Dirichlet boundary condition . . . . . . . . . 56
6.2 Neumann boundary condition . . . . . . . . . . . . . . . . . . . 57
6.3 ℓ∞ analysis revisited . . . . . . . . . . . . . . . . . . . . . . . . 62

Problems and further readings 71


Problems for Chapter I . . . . . . . . . . . . . . . . . . . . . . . . . 71
Further readings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Chapter II. Finite element method for the Poisson equation 74

7 Variational approach for the Poisson equation 74


7.1 Dirichlet’s principle . . . . . . . . . . . . . . . . . . . . . . . . . 74
7.2 Galerkin’s approximation . . . . . . . . . . . . . . . . . . . . . 76

8 Finite element method (FEM) 77

9 Tools from Functional Analysis 83


9.1 Sobolev spaces . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
9.2 Lipschitz domain . . . . . . . . . . . . . . . . . . . . . . . . . . 85
9.3 Lemmas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

10 Weak solution and regularity 90


10.1 Weak formulation . . . . . . . . . . . . . . . . . . . . . . . . . . 90
10.2 Regularity of solutions . . . . . . . . . . . . . . . . . . . . . . . 91
10.3 Galerkin’s approximation and Céa’s lemma . . . . . . . . . . . 92

11 Shape-regularity of triangulations 94
11.1 Interpolation error estimates . . . . . . . . . . . . . . . . . . . 94
11.2 Proof of Lemma 11.1 . . . . . . . . . . . . . . . . . . . . . . . . 96

12 Error analysis of FEM 102

13 Numerical experiments using FreeFem++ 105


13.1 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
13.2 Convergence rates: regular solutions . . . . . . . . . . . . . . . 110
13.3 Convergence rates: singular solutions . . . . . . . . . . . . . . . 113

Problems and further readings 116


Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Further readings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

Chapter III. Abstract elliptic PDE and Galerkin method 118

14 Theory of Lax and Milgram 118

15 Galerkin approximation 121

16 Applications 123
16.1 Convection-diffusion equation . . . . . . . . . . . . . . . . . . . 123
16.2 Elliptic PDE of the second order . . . . . . . . . . . . . . . . . 126

Problems and further remark 129


Problems for Chapter III . . . . . . . . . . . . . . . . . . . . . . . . 129
Further remark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

References 133

4
Introduction. Modeling and analysis
The aim of this lecture is to give an introduction to the mathematical theory
of numerical methods for solving partial differential equations. To accomplish
this purpose, I shall concentrate my attention on the following two typical
topics:
1. the finite difference method for the one dimensional heat equation; and
2. the finite element method for the two dimensional Poisson equation.
I believe that they contain the core idea of numerical methods for PDEs.
Anyway, why does one study Numerical Analysis?

continuous variables

real world - mathematical model


(phenomena)  (differential equations)

flow around buildings 6


approximation (discretization)
numerical weather forecast
derivative (finance) ?
etc.
computational model
6
computer
?

data visualization

A partial answer (of mine) is as follows.


• Application of computer simulation of wide range phenomena is expand-
ing to life sciences, clinical medicine, economics, and other areas beyond
the limited fields of science and technology.
• That expansion is bringing about wide and useful information for use in
our life.
• The greater the degree to which computer simulations are used to address
complicated and large scale problems, the greater becomes the demand
to find solutions to their related mathematical problems.
• Actually, the process of simulation is not completed inside of a computer.
It encompasses processes of all kinds such as modeling of the targeted
phenomenon, mathematical analysis of the model, approximation and
discretization of differential equations, implementation of algorithms,
program writing, visualization of computer output, validation of simula-
tion by comparison with actual phenomena, and final evaluation of the
simulation reliability.

1
• All of these branches of processes are connected to the strong trunk of
mathematics.

• Summing up, numerical analysis demands the pursuit of mathematical


truth and contributes to society through mathematics simultaneously —
a quite rewarding activity.

Norikazu Saito
June 7, 2019

2
I. Finite difference method for the heat equation

1 Heat equation
1.1 Initial-boundary value problems
The heat equation (heat conduction equation) is a simple mathematical model
of the heat conduction phenomenon of a thin wire. The wire is assumed
to be the unit length. We suppose that a function u = u(x, t) denotes the
temperature of the wire at a position x ∈ [0, 1] and a time t ≥ 0.
The heat equation is expressed as

ut = kuxx + f (x, t),

where k is a positive constant, called the heat conduction coefficient, and


f (x, t) denotes the supply/absorption of heat. Moreover, we write as

∂u ∂2u
ut = , uxx = .
∂t ∂x2
This equation should be considered under one of the following boundary
conditions:

• Dirichlet boundary condition:

u(0, t) = b0 (t), u(1, t) = b1 (t),

where b0 (t) and b1 (t) are given functions;

• Neumann (flux) boundary condition:

−kux (0, t) = b0 (t), kux (1, t) = b1 (t),

where b0 (t) and b1 (t) are given functions;

• Robin boundary condition:

−kux (0, t) = α(u(0, t) − β), kux (1, t) = α(u(1, t) − β),

where α and β are given positive constants.

Moreover, we solve the equation together with the initial condition

u(x, 0) = a(x) (0 ≤ x ≤ 1),

where a(x) denotes a given continuous function in 0 ≤ x ≤ 1.


Our first target problems of this chapter are the initial-boundary value prob-
lems 

ut = kuxx (0 < x < 1, t > 0)
u(0, t) = 0, u(1, t) = 0 (t > 0) (1.1)


u(x, 0) = a(x) (0 ≤ x ≤ 1),

3
and 

ut = kuxx + f (x, t) (0 < x < 1, t > 0)
u(0, t) = 0, u(1, t) = 0 (t > 0) (1.2)


u(x, 0) = a(x) (0 ≤ x ≤ 1).
Hereinafter, we make the following assumptions:

• k > 0 is a constant;

• a ∈ C[0, 1] with the compatibly condition a(0) = a(1) = 0;

• f ∈ C((0, 1) × (0, ∞)).

Notation. For any subset Ω of Rn , we write as

C(Ω) = “the set of all continuous (real-valued) function defined in Ω”.

Moreover, we write as C[a, b] = C([a, b]) for abbreviation.

✓Remark. Problem (1.1) is a paticular case of Problem (1.2). We, however,


study these problems separately.

✓Remark. We will address only the homogeneous boundary condition

u(0, t) = 0, u(1, t) = 0.

If posing the inhomogeneous boundary condition

u(0, t) = b0 (t), u(1, t) = b1 (t)

instead of the homogeneous condition in (1.1) or (1.2), we can reduce the


problems to those of the form (1.2). In fact, set w(x, t) = b0 (t)(1 − x) + b1 (t)x
and consider a new unknown function v(x, t) = u(x, t)−w(x, t). Then, if u(x, t)
solves (1.2), the function v(x, t) satisfies vt − kvxx = f − (wt − kwxx ) = f − wt
and v(0, t) = v(1, t) = 0. Letting f˜(x, t) = f (x, t) − wt (x, t) and ã(x) =
a(x) − w(x, 0), we obtain the problem of the form (1.2) with f˜(x, t) and ã(x).
Thus, it suffices to consider only the homogeneous boundary condition.

Definition.
A function u = u(x, t) is a (classical) solution of (1.1) or (1.2) if and only if

1. u ∈ C([0, 1] × [0, ∞));

2. ut , ux , uxx ∈ C((0, 1) × (0, ∞));

3. The function u satisfies the heat equation ut = kuxx or ut = kuxx +f (x, t)


for all 0 < x < 1 and t > 0 together with the boundary condition
u(0, t) = u(1, t) = 0 for all t > 0;

4. lim ∥u(·, t) − a∥∞ = 0.


t→+0

4
Definition (L∞ norm).
For v ∈ C[0, 1], we let
∥v∥∞ = max |v(x)|,
x∈[0,1]

which we call the L∞ norm or maximum norm of v.

✓Remark. ∥ · ∥ = ∥ · ∥∞ is a norm of X = C[0, 1]. That is,


(N1) ∥v∥ ≥ 0 (v ∈ X). Moreover, ∥v∥ = 0 implies v ≡ 0;

(N2) ∥αv∥ = |α| · ∥v∥ (α ∈ R, v ∈ X);

(N3) ∥v + w∥ ≤ ∥v∥ + ∥w∥ (v, w ∈ X).

1.2 Uniqueness and maximum principle


For T > 0, we set

QT = (0, 1) × (0, T ],
QT = [0, 1] × [0, T ],
ΓT = {(x, t) | 0 ≤ x ≤ 1, t = 0} ∪ {(x, t) | x = 0, 1, 0 ≤ t ≤ T }
= QT \QT (parabolic boundary).

QT
ΓT

x
O 1

Figure 1.1: QT and ΓT .

Theorem 1.1.
Let T > 0 be fixed. Suppose that a function u = u(x, t) is continuous in QT
and smooth in QT . Then, we have the following.

(i) ut − kuxx ≤ 0 in QT implies max u(x, t) = max u(x, t).


(x,t)∈QT (x,t)∈ΓT

(ii) ut − kuxx ≥ 0 in QT implies min u(x, t) = min u(x, t).


(x,t)∈QT (x,t)∈ΓT

5
Proof. (i) Assume that ut − kuxx ≤ 0 in QT . Let α = max u(x, t) and set
(x,t)∈ΓT
w= e−t (u − α). Clearly, we have w(x, t) ≤ 0 for (x, t) ∈ ΓT . Hence, it suffices
to prove
w(x, t) ≤ 0 for (x, t) ∈ QT , (∗)
since this implies that u(x, t) ≤ α for (x, t) ∈ QT , which is the desired inequal-
ity.
Inequality (∗) is proved in the following way. We suppose that the function
w achieves its positive maximum µ at (x0 , t0 ) ∈ QT . Thus, we assume that

µ = w(x0 , t0 ) = max w(x, t) > 0.


(x,t)∈QT

Then, we have wt (x0 , t0 ) ≥ 0 and wxx (x0 , t0 ) ≤ 0. Since w satisfies wt + w −


kwxx ≤ 0 in QT , considering this inequality at x = x0 and t = t0 , we obtain

0 < wt (x0 , t0 ) + µ − kuxx (x0 , t0 ) ≤ 0.

This is a contradiction; we have proved (∗).


(ii) It is a consequence of (i), by considering −u instead of u itself.

Theorem 1.2.
Problem (1.1) (or (1.2)) has at most one solution.

Theorem 1.3.
The solution u of (1.1) satisfies the following:

(L∞ stability) ∥u(·, t)∥∞ ≤ ∥a∥∞ ;

(non-negativity) a(x) ≥ 0 ⇒ u(x, t) ≥ 0 for (x, t) ∈ [0, 1] × [0, ∞).

Proof of Theorems 1.2 and 1.3. They are readily obtainable consequences of
Theorem 1.1.
Theorem 1.4.
(positivity) a(x) ≥ 0, ̸≡ 0 ⇒ u(x, t) > 0 for (x, t) ∈ (0, 1) × (0, ∞).

Proof. See, for example, the following textbook


[9] L. C. Evans: Partial Differential Equations, 2nd edition, Amer-
ican Mathematical Society, 2010.

1.3 Construction of a solution and Fourier’s method


Our next task is to construct explicitly a solution of (1.1). To this end, we
apply Fourier’s method.
First, we assume that the solution u(x, t) of (1.1) is expressed as u(x, t) =
φ(x)η(t), where φ(x) and η(t) are, respectively, functions only on x and t.
Then, substituting them into the heat equation and the boundary condition,
we deduce

6
(i) −φ′′ (x) = λφ(x), φ(0) = φ(1) = 0;

(ii) −η ′ (t) = kλη(t).

The system (i) is nothing but the eigenvalue problem, and its solution is given
as
√ √ √
λn = (nπ)2 , φ(x) = 2 sin λn x = 2 sin(nπx) (n = 1, 2, . . .).

Herein, the coefficients of sine functions have been defined as


∫ 1 {
1 (n = m)
(φn , φm ) = φn (x)φm (x) dx =
0 0 (n ̸= m).

On the other hand, a solution of (ii) is given as η(t) = e−kλn t . Consequently,


functions
un (x, t) = e−kλn t φn (x) (n = 1, 2, . . .)
solve the heat equation with the boundary condition.
Then, we consider

∑ ∞

u(x, t) = αn un (x, t) = αn e−kλn t φn (x)
n=1 n=1

and find coefficients {αn }∞


n=1 to satisfy the initial condition. Setting t = 0 in
the expression above, we have


a(x) = αn φn (x).
n=1

Using the orthonormal property of φn (x), we obtain


√ ∫ 1
αm = (a, φm ) = 2 a(x) sin(mπx) dx.
0

Summing up, we get a solution of (1.1) as follows




u(x, t) = αn e−kλn t φn (x), αn = (a, φn ). (1.3)
n=1

However, the derivation above is somewhat formal and it should be justified.


Indeed, we can prove the following theorem.

Theorem 1.5.
The function defined by the right-hand side of (1.3) is continuous in [0, 1] ×
[0, ∞) and is of class C ∞ in [0, 1] × (0, ∞). Moreover, it is a solution of (1.1).

Proof. See Chapter 1 of

[12] 藤田宏,池部晃生,犬井鉄郎,高見穎郎:数理物理に現れる偏
微分方程式 I [岩波講座基礎数学,解析学 II-iv],岩波書店,1977 年.

7
✓Remark. The function defined by the right-hand side of (1.3) itself is
well-defined for a ∈ L2 (0, 1). Then, it is of class C ∞ in [0, 1] × (0, ∞), and it
satisfies the heat equation with the boundary condition. Moreover, the initial
condition is satisfied in the following sense;
∫ 1
lim |u(x, t) − a(x)|2 dx = 0.
t→+0 0

1.4 Duhamel’s principle


The solution of (1.1) could be expressed (at least formally) as


u(x, t) = (a, φn )e−kλn t φn (x),
n=1
∑∞ (∫ 1 )
= a(y)φn (y) dy e−kλn t φn (x)
n=1 0
∫ ( ∞
)
1 ∑
−kλn t
= a(y) e φn (y)φn (x) dy
0 n=1
∫ 1
= G(x, y, t) a(y) dy,
0

where


G(x, y, t) = e−kλn t φn (y)φn (x)
n=1

is the Green function associated with (1.1).


We recall that the Green function G(x, y, t) satisfies the following:

1. G(x, y, t) is of class C ∞ in [0, 1] × (0, ∞);

2. G(x, y, t) satisfies the heat equation ut = kuxx with the boundary con-
dition u(0, t) = u(1, t) = 0 as a function of both (x, t) and (y, t);

3. G(x, y, t) = G(y, x, t), G(x, y, t) ≥ 0;


∫ 1
4. G(x, y, t)dy ≤ 1.
0

For the proof of those facts, see Chapter 1 of [12] for example.

We now come to consider the heat equation with a source term:




ut = kuxx + f (x, t) (0 < x < 1, t > 0)
u(0, t) = 0, u(1, t) = 0 (t > 0) (1.2)


u(x, 0) = a(x) (0 ≤ x ≤ 1).

8
We are unable to apply Fourier’s method and need another device. We first
decompose u into u(x, t) = v(x, t) + w(x, t), where v(x, t) and w(x, t) are,
respectively, solutions of


vt = kvxx (0 < x < 1, t > 0)
v(0, t) = 0, v(1, t) = 0 (t > 0)


v(x, 0) = a(x) (0 ≤ x ≤ 1),


wt = kwxx + f (x, t) (0 < x < 1, t > 0)
w(0, t) = 0, w(1, t) = 0 (t > 0)


u(x, 0) = 0 (0 ≤ x ≤ 1).

We know that v(x, t) is expressed as


∫ 1
v(x, t) = G(x, y, t)a(y) dy.
0

To derive the expression of w(x, t), we introduce a parameter s > 0 and


suppose that W (x, t; s) solves


Wt = kWxx (0 < x < 1, t > s)
W (0, t) = 0, W (1, t) = 0 (t > s)


W (x, s; s) = f (x, s) (0 ≤ x ≤ 1).

Actually, W (s, t; s) is expressed as


∫ 1
W (x, t; s) = G(x, y, t − s)f (y, s) dy (0 ≤ x ≤ 1, t ≥ s).
0

At this stage, we define


∫ t
w(x, t) = W (x, t; s) ds
0

and this is actually the desired function. In fact, we have (formally)


∫ t
∂w ∂W
(x, t) = W (x, t; t) + (x, t; s) ds
∂t 0 ∂t
∫ t 2
∂ W ∂2w
= f (x, t) + k (x, t; s) ds = f (x, t) + k (x, t)
0 ∂x2 ∂x2

and w(x, t) satisfies the boundary and initial conditions.


Summing up, the solution of (1.2) is given as
∫ 1 ∫ t
u(x, t) = G(x, y, t)u0 (y) dy + W (x, t; s)ds
0 0
∫ 1 ∫ t∫ 1
= G(x, y, t)u0 (y) dy + G(x, y, t − s)f (y, s) dyds.
0 0 0

This expression is called Duhamel’s formula.

9
2 Explicit finite difference scheme
2.1 Finite difference quotients
Recall that the differentiation of a function u(x) at x = a is defined by

du u(a + h) − u(a)
u′ (a) = (a) = lim .
dx h→0 h
So, it is natural to expect that

u(a + h) − u(a)
u′ (a) ≈ (|h| ≪ 1).
h
Actually, letting I be a bounded closed interval containing a and a ± h for
h > 0, we have
1
u(a + h) = u(a) + u′ (a)h + u′′ (a + θh)h2
2
with some θ ∈ (0, 1) and, hence,


u (a) − u(a + h) − u(a) = 1 u′′ (a + θh)h ≤ 1 h∥u′′ ∥L∞ (I) . (2.1)
h 2 2

In the similar manner, we have


1
u(a − h) = u(a) − u′ (a)h + u′′ (a − θh)h2
2
and


u (a) − u(a) − u(a − h) = 1 u′′ (a − θh)h ≤ 1 h∥u′′ ∥L∞ (I) . (2.2)
h 2 2

On the other hand, using


1 1 (3)
u(a + h) = u(a) + u′ (a)h + u′′ (a)h2 + u (a + θ1 h)h3 ,
2 3!
1 1 (3)
u(a − h) = u(a) − u′ (a)h + u′′ (a)h2 − u (a − θ2 h)h3
2 3!
with some θ1 , θ2 ∈ (0, 1), we can estimate as

′ u(a + h) − u(a − h)
u (a) −
2h

1 (3) 1 (3) 1
≤ 2
u (a + θ1 h)h + 2
u (a − θ2 h)h ≤ h2 ∥u(3) ∥L∞ (I) .
2 · 3! 2 · 3! 6

Now, we propose a redefinition h = h/2 and obtain



u(a + h2 ) − u(a − h2 )
′ 1
u (a) − ≤ h2 ∥u(3) ∥L∞ (I) .
h 24

10
Name Definition Target Accuracy Assum.

u(a + h) − u(a)
forward Euler u′ (a) O(h) u ∈ C2
h

u(a) − u(a − h)
backward Euler u′ (a) O(h) u ∈ C2
h

u(a + h
) − u(a − h
)
first order central difference 2 2
u′ (a) O(h2 ) u ∈ C3
h

u(a + h) − 2u(a) + u(a − h)


second order central difference u′′ (a) O(h2 ) u ∈ C4
h2
O(h) u ∈ C3

Table 2.1: finite difference quotients

Next, we consider the second derivatives. Thus, using


1 1 (3) 1 (4)
u(a + h) = u(a) + u′ (a)h + u′′ (a)h2 + u (a)h3 + u (a + θ1 h)h4 ,
2 3! 4!
1 1 (3) 1 (4)
u(a − h) = u(a) − u (a)h + u′′ (a)h2 −

u (a)h3 + u (a − θ2 h)h4
2 3! 4!
with some θ1 , θ2 ∈ (0, 1), we can perform the estimation

′′
u (a) − u(a − h) − 2u(a) + u(a + h)
h2

1 (4) 1 (4) 1
≤ u (a + θ1 h)h + u (a − θ2 h)h ≤ h2 ∥u(4) ∥L∞ (I) . (2.3)
2 2
4! 4! 12
We summarize those finite difference quotients in Table 2.1.

2.2 Explicit scheme


We return to the initial-boundary value problem for the heat equation


ut = kuxx (0 < x < 1, t > 0)
u(0, t) = u(1, t) = 0 (t > 0) (1.1)


u(x, 0) = a(x) (0 ≤ x ≤ 1),

where k > 0 is a constant and a(x) is a continuous function satisfying a(0) =


a(1) = 0.
We introduce a set of grid points

Qτh = {(xi , tn ) | xi = ih, tn = nτ (0 ≤ i ≤ N + 1, n ≥ 0)},


1
where h = with a positive integer N and τ > 0. We remark that x0 = 0
N +1
and xN +1 = 1. Moreover, let us denote by uni an approximate value of u(xi , tn )
to be solved.

11
t
h
t3
τ
t2
t1
x
x1 x2 xN xN+1

Figure 2.1: Qτh .

As examined in the previous paragraph, ut and uxx are approximated by

un+1 − uni
ut (xi , tn ) ≈ i
(forward Euler) and
τ
uni−1 − 2uni + uni+1
uxx (xi , tn ) ≈ (second order central difference).
h2
The boundary and initial conditions are computed by

un0 = unN +1 = 0 (n ≥ 1) and


u0i = a(xi ) (0 ≤ i ≤ N + 1).

Thus, we arrive at a finite difference scheme to (1.1) as follows:


 n+1
 u − uni un − 2uni + uni+1
 i
 = k i−1 (1 ≤ i ≤ N, n ≥ 0)
τ h2
n n (n ≥ 1) (2.4)


u0 = uN +1 = 0
 0
ui = a(xi ) (0 ≤ i ≤ N + 1).

We call this the explicit finite difference scheme (simply, explicit scheme) to
(1.1).
Set, throughout this chapter,
τ
λ=k .
h2
It is useful to rewrite (2.4) as

u(n) = Kλ u(n−1) (n ≥ 1), u(0) = a, (2.4)

12
where
   
un1 a(x1 )
   
u(n) =  ...  ∈ RN , a =  ...  ∈ RN ,
unN a(xN )
 
1 − 2λ λ
 λ 1 − 2λ λ
0 
 
 .. .. 
Kλ = 
 . .  ∈ RN ×N .
 (2.5)
 .. .. 
 . . 
0 λ 1 − 2λ

Definition.
(i) The vector ∞ norm is defined by

∥u∥∞ (= ∥u∥ℓ∞ ) = max |ui | (u = (ui ) ∈ RN )


1≤i≤N

(ii) The matrix ∞ norm is defined by

∥Gu∥∞
∥G∥∞ = max (G ∈ RN ×N ).
u∈RN ∥u∥∞

Lemma 2.1.
For G = (gij ) ∈ RN ×N , we have

(i) ∥Gu∥∞ ≤ ∥G∥∞ ∥u∥∞ (u ∈ RN );


N
(ii) ∥G∥∞ = max |gij |.
1≤i≤N
j=1

Proof. (i) It is obvious from the definition.


∑N
(ii) Set M = max |gij |. Let u ∈ RN be arbitrary. Then,
1≤i≤N
j=1

∑ ∑
n N
∥Gu∥∞ = max gij uj ≤ max |gij | · |uj |
1≤i≤N 1≤i≤N j=1
j=1

n
≤ ∥u∥∞ max |gij | = M ∥u∥∞ .
1≤i≤N
j=1

Hence, we have ∥G∥∞ ≤ M .



n
Next, we suppose M = |gkj |. We define v = (vj ) by setting
j=1
{
1 (gkj ≥ 0)
vj =
−1 (gkj < 0).

13
Then, we have ∥v∥∞ = 1 and gkj vj ≥ 0 for any j. Therefore, we can estimate
as

N
∥Gu∥∞ ∥Gv∥∞ ∑
∥G∥∞ = max ≥ = ∥Gv∥∞ = max gij vj
u∈RN ∥u∥∞ ∥v∥∞ 1≤i≤N
j=1

N
∑ ∑ N ∑N
≥ gkj vj = |gkj | = max |gij | = M.
j=1 j=1 1≤i≤N
j=1

Combining those inequalities, we obtain ∥G∥∞ = M .

Definition.
def.
(i) For u = (ui ) ∈ RN , u ≥ 0 ⇐⇒ ui ≥ 0 (∀i).
def.
(ii) For G = (gij ) ∈ RN ×N , G ≥ O ⇐⇒ gij ≥ 0 (∀i, j).

Theorem 2.2.
Assume that
1
(0 <)λ ≤ .
2
Then, the solution u(n) = (ui ) ∈ RN of (2.4) satisfies, for n ≥ 1,

(ℓ∞ stability) ∥u(n) ∥∞ ≤ ∥a∥∞ ;

(non-negativity) a≥0 ⇒ u(n) ≥ 0.

Proof. We have Kλ ≥ O by 1−2λ ≥ 0. Hence, a ≥ 0 implies u(n) = Kλn a ≥ 0.


On the other hand, by Lemma 2.1,

∥Kλ ∥∞ = |λ| + |1 − 2λ| + |λ| = λ + (1 − 2λ) + λ = 1.

Therefore, ∥u(n) ∥∞ ≤ ∥Kλ ∥n∞ ∥a∥∞ ≤ ∥a∥∞ .

2.3 Numerical experiments by Scilab


It is not difficult to implement the explicit scheme (2.4). Here, we present
several sample codes of Scilab. 1
A simple code for calculating the explicit scheme (2.4) is given below (Listing
1, heat11.sci):

Listing 1: heat11.sci
// *** explicit scheme for heat equation without source ***
// INPUTS:
1
It is explained in Wikipedia as follows: Scilab is an open source, cross-platform numerical
computational package and a high-level, numerically oriented programming language. It
can be used for signal processing, statistical analysis, image enhancement, fluid dynamics
simulations, numerical optimization, and modeling, simulation of explicit and implicit
dynamical systems and (if the corresponding toolbox is installed) symbolic manipulations.
MATLAB code, which is similar in syntax, can be converted to Scilab. Scilab is one of
several open source alternatives to MATLAB. (http://en.wikipedia.org/wiki/Scilab)

14
// N: division of space, lambda: parameter (<= 0.5),
// Tmax: length of time inverval
// coef: heat conduction coefficient
function heat11(N, lambda, Tmax, coef)
// [a, b]: space interval, u(a, t) = ua, u(b, t) = ub: boundary values
a = 0.0; b = 1.0; ua = 0.0; ub = 0.0;
// h: space mesh, x[ ]: vector for computation, xx[ ]: vector for
drawing
h = (b - a)/(N + 1); x = [a + h: h: b - h]’; xx = [a; x; b];
// tau: time increment, nmax: nmax*tau < Tmax <= (nmax+1)*tau
tau = lambda*h*h/coef; nmax = int(Tmax/tau) + 1;
// step: parameter for drawing
step_num = 40; step = max(int(nmax/step_num), 1);
// u: approximation of u(x, t), uu: vector for drawing
// set initial value
u = func_a(x); uu = [ua; u; ub];
scf(1); plot2d(xx, uu, style = 5);
// def of matrices A and K
A = 2*eye(N, N)-diag(ones(N-1 , 1), -1)-diag(ones(N-1 , 1), 1);
K = eye(N, N) - lambda*A;
// iteration
for n = 1:nmax
u = K*u;
if modulo(n, step)==0
uu = [ua; u; ub]; plot2d(xx, uu, style = 2);
end
end
// label for scf(1)
xlabel(’x’); ylabel(’u’);
// pdf file
xs2pdf(1,’heat11.pdf’);
endfunction
// *** local function ***
// Initial values
function [y] =func_a(x)
y=min(x, 1.0 - x);
//=x.*sin(3*%pi*x).*sin(3*%pi*x);
//y=sin(%pi*x);
endfunction

The definitions of variables used above are given below:

variable definition variable definition


N N h h = 1/(N + 1)
Tmax T coef k
a left side of x-interval= 0 b right side of x-interval = 1
ua boundary value at x = a ub boundary value at x = b
tau τ nmax [T /τ ] + 1
lambda λ = kτ /h2
x x = (x1 , . . . , xN ) xx x̃ = (x0 , x1 , . . . , xN , xN +1 )
u u(n) = (un1 , . . . , unN ) uu ũ = (un0 , un1 , . . . , unN , unN +1 )

After running Scilab, we use heat11.sci in the following manner (see Fig.
2.2):

15
In Scilab Window:
--> exec(’heat11.sci’);
--> heat_ex1(63, 0.5, 0.2, 1)

Figure 2.2: Results of computation. (left) a(x) = x sin2 (3πx) (right) a(x) =
sin(πx).

More sophisticated codes (Listing 2, heat12.sci and Listing 3, heat13.sci)


are given below. We can get Fig. 2.3 and 2.4 using heat12.sci and heat13.sci,
respectively, however, skip the explanation.

Listing 2: heat12.sci
// *** explicit scheme for heat equation without source ***
// INPUTS:
// N: division of space, lambda: parameter (<= 0.5),
// Tmax: length of time inverval
// coef: heat conduction coefficient
function heat12(N, lambda, Tmax, coef)
// [a, b]: space interval, u(a, t) = ua, u(b, t) = ub: boundary values
a = 0.0; b = 1.0; ua = 0.0; ub = 0.0;
// h: space mesh, x[ ]: vector for computation, xx[ ]: vector for
drawing
h = (b - a)/(N + 1); x = [a + h: h: b - h]’; xx = [a; x; b];
// tau: time increment, nmax: nmax*tau < Tmax <= (nmax+1)*tau
tau = lambda*h*h/coef; nmax = int(Tmax/tau) + 1;
// step: parameter for drawing
step_num = 40; step = max(int(nmax/step_num), 1);
// u: approximation of u(x, t), uu: vector for drawing
// set initial value
u = func_a(x); uu = [ua; u; ub];
// draw initial value
scf(1); plot2d(xx, uu, style = 5);
// def of matrices A and K
A = 2*eye(N, N)-diag(ones(N-1 , 1), -1)-diag(ones(N-1 , 1), 1);
K = eye(N, N) - lambda*A;
// set current time
tnow = 0.0;
// for 3D plot
tsp=tnow*ones(1,N); xsp=x.’; Z=u’;
// iteration
for n = 1:nmax
u = K*u + tau*func_f(x, tnow);

16
tnow = n*tau;
if modulo(n, step)==0
uu = [ua; u; ub]; plot2d(xx, uu, style = 2);
tsp=[tsp;tnow*ones(1,N)]; xsp=[xsp;x’];
Z=[Z;u’];
end
end
// label for scf(1)
xlabel(’x’); ylabel(’u’);
// 3D view
scf(2); mesh(xsp,tsp,Z);
xset(’colormap’,coolcolormap(32));
xlabel(’x’); ylabel(’time’);
// pdf file
xs2pdf(1,’heat12a.pdf’); xs2pdf(2,’heat12b.pdf’);
endfunction
// *** local functions ***
// Initial values
function [y] =func_a(x)
y=min(x, 1.0 - x);
// y=x.*sin(3*%pi*x).*sin(3*%pi*x);
// y=sin(%pi*x);
// I = find(x<=0.3); J = find(x>0.3 & x<=0.6); K = find(x>0.6);
// y = zeros(size(x,1)); y(I) = 0.3; y(J) = -2*(x(J) - 0.6); y(
K) = 0.6;
endfunction
// sorce terms
function [y] = func_f(x, t)
y=0.0;
//y=exp(t+3)*(x.^2).*(1-x);
endfunction

Figure 2.3: A result of computation by heat12.sci

Listing 3: heat13.sci
// *** explicit scheme for heat equation with source ***
function heat13(N, lambda, Tmax, coef)
a = 0.0; b = 1.0; ua = 0.0; ub = 0.0;
h = (b - a)/(N + 1); x = [a + h: h: b - h]’; xx = [a; x; b];
tau = lambda*h*h/coef; nmax = int(Tmax/tau) + 1;
step_num = 30; step = max(int(nmax/step_num), 1); rate = 0.05;
u = func_a(x); uu = [ua; u; ub]; tt = 0.0*ones(N+2,1);
//scf() a new window for drawing,
scf(10);
set(’current_figure’,10); HF = get(’current_figure’); set(HF, ’
figure_size’,[800, 400]);
utp = max(uu) + rate*(max(uu)-min(uu)); ubt = min(uu) - rate*(max(uu)-
min(uu));

17
subplot(1,2,1); plot2d(xx, uu, style = 5);
subplot(1,2,2); param3d(xx, tt, uu, flag=[1,4], ebox=[min(xx),max(xx)
,-0.001,Tmax,ubt,utp]);
// def of matrices A and K
A = 2*eye(N, N)-diag(ones(N-1 , 1), -1)-diag(ones(N-1 , 1), 1);
K = eye(N, N) - lambda*A;
// iteration
tpast = 0.0;
for n = 1:nmax
u = K*u + tau*func_f(x, tpast); // tpast = t_{n-1}
tnow = n*tau; // tnow = t_n
if modulo(n, step)==0
uu = [ua; u; ub];
tt = tnow*ones(N+2,1);
utp = max(uu) + rate*(max(uu)-min(uu)); ubt = min(uu) - rate*(
max(uu)-min(uu));
subplot(1,2,1); plot2d(xx, uu, style = 2);
subplot(1,2,2);
param3d(xx, tt, uu,-45,65,flag=[1,4], ebox=[min(xx),max(xx),min(
tt),max(tt),ubt,utp]);
end
tpast = tnow;
end
// label
subplot(1,2,1); xlabel(’x’); ylabel(’u’);
subplot(1,2,2); xlabel(’x’); ylabel(’t’); zlabel(’u’);
// pdf file
xs2pdf(10,’heat13.pdf’);
endfunction
// *** local functions ***
// Initial values
function [y] =func_a(x)
//y=min(x, 1.0 - x);
y=x.*sin(3*%pi*x).*sin(3*%pi*x);
//y=sin(%pi*x);
//I = find(x<=0.3); J = find(x>0.3 & x<=0.6); K = find(x>0.6);
// y = zeros(size(x,1)); y(I) = 0.3; y(J) = -2*(x(J) - 0.6); y(K) =
0.6; //
endfunction
// sorce terms
function [y] = func_f(x, t)
//y=0.0;
y=exp(t+3)*(x.^2).*(1-x);
endfunction

⋆Example 2.3. We are going to examine the explicit scheme with the aid
of Scilab. Assuming k = 1, we consider the initial-boundary value problem
(1.1) and its explicit scheme (2.4) with the following four initial functions


0.3 (0 ≤ x ≤ 0.3)
2
a1 (x) = x sin (3πx), a2 (x) = −2(x − 0.6) (0.3 < x ≤ 0.6)


0.6 (0.6 < x ≤ 0.3),
{
x (0 ≤ x ≤ 1/2)
a3 (x) = a4 (x) = sin(πx).
1 − x (1/2 < x ≤ 1),

• In Figures 2.5, 2.6 and 2.7, numerical solutions u(n) for a1 (x), a2 (x), and
a3 (x), respectively, are displayed.

18
Figure 2.4: A result of computation by heat13.sci

• It should be noticed that a2 (x) is discontinuous and a3 (x) is not differ-


entiable at x = 1/2. But, we observe that for tn > 0 both numerical
solutions actually approximate smooth functions.

• Figures 2.8 and 2.9 are numerical solutions for a3 (x) with λ = 0.51 >
1/2. In this case, since we cannot apply Theorem 2.2, the ℓ∞ stability
and the non-negativity conservation are not guaranteed. In fact, a non-
physical oscillation appears (Fig. 2.8) and then negative part of solutions
appears (Fig. 2.9). Moreover, we observe the following. A positive part
of solutions at some tn > 0 becomes negative at the next time step
tn+1 . And, then, it becomes positive again at the next time step tn+2 .
This change of the sign occurs successively and, consequently, numerical
solution is violated.

• On the other hand, we take λ = 0.51 again and compute the explicit
scheme for a4 (x) (Fig. 2.10). Then, we do not observe the oscillation.
However, if we take a larger λ, then the oscillation actually appears again
(Fig. 2.11).

19
Figure 2.5: Initial value a1 (x); λ = 0.49; N = 127; 0 ≤ t ≤ 0.1.

Figure 2.6: Initial value a2 (x); λ = 0.49; N = 127; 0 ≤ t ≤ 0.1.

Figure 2.7: Initial value a3 (x); λ = 0.49; N = 23; 0 ≤ t ≤ 0.3.

20
Figure 2.8: Initial value a3 (x); λ = 0.51 ; N = 23; 0 ≤ t ≤ 0.1.

Figure 2.9: Initial value a3 (x); λ = 0.51 ; N = 23; 0 ≤ t ≤ 0.15.

Figure 2.10: Initial value a4 (x); λ = 0.51 ; N = 23; 0 ≤ t ≤ 0.3.

21
Figure 2.11: Initial value a4 (x); λ = 0.55 ; N = 23; 0 ≤ t ≤ 0.212.

22
3 Implicit finite difference schemes
3.1 Simple implicit scheme
We continue to study finite difference schemes to approximate the initial-
boundary value problem for the heat equation with no source term;


ut = kuxx (0 < x < 1, t > 0)
u(0, t) = u(1, t) = 0 (t > 0) (1.1)


u(x, 0) = a(x) (0 ≤ x ≤ 1).

We recall that k > 0 is a constant and that a(x) is a continuous function


satisfying a(0) = a(1) = 0.
We now take
uni − un−1
ut (xi , tn ) ≈ i
(backward Euler)
τ
as an approximation of ut (xi , tn ). The resulting scheme reads as
 n
 ui − un−1 un − 2uni + uni+1


i
= k i−1 (1 ≤ i ≤ N, n ≥ 1)
τ h2
n n (n ≥ 1) (3.1)


u0 = uN +1 = 0
 0
ui = a(xi ) (0 ≤ i ≤ N + 1).

It is equivalently written as
1 (n) k
{u − u(n−1) } = − 2 Au(n) (n ≥ 1), u(0) = a,
τ h
where  
2 −1 0  
 .. .. 0  un1
 . .   
   un2 
A=
 −1 2 −1 ,
 u(n) =  .. . (3.2)
 .. ..   . 
 . . 
unN
0 −1 2
Moreover, we set
 
1 + 2λ −λ 0
 . . 0 
 .. .. 
 
Hλ = I + λA = 
 −λ 1 + 2λ −λ 
 (3.3)
 .. .. 
 . . 
0 −λ 1 + 2λ

with λ = kτ /h2 . Then, (3.1) can be rewritten as

Hλ u(n) = u(n−1) (n ≥ 1), u(0) = a. (3.1)

According to this expression, we successively obtain u(1) , u(2) , · · · by solving


the linear system (3.1) with the initial vector u(0) . We call (3.1) the implicit

23
finite difference scheme (or, simply, implicit scheme), because the solution is
determined by solving the system of equations. (We note that the recursive
formula (2.4) is called the explicit scheme.) As described below, there are many
implicit schemes. So, (3.1) is sometimes called the simple implicit scheme to
distinguish it with other implicit schemes.
The simple implicit scheme has fine mathematical properties. Thus, we have
the following result.

Theorem 3.1.
For any λ > 0 and n ≥ 1, there exists a solution u(n) = (uni ) ∈ RN of the
simple implicit scheme (3.1) with properties

(ℓ∞ stability) ∥u(n) ∥∞ ≤ ∥a∥∞ for n ≥ 1; and

(positivity) a ≥ 0, ̸= 0 ⇒ u(n) > 0 for n ≥ 1.

The key point is to examine the matrix Hλ very carefully.

Lemma 3.2.
The matrix Hλ defined by (3.3) is non-singular. Moreover, Hλ−1 > O and
∥Hλ−1 ∥∞ ≤ 1.

The proof of this lemma depends on the following lemma.

Lemma 3.3.
If G ∈ RN ×N satisfies ∥G∥ < 1 for a norm ∥ · ∥ of RN , then we have the
following:

(i) The matrix I − G is non-singular;




(ii) (I − G)−1 = Gl ;
l=0

1
(iii) ∥(I − G)−1 ∥ ≤ .
1 − ∥G∥

Proof. (i) We argue by contradiction. Thus, we assume that I − G is singular


so that there exists u ̸= 0 satisfying (I − G)u = 0 and, hence, Gu = u. This
implies ∥u∥ ≤ ∥G∥ · ∥u∥ and ∥G∥ ≥ 1, which is impossible. Hence, we have
verified that I − G is non-singular.
(ii) We have
(I − G)(I + G + · · · + Gm ) = I − Gm+1 .
Thus,

m
Gl = (I − G)−1 (I − Gm+1 ).
l=0

24
Therefore,


m [ ]
l
−1
(I − G) − G = (I − G)−1 I − (I − Gm+1 )

l=0
≤ ∥(I − G)−1 ∥ · ∥G∥m+1 → 0 (m → ∞).


−1
This gives (I − G) = Gl .
l=1
(iii) Noting

(I − G)(I − G)−1 = I ⇔ (I − G)−1 = I + G(I − G)−1

we obtain
1
∥(I − G)−1 ∥ ≤ ∥I∥ + ∥G∥ · ∥(I − G)−1 ∥ ⇔ ∥(I − G)−1 ∥ ≤ .
1 − ∥G∥

Proof of Lemma 3.2. We first observe


 −λ 
1 1+2λ
 .. .. 
 . . 
 
Hλ = (1 + 2λ)   −λ −λ
1 1+2λ 
1+2λ 
 .. .. 
 . . −λ 
1+2λ
−λ
1+2λ 1
 
0 1
 .. .. 
 . . 
λ  

.
= (1 + 2λ) (I − G) with G= 1 0 1
1 + 2λ 
 .. ..


 . . 1 
1 0

λ
Since ∥G∥∞ = · 2 < 1, we can apply Lemma 3.3 to obtain
1 + 2λ

1 1 ∑ l
Hλ−1 = (I − G)−1 = G,
1 + 2λ 1 + 2λ
l=0
1
∥Hλ−1 ∥∞ = ∥(I − G)−1 ∥∞
1 + 2λ
1 1 1 1
≤ · = · = 1.
1 + 2λ 1 − ∥G∥∞ 1 + 2λ 1 − 1+2λ

It remains to show Hλ−1 > O. To do so, it suffices to verify (I − G)−1 > O.


Because of G ≥ O, we have (I − G)−1 ≥ O. We argue by contradiction to
show G > O. That is, we assume that there is a zero component of the jth
column v = (vi ) of (I − G)−1 . We note that we cannot have v = 0 since I − G

25
is non-singular. Thus, v ≥ 0, ̸= 0. Without loss of generality, we suppose that
vk = 0 and vk+1 > 0. Then, noting that (I − G)v = ej = (δij ) ≥ 0, the kth
component of v is
λ λ
− vk−1 + vk − vk+1 ≥ 0 ⇔ −vk−1 ≥ vk+1 .
1 + 2λ 1 + 2λ
Hence, we have vk−1 < 0 which implies a contradiction. Therefore, we have
verified (I − G)−1 > O.

Now, we can state the following proof.

Proof of Theorem 3.1. It is a readily obtainable consequence of Lemma 3.2.


Thus,

∥u(n+1) ∥∞ = ∥Hλ−1 u(n) ∥∞ ≤ ∥Hλ−1 ∥∞ ∥u(n) ∥∞ ≤ ∥u(n) ∥∞ ,

and
u(n) ≥ 0 ⇒ u(n+1) = Hλ−1 u(n) > 0.

3.2 The implicit θ scheme


We recall that the explicit and simple implicit schemes for (1.1) are given as

i−1 − 2ui
un−1 n−1
uni − un−1
i
+ un−1
i+1
= k
τ h2
uni − un−1 un − 2uni + uni+1
i
= k i−1 .
τ h2
At this stage, as an approximation of (1.1), we consider their average with
weight θ ∈ [0, 1];

i−1 − 2ui
un−1 n−1

 uni − un−1 + un−1


i
= (1 − θ)k i+1

 τ h 2

 un − 2uni + uni+1
+θk i−1 (1 ≤ i ≤ N, n ≥ 1) (3.4)

 h2



 un = un = 0 (n ≥ 1)

 0
0 N +1
ui = a(xi ) (0 ≤ i ≤ N + 1).

This is called the implicit θ finite difference scheme or implicit θ scheme.


Setting λ = kτ /h2 and θ′ = 1−θ, we can rewrite the first and second equalities
as
1 (n) θ′ k θk
{u − u(n−1) } = − 2 Au(n−1) − 2 Au(n) .
τ h h
Thus, (3.4) is equivalently expressed as

Hθλ u(n) = Kθ′ λ u(n−1) (n ≥ 1), u(0) = a. (3.4)

26
Here,
 
1 + 2θλ −θλ 0
 . 0 
 . . 
 
Hθλ = I + θλA =   −θλ 1 + 2θλ −θλ ,
 (3.5)
 .. 
 . 
0 −θλ 1 + 2θλ
 ′ ′

1 − 2θ λ θ λ 0
 . 0 
 .. 
 
Kθ′ λ = I − θ′ λA = 
 θ′ λ 1 − 2θ′ λ θ′ λ .
 (3.6)
 .. 
 . 
0 θ λ 1 − 2θ′ λ

We remark that (3.4) coincides with the explicit and simple implicit schemes
when θ = 0 and θ = 1, respectively.
The cases θ = 0 and θ = 1 have been described in Theorems 2.2 and 3.1.
We here deal with only the case 0 < θ < 1.
Theorem 3.4.
Assume that
0 < θ < 1, 1 − 2(1 − θ)λ ≥ 0. (3.7)
Then, for any n ≥ 1, there exists a unique solution u(n) = (uni ) ∈ RN of (3.4)
with properties

(ℓ∞ stability) ∥u(n) ∥∞ ≤ ∥a∥∞ ;

(non-negativity) a≥0 ⇒ u(n) ≥ 0;

(positivity) a ≥ 0, ̸= 0 ⇒ u(n) > 0.

Proof. Under the assumption (3.7), Hθλ is non-singular as is verified in the


−1 −1
proof of Lemma 3.2. Moreover, we have Hθλ > O and ∥Hθλ ∥∞ ≤ 1 by Lemma
3.2. We also have Kθ λ ≥ 0 and ∥Kθ λ ∥∞ = 1. Hence,
′ ′

−1
∥u(n+1) ∥∞ = ∥Hθλ Kθ′ λ u(n) ∥∞ ≤ ∥u(n) ∥∞ .
Next, assuming that a ≥ 0, ̸= 0, we have Kθ′ λ a ≥ 0, ̸= 0. Therefore, u(1) =
−1
Hθλ Kθ′ λ a > 0 and, consequently, u(n) > 0 for n ≥ 1.

✓Remark. The case θ = 1/2 is called the Crank-Nicolson scheme.

3.3 Inhomogeneous problems


We come to consider the initial-boundary value problem with a source term:


ut = kuxx + f (x, t) (0 < x < 1, t > 0)
u(0, t) = u(1, t) = 0 (t > 0) (1.2)


u(x, 0) = a(x) (0 ≤ x ≤ 1),

27
where f (x, t) is a given continuous function that represents a supply/absorp-
tion of heat.
The explicit scheme reads as
 n+1
 u − uni un − 2uni + uni+1
 i
 = k i−1 + f (xi , tn ) (0 < i < N, n ≥ 0)
τ h2
un0 = unN +1 = 0 (n ≥ 1)

 0
ui = a(xi ) (0 ≤ i ≤ N + 1).
τ
We set λ = k and
h2  
f (x1 , tn )
 f (x2 , tn ) 
 
f (n) = .. .
 . 
f (xN , tn )
Since the first and second equalities could be expressed as
1 (n+1) k
{u − u(n) } = − 2 Au(n) + f (n) ,
τ h
the explicit scheme is equivalently written as

u(n) = Kλ u(n−1) + τ f (n−1) (n ≥ 1), u(0) = a,

where Kλ is defined as (2.5).


On the other hand, the simple implicit scheme reads as
 n
 ui − un−1 uni−1 − 2uni + uni+1


i
= k + f (xi , tn ) (0 < i < N, n ≥ 0)
τ h2
un0 = unN +1 = 0 (n ≥ 1)

 0
ui = a(xi ) (0 ≤ i ≤ N + 1),

or, equivalently,

Hλ u(n) = u(n−1) + τ f (n) (n ≥ 1), u(0) = a,

where Hλ is defined as (3.3).


Finally, the implicit θ scheme reads as

Hθλ u(n) = Kθ′ λ u(n−1) + τ {(1 − θ)f (n−1) + θf (n) } (n ≥ 1),


| {z }
=f (n−1+θ)

u(0) = a, (3.8)

where Hθλ and Kθ′ λ are those defined by (3.5) and (3.6), respectively.

28
Theorem 3.5.
Assume that
0 ≤ θ ≤ 1, 2(1 − θ)λ ≤ 1.
Then, for any n ≥ 1, there exists a unique solution u(n) = (uni ) ∈ RN of (3.8)
that satisfies the following.

n
(ℓ∞ stability) ∥u(n) ∥ ∞ ≤ ∥a∥∞ + τ ∥f (l−1+θ) ∥∞ ;
l=1

(positivity)
θ ̸= 0, a ≥ 0, ̸= 0, f (l) ≥ 0 (0 ≤ l ≤ n) ⇒ u(n) > 0;

(non-negativity)
θ = 0, a ≥ 0, f (l) ≥ 0 (0 ≤ l ≤ n − 1) ⇒ u(n) ≥ 0.

Proof. It is done in the similar way as that of Theorem 3.4.

3.4 Numerical experiments by Scilab


As is seen in the previous paragraphs, we often meet a system of linear equa-
tions of the form

Hθλ u(n) = Kθ′ λ u(n−1) + τ f (n−1+θ) ,


|{z} | {z }
=H =g (n)

where a tri-diagonal matrix H ∈ RN ×N is defined as


 
1 + 2µ −µ 0
 .. 0 
 . 
 
H=  −µ 1 + 2µ −µ , µ = (1 − θ)λ.

 .. 
 . 
0 −µ 1 + 2µ

Lemma 3.6.
If G = (gij ) ∈ RN ×N is a strictly diagonally dominant matrix, i.e.,


N
|gii | > |gij | (1 ≤ i ≤ N ),
j=1,j̸=i

then G is non-singular and admits an LU factorization (without pivoting).

Proof. See, for example, Chapter 2 of [35].

Since H above is a strictly diagonally dominant matrix, we can apply Lemma


3.6 to obtain a unique LU factorization
{
L: the unit lower triangular matrix,
H = LU with
U : the upper triangular matrix.

29
From this, we have
{
Lc(n) = g (n)
Hu(n) = g (n) ⇔
U u(n) = c(n) .

Thus, the implicit θ scheme is computed by the following steps:

• LU factorization. H is decomposed as H = LU ;

• For n = 1, 2, . . .,
Forward elimination Find c(n) by solving Lc(n) = g (n) ,
Backward substitution find u(n) by solving U u(n) = c(n) .

This procedure is done in Scilab as follows:

In Scilab Window:
// def of example
--> A = [3, -1, 0; 1, 4, 2; 1, 1, 3];
--> b = [1,2,3]’;
// LU factorization
--> [L, U] = lu(A)
U =
3. - 1. 0.
0. 4.3333333 2.
0. 0. 2.3846154
L =
1. 0. 0.
0.3333333 1. 0.
0.3333333 0.3076923 1.
// Solve Ly = b
--> y = L\b
y =
1.
1.6666667
2.1538462
// Solve Ux = y
--> x = U\y
x =
0.3225806
- 0.0322581
0.9032258
// Check the residual
--> norm(b-A*x)
ans =
0.

30
Moreover, the LU factorization for sparse matrices is available (the matrix
H above is a sparse matrix!);

In Scilab Window>>>
// def of example
--> m = 10;
--> A = 2*eye(m,m)-diag(ones(m-1,1),-1)-diag(ones(m-1,1),1);
--> b = [1:1:10]’;
// redefinition of A as a sparse matrix
--> As = sparse(A);
// LU factorization for a space matrix
--> [Lh, rk] = lufact(As);
--> x=lusolve(Lh, b)
x =
20.
39.
56.
70.
80.
85.
84.
76.
60.
35.
--> norm(b-A*x)
ans =
3.178D-14

The following Listing 4 (heat23.sci) is a Scilab code for computing the


implicit θ scheme (3.8). An example of computations is given in Fig. 3.1.

Listing 4: heat23.sci
// *** implicit theta scheme for heat equation with source ***
function heat23(N, lambda, theta, Tmax, coef)
a = 0.0; b = 1.0; ua = 0.0; ub = 0.0;
h = (b - a)/(N + 1); x = [a + h: h: b - h]’; xx = [a; x; b];
tau = lambda*h*h/coef; nmax = int(Tmax/tau) + 1;
step_num = 30; step = max(int(nmax/step_num), 1); rate = 0.05;
u = func_a(x); uu = [ua; u; ub]; tt = 0.0*ones(N+2,1);
//scf() a new window for drawing,
scf(10);
set(’current_figure’,10); HF = get(’current_figure’); set(HF, ’
figure_size’,[800, 400]);
utp = max(uu) + rate*(max(uu)-min(uu)); ubt = min(uu) - rate*(max(uu)-
min(uu));
subplot(1,2,1); plot2d(xx, uu, style = 5);
subplot(1,2,2); param3d(xx, tt, uu, flag=[1,4], ebox=[min(xx),max(xx)
,-0.001,Tmax,ubt,utp]);
// def of matrices A and K
A = 2*eye(N, N)-diag(ones(N-1 , 1), -1)-diag(ones(N-1 , 1), 1);

31
K = eye(N, N) - (1-theta)*lambda*A; H = eye(N, N) + theta*lambda*A;
// LU factorization of H
Hs = sparse(H); Ls = lufact(Hs);
// iteration
tpast = 0.0;
for n = 1:nmax
tnow = n*tau;
u = K*u + tau*((1.0-theta)*func_f(x,tpast) + theta*func_f(x,tnow))
;
u = lusolve(Ls, u);
if modulo(n, step)==0
uu = [ua; u; ub];
tt = tnow*ones(N+2,1);
utp = max(uu) + rate*(max(uu)-min(uu)); ubt = min(uu) - rate*(
max(uu)-min(uu));
subplot(1,2,1); plot2d(xx, uu, style = 2);
subplot(1,2,2);
param3d(xx, tt, uu,-45,65,flag=[1,4], ebox=[min(xx),max(xx),min(
tt),max(tt),ubt,utp]);
end
tpast = tnow;
end
// label
subplot(1,2,1); xlabel(’x’); ylabel(’u’);
subplot(1,2,2); xlabel(’x’); ylabel(’t’); zlabel(’u’);
// eps file
xs2pdf(10,’heat23.pdf’);
endfunction
// *** local functions ***
// Initial values
function [y] =func_a(x)
//y=min(x, 1.0 - x);
y=x.*sin(3*%pi*x).*sin(3*%pi*x);
//y=sin(%pi*x);
//I = find(x<=0.3); J = find(x>0.3 & x<=0.6); K = find(x>0.6);
// y = zeros(size(x,1)); y(I) = 0.3; y(J) = -2*(x(J) - 0.6); y(K
) = 0.6; //
endfunction
// sorce terms
function [y] = func_f(x, t)
//y=0.0;
y=exp(t+3)*(x.^2).*(1-x);
endfunction

32
Figure 3.1: An example of computation of the implicit θ scheme (3.8) by
heat23.sci, k = 1, a(x) = x sin2 (3πx), f (x, t) = et+3 x2 (1 − x),
N = 63, λ = 1.0, θ = 0.5.

33
4 Convergence and error estimates
4.1 ℓ∞ analysis
We consider the initial-boundary value problem


ut = kuxx + f (x, t) (0 < x < 1, t > 0)
u(0, t) = u(1, t) = 0 (t > 0) (1.2)


u(x, 0) = a(x) (0 ≤ x ≤ 1)

and the implicit θ scheme

Hθλ u(n) = Kθ′ λ u(n−1) + τ f (n−1+θ) (n ≥ 1), u(0) = a, (3.8)

where

θ′ = 1 − θ, f (n−1+θ) = (1 − θ)f (n−1) + θf (n) = (fin−1+θ ).

In this section, we study the behavior of the error

e(n) = (eni ) ∈ RN , eni = u(xi , tn ) − uni ,

where u(x, t) and u(n) = (uni ) are solutions of (1.2) and (3.8), respectively.
We need some more notations.
Notation.
n − 2v n + v n
vin − vin−1 vi−1 i i+1
Dτ vin = , ∆h vin = .
τ h2
Then, the problem (3.8) is rewritten as


Dτ ui = (1 − θ)k∆h ui + θk∆h ui + fi
n n−1 n n−1+θ
(0 < i < N, n ≥ 0)
un0 = unN +1 = 0 (n ≥ 1) (3.8′ )

 0
ui = a(xi ) (0 ≤ i ≤ N + 1).

Moreover, setting
Uin = u(xi , tn ),
we have

Dτ eni − (1 − θ)k∆h en−1


i − θk∆h eni
= Dτ Uin − (1 − θ)k∆h Uin−1 − θk∆h Uin − [Dτ uni − (1 − θ)k∆h uin−1 − θk∆h uni ]
= Dτ Uin − (1 − θ)k∆h Uin−1 − θk∆h Uin − fin−1+θ
≡ rin .

Thus, e(n) = (eni ), which is called the error vector, is a solution of




Dτ ei = (1 − θ)k∆h ei + θk∆h ei + ri (0 < i < N, n ≥ 0)
n n−1 n n

en0 = enN +1 = 0 (n > 0)



 0
ei = 0 (0 ≤ i ≤ N + 1).

34
At this stage, introducing r (n) = (rin ), which is called the residual vector, we
obtain
Hθλ e(n) = Kθ′ λ e(n−1) + τ r (n) (n ≥ 1), e(0) = 0. (4.1)
Therefore, in view of Theorem 3.5, we have the following lemma.
Lemma 4.1.
Assume that
0 ≤ θ ≤ 1, 2(1 − θ)λ ≤ 1. (4.2)
Then, the error vector e(n) = (eni ) satisfies


n
∥e(n) ∥∞ ≤ τ ∥r (l) ∥∞ .
l=1

Let Q = [0, 1] × [0, T ] with a positive constant T .


Notation. For a continuous function v defined in Q, we write

∥v(x, ·)∥L∞ (0,T ) = max |v(x, t)| for 0 ≤ x ≤ 1,


0≤t≤T
∥v(·, t)∥L∞ (0,1) = max |v(x, t)| for 0 ≤ t ≤ T ,
0≤x≤1
∥v∥L∞ (Q) = max |v(x, t)|.
(x,t)∈Q

Then, ∥v∥L∞ (Q) becomes a norm of C(Q).

Notation. For a sufficiently smooth function v = v(x, t) and a positive


integer m, we write
∂m ∂m
∂tm v = v, ∂xm v = v.
∂tm ∂xm
The following lemma plays a crucial role.
Lemma 4.2.
For arbitrary T > 0, set Q = [0, 1] × [0, T ]. Assume that
 m

 ∂ u ∈ C(Q) (0 ≤ m ≤ 4),
 x {
 (0 ≤ l ≤ 2) if θ ̸= 1/2 (4.3)
 ∂t u ∈ C(Q)

l
(0 ≤ l ≤ 3) if θ = 1/2

is satisfied. Then, the residual vector r (n) = (rin ) admits an estimate

∥r (n) ∥∞ ≤ αθ (T ) for any n satisfying 0 ≤ tn ≤ T,

where

 k τ 2
 h2 ∥∂x4 u∥L∞ (Q) + ∥∂ u∥ ∞ (θ ̸= 1/2)
αθ (T ) = 12 2 t L (Q) (4.4)

 k h2 ∥∂ 4 u∥ ∞ 5 2 3
x L (Q) + τ ∥∂t u∥L∞ (Q) (θ = 1/2).
12 12

35
Theorem 4.3.
Let T > 0 be fixed. Assume that (4.2) and (4.3) are satisfied. Then, we have
the error estimate
{
CT,θ (τ + h2 ) (θ ̸= 1/2)
max ∥e(n) ∥∞ ≤ 2 2
(4.5)
0≤tn ≤T CT,1/2 (τ + h ) (θ = 1/2),

where
 { }
 k 4 1 2
T · max
 ∥∂ u∥ ∞ , ∥∂ u∥ ∞ (θ ̸= 1/2)
12 x L (Q) 2 t L (Q)
CT,θ = { } (4.6)

 k 4 5 3
T · max ∥∂ u∥ ∞ , ∥∂ u∥ ∞ (θ = 1/2).
12 x L (Q) 12 t L (Q)

Proof of Theorem 4.3. It is a direct consequence of Lemmas 4.1 and 4.2.

Proof of Lemma 4.2. By considering the heat equation at (xi , tn ) and (xi , tn−1 ),
we have

f (xi , tn ) = ut (xi , tn ) − kuxx (xi , tn ),


f (xi , tn−1 ) = ut (xi , tn−1 ) − kuxx (xi , tn−1 ).

Hence,

rin = Dτ u(xi , tn ) − (1 − θ)ut (xi , tn−1 ) − θut (xi , tn )


| {z }
=R1
−(1 − θ)k [∆h u(xi , tn−1 ) − uxx (xi , tn−1 )] −θk [∆h u(xi , tn ) − uxx (xi , tn )] .
| {z }| {z }
=R2 =R3

First, we derive the estimations for space discretizations. The error estimate
(2.3) gives
1 2 4
|∆h u(xi , tn−1 ) − uxx (xi , tn−1 )| ≤ h ∥∂x u(·, tn−1 )∥L∞ (0,1) ,
12
1
|∆h u(xi , tn ) − uxx (xi , tn )| ≤ h2 ∥∂x4 u(·, tn )∥L∞ (0,1) .
12
Therefore,
k 2 4
|R2 | + |R3 | ≤ h ∥∂x u∥L∞ (Q) .
12
Next, we examine the time discretization. Suppose θ ̸= 1/2. For the sake
of simplicity, setting v(t) = u(xi , t), we have

R1 = Dτ v(tn ) − (1 − θ)v ′ (tn−1 ) − θv ′ (tn )


= (1 − θ)[Dτ v(tn ) − v ′ (tn−1 )] + θ[Dτ v(tn ) − v ′ (tn )].

36
Hence, by using (2.1) and (2.2), we obtain
τ τ
|R1 | ≤ (1 − θ) · ∥∂t2 u(xi , ·)∥L∞ (0,T ) + θ · ∥∂t2 u(xi , ·)∥L∞ (0,T )
2 2
τ 2 τ 2
≤ (1 − θ) · ∥∂t u∥L∞ (Q) + θ · ∥∂t u∥L∞ (Q)
2 2
τ 2
= ∥∂ u∥ ∞ .
2 t L (Q)
Combining those inequalities, we have |rin | ≤ |R1 | + |R2 | + |R3 | ≤ αθ (T ).
Now, we suppose θ = 1/2. By Taylor’s theorem,
1 1
v(tn ) = v(tn−1 ) + v ′ (tn−1 )τ + v ′′ (tn−1 )τ 2 + v (3) (t̃)τ 3 ,
2 3!
′ 1 ′′ 1 (3)
v(tn−1 ) = v(tn ) − v (tn )τ + v (tn )τ − v (t̂)τ 3
2
2 3!
with tn−1 < t̃, t̂ < tn . These imply
v(tn ) − v(tn−1 ) 1 1
− v ′ (tn−1 ) = v ′′ (tn−1 )τ + v (3) (t̃)τ 2 ,
τ 2 3!
v(tn ) − v(tn−1 ) 1 1
− v ′ (tn ) = − v ′′ (tn )τ + v (3) (t̂)τ 2 ,
τ 2 3!
and, moreover,
1 1
R1 = Dτ v(tn ) − v ′ (tn−1 ) − v ′ (tn )
2 2
1 1
= [Dτ v(tn ) − v ′ (tn−1 )] + [Dτ v(tn ) − v ′ (tn )]
2 2
τ ′′ τ 2
= [v (tn−1 ) − v ′′ (tn )] + [v (3) (t̃) + v (3) (t̂)]
4 2 · 3!

τ tn (3) τ 2 (3)
= − v (s) ds + [v (t̃) + v (3) (t̂)].
4 tn−1 2 · 3!
Therefore, we have
∫ tn
τ τ2
|R1 | ≤ ∥∂t3 u∥L∞ (Q) ds + · 2∥∂t3 u∥L∞ (Q)
4 tn−1 2 · 3!
τ2 3 τ2
= ∥∂t u∥L∞ (Q) + ∥∂t3 u∥L∞ (Q)
4 6
5τ 2 3
= ∥∂ u∥ ∞ .
12 t L (Q)
Thus, we deduce |rin | ≤ |R1 | + |R2 | + |R3 | ≤ α1/2 (T ).

✓Remark. We extend u(n) = (uni ) to a function uh,τ (x, t) by a piecewise-


constant interpolation. Thus, we set
uh,τ (x, t) = uni (xi−1 ≤ x < xi , tn ≤ t < tn+1 )
Let T > 0 be fixed. Assume that (4.2) and (4.3) are satisfied. Then, we have
the error estimate
{
CT,θ (τ + h2 ) (θ ̸= 1/2)
∥u − uh,τ ∥L∞ (Q) ≤ 2 2
CT,1/2 (τ + h ) (θ = 1/2).

37
4.2 ℓ2 analysis
We continue to study the error e(n) of the implicit θ scheme for the heat
equation.

Definition.
(i) The vector 2 norm is defined as
(N )1/2

∥v∥2 (= ∥v∥ℓ2 ) = |vi |2 (v = (vi ) ∈ RN ).
i=1

(ii) The matrix 2 norm is defined as

∥Gv∥2
∥G∥2 = max (G ∈ RN ×N ).
v∈RN ∥v∥2

Lemma 4.4.
Let λ1 , . . . , λN be eigenvalues of a symmetric matrix G ∈ RN ×N . Then, we
have ∥G∥2 = max |λi |.
1≤i≤N

Proof. Set ρ(G) = max |λi |, which is called the spectral radius. Since G is a
1≤i≤N
real symmetric matrix, it admits a diagonalization G = U ΛU T , where
 
λ1
 .. 0
Λ= . , U T U = U U T = I.
0 λN

We use a scalar product in RN ;


N
⟨x, y⟩ = xi yi (x = (xi ), y = (yi ) ∈ RN ).
i=1

Recall that ∥x∥22 = ⟨x, x⟩ and ⟨Ax, x⟩ = ⟨x, AT x⟩ for any x ∈ RN and
A ∈ RN ×N .
Now we let 0 ̸= v ∈ RN and set w = U T v. Then, we can calculate as

∥w∥22 = ⟨U T v, U T v⟩ = ⟨U U T v, v⟩ = ∥v∥22 ,
∥Gv∥22 = ⟨Gv, Gv⟩ = ⟨U Λw, U Λw⟩ = ⟨U T U Λw, Λw⟩

N ∑
N
= ⟨Λw, Λw⟩ = |λi vi |2 = |λi |2 |wi |2
i=1 i=1

N
≤ ρ(G)2 |wi |2 = ρ(G)2 ∥w∥22 = ρ(G)2 ∥v∥22 .
i=1

Therefore,
∥Gv∥2 ρ(G)∥v∥2
∥G∥2 = max ≤ max = ρ(G).
v∈RN ∥v∥2 v∈RN ∥v∥2

38
On the other hand, suppose that |λk | = ρ(G) and Gu = λk u. Then,
∥Gu∥2 |λk |∥u∥2
∥G∥2 ≥ = = ρ(G).
∥u∥2 ∥u∥2
Combining those inequalities, we obtain ∥G∥2 = ρ(G).

We again consider the initial-boundary value problem




ut = kuxx (0 < x < 1, t > 0)
u(0, t) = u(1, t) = 0 (t > 0) (1.1)


u(x, 0) = a(x) (0 ≤ x ≤ 1)

and its implicit θ scheme

Hθλ u(n) = Kθ′ λ u(n−1) (n ≥ 1), u(0) = a. (3.4)

The crucial point of the ℓ2 analysis is to rewrite the finite difference schemes
in terms of A as follows:

u(n+1) = Fθ,λ (A)u(n) , u(0) = a, (3.4)

where
 
2 −1 0
 .. .. 0 
 . . 
 
A=  −1 2 −1 ,

 .. .. 
 . . 
0 −1 2
−1 ( ′
)
Fθ,λ (A) = (I + θλA) I − θ λA , θ′ = 1 − θ.

For example, we know:


• The explicit scheme: u(n+1) = (I − λA)u(n) ;

• The simple implicit scheme: u(n+1) = (I + λA)−1 u(n) ;


( )−1 ( )
λ λ
• The Crank-Nicolson scheme : u (n+1)
= I+ A I − A u(n) .
2 2

Lemma 4.5.
The eigenpairs of the eigenvalue problem

Aϕ = µϕ, ϕ = (φi ) ̸= 0

are give as
 ( )

 µ⟨m⟩ = 4 sin2 mπ
,
2(N + 1) (4.7)
 φ⟨m⟩ = (φ⟨m⟩ ) = (√2 sin(mπx ))

(1 ≤ m ≤ N ).
i i

39
Proof. See Problem 4.

Lemma 4.6.
(i) For 12 ≤ θ ≤ 1, we have ∥Fθ,λ (A)∥2 ≤ 1.
(ii) For 0 ≤ θ < 12 , we have ∥Fθ,λ (A)∥2 ≤ 1 if 2λ(1 − 2θ) ≤ 1.

Proof. We note that

1. Fθ,λ (A) is a symmetric matrix;

2. {Fθ,λ (µ⟨m⟩ )}N


m=1 are all the eigenvalues of Fθ,λ (A).

(See Problems 5 and 6.) Hence, Lemma 4.4 gives

∥Fθ,λ (A)∥2 = max |Fθ,λ (µ⟨m⟩ )|,


1≤m≤N

where we have introduced a real-valued function Fθ,λ (s) = (1 + θλs)−1 (1 − θ′ λs)


for s ≥ 0 associating with Fθ,λ (A). The function Fθ,λ (s) satisfies

d −λ
Fθ,λ (0) = 1; Fθ,λ (s) = < 0;
ds (1 + θ′ λs)2
Fθ,λ (s) = −1 ⇔ sλ(1 − 2θ) = 2.

Therefore,
1
0≤θ< ⇒ |Fθ,λ (s)| ≤ 1 (∀s > 0 s.t. sλ(1 − 2θ) ≤ 2)
2
and
1
≤ θ ≤ 1 ⇒ |Fθ,λ (s)| ≤ 1 (∀s > 0).
2
Thus, if 1/2 ≤ θ ≤ 1, we always have ∥Fθ,λ (A)∥2 ≤ 1. On the other hand, if
0 ≤ θ < 1/2, we have
( )
⟨m⟩ mπ 2
(0 <)µ = 4 sin 2
≤4≤ (1 ≤ m ≤ N )
2(N + 1) λ(1 − 2θ)

under the condition 2λ(1 − 2θ) ≤ 1. This implies ∥Fθ,λ (A)∥2 ≤ 1.

We then state stability and convergence results.


Notation. We introduce
( )1/2
√ ∑
m
∥v∥h = h∥v∥2 = h vi2 .
i=1

Obviously, ∥v∥h ≤ ∥v∥∞ .

40
Theorem 4.7.
Assume that {
2λ(1 − 2θ) ≤ 1 (0 ≤ θ < 1/2)
(4.8)
no condition (1/2 ≤ θ ≤ 1).

Then, the solution u(n) of (3.4) satisfies

∥u(n) ∥h ≤ ∥a∥h

for n ≥ 1.
Proof. It is a direct consequence of Lemma 4.6 and
∥u(n+1) ∥h = ∥Fθ,λ (A)u(n) ∥h ≤ ∥Fθ,λ (A)∥h ∥u(n) ∥h ≤ ∥Fθ,λ (A)∥2 ∥u(n) ∥h .

Now, we come to consider the initial-boundary value problem with inhomo-


geneous source term:


ut = kuxx + f (x, t) (0 < x < 1, t > 0)
u(0, t) = u(1, t) = 0 (t > 0) (1.2)


u(x, 0) = a(x) (0 ≤ x ≤ 1)
and its implicit θ scheme
Hθλ u(n) = Kθ′ λ u(n−1) + τ f (n−1+θ) (3.8)
or, equivalently,
u(n) = Fθ,λ (A)u(n−1) + τ (I + θλA)−1 f (n−1+θ) , (3.8)
where
f (n−1+θ) = (1 − θ)f (n−1) + θf (n) .
Theorem 4.8.
Under the assumption (4.8), the solution u(n) of (3.8) satisfies


n
∥u(n) ∥h ≤ ∥a∥h + τ ∥f (l−1+θ) ∥h
l=1

for n ≥ 1.
Proof. We can prove ∥(I + θλA)−1 ∥2 ≤ 1 (θ, λ > 0) in the exactly same way
as the proof of Lemma 4.6. Hence, the result follows Lemma 4.6.
Theorem 4.9.
For arbitrary T > 0, we set Q = [0, 1] × [0, T ]. Assume that (4.8) and (4.3)
are satisfied. Then, we have an error estimate
{
CT,θ (τ + h2 ) (θ ̸= 1/2)
max ∥e ∥h ≤
(n)
2 2
(4.9)
0≤tn ≤T CT,1/2 (τ + h ) (θ = 1/2),

where CT,θ is a positive constant defined as (4.6).

41
Proof. In virtue of Theorem 4.8,

n ∑
n
∥e(n) ∥h ≤ τ ∥r (l) ∥h ≤ τ ∥r (l) ∥∞ .
l=1 l=1

This, together with Lemma 4.2, implies (4.9).

4.3 Numerical examples


In this section, we offer some numerical examples in order to confirm the
validity of Theorems 4.3 and 4.9. To this end, we use two Scilab functions
(See Listing 5 and 6):

heat_error1.sci, error_plo1.sci.

Listing 5: heat error1.sci


// *** error observation 1: implicit theta scheme with source ***
// Output: h: mesh size, err0: error in L^\infty, err1: error in L^2
function [err0, err2, h] = heat_error1(N, lambda, theta, Tmax, coef)
a = 0.0; b = 1.0; ua = 0.0; ub = 0.0;
h = (b - a)/(N + 1); x = [a + h: h: b - h]’; xx = [a; x; b];
tau = lambda*h*h/coef; nmax = int(Tmax/tau) + 1;
u = func_a(x); uu = [ua; u; ub];
A = 2*eye(N, N)-diag(ones(N-1 , 1), -1)-diag(ones(N-1 , 1), 1);
K = eye(N, N) - (1-theta)*lambda*A; H = eye(N, N) + theta*lambda*A;
// LU factorization of H
Hs = sparse(H); Ls = lufact(Hs);
// iteration
tpast = 0.0; tnow = 0.0; err0 = -1.0; err2 = -1.0;
for n = 1:nmax
tnow = n*tau;
u = K*u + tau*((1.0-theta)*func_f(x,tpast) + theta*func_f(x,tnow))
;
u = lusolve(Ls, u);
errvect = u - func_sol(x, tnow);
err0 = max(norm(errvect, %inf), err0);
err2 = max(norm(errvect, 2)*sqrt(h), err2);
tpast = tnow;
end
endfunction
// ********* local functions *********
// Initial value
function [y] = func_a(x)
//y=sin(%pi*x); // case 1
y=(x.^3).*(1-x); // case 2
endfunction
// Heat source term
function [y] = func_f(x, t)
//y=0.0; // case1
y=exp(t)*(-x.^4+x.^3+12*x.^2-6*x); // case 2
endfunction
// exact solution
function [y] = func_sol(x, t)
//y=exp(-%pi^2*t)*sin(%pi*x); // case 1
y=exp(t)*(x.^3).*(1-x); // case 2
endfunction

Listing 6: error plot1.sci

42
// *** error observation: dependence on h (implicit theta scheme with
source) ***
function [errvect0, errvect2, hvect] = error_plot1(lambda, theta, Tmax
, coef)
errvect0 = []; errvect2 = []; hvect=[]; N0 = 10; jmax = 5;
for j = 1:jmax
N = N0*j;
[err0, err2, h] = heat_error1(N, lambda, theta, Tmax, coef)
errvect0 = [errvect0; err0]; errvect2 = [errvect2; err2]; hvect =
[hvect; h];
end
//plot errors
scf(20); set(’current_figure’,20); HF = get(’current_figure’); set(HF,
’figure_size’,[400, 800]);
xset(’thickness’,2)
plot2d(hvect, errvect0, style = 2, logflag="ll");
plot2d(hvect, errvect2, style = 5, logflag="ll");
xset(’thickness’,1)
xgrid(); xtitle(’Mesh size h vs. E_infty and E_2 Errors’,’log (h)’,’
log (error)’)
legend(’E_infty’,’E_2’,4);
xs2pdf(20,’error1.pdf’)
endfunction

Letting T = 1, we define as

E∞ = max ∥e(n) ∥∞ ,
0≤tn ≤1

E2 = max ∥e(n) ∥h = max ∥e(n) ∥2 h.
0≤tn ≤1 0≤tn ≤1

⋆Example 4.10. Let f (x, t) = 0 and a(x) = sin(πx). Then, the solution of
(1.2) is
u(x, t) = e−πt sin(πx).
2

In Fig. 4.1, we observe that E∞ ≈ Ch2 and E2 ≈ Ch2 . x

⋆Example 4.11. Let f (x, t) = et (−x4 +x3 +12x−6x) and a(x) = x3 (1−x).
Then, the solution of (1.2) is

u(x, t) = et x3 (1 − x).

In Fig. 4.2, we observe that E∞ ≈ Ch2 and E2 ≈ Ch2 .

43
(a) θ = 0 (b) θ = 1/2 (c) θ = 1

Figure 4.1: log h vs. log E∞ and log E2 for u(x, t) = e−π t sin(πx) (Example
2

4.10) and λ = 1/2.

(a) θ = 0 (b) θ = 1/2 (c) θ = 1

Figure 4.2: log h vs. log E∞ and log E2 for u(x, t) = et x3 (1 − x) (Example
4.11) and λ = 1/2.

44
5 Nonlinear problems
5.1 Semilinear diffusion equation
Our next target is the initial-boundary value problems for a semilinear diffu-
sion equation:


ut = kuxx + ε(1 − u)u (0 < x < 1, t > 0)
u(0, t) = u(1, t) = 0 (t > 0) (5.1)


u(x, t) = a(x) (0 ≤ x ≤ 1),
where
• k, ε are positive constants;
• a ∈ C[0, 1], a ̸≡ 0, 0 ≤ a ≤ 1, a(0) = a(1) = 0.
Theorem 5.1.
The problem (5.1) admits a unique (classical ) solution u = u(x, t) in [0, 1] ×
[0, ∞) and it satisfies 0 ≤ u(x, t) ≤ 1 for 0 ≤ x ≤ 1 and t ≥ 0.
We introduce the steady-state problem associated with (5.1): Find a func-
tion w = w(x) (0 ≤ x ≤ 1) which depends only on x such that
{
0 = kw′′ + ε(1 − w)w, w > 0 (0 < x < 1)
(5.2)
w(0) = w(1) = 0.
The function w ≡ 0, which is called a trivial solution, clearly solves (5.2).
Theorem 5.2.
We have the following.

(i) If ε > kπ 2 , then (5.2) admits a unique non-trivial solution w(x).

(ii) If ε ≤ kπ 2 , then (5.2) admits no non-trivial solution.

The asymptotic behavior of the solution u(x, t) of (5.1) is summarized as


follows.
Theorem 5.3.
Let u(x, t) be the solution of (5.1).

(i) If ε > kπ 2 , we have lim ∥u(·, t) − w∥∞ = 0, where w(x) denotes the
t→∞
non-trivial solution of (5.2).

(ii) If ε ≤ kπ 2 , we have lim ∥u(·, t)∥∞ = 0.


t→∞

The proofs of Theorems 5.1–5.3 are found, for example, in


[15] Y. Kametaka: On the nonlinear diffusion equation of Kolmogorov–
Petrovskii–Piskunov type, Osaka J. Math. 13 (1976) 11–66;
[16] 亀高惟倫:非線型偏微分方程式,産業図書,1977 年.
We would like to verify Theorem 5.3 with the aid of numerical examples. To
do this, we introduce finite difference approximations in the following sections.

45
k ε λ r ρ
Fig. 5.1 10 10 0.4 0.0101 0.8002
Fig. 5.2 1 10 0.4 1.0132 0.8015
Fig. 5.3 0.1 10 0.4 101.32 0.8153
Fig. 5.4 10 10 0.5 0.0101 1.0002
Fig. 5.5 1 10 0.5 1.0132 1.0019
Fig. 5.6 0.1 10 0.5 101.32 1.0192

Table 5.1: Parameters in Fig. 5.1–5.6. N is fixed as 50.

5.2 Explicit scheme


We introduce:
1
• h= with 0 < N ∈ Z;
N +1
• τ > 0;

• Qτh = {(xi , tn )| xi = ih, tn = nτ (0 ≤ i ≤ N + 1, n ≥ 0)};

• uni ≈ u(xi , tn ).

The explicit scheme to (5.1) now reads as


 n+1
 ui − uni uni−1 − 2uni + uni+1

 = k + ε(1 − uni )uni (1 ≤ i ≤ N, n ≥ 0)
τ h2
un0 = unN +1 = 0 (n ≥ 1)

 0
ui = a(xi ) (0 ≤ i ≤ N + 1).
(5.3)

Notation. We let
 
( ) 1
τ ε 2k  .. 
λ=k , r= , ρ=τ ε+ 2 , q =  .  ∈ RN .
h2 kπ 2 h
1

Below we offer some numerical results in Fig. 5.1–5.6; Parameters are sum-
marized in Tab. 5.1 .
The cases r > 1 and r ≤ 1, respectively, correspond (i) and (ii) in Theorem
5.3. We observe from Fig. 5.1–5.3 that the solution decays if r ≤ 1 and that the
solution converges a non-trivial steady-state solution if r > 1. On the other
hand, Fig. 5.4–5.6 are results with the same parameters as Fig. 5.1–5.3 except
for λ (and thus ρ). We see that there are no differences between Fig. 5.1,
5.2 and 5.4, 5.5, respectively. However, we observe an oscillation of numerical
solution in Fig. 5.6. As a matter of fact, the value of ρ plays an important
role to obtain a stable numerical solution. We examine this issue next.

46
Figure 5.1: k = 10, ε = 10, N = 50, λ = 0.4, 0 ≤ t ≤ 0.2; r = 0.0101,
ρ = 0.8002

Figure 5.2: k = 1, ε = 10, N = 50, λ = 0.4, 0 ≤ t ≤ 0.5; r = 1.0132,


ρ = 0.8015

Figure 5.3: k = 0.1, ε = 10, N = 50, λ = 0.4, 0 ≤ t ≤ 1.6; r = 101.32,


ρ = 0.8153

47
Figure 5.4: k = 10, ε = 10, N = 50, λ = 0.5, 0 ≤ t ≤ 0.2; r = 0.0101,
ρ = 1.0002

Figure 5.5: k = 1, ε = 10, N = 50, λ = 0.5, 0 ≤ t ≤ 0.5; r = 1.0132,


ρ = 1.0019

Figure 5.6: k = 0.1, ε = 10, N = 50, λ = 0.5, 0 ≤ t ≤ 1.6; r = 101.32,


ρ = 1.0192

48
Theorem 5.4.
Assume that
( )−1
2k
1 − ετ − 2λ ≥ 0 ⇔ τ≤ ε+ 2 ⇔ ρ ≤ 1. (5.4)
h

Then, we have
0 ≤ u(n) ≤ q (n ≥ 0),
where u(n) = (uni ) denotes the solution of (5.3).

Proof. We argue by induction. First, by virtue of 0 ≤ a(x) ≤ 1, we have

0 ≤ u0i ≤ 1 (1 ≤ i ≤ N ).

Suppose that 0 ≤ uni ≤ 1 for n ≥ 0. Since (5.3) gives

un+1
i = λ(uni−1 + uni+1 ) + (1 − 2λ)uni + ετ uni (1 − uni ),

we deduce un+1
i ≥ 0. On the other hand, setting vin = 1 − uni , we have
0 ≤ vi ≤ 1 and
n

vin+1 = λ(vi−1
n n
+ vi+1 ) + (1 − 2λ − ετ uni ) vin ≥ 0.
| {z }
≥1−2λ−ετ ≥0

Therefore, we obtain un+1


i ≤ 1.

The convergence is also guaranteed under the condition (5.4).

Theorem 5.5. • Let T > 0 be fixed. Assume that (5.4) holds true.

• Suppose that the solution u(x, t) of (5.1) satisfies

u, ut , utt , ux , uxx , uxxx , uxxxx ∈ C(Q),

where Q = [0, 1] × [0, T ]. Define

1 k
ZT = ∥utt ∥L∞ (Q) + ∥uxxxx ∥L∞ (Q) .
2 12

• Let u(n) = (uni ) ∈ RN be the solution of (5.3).

• Define e(n) = (eni ) ∈ RN by setting eni = u(xi , tn ) − uni .


Then, we have

eεT − 1
max ∥e(n) ∥∞ ≤ (τ + h2 )ZT .
0≤tn ≤T ε

Proof. Setting Uin = u(xi , tn ) and introducing the difference quotients by

en+1 − eni eni−1 − 2eni + eni+1


Dτ en+1
i = i
, ∆h eni = ,
τ h2

49
we have

Dτ en+1
i − k∆h eni
= Dτ Uin+1 − k∆h Uin − [Dτ uin+1 − k∆h uni ]
= Dτ Uin+1 − k∆h Uin − ε(1 − uni )uni
= Dτ Uin+1 − k∆h Uin − [ut (xi , tn ) − kuxx (xi , tn )]
| {z }
=rin
+ ε(1 − Uin )Uin− ε(1 − uni )uni .
| {z }
=gin

That is, 

Dτ ei
n+1
= k∆h eni + rin + gin (1 ≤≤ N, n ≥ 0)
en0 = enN +1 = 0 (n > 0)

 0
ei = 0 (0 ≤ i ≤ N ).
It is equivalently written as

e(n+1) = Kλ e(n) + τ r (n) + τ g (n) (n ≥ 1), e(0) = 0,

where r (n) = (rin ), g (n) = (gin ) and Kλ is defined as (2.5).


Since, by (5.4), 1 − 2λ > 0, we have

∥Kλ ∥∞ ≤ 1, Kλ ≥ O.

In view of §22.1, we can estimate as



|rin | ≤ Dτ Uin+1 − ut (xi , tn ) + k |∆h Uin − uxx (xi , tn )|
1 k
≤ τ max |utt (xi , t)| + h2 max |uxxxx (x, tn )|
2 t∈[0,T ] 12 x∈[0,1]

and, hence,
∥r (n) ∥∞ ≤ ZT (τ + h2 ).
Moreover, we can calculate as

gin = ε(1 − Uin )Uin − ε(1 − uni )uni


= ε(1 − Uin )Uin − (1 − Uin )uni + (1 − Uin )uni − ε(1 − uni )uni
= ε(1 − Uin )(Uin − uni ) − ε(Uin − uni )uni
= ε(1 − Uin )eni − εeni uni
= ε(1 − Uin − uni )eni .

This, together with −1 ≤ 1 − Uin − uni ≤ 1, implies

∥g (n) ∥∞ ≤ ε∥e(n) ∥∞ .

50
In conclusion, we have

∥e(n) ∥∞
≤ (1 + τ ε)∥e(n−1) ∥∞ + τ (τ + h2 )ZT
≤ (1 + τ ε)2 ∥e(n−2) ∥∞ + [(1 + τ ε) + 1]τ (τ + h2 )ZT
≤ ···
≤ (1 + τ ε)n ∥e(0) ∥∞ + [(1 + τ ε)n−1 + · · · + (1 + τ ε) + 1]τ (τ + h2 )ZT
(1 + τ ε)n − 1
≤ · τ (τ + h2 )ZT
τε
enτ ε − 1 eεT − 1
≤ · (τ + h2 )MT ≤ (τ + h2 )ZT .
ε ε

5.3 Implicit schemes


The condition (5.4) may be strict in the practical computation. We can avoid
this by taking some implicit schemes. We still take the same grid points Qτh
introduced in the previous subsection. We consider semi-implicit schemes to
(5.1);
 n
 u − un−1 un − 2uni + uni+1
 i

i
= k i−1 + ε(1 − uin−1 )un−1
i (1 ≤ i ≤ N, n ≥ 1)
τ h2

n n
u0 = uN +1 = 0 (n ≥ 1)

 0
ui = a(xi ) (0 ≤ i ≤ N + 1)
(5.5)
and
 n
 u − un−1 un − 2uni + uni+1
 i

i
= k i−1 + ε(1 − uin−1 )uni (1 ≤ i ≤ N, n ≥ 1)
τ h2
 un0 = unN +1 = 0 (n ≥ 1)

 0
ui = a(xi ) (0 ≤ i ≤ N + 1).
(5.6)
They are, respectively, expressed as

(I + λA)u(n) = u(n−1) + ετ D(u(n−1) )u(n−1) (n ≥ 1), u(0) = a (5.5)

and

(I + λA)u(n) = u(n−1) + ετ D(u(n−1) )u(n) (n ≥ 1), u(0) = a, (5.6)

where
   
1 − v1 v1
 1 − v2
0   v2 
   
D(v) =  ..  for v =  .  .
 .   .. 
0 1 − vN vN

51
Theorem 5.6.
Assume that
1
τ< . (5.7)
ε
Then, the solutions u(n) = (uni ) both (5.5) and (5.6) satisfy

0 ≤ u(n) ≤ q (n ≥ 0).

Proof. As before, we set Hλ = I + λA and recall that ∥Hλ−1 ∥∞ ≤ 1 and


Hλ−1 > O for any λ > 0.
First, let u(n) = (uni ) be the solution of (5.5) and assume that 0 ≤ u(n−1) ≤
q. Then, u(n) ≥ 0 is obvious. Setting v (n) = q − u(n) , we have

D(u(n−1) )u(n−1) = D(v (n−1) )v (n−1)

and
Hλ q − q = (λ, 0, . . . , 0, λ)T ≥ 0.
Therefore,

Hλ v (n) = Hλ q − Hλ u(n)
= Hλ q − u(n−1) − ετ D(u(n−1) )u(n−1)
= Hλ q − q + v (n−1) − ετ D(v (n−1) )v (n−1)
[ ]
≥ I − τ εD(v (n−1) ) v (n−1) .
| {z }
=W

Since, in view of (5.7), the ith diagonal entry of W is estimated as

1 − τ ε(1 − vin−1 ) = 1 − τ ε + τ εvin−1 ≥ 1 − τ ε > 0,

we have W ≥ O. Thus, we obtain v (n) ≥ 0 and, hence, u(n) ≤ q.


Next, let u(n) = (uni ) be the solution of (5.6) and assume that 0 ≤ u(n−1) ≤
q. The scheme (5.6) is rewritten as
[ ]
I + λA − τ εD(un−1 ) u(n) = u(n−1) (n ≥ 1), u(0) = a.
| {z }
=V

We observe the following:


• The ith diagonal entry of V is estimated as

1 + 2λ − τ ε(1 − un−1
i ) ≥ 1 + 2λ − τ ε > 1 − τ ε ≥ 0.

On the other hand, all non-diagonal entries are non-positive.

• Writing V = (vi,j ), we have, for 2 ≤ i ≤ N − 1,


N
vi,j = 1 + 2λ − τ ε(1 − un−1
i ) − 2λ = 1 − τ ε > 0
j=1

52
and, for i = 1, N ,


N
vi,j = 1 + 2λ − τ ε(1 − uin−1 ) − λ > 0.
j=1

This indicates that ∥V ∥∞ < 1.

From these observations, we can get V −1 > O and ∥V −1 ∥∞ ≤ 1 in the same


manner as the proof of Lemma 3.2. Hence, we immediately deduce u(n) ≥ 0.
Setting v (n) = q − u(n) , we have

Hλ v (n) = Hλ q − Hλ u(n)
= Hλ q − u(n−1) − ετ D(u(n−1) )u(n)
= Hλ q − q + v (n−1) − ετ D(v (n−1) )v (n)
≥ v (n−1) − ετ D(v (n−1) )v (n) .

Thus, v (n) satisfies


[ ]
I + λA − τ εD(v n−1 ) v (n) ≥ v (n−1) ≥ 0.
| {z }
=V ′

Since V ′ −1 > O as verified just above, we conclude v (n) ≥ 0 and, hence,


u(n) ≤ q. This completes the proof.

5.4 An example: Gray-Scott model


As an example of nonlinear diffusion equations, we offer the Gray-Scott model:


 ut = ku uxx + u2 v − (β + γ)u (0 < x < L, t > 0)


v = k v − u2 v + β(1 − v) (0 < x < L, t > 0)
t v xx
(5.8)

 ux (0, t) = ux (L, t) = vx (0, t) = vx (L, t) = 0 (t > 0)


u(x, 0) = u (x), v(x, 0) = v (x) (0 ≤ x ≤ L),
0 0

where L, ku , kv , β, γ are positive constants. This is a simple mathematical


model that describes a certain auto-catalytic reaction phenomenon. Here,
the functions u = u(x, t) and v = v(x, t) are defined to be concentrations of
two chemical substances. The diffusion coefficients are denoted by positive
constants ku and kv . The rate of the supply of a chemical substance and the
removal of an intermediate product in a reaction are expressed by β and γ.
See, for more concrete explanation,

[26] 三村昌泰 (編): パターン形成とダイナミクス (非線形・非平衡現


象の数理 4),東京大学出版会,2006 年.

53
The explicit scheme to (5.8) is
 n+1

 ui − uni uni+1 − 2uni + uni−1

 = ku + (uni )2 vin − (β + γ)uni ,

 τ h 2



 n+1
− vin v n − 2vin + vi−1
n
 vi = kv i+1 − (uni )2 vin + β(1 − vin )
τ h2

 (1 ≤ i ≤ N, n ≥ 0),





 un+1 = un+1 , un+1 = un+1 n+1
N +1 , v0 = v1n+1 , vN n+1
= vN +1 (n ≥ 0),
n+1


0 1 N
 0
ui = u0 (x̂i ), vi0 = u0 (x̂i ) (1 ≤ i ≤ N )
(5.9)
where

• h = L/N (N ∈ N), τ > 0,


{ ( ) }
1
• Q̂h = (x̂i , tn )| x̂i = i −
τ
h, tn = nτ (0 ≤ i ≤ N + 1, n ≥ 0)
2
• uni ≈ u(x̂i , tn ), vin ≈ v(x̂i , tn ).

Some patterns created by this system are displayed in Fig. 5.7, where we
suppose 0 ≤ t ≤ 1000 and 0 ≤ x ≤ L = 0.5.

54
0.5 0.6
0.4 0.5
0.4
0.3
0.3
0.2
0.2
0.1 0.1
500 500
0 450 0 450
0 0
0.1 400 0.1 400
0.2 350 0.2 350
0.3 300 0.3 300
0.4 250 0.4 250
0.5 200 0.5 200
0.6 150 time 0.6 150 time
x 0.7 x 0.7
100 100
0.8 0.8
0.9 50 0.9 50
1 0 1 0

(a) (β, γ) = (0.1504, 0.1400) (b) (β, γ) = (0.1504, 0.0392)

0.7 0.9
0.6 0.8
0.7
0.5 0.6
0.4 0.5
0.3 0.4
0.2 0.3
0.2
0.1 500 0.1 500
0 450 0 450
0 0
0.1 400 0.1 400
0.2 350 0.2 350
0.3 300 0.3 300
0.4 250 0.4 250
0.5 200 0.5 200
0.6 150 time 0.6 150 time
x 0.7 x 0.7
100 100
0.8 0.8
0.9 50 0.9 50
1 0 1 0

(c) (β, γ) = (0.1504, 0.0308) (d) (β, γ) = (0.1504, 0.0056)

0.8 0.8
0.7 0.7
0.6 0.6
0.5 0.5
0.4 0.4
0.3 0.3
0.2 0.2
0.1 500 0.1 500
0 450 0 450
0 0
0.1 400 0.1 400
0.2 350 0.2 350
0.3 300 0.3 300
0.4 250 0.4 250
0.5 200 0.5 200
0.6 150 time 0.6 150 time
x 0.7 x 0.7
100 100
0.8 0.8
0.9 50 0.9 50
1 0 1 0

(e) (β, γ) = (0.0192, 0.0448) (f) (β, γ) = (0.0096, 0.0308)

Figure 5.7: Solutions {uni } of (5.9); ku = 10−5 , kv = 2ku , N = 128, λ = 1/6,


L = 0.5, T = 500.

55
6 Complement for FDM
6.1 Non-homogeneous Dirichlet boundary condition
So far, we have studied only the homogeneous Dirichlet boundary condition

u(0, t) = 0, u(1, t) = 0.

Non-homogeneous cases are treated similary. As an example, we consider




ut = kuxx + f (x, t) (0 < x < 1, t > 0)
u(0, t) = b0 (t), u(1, t) = b1 (t) (t > 0) (6.1)


u(x, 0) = a(x) (0 ≤ x ≤ 1),

where b0 (t) and b1 (t) are given continuous function of t ≥ 0. We use the same
notation of Sections 2 and 3.
First, we consider the explicit scheme. That is,

un+1 − uni un − 2uni + uni+1


i
= k i−1 + f (xi , tn ) (1 ≤ i ≤ N, n ≥ 0).
τ h2
For i = 1, we have

un+1 − un1 −2un1 + un2 b0 (tn )


1
=k 2
+ f (x1 , tn ) + k 2 (n ≥ 0).
τ h h
Consequently, we derive

u(n+1) = Kλ u(n) + τ f (n) + λb(n) (n ≥ 0),

where  
b0 (tn )
 0 
 
 
b(n) =  ...  ∈ Rn .
 
 0 
b1 (tn )
In the similar manner, we derive the implicit θ scheme as

Hθλ u(n) = K(1−θ)λ u(n) + τ f (n−1+θ) + λb(n−1+θ) (n ≥ 0),

where
b(n−1+θ) = (1 − θ)b(n−1) + θb(n) .
Since the error vector e(n) satisfies (4.2), we are able to obtain exactly the
same error estimates in the previous section for non-homogeneous problems.

56
6.2 Neumann boundary condition
We move on to the initial-boundary value problem with the Neumann bound-
ary condition:


ut = kuxx + f (x, t) (0 < x < 1, t > 0)
ux (0, t) = ux (1, t) = 0 (t > 0) (6.2)


u(x, t) = a(x) (0 ≤ x ≤ 1)

We introduce:
1
• h= with 0 < N ∈ Z;
N
• τ > 0;
{ ( ) }
1
• Q̂h = (x̂i , tn ) | x̂i = i −
τ
h, tn = nτ (0 ≤ i ≤ N + 1, n ≥ 0) ;
2
• uni ≈ u(x̂i , tn ).

The explicit scheme reads as

un+1 − uni un − 2uni + uni+1


i
= k i−1 + f (x̂i , tn ) (1 ≤ i ≤ N, n ≥ 0).
τ h2
However, un0 and unN +1 are not defined at this stage. We employ the Neumann
boundary condition to treat those values. Thus,

u(x̂1 , t) − u(x̂0 , t)
ux (0, t) = 0 ⇒ ≈ 0,
h
u(x̂N +1 , t) − u(x̂N , t)
ux (1, t) = 0 ⇒ ≈ 0.
h
From these, we have
un1 − un0
=0 ⇔ un0 = un1 ,
h
uN +1 − uN
n n
=0 ⇔ unN +1 = unN .
h
The resulting scheme now reads as
 n+1
 u − uni un − 2uni + uni+1
 i
 = k i−1 + f (x̂i , tn ) (1 ≤ i ≤ N, n ≥ 0)
τ h2
un0 = un1 , unN +1 = unN (n ≥ 1)

 0
ui = a(x̂i ) (0 ≤ i ≤ N + 1).

As before we set λ = kτ /h2 . The first and second equalities are written as

1 (n+1) k
{u − u(n) } = − 2 Bu(n) + f (n) ,
τ h

57
where
 
1 −1 0
 .. .. 0     
 . .  un1 f (x̂1 , tn )
     
B=
 −1 2 −1 ,
 u(n) =  ...  , f (n) = ..
. 
 .. .. 
 . .  unN f (x̂N , tn )
0 −1 1

Hence, the explicit scheme is expressed as

u(n) = (I − λB) u(n−1) + τ f (n−1) (n ≥ 1), u(0) = a.


| {z }
=Lλ

On the other hand, the simple implicit scheme is


 n
 u − un−1 un − 2uni + uni+1
 i

i
= k i−1 + f (x̂i , tn ) (1 ≤ i ≤ N, n ≥ 1)
τ h2
 un0 = un1 , unN +1 = unN (n ≥ 1)

 0
ui = a(x̂i ) (0 ≤ i ≤ N + 1)

and its matrix representation is

(I + λB) u(n) = u(n−1) + τ f (n) (n ≥ 1), u(0) = a.


| {z }
=Mλ

Moreover, the implicit θ scheme reads as

Mθλ u(n) = Lθ′ λ u(n−1) + τ f (n−1+θ) (n ≥ 1), u(0) = a, (6.3)

where 0 ≤ θ ≤ 1, θ′ = 1 − θ and

f (n−1+θ) = (1 − θ)f (n−1) + θf (n) = (fin−1+θ ).

Theorem 6.1.
Assume that
0 ≤ θ ≤ 1, 1 − 2(1 − θ)λ ≥ 0. (6.4)
Then, for any n ≥ 1, there exists a unique solution u(n) of (6.3) and it satisfies


n
(ℓ∞ stability) ∥u (n)
∥∞ ≤ ∥a∥∞ + τ ∥f (l−1+θ) ∥∞ .
l=1

Moreover, if f (x, t) ≥ 0 for x ∈ (0, 1) and t ≥ 0, u(n) satisfies the following


properties:

(positivity) θ ̸= 0, 1 − 2(1 − θ)λ > 0, a ≥ 0, ̸= 0


⇒ u(n) > 0 for n ≥ 1;
(nonnegativity) θ = 0, a ≥ 0 ⇒ u(n) ≥ 0 for n ≥ 1.

58
Proof. We first note that we have Lθ′ λ ≥ O under the assumption (6.4).
Nonnegativity. When θ = 0, we have Mθλ = I and, hence, u(1) = Lθ′ λ a ≥ 0
for a ≥ 0.
Positivity. Assume that θ ̸= 0. If 1 − 2(1 − θ)λ > 0, then the diagonal
entries of Lθ′ λ are positive. Hence, Lθ′ λ a ≥ 0, ̸= 0 for a ≥ 0, ̸= 0. To show
−1
Mθλ > O, we follow the method of the proof of Lemma 3.2. The matrix Mθλ
is represented as Ms = I + sB = D(I − G), where s = θλ and
 
1+s
 1 + 2s
0 
 
 .. 
D= . ,
 
 1 + 2s 
0 1+s
 
0 µ1
 µ2 0 µ2 0 
 
 ..  s
G= . , µm =
  1 + ms
 µ2 0 µ2 
0 µ1 0
{ }
s 2s 2s
Since ∥G∥∞ = max , = < 1, we can apply Lemma 3.3
1 + s 1 + 2s 1 + 2s
to obtain that I − G is non-singular. Hence, Ms = D(I − G) is also non-
∑∞
singular and Ms−1 = (I − G)−1 D−1 = Gl D−1 ≥ O. On the other hand, we
l=0
can verify that Ms−1 > O by the exactly same manner as the proof of Lemma
3.2.
ℓ∞ stability. Let n ≥ 1 be fixed. We set q = (1, . . . , 1)T ∈ RN ,
{ } { }
n−1 n−1+θ
α = max 0, max ui , β = max 0, max fi .
1≤i≤N 1≤i≤N

We will use the following facts:


• u(n−1) ≤ αq and f (n−1+θ) ≤ βq;

• Bq = 0;

• Ls′ v ≥ Ls′ v ′ for v ≥ v ′ because of Ls′ ≥ O.


We can calculate as

Ls′ u(n−1) ≤ Ls′ αq = α[I − (1 − θ)λB]q


= α(I + θλB)q − αλBq = Ms (αq),

and

f (n−1+θ) ≤ βq = βq − Ms (βq) + Ms (βq)


= β[I − (I + λθB)]q + Ms (βq)
= −βλθBq + Ms (βq) = Ms (βq).

59
These inequalities, together with the equation (6.3), give

Ms (αq + τ βq − u(n) ) ≥ Ls′ u(n−1) + τ f (n−1+θ) − Ms u(n) = 0.

Therefore, by virtue of Ms−1 > O, we obtain

αq + τ βq − u(n) ≥ 0.

In the similar manner, we deduce

Ms (u(n) − α′ q − τ β ′ q) ≥ 0

and, hence,
u(n) − α′ q − τ β ′ q ≥ 0,
where
{ } { }
′ ′
α = min 0, min un−1
i , β = min 0, min fin−1+θ .
1≤i≤N 1≤i≤N

As a result of these results,

α′ q + τ β ′ q ≤ u(n) ≤ αq + τ βq.

Thus, we get
∥u(n) ∥∞ ≤ ∥u(n−1) ∥∞ + τ ∥f (n−1+θ) ∥∞ ,
which implies the desired inequality.

✓Remark. In the proof of Theorem 6.1, since


1 1
∥(I − G)−1 ∥∞ ≤ = 2s = 1 + 2s,
1 − ∥G∥∞ 1 − 1+2s

we have
1
∥Ms−1 ∥∞ ≤ ∥(I − G)−1 ∥∞ ∥D−1 ∥∞ ≤ (1 + 2s) · > 1.
1+s
Thus, we can not directly obtain the ℓ∞ stability, although ∥Lθ′ λ ∥∞ = 1.

Next, we proceed to a convergence analysis. We extend the solution u(x, t)


of (6.2) to a function ũ(x, t) defined in [−1, 2] × [0, ∞) by the reflection. Thus,
we introduce


u(−x, t) (−1 ≤ x ≤ 0, t ≥ 0)
ũ(x, t) = u(x, t) (0 ≤ x ≤ 1, t ≥ 0)


u(2 − x, t) (1 ≤ x ≤ 2, t ≥ 0).

Moreover, the extension f˜(x, t) of f (x, t) is introduced similarly. Obviously,


ũ(x, t) and f˜(x, t) are continuous. Furthermore, ũ(x, t) is a C 1 function of x
because of the Neumann boundary condition ux (0, t) = ux (1, t) = 0. Combin-
ing these facts and using the heat equation ut = kuxx + f (x, t), we can deduce

60
that ũ(x, t) is a C 2 function of x. This indicates that ũ(x, t) is a solution of the
heat equation ũt = kũxx + f˜(x, t) in (−1, 2) × (0, ∞). In the similar manner,
if we assume that
 m

 ∂ u ∈ C([0, 1] × [0, T ]) (0 ≤ m ≤ 4),

 ∂xm
{
lu (0 ≤ l ≤ 2) if θ ̸= 1/2 (4.3)

 ∂
∈ ×

 ∂tl C([0, 1] [0, T ])
(0 ≤ l ≤ 3) if θ = 1/2,

we obtain
 m

 ∂ ũ
 ∂xm ∈ C([−1, 2] × [0, T ]) (0 ≤ m ≤ 4),

{
l ũ (0 ≤ l ≤ 2) if θ ̸= 1/2 (6.5)

 ∂
 ∂tl ∈ C([−1, 2] × [0, T ])

(0 ≤ l ≤ 3) if θ = 1/2,

where T > 0 denotes a positive constant and l, m positive integers.


We set m l
∂ ∂
M̃m (T ) = max max m l ũ(x, t) .
l
t∈[0,T ] x∈[−1,2] ∂x ∂t

We consider the error

eni = ũ(x̂i , tn ) − uni (0 ≤ i ≤ N + 1, n ≥ 1)

and the error vector


e(n) = (eni ) ∈ RN , (6.6)
where u(n) = (uni ) ∈ RN denotes the solution of (6.3) with un0 = un1 and
unN +1 = unN . Note that eni = u(x̂i , tn ) − uni for 1 ≤ i ≤ N so that e(n) actually
implies the error of the finite difference scheme.
Then, since

ũ(x̂0 , tn ) = ũ(x̂1 , tn ), ũ(x̂N +1 , tn ) = ũ(x̂N , tn ),

the error vector satisfies

Mθλ e(n) = Lθ′ λ e(n−1) + τ r (n) (n ≥ 1), e(0) = 0,

where r (n) = (rin ) is defined as

rin = Dτ ũ(x̂i , tn ) − (1 − θ)k∆h ũ(x̂i , tn−1 ) − θk∆h ũ(x̂i , tn )

with the notation of §4.


Hence, in the exactly same manner as the proof of Theorem 4.3, we can
prove the following result.

61
Theorem 6.2.
Let T > be fixed. Let u(x, t) and u(n) be solutions of (6.2) and (6.3), respec-
tively. Assume that (6.4) and (4.3) are satisfied. Then, the error vector (6.6)
admits an error estimate
{
CT,θ (τ + h2 ) (θ ̸= 1/2)
max ∥e(n) ∥∞ ≤ 2 2
0≤tn ≤T CT,1/2 (τ + h ) (θ = 1/2),

where  { }
 k 0 1 2

T · max 12 M̃4 (T ), M̃ (T ) (θ ̸= 1/2)
2 0
CT,θ = { }

 k 0 5 3
T · max M̃ (T ), M̃ (T ) (θ = 1/2).
12 4 12 0

✓Remark (conservation of the heat flux). The solution u(x, t) of (6.2)


satisfies the conservation of the heat flux
∫ 1
J(t) = J(0) = ca(x) dx (t ≥ 0),
0

where ∫ 1
J(t) = cu(x, t) dx (c: the heat capacity)
0
denotes the total heat flux. Note that we are assuming

u ∈ C([0, 1] × [0, ∞)),


ux ∈ C([0, 1] × (0, ∞)),
ut , uxx ∈ C((0, 1) × (0, ∞)).

Then, we can calculate as


∫ 1 ∫ 1
d
J(t) = cut (x, t) dx = cuxx (x, t) dx = [cux (x, t)]x=1
x=0 = 0.
dt 0 0

Now, we introduce a discrete heat flux for the solution u(n) = (uni ) of (6.3):


N
Jn = cuni h.
i=1

Then, we have the conservation of the discrete heat flux


N
Jn = ca(x̂i )h.
i=1

6.3 ℓ∞ analysis revisited


✓Remark. After having finished writing this paragraph, I noticed that
the main result, Theorem 6.3 below, is exactly the same as Theorem 10.2 of

62
Thomée [39, page 118]. Moreover, the proof is almost the same as that of
Thomée’s one. However, my stability results, Theorem 6.5 and Lemma 6.6,
are not described in [39]; Those results may be out of scope of his interest. I
shall give an open question about the stability.
In this (rather long) paragraph, we revisit stability and convergence analysis
of the FDM for a one-dimensional heat equation


ut = κuxx + f (x, t) (0 < x < d, t > 0)
u(0, t) = 0, u(d, t) = 0 (t > 0) (6.7)


u(x, 0) = a(x) (0 ≤ x ≤ d),

where κ, d are positive constants, f (x, t), a(x) are prescribed continuous func-
tions with a(0) = a(d) = 0.
In order to state the finite difference scheme, we introduce 0 < N ∈ Z and
τ > 0, and set h = d(1 + N )−1 , xi = ih (0 ≤ i ≤ N + 1), and tn = nτ
(n ≥ 0). We denote by uni the finite-difference approximation of u(xi , tn ) to
be computed.
Let 0 ≤ θ ≤ 1. Then, we consider the standard implicit θ scheme

 n
Dτ ui = κ∆h ui
n−1+θ
+ fin−1+θ (1 ≤ i ≤ N, n ≥ 1)
un0 = unN +1 = 0 (n ≥ 1) (6.8)

 0
ui = a(xi ) (0 ≤ i ≤ N + 1),

where

un−1+θ
i = (1 − θ)un−1
i + θuni ,
fin−1+θ = (1 − θ)f (xi , tn−1 ) + θf (xi , tn ),
n − 2un + un
uni − un−1 ui−1 i i+1
Dτ uin = i
, ∆h uni = .
τ h2
We introduce A, H, K ∈ RN ×N as
 
2 −1 0
−1 2 −1 0
 
A= .. ..  , H = (I + θλA), K = [I − (1 − θ)λA],
 . . 
0 −1 2

where I ∈ RN ×N denotes the identity matrix and λ = κτ h−2 . As is well-


known, A and H are positive-definite real symmetric matrices so that they
are non-singular. Hence, we can set

G = H −1 K.

Introducing
     
un1 a(x1 ) f1n−1+θ
     
un =  ...  , a =  ...  , f n−1+θ =  ... 
unN a(xN ) n−1+θ
fN

63
we can rewrite (6.8) equivalently as

un = Gun−1 + τ H −1 f n−1+θ (n ≥ 1), u0 = a. (6.9)

As usual, we write as
 1/2
∑N
∥v∥∞ = max |vi |, ∥v∥2 =  |vj |2 h (v = (vi ) ∈ RN ).
1≤i≤N
j=1

We use

N
(v, w)2 = v i wi h (v = (vi ), w = (wi ) ∈ RN ).
i=1

Obviously, ∥v∥22 = (v, v)2 . And, for any norm ∥ · ∥ in RN , we use the same
symbol to express the matrix norm corresponding to ∥ · ∥;

∥Bv∥
∥B∥ = max (B ∈ RN ×N ).
v∈RN ∥v∥

The error vector en is defined as


 n  
e1 u(x1 , tn ) − un1
   
en =  ...  =  ..
. .
n
eN u(xN , tn ) − uN n

The main purpose of this paragraph is to prove the following result.

64
Theorem 6.3.
Let T > 0 and set Q = [0, d] × [0, T ].
(i) Let 1/2 ≤ θ ≤ 1. Suppose that the solution u of (16.5) satisfies

∂l ∂m
u, u, u ∈ C(Q) (1 ≤ l ≤ 2, 1 ≤ m ≤ 4). (6.10)
∂tl ∂xm
Then, there exists a positive constant C1 which depends only on κ and d such
that
√ ( )
max ∥en ∥∞ ≤ C1 (τ + h2 ) T ∥utt ∥L∞ (Q) + ∥uxxxx ∥L∞ (Q) . (6.11)
0≤tn ≤T

(ii) Let θ = 1/2. Suppose that u satisfies

∂l ∂m
u, u, u ∈ C(Q) (1 ≤ l ≤ 3, 1 ≤ m ≤ 4). (6.12)
∂tl ∂xm
Then, there exists a positive constant C2 which depends only on κ and d such
that
√ ( )
max ∥en ∥∞ ≤ C2 (τ 2 + h2 ) T ∥uttt ∥L∞ (Q) + ∥uxxxx ∥L∞ (Q) . (6.13)
0≤tn ≤T

(iii) Let 0 ≤ θ < 1/2 . Take 0 < δ < 1 and assume

2λ(1 − 2θ) ≤ 1 − δ. (6.14)

Suppose that (6.10) is satisfied. Then, there exists a positive constant C3


which depends only on κ, d and δ such that
√ ( )
max ∥en ∥∞ ≤ C3 (τ + h2 ) T ∥utt ∥L∞ (Q) + ∥uxxxx ∥L∞ (Q) . (6.15)
0≤tn ≤T

✓Remark. It is well-known (cf. Theorem 4.3) that, if θ = 1/2, we have

max ∥en ∥∞ = O(τ 2 + h2 ) (h, τ → 0)


0≤tn ≤T

provided with
λ ≤ 1.
Theorem 6.3 claims that the condition λ ≤ 1 is not necessary to prove the
convergence (with the optimal-order) of the finite difference scheme.
The matrix
1
Ah = A ∈ RN ×N
h2
1/2
is positive-definite symmetric matrix so that its square root Ah is defined in
a natural way. We introduce
1/2
|||v||| = ∥Ah v∥2 (v ∈ RN ). (6.16)

65
Lemma 6.4. √
(i) ∥v∥∞ ≤ d |||v||| for v ∈ RN .
(ii) |||v||| ≤ 2h−1 ∥v∥2 for v ∈ RN .

Proof. (i) Let v = (v1 , . . . , vN )T ∈ RN and set v0 = vN +1 = 0. Then,

1/2

N
−vi−1 + 2vi − vi−1
∥Ah v∥22 = (Ah v, v)2 = vi h
h2
i=1

N +1 ( )2
vi − vi−1
= h. (6.17)
h
i=1


i
Now let 1 ≤ i ≤ N . We can write as vi = (vj − vj−1 ). Hence,
j=0

∑ +1
vj − vj−1 1/2 1/2
N
|vi | ≤ h h
h
j=1
 1/2  1/2
∑ +1
∑ √
N
vj − vj−1 2 N +1
≤ h  h = d ∥A1/2 v∥2 .
h h
j=1 j=1

(ii) Again by using (6.17),


N +1 ( )2
1/2 vi − vi−1
|||v|||2 = ∥Ah v∥22 = h
h
i=1
N∑+1
vi2 + vi−1
2
4
≤2 2
h ≤ 2 ∥v∥22 .
h h
i=1

We introduce the truncation-error vectors r n = (rin ), Rn = (Rin ) ∈ RN as

rin = (1 − θ)[Dτ u(xi , tn ) − ut (xi , tn−1 )] + θ[Dτ u(xi , tn ) − ut (xi , tn )],


[ ]
Rjn = (1 − θ)κ uxx (xi , tn−1 ) − ∆h u(xi , tn−1 ) + θκ [uxx (xi , tn ) − ∆h u(xi , tn )] .

We know
{
√ C4 τ ∥utt ∥L∞ (Q)
∥r ∥2 ≤
n
d ∥r ∥∞
n
≤ (6.18)
C5 τ 2 ∥uttt ∥L∞ (Q) if θ = 1/2,

∥Rn ∥2 ≤ d ∥Rn ∥∞ ≤ C6 κh2 ∥uxxxx ∥L∞ (Q) , (6.19)

where C4 , C5 , C6 are positive constants depending only on d.


The error en solves
en − en−1
+ κAh en−1+θ = r n + Rn (n ≥ 1), e0 = 0,
τ

66
where en−1+θ = (1 − θ)en−1 + θen . From this, we have the identity
( n )
e − en−1
, v + κ(Ah en−1+θ , v)2 = (r n + Rn , v)2 (6.20)
τ 2

for any v ∈ RN . Moreover, the identity


( )
1 en − en−1 en + en−1
en−θ+1 = τ θ − + (6.21)
2 τ 2
is of use.
We can state the following proof.

Proof of Theorem 6.3. (i) and (ii). Let 1/2 ≤ θ ≤ 1. In view of (6.21), we can
calculate as
( n )
e − en−1 n−θ+1
, Ah e
τ 2
( )( n ) ( n )
1 e − en−1 en − en−1 e − en−1 en + en−1
= τ θ− , Ah + , Ah
2 τ τ 2 τ 2 2
( ) 2
1 n−1 )
1 ( 1/2 n 2 )
1/2
Ah (e − e
n
1/2
= τ θ− + ∥Ah e ∥2 − ∥Ah en−1 ∥22
2 τ 2τ
2
1 ( n 2 )
≥ |||e ||| − |||en−1 |||2 . (6.22)

Substituting v = Ah en−1+θ into (6.20), using (6.22) and Young’s inequality,
we have
1 ( n 2 )
|||e ||| − |||en−1 |||2 + κ∥Ah en−1+θ ∥22 ≤ (r n + Rn , Ah en−1+θ )2

1 n κ
≤ ∥r + Rn ∥22 + ∥Ah en−1+θ ∥22 .
2κ 2
Hence,
τ
|||en |||2 ≤ |||en−1 |||2 + ∥r n + Rn ∥22
κ
τ ∑ k 2τ ∑ k 2
n n
≤ ∥r + R ∥2 ≤
k 2
(∥r ∥2 + ∥Rk ∥22 ).
κ κ
k=1 k=1

This, together with Lemma 6.4 (i), (6.18) and (6.19), gives the error estimate
(6.11) and (6.13).
(iii) Let 0 ≤ θ < 1/2 and assume (6.14) with some 0 < δ < 1. We have
( n )
e − en−1 n− 12 1
1/2 n 2 1
1/2 n−1 2
, Ah e = Ah e − Ah e .
τ 2 2τ 2 2τ 2

Again, using (6.21),


( )( )
n− 12 1 1 en − en−1 n− 12
(Ah e n−1+θ
, Ah e ) = ∥Ah en− 2 ∥22
+τ θ− Ah , Ah e
2 τ
( )
1 1 1 ( )
= ∥Ah en− 2 ∥22 + θ− ∥Ah en ∥22 − ∥Ah en−1 ∥22 .
2 2

67
1
Substituting v = Ah en− 2 into (6.20) and using those identities, we deduce

1 ( n 2 ) 1
|||e ||| − |||en−1 |||2 + κ∥Ah en− 2 ∥22
2τ ( )
κ 1 ( ) 1 n κ 1
+ θ− ∥Ah en ∥22 − ∥Ah en−1 ∥22 ≤ ∥r + Rn ∥22 + ∥Ah en− 2 ∥22 .
2 2 2κ 2

Hence, setting ( )
1
εn = |||e ||| − κτ
n 2
− θ ∥Ah en ∥22 ,
2
we obtain

2τ ∑ ( k 2 )
n
τ n
εn ≤ εn−1 + ∥r + R ∥2 ≤
n 2
∥r ∥2 + ∥R ∥2 .
k 2
κ κ
k=1

In view of Lemma 6.4 (ii) and the condition (6.14), we estimate as


( ) ( )
1 1 − 2θ 4 1/2
|||e ||| − κτ
n 2
− θ ∥Ah e ∥2 ≥ |||e ||| − κτ
n 2 n 2
2
∥Ah en ∥22
2 2 h
≥ [1 − 2λ (1 − 2θ)] |||en |||2
≥ δ|||en |||2 .

Therefore,
2δτ ∑ ( k 2 )
n
|||en |||2 ≤ ∥r ∥2 + ∥Rk ∥22 .
κ
k=1

Summing up this, Lemma 6.4 (i), (6.18) and (6.19), we complete the proof of
Theorem 6.3 (iii).

Instead of the stability in the standard norms ∥ · ∥∞ and ∥ · ∥2 , we have the


following result.

Theorem 6.5.
For the solution un of (6.8), we have the stability inequality


n
|||un ||| ≤ |||a||| + τ |||f k−1+θ |||
k=1

provided with
2λ(1 − 2θ) ≤ 1 (6.23)
if 0 ≤ θ < 1/2.

This is a direct consequence of the following lemma.

Lemma 6.6.
(i) |||G||| ≤ 1 provided with (6.23) if 0 ≤ θ < 1/2.
(ii) |||H −1 ||| ≤ 1.

68
Proof. (i) It is well-known that (or it is a readily obtainable consequence of
1/2 1/2
the Spectral Mapping Theorem) ∥G∥2 ≤ 1. Hence, noting Ah G = GAh ,
we obtain |||G||| ≤ 1.
(ii) It follows ∥H −1 ∥2 ≤ 1 and Ah H −1 = H −1 Ah .
1/2 1/2

✓Remark. According to the expression (6.9) and Lemma 6.6, we obtain


n
|||e ||| ≤ τ
n
(|||r k ||| + |||Rk |||) (n ≥ 1). (6.24)
k=1

Therefore, we can deduce the error estimate if |||r n ||| and |||Rn ||| are estimated
in terms of h and τ . Consequently, we will succeed in avoiding the constant
δ in the condition (6.14). As a matter of fact, the estimation of |||r n ||| is not
difficult. In view of (6.17), we can derive
{
C7 τ ∥uttx ∥L∞ (Q)
|||r n ||| ≤
C8 τ 2 ∥utttx ∥L∞ (Q) (if θ = 1/2)

with positive constants C7 and C8 depending only on d. This is because r n


naturally satisfies the “boundary condition” r0n = rNn
+1 = 0. (We mean that,
if we extend the original definition of ri for 1 ≤ i ≤ N to i = 0, N + 1, we
n

have r0n = rN
n
+1 = 0.) However, we are able to derive only

|||Rn ||| ≤ C9 h3/2 ∥uxxxxx ∥L∞ (Q)

because of the lack of the “boundary condition” R0n = RN n


+1 = 0. Further-
more, we have observed that there are examples that |||Rn ||| = O(h3/2 ) as
h → 0 by numerical experiments. Therefore, it is impossible to deduce the
optimal-order error estimates by means of the stability result (6.24). Instead,
if we consider the periodic boundary condition, we obtain the optimal-order
error estimates by (6.24).

✓Remark. For a C 1 function w defined in [0, d] with w(0) = w(d) = 0, we


have
|||w||| ≤ ∥wx ∥L2 (0,d) ,
where w = (w(xj )) ∈ RN . Therefore, under appropriate assumptions on a
and f , we obtain, as a corollary of Theorem 6.5 and Lemma 6.4 (i),

√ √ ∑
n
∥un ∥∞ ≤ d ∥ax ∥L2 (0,d) + dτ ∥fx (·, tk )∥L2 (0,d)
k=1

provided with (6.23) if 0 ≤ θ < 1/2.


In order to avoid unessential difficulties, we consider only the case θ = 1/2.
Suppose now f ≡ 0. Then, (6.9) implies

un = Gn a (n ≥ 1).

69
In view of Theorem 6.3, there exists τ0 , h0 > 0 such that

∥Gn a∥∞ ≤ 1 + ∥u∥L∞ (Q) (0 ≤ tn ≤ T )

for τ ≤ τ0 and h ≤ h0 . Therefore, by virtue of the uniform boundedness


principle, there exists a potitive constant MT depending on T such that

∥Gn ∥∞ ≤ MT (0 ≤ tn ≤ T ). (6.25)

(See also [32, §3.5].)


In [21, §7], it is proved that
3
∥G∥∞ ≤ 1 ⇔ λ≤ . (6.26)
2
Thus,
3
λ≤ ⇒ ∥Gn ∥∞ ≤ 1 (∀n ≥ 1). (6.27)
2
On the other hand, as is stated in Lemma 6.6, we always have

|||G||| ≤ 1 and |||Gn ||| ≤ 1 (∀n). (6.28)

Therefore, it would be interesting to consider


3
∥Gn ∥∞ or ∥G∥∞ for λ > .
2

✓Remark. For the general θ, we have (cf. [21, §7])

2−θ
∥G∥∞ ≤ 1 ⇔ λ≤ . (6.29)
4(1 − θ)

70
Problems and further readings for Chapter I
Problems
Problem 1. Prove that eigenvalues {λj } and eigenvectors {uj } of a tri-
diagonal matrix  
b a
 .. 0
 . 
 
 a b a  ∈ RN ×N (6.30)
 
 . 
 . . 
0 a b
are given as

λj = b + 2a cos and
( N +1 )
jπ N jπ
uj = sin , · · · , sin (1 ≤ j ≤ N ).
N +1 N +1

Problem 2. Consider the initial-boundary value problem for a heat equation




ut = uxx (0 < x < 1, t > 0)
u(0, t) = u(1, t) = 0 (t > 0) (6.31)


u(x, 0) = a(x) (0 ≤ x ≤ 1),

where a(x) is a sufficiently smooth function satisfying a(0) = a(1) = 0. (Con-


sequently, the solution u(x, t) becomes a sufficiently smooth function of x and
t.) Define a set of grid points {(xi , tn ) = (ih, nτ )| 0 ≤ i ≤ N + 1, n ≥ 0} with
h = 1/(N + 1) and τ > 0. Put Uin = u(xi , tn ). Then, determine the value of
λ = τ /h2 which gives an estimate of the form
n+1 n − 2U n + U n
Ui − Uin Ui−1
− i i+1 2 4
τ h2 = O(τ + h )

as h, τ → 0.

Problem 3. Consider the explicit scheme for the initial-boundary value


problem (6.31). Suppose the initial values are given as u0i = (−1)i sin(iπh).
Prove that a solution of the finite difference scheme is expressed as

uni = (1 − 2λ − 2λ cos(πh))n u0i .

Moreover, prove that, if tn = 1 and λ > 1/2, ∥u(n) ∥∞ → ∞ (h → 0).

Problem 4. Prove that (4.7).

Problem 5. In the proof of Lemma 4.6, prove that Fθ,λ (A) is a symmetric
matrix.

71
Problem 6. In the proof of Lemma 4.6, prove that {Fθ,λ (µ⟨m⟩ )}N
m=1 are all
the eigenvalues of Fθ,λ (A).

Problem 7. Recall that



µm = (mπ)2 , φm (x) = 2 sin(mπx) (m = 1, 2, . . .).

are the eigenpairs of the eigenvalue problem

−φ′′ (x) = µφ(x) (0 < x < 1), φ(0) = φ(1) = 0, φ ̸≡ 0.

We introduce a finite difference approximation:



− φi−1 − 2φi + φi+1 = µφ (1 ≤ i ≤ N )
i
h2 (6.32)
φ = φ = 0, φ = (φ ) ̸= 0.
0 N +1 i

Prove that
 ( )

 µ⟨m⟩ = 4 sin2 mπ
,
h2 2(N + 1)
 ⟨m⟩
 ⟨m⟩ (√ )
φ = (φi ) = 2 sin(mπxi ) (1 ≤ m ≤ N ).

are the eigenpairs of (6.32). Moreover, prove that


⟨m⟩ ⟨m⟩
µh → µm (h → 0), φm (xi ) = φi (0 ≤ i ≤ N + 1).

Problem 8 (machine assignment). Compute numerically (by the finite dif-


ference method) the Gray-Scott model


 ut = ku uxx + u2 v − (β + γ)u (0 < x < 1, 0 < t < T )



vt = kv vxx − u2 v + β(1 − v) (0 < x < 1, 0 < t < T )

ux (0, t) = ux (1, t) = 0 (0 < t < T )



 vx (0, t) = vx (1, t) = 0 (0 < t < T )



u(x, 0) = u0 (x), v(x, 0) = v0 (x) (0 ≤ x ≤ 1)

for several (β, γ)’s. Report non-trivial shapes of solutions. (recommendation:


ku = 10−5 ,kv = 2ku ,T = 500,0.009 ≤ β ≤ 0.151, and 0.03 ≤ γ ≤ 0.141.)

Further readings
In this chapter, I explained only FDM for the one space-dimensional heat
equation. But, FDM can be applied to higher space-dimensional partial dif-
ferential equations of parabolic, elliptic and hyperbolic types. For those topics,
the following standard textbooks are useful:

72
[25] K. W. Morton and D. F. Mayers: Numerical Solution of Par-
tial Differential Equations (2nd ed.), Cambridge University Press,
2005.
[37] G. D. Smith: Numerical Solution of Partial Differential Equa-
tions, Oxford University Press, 1965. (藤川洋一郎訳:コンピュー
タによる偏微分方程式の解法,新訂版,サイエンス社,1996 年)

[24] S. Larsson and V. Thomée: Partial Differential Equations with


Numerical Methods, Springer, 2009.
[22] 菊地文雄,齊藤宣一:数値解析の原理–現象の解明をめざして
(岩波数学叢書),岩波書店,2016.
[38] 田端正久:偏微分方程式の数値解析,岩波書店, 2010.

Therein, important topics including von Neumann condition and Fourier


analysis are also described. Moreover, the implementation of FDM is described
in

[36] 齊藤宣一:線形・非線形拡散方程式の差分解法と解の可視化,講
義ノート (http://www.infsup.jp/saito/ns/notes.html),2011
年.

An interesting example of nonlinear problems and its analysis are given in

[27] 三村昌泰:微分方程式と差分方程式—数値解は信用できるか?—,
「数値解析と非線形現象 (山口昌哉編)」の第 3 章,日本評論社,1996
年 (オリジナルは 1981 年).

The following old articles are also worth reading:

[32] R. D. Richtmyer and K. W. Morton: Difference Methods for


Initial-Value Problems, Interscience Publishers, 1967.
[10] 藤田宏:初期値問題の差分法による近似解法 (B: 微分方程式の
近似解法),自然科学者のための数学概論 [応用編],寺沢寛一 (編),
岩波書店,1960 年.

[11] 藤田宏:境界値問題の差分法による近似解法 (B: 微分方程式の


近似解法),自然科学者のための数学概論 [応用編],寺沢寛一 (編),
岩波書店,1960 年.

73
II. Finite element method for the Poisson equation

7 Variational approach for the Poisson equation


7.1 Dirichlet’s principle
As a typical model of elliptic partial differential equations, we consider the
boundary value problem for the Poisson equation in a two-dimensional bounded
domain Ω ⊂ R2 with the boundary ∂Ω,
( 2 )
∂ ∂2
− ∆u = − + u = f in Ω, u = 0 on ∂Ω, (7.1)
∂x21 ∂x22

where u = u(x) = u(x1 , x2 ) denotes the unknown function to be found and


f = f (x) is a given continuous function in Ω.
As will be stated in Theorem 7.2, Problem (7.1) and the following mini-
mization problem (variational problem) are closely related:

Find u ∈ U s.t. J(u) = min J(v), (7.2)


v∈U

where
∫ ∫
1
J(v) = |∇v|2 dx − f v dx
2
∫ [( ) ]
Ω Ω
) ( ∫
1 ∂v 2 ∂v 2
= + dx − f v dx,
2 Ω ∂x1 ∂x2 Ω

U = {v ∈ C 1 (Ω) | v|∂Ω = “the boundary value of v on Γ” = 0}.

Moreover, the following problem is called the Euler-Lagrange equation for


(7.2):
∫ ∫
Find u ∈ U s.t. ∇u · ∇ϕ dx = f ϕ dx (∀ϕ ∈ U ). (7.3)
Ω Ω

Theorem 7.1.
A function u is a solution of (7.2), if and only if it is a solution of (7.3).

Proof. Let u be a solution of (7.2). Let ϕ ∈ U be arbitrary. Consider a real


valued function j(t) = J(u + tϕ) for t ∈ R. Then,
∫ ∫
1
j(t) = J(u + tϕ) = ∇(u + tϕ) · ∇(u + tϕ) dx − f (u + tϕ) dx
2 Ω
∫ ∫ Ω
1
= |∇u|2 dx − f u dx
2 Ω Ω
∫ ∫ ∫
t2 t
+ |∇ϕ| dx +
2
(∇u · ∇ϕ + ∇ϕ · ∇u) dx − t f uϕ dx.
2 Ω 2 Ω Ω

The function j(t) achieves its minimum at t = 0. Hence, j ′ (t)|t=0 = 0. This


implies (7.3).

74
Conversely, let u be a solution (7.3). Let v ∈ U be arbitrary, and set ϕ =
v − u ∈ U . Then,
∫ ∫
1
J(v) − J(u) = ∇(u + ϕ) · ∇(u + ϕ) dx − f (u + ϕ) dx − J(u)
2 Ω
∫ ∫ Ω ∫
1 1
= |∇ϕ|2 dx + (∇u · ∇ϕ + ∇ϕ · ∇u) dx − f ϕ dx
2 Ω 2 Ω
∫ [∫ ∫ ] Ω
1
= |∇ϕ| dx +
2
(∇u · ∇ϕ) dx − f ϕ dx
2 Ω
∫ Ω Ω
1
≥ |∇ϕ|2 dx ≥ 0.
2 Ω

Theorem 7.2 (Dirichlet’s principle).


Suppose that Ω is a bounded Lipschitz domain (See §9 for the definition).

(i) If u ∈ C 2 (Ω) is a solution of (7.1), then it solves (7.2).

(ii) If u ∈ C 2 (Ω) is a solution of (7.2),then it solves (7.1).

Proof. (i) Let u ∈ C 2 (Ω) be a solution of (7.1). Multiplying by ϕ ∈ U the both


sides of −∆u = f and integrating them over Ω, we have by the integration by
parts
∫ ∫
f ϕ dx = (−∆u)ϕ dx
Ω ∫Ω ∫ ∫
= ∇u · ∇ϕ dx − [(∇u) · n]ϕ dS = ∇u · ∇ϕ dx,
Ω Γ Ω

where n = n(s) (s ∈ Γ) denotes the unit outward vector to Γ and dS the line
element of Γ. Since ϕ is arbitrary, u solves (7.3). Hence, in view of Theorem
7.1, it also solves (7.2).
(ii) We deduce ∫
(f + ∆u)ϕ dx = 0 (∀ϕ ∈ U )

in the similar manner as (i). We argue by contradiction to show that w =
f + ∆u ≡ 0. Assume that there exists z ∈ Ω such that w(z) > 0. Then, by
continuity of w, there exists δ satisfying
w(x) > 0 (x ∈ B(z; δ) = {x ∈ R2 | |z − x| < δ} ⊂ Ω).
At this stage, we define ϕ ∈ U as
ϕ ≥ 0 (x ∈ Ω), ϕ(x) > 0 (x ∈ B(z; δ/2)), supp ϕ ⊂ B(z; δ).
Then, we have
∫ ∫ ∫
wϕ dx = wϕ dx ≥ wϕ dx > 0,
Ω B(z;δ) B(z;δ/2)

which is a contradiction. Hence, we have w ≤ 0. By considering −w, we


deduce w ≥ 0. Therefore, w ≡ 0, which completes the proof.

75
✓Remark. At this stage, we do not know whether a solution exists or not.

Notation. We say that v ∈ C(Ω) is a piecewise C 1 function if and only if


there exists a decomposition Ω = Ω1 ∪ · · · ∪ ΩN with Ωi ∩ Ωj = ∅ (i ̸= j) and
that v is of class C 1 in each Ωi (i = 1, . . . , N ). Then, we can take

V = {v ∈ C(Ω) | v is a piecewise C 1 function, v|Γ = 0}

instead of U in Theorems 7.1 and 7.2. Note that U ⊂ V .

7.2 Galerkin’s approximation


We move to finite dimensional approximations to (7.2) and (7.3). To this
purpose, we introduce
{ }
∑N

VN = vN ∈ V vN (x) = ci ϕi (x), {ci }N
i=1 ⊂ R ⊂ V,

i=1

where ϕ1 , ϕ2 , . . . , ϕN ∈ V with 0 < N ∈ Z.


A finite dimensional approximation to (7.3) reads as

Find uN ∈ VN s.t. J(uN ) = min J(vN ), (7.4)


vN ∈VN

which is called the Ritz approximation.


On the other hand, a finite dimensional approximation to (7.3) reads as
∫ ∫
Find uN ∈ VN s.t. ∇uN · ∇vN dx = f vN dx (∀vN ∈ VN ) (7.5)
Ω Ω

which is called the Galerkin approximation.


Both (7.4) and (7.5) can be represented in the vector-matrix form as follows:

Au = f , (7.6)

where

N ×N
A = (aij ) ∈ R , aij = ∇ϕj · ∇ϕi dx;
∫Ω
f = (fi ) ∈ RN , fi = f ϕi dx;

∑N
u = (ui ) ∈ RN with uh = ui ϕi .
i=1

✓Remark. (7.4) ⇔ (7.5).

76
8 Finite element method (FEM)
We give a concrete example VN by the finite element method (FEM). We
assume that Ω is a polygonal domain for the sake of simplicity. Below we
collect some notions of FEM. In this section, we write (x, y) = (x1 , x2 ) to
express the generic point in R2 and dx implies dx = dx1 dx2 .

• T (= triangulation of Ω) is introduced as follows.



1. T is a set of closed triangles T , and Ω = T.
T ∈T
2. Any two triangles of T meet only in entire common faces or sides
or in vertices.

These triangles are prohibited.

• The size (mesh, granularity) parameter of T is defined as


h = max hT ,
T ∈T

where
hT = the diameter of the circumscribed circle of T.
Below, we write T = Th .

• T ∈ Th is called a element (要素). A vertex of T is called a node (節点).


• Let T ∈ Th be arbitrary. Suppose that Pi = (xi , yi ) (i = 1, 2, 3) are
vertices of T and |T | the area of T . We set

1 1 1
△PPj Pk 1
λi (x, y) = = x xj xk
|T | 2|T |
y y j yk
1
= {(xj yk − xk yj ) + (yj − yk )x − (xj − xk )y}
2|T |
for P = (x, y) ∈ T . Hereinafter, we write (i, j, k) = (1, 2, 3), (2, 3, 1), and
(3, 1, 2). Obviously, λ1 , λ2 , λ3 are affine functions defined in T and we
have {
1 (i = j)
λi (Pj ) = . (8.1)
0 (i ̸= j)
See Fig. 8.5. We call {λi }3i=1 the barycentric coordinate of T and λi the
barycentric coordinate of T associating with Pi .
We have
λ1 (x, y) + λ3 (x, y) + λ3 (x, y) = 1, (x, y) ∈ T. (8.2)

77
Figure 8.1: Triangulation of Ω = (0, 1) × (0, 1) by a uniform division. Number
of nodes: 81 (left), 289 (center) and 1089 (right). Number of
elements: 128 (left), 512 (center), 2048 (right).

Figure 8.2: Triangulations of Ω = (0, 1) × (0, 1) by a non-uniform division


(freefem++ http://www.freefem.org). Number of nodes: 95
(left), 333 (center) and 1267 (right). Number of elements: 156
(left), 600 (center), 2404 (right).

Figure 8.3: Triangulations of a polygonal domain.

Figure 8.4: Triangulations of a domain with the piecewise smooth boundary.

78
Pj Pi

Pk

Figure 8.5: The barycentric coordinate λi (x, y) of T associating with Pi .

• N̄ = N + NB is the total number of nodes, where


N is the number of nodes located on the interior of Ω and
NB is the number of nodes located on the boundary Γ.

• {Pi }N̄
i=1 is the set of all nodes, where
{Pi }N
i=1 is the set of all nodes located on Ω and

{Pi+NI }N B
i=1 is the set of all nodes located on Γ.

• Let Λi = {T ∈ Th | Pi ∈ T }.

• For 1 ≤ i ≤ N̄ , we define ϕi = ϕh,i (x, y) ∈ C 0 (Ω) by setting


{
λT,i (x, y) (x, y) ∈ T, T ∈ Λi ,
ϕi (x, y) =
0 otherwise,

where λT,i denotes the barycentric coordinate of T associating with Pi .


See Fig 8.6. From the definition,

supp ϕi = T. (8.3)
T ∈Λi

In view of (8.1) and (8.2), we have


{
1 (i = j) ∑

ϕi (Pj ) = , ϕi = 1 (8.4)
̸ j)
0 (i = i=1

• The space
Xh = span{ϕi }N̄
i=1 (8.5)
is called the P1 element on Th . Each vh ∈ Xh is characterized by the
following two conditions:
– vh is a continuous function in Ω;

79
P
i

Figure 8.6: (left) Λi . (right) ϕi .

– For each T ∈ Th , there exist α, β, γ ∈ R such that vh |T = α + βx +


γy.
Below we also use
Vh = span{ϕi }N
i=1 (8.6)
which is also called the P1 element (with the zero Dirichlet boundary
condition) on Th . Each vh ∈ Vh is characterized by the following three
conditions:
– vh is a continuous function in Ω;
– For each T ∈ Th , there exist α, β, γ ∈ R such that vh |T = α + βx +
γy;
– vh |∂Ω = 0.
Then, {ϕi }N̄
i=1 is called the standard basis of Xh and {ϕi }i=1 that of Vh .
N

�� ��

����
����
����
��
����
����
�� ���� ��
���� ����
��
�� ���� ��
�� ����
���� ���� ���� ����
���� ����
���� ���� ���� ����
���� ����
�� �� �� ��

Figure 8.7: (left) An example of vh ∈ Xh . (right) An example of vh ∈ Vh .

At this stage, we can state the finite element approximation to (7.3), which
reads as
∫ ∫
Find uh ∈ Vh s.t. ∇uh · ∇vh dx = f vh dx (∀vh ∈ Vh ). (8.7)
Ω Ω

80
It is equivalently written as
Au = f ,
where

N ×N
A = (aij ) ∈ R , aij = ∇ϕj · ∇ϕi dx;
∫Ω

f = (fi ) ∈ RN , fi = f ϕi dx;

u = (ui ) ∈ RN , ui = uh (Pi ).

✓Remark. Let T ∈ Th with their vertices Pi = (xi , yi ) (i = 1, 2, 3). The


barycentric coordinate of T is denoted by {λi }3i=1 . We have
( )
1 yj − yk
∇λi = (constant vector).
2|T | −(xj − xk )
Consequently,
−−−→ −−→ −−−→
∇λi · Pj Pk = 0, ∇λi · Pj Pi = ∇λi · Pk Pi = 1.
Moreover, we deduce
1 1 1
|∇λi | = Pj Pk = Pj Pk = ,
2|T | κi · Pj Pk κi
where κi denotes the perpendicular length from the vertex Pi to the segment
Pj Pk ; see Fig. 8.8.

Pi

κi

Pk Pj

Figure 8.8:

We have 
∫  |T | (i = j),
6
λi λj dx = (8.8)
T  |T | (i ̸= j)
12
and

∇λi · ∇λj dx
T

 4|T
1
| [(xj − xk ) + (yj − yk ) ]
2 2 (i = j),
= (8.9)
 1 [(x − x )(x − x ) + (y − y )(y − y )] (i =
̸ j).
4|T | j k k i j k k i

81
✓Remark. It is a hard task to construct a triangulation of a given polygonal
domain. Some useful soft-wares are available; freefem++ [14].

82
9 Tools from Functional Analysis
In order to establish a mathematical justification of FEM, we introduce some
concepts from Functional Analysis. In particular, Sobolev spaces H 1 (Ω) and
H01 (Ω) play important roles. We collect some notions below.

9.1 Sobolev spaces


Hereinafther, Ω is assumed to be a domain (open and connected subset) in R2 .
A generic point is denoted by x = (x1 , x2 ).

• We shall treat only real-valued functions. Sets of continuous functions


C(R2 ) = C 0 (R2 ) and C(Ω) = C 0 (Ω) are well-known. For a nonnegative
integer k, the set of C k functions defined in R2 and Ω are denoted,
respectively, by C k (R2 ) and C k (Ω). The spaces

C0k (R2 ) = {v ∈ C k (R2 ) | v has a compact support},


C0k (Ω) = {v|Ω | v ∈ C0k (R2 ), the support of v is contained in Ω}

play important roles. Therein, the support of v is defined as

supp v = {x ∈ Ω | v(x) ̸= 0}.

We introduce, for k ≥ 0,

C k (Ω) = {v|Ω | v ∈ C0k (R2 )}.

Moreover, as usual, set


∩ ∩
C0∞ (R2 ) = C0k (R2 ), C ∞ (Ω) = C k (Ω).
k≥0 k≥0

• For a continuous function v in Ω, we write

∥v∥∞ = ∥v∥L∞ (Ω) = max |v(x)|,


x∈Ω

which is called the L∞ norm or maximum norm of v.

• The L2 space defined in Ω, which is denoted by L2 (Ω), is a Hilbert space


equipped with the scalar product

(u, v) = (u, v)Ω = (u, v)L2 (Ω) = u(x)v(x) dx.

The induced norm is


√∫
∥u∥ = ∥u∥Ω = ∥u∥L2 (Ω) = (u, u)1/2 = |u(x)|2 dx.

83
• We recall partial derivatives in the L2 sense. Let v ∈ L2 (Ω). If there is
a function g ∈ L2 (Ω) such that
∫ ∫
∂φ
v dx = − gφ dx (∀φ ∈ C0∞ (Ω)),
Ω ∂x1 Ω

then g is called a generalized partial derivative in L2 (Ω) of v with respect


to x1 and is denoted by
∂v
g= , ∂1 v, · · · .
∂x1
We define successively
∂v ∂2v ∂2v
= ∂2 v, = ∂12 v, = ∂1 ∂2 v, · · · .
∂x2 ∂x21 ∂x1 x2

Those generalized derivatives are unique. If v ∈ L2 (Ω) ∩ C 1 (Ω), then a


generalized derivative implies the usual one. In what follows, we consider
only generalized derivatives.
• Now we can introduce
{ }
H 1 (Ω) = u ∈ L2 (Ω) | ∃∂1 u, ∂2 u ∈ L2 (Ω)

together with

(u, v)H 1 (Ω) = (u, v) + (∂1 u, ∂1 v) + (∂2 u, ∂2 v),


| {z }
=(∇u,∇v)

∥u∥H 1 (Ω) = (u, u)H 1 (Ω) .

• We also introduce
{ }
H 2 (Ω) = u ∈ L2 (Ω) | ∂1 u, ∂2 u, ∂12 u, ∂1 ∂2 u, ∂22 u ∈ L2 (Ω)

together with
∑ ∑
(u, v)H 2 (Ω) = (u, v) + (∂i u, ∂i v) + (∂i ∂j u, ∂i ∂j v),
i=1,2 i,j=1,2

∥u∥H 2 (Ω) = (u, u)H 2 (Ω) .

• The space H m (Ω), m = 1, 2, is a Hilbert space equipped with the scalar


product (·, ·)H m (Ω) and the norm ∥ · ∥H m (Ω) . The space H m (Ω) is called
the Sobolev space.
• In the space H 1 (Ω)
[∫ ]1/2
√ ( )
∥∇u∥ = (∇u, ∇u) = |∂1 u| + |∂2 u| dx
2 2

defines a semi-norm, where

(∇u, ∇v) = (∂1 u, ∂1 v) + (∂2 u, ∂2 v).

84
• We use Schwarz’s inequalities:

|(u, v)| ≤ ∥u∥ · ∥v∥ (u, v ∈ L2 (Ω)),


|(∇u, ∇v)| ≤ ∥∇u∥ · ∥∇v∥ (u, v ∈ H 1 (Ω)),
|(u, v)H 1 (Ω) | ≤ ∥u∥H 1 (Ω) ∥v∥H 1 (Ω) (u, v ∈ H 1 (Ω)).

• Let H0m (Ω) be the closure of C0∞ (Ω) in the norm ∥ · ∥H m (Ω) . That is,

H0m (Ω) = {v ∈ H m (Ω) | ∃{φn } ⊂ C0∞ (Ω) s.t. ∥v − φn ∥H m (Ω) → 0}.

9.2 Lipschitz domain


At this stage, we state the definition of a Lipschitz domain Ω.
First, we say that the boundary Γ = ∂Ω is a Lipschitz continuous if and
only if, for every x = (x1 , x2 ) ∈ Γ, there exists a neighborhood U of x in R2
and new orthogonal coordinates y = (y1 , y2 ) such that

(i) U = {y ∈ R2y | −ai < yi < ai (i = 1, 2)} with some a1 , a2 > 0.

(ii) There exists a Lipschitz continuous function ϕ(y1 ) defined in U1 =


{−a1 < y1 < a1 } that satisfies

|ϕ(y1 )| ≤ a2 /2 (y1 ∈ U1 ),
Ω ∩ U = {(y1 , y2 ) | y2 < ϕ(y1 ), y1 ∈ U1 },
Γ ∩ U = {(y1 , y2 ) | y2 = ϕ(y1 ), y1 ∈ U1 }.

Then, we say that Ω is a Lipschitz domain, if and only if its boundary Γ = ∂Ω


is Lipschitz continuous.
Similarly, we define a C k domain for k ≥ 0. A C 0 domain is often called a
domain with the continuous boundary.

y2
a2

φ (y )
1

y
1

a2
a1 a1

Figure 9.1: Lipschitz domain

85
9.3 Lemmas
Lemmas 9.1 and 9.2 below are valid for a bounded C 0 domain Ω.
Lemma 9.1 (Density).
C ∞ (Ω) is dense in H m (Ω). That is, for any u ∈ H m (Ω), there exists {φn } ⊂
C ∞ (Ω) such that ∥u − φn ∥H m (Ω) → 0 (n → ∞).

Lemma 9.2 (Poincaré’s inequality).


There exists a domain constant CP such that ∥v∥ ≤ CP ∥∇v∥ for any v ∈
H01 (Ω).

Here and hereafter, by the domain constant, we mean a positive constant


depending only on Ω.
The following Lemmas 9.3–9.5 below hold true for a bounded Lipschitz do-
main Ω.
Lemma 9.3 (Sobolev’s inequality).
For every u ∈ H 2 (Ω), there exists a continuous function ũ such that ũ = u
a.e. in Ω and ∥ũ∥L∞ (Ω) ≤ C∥u∥H 2 (Ω) with a domain constant C. Below, we
will identify ũ with u.

Lemma 9.4 (Trace theorem).


The mapping v 7→ v|Γ of C ∞ (Ω) → C ∞ (Γ) is extended by continuity to
a continuous linear mapping γ : H 1 (Ω) → L2 (Γ), which is called the trace
operator. That is, we have

γu = u|∂Ω (v ∈ C(Ω)),
∥γv∥L2 (Γ) ≤ CT ∥v∥H 1 (Ω) (v ∈ H 1 (Ω))

with the domain constant CT .

Lemma 9.5.
The space H01 (Ω) is characterized by

H01 (Ω) = {u ∈ H 1 (Ω) | γu = 0},

where γ : H 1 (Ω) → L2 (Γ) denotes the trace operator described in Lemma 9.4.

We skip the proofs of those lemmas, which could be found in


[29] J. Nečas: Direct Methods in the Theory of Elliptic Equations,
Springer, 2011.
For the reader’s convenience, the correspondence is given in Tab. 9.1.

Lemma 9.6.
Suppose that a bounded Lipschitz domain Ω is decomposed to two (disjoint)
Lipschitz subdomains Ω1 and Ω2 by a simple smooth curve S; Ω = Ω1 ∪ S ∪ Ω2
and Ω1 ∩Ω2 = ∅. Then, v ∈ C(Ω), v1 = v|Ω1 ∈ C 1 (Ω1 ) and v2 = v|Ω2 ∈ C 1 (Ω2 )
implies v ∈ H 1 (Ω).

86
this note Nečas’ book assumption on Ω
Lemma 9.1 Theorem 3.1 (Chapter 2) bounded C 0
Lemma 9.2 Theorem 1.1 (Chapter 1) bounded C 0
Lemma 9.3 Theorem 3.8 (Chapter 2) bounded Lipschitz
Lemma 9.4 Theorem 1.2 (Chapter 1) bounded Lipschitz
Lemma 9.5 Theorem 4.10 (Chapter 2) bounded Lipschitz

Table 9.1: The correspondence between Lemmas in this note and Nečas’ book.

Proof. We define g ∈ L2 (Ω) by setting


{
∂v1 /∂xj ∈ C(Ω1 ) in Ω1
gj = (j = 1, 2).
∂v2 /∂xj ∈ C(Ω2 ) in Ω2 ,

Let nk = (n1,k , n2,k ) be the unit normal vector to S outgoing from Ωk . Ob-
viously, we have n1 = −n2 . For an arbitrary φ ∈ C0∞ (Ω), we have by the
integration by parts
∫ ∫ ∫
∂v1 ∂v2
gj φ dx = φ dx + φ dx
Ω Ω1 ∂xj Ω2 ∂xj
∫ ∫ ∫
∂φ ∂φ
= − v1 dx − v2 dx + v(nj,1 + nj,2 )φ dS
Ω1 ∂xj Ω2 ∂xj S

∂φ
= − v dx.
Ω ∂xj

Hence, we obtain v ∈ H 1 (Ω) and ∇v = (g1 , g2 ).

Lemma 9.7 (Poincaré and Wirtinger’s inequality).


Let a > 0.
(i) Let D be a square region defined as D = (0, a) × (0, a). Then, for any
v ∈ H 1 (D),
(∫ )2
1
∥v∥2L2 (D) ≤a2
∥∇v∥2L2 (D) + 2 v(x) dx . (9.1)
a D

(ii) Let T be a right-triangular region defined as T = {x1 , x2 > 0, x2 < a−x1 }.


Then, for any v ∈ H 1 (T ),
(∫ )2
2
∥v∥2L2 (T ) ≤ a2 ∥∇v∥2L2 (T ) + v(x) dx . (9.2)
a2 T

Proof. (i) We follow the proof of Theorem 1-1.3 of Něcas [29]. Let v ∈ C 1 (D)
and express it as

v(x) − v(y) = v(x1 , x2 ) − v(y1 , x2 ) + v(y1 , x2 ) − v(y1 , y2 )


∫ x1 ∫ x2
∂v ∂v
= (ξ1 , x2 ) dξ1 + (y1 , ξ1 ) dξ2
y1 ∂ξ1 y2 ∂ξ2

87
for x, y ∈ D. We have
∫ a ∫ a
∂v ∂v
|v(x) − v(y)| ≤
∂ξ1 (ξ1 , x2 ) dξ1 + ∂ξ2 (y1 , ξ1 ) dξ2
0 0
( )1/2 (∫ )1/2 
∫ a 2 2
√ ∂v a
≤ a ∂v (y1 , ξ2 ) dξ2 
∂ξ1 (ξ1 , x2 ) dξ1 + ∂ξ2
0 0

and
(∫ 2 ∫ a 2 )
a ∂v
|v(x) − v(y)| ≤ 2a
2 ∂v (ξ1 , x2 ) dξ1 +
∂ξ1 ∂ξ2 (y1 , ξ2 ) dξ2
0 0

for x, y ∈ D. Hence,
∫∫
|v(x) − v(y)|2 dxdy
D×D
( ∫ 2 ∫ 2 )
∂v ∂v
≤ 2a a3 (ξ1 , x2 ) dξ1 dx2 + a3 (y1 , ξ2 ) dy1 dξ2

D ∂ξ1 D ∂ξ2

= 2a4 ∥∇v∥2L2 (D) .

On the other hand,


∫∫ ∫∫
|v(x) − v(y)| dxdy =
2
[v(x)2 + v(y)2 − 2v(x)v(y)] dxdy
D×D D×D
∫∫ (∫ )2
=2 v(x) dxdy − 2
2
v(x) dx
D×D D
(∫ )2
= 2a 2
∥v∥2L2 (D) −2 v(x) dx .
D

Combining these results, we obtain (9.1) for v ∈ C 1 (D). By the density, we


get (9.1) for v ∈ H 1 (D).
(ii) It suffices to prove (9.2) for v ∈ C 1 (T ). Setting T ′ = {x1 , x2 > 0, x2 >
a − x1 }, we have D = T ∪ T ′ . For x ∈ T ′ , let x∗ be the reflection of x with
respect to the straight line x2 = a − x1 ;
( ) ( )
∗ a − x2 x1
x = , x= ∈ T ′.
a − x1 x2

Note that x = x∗ for x ∈ T ∪ T ′ . Then, introduce ṽ ∈ C 1 (D) by


{
v(x) (x ∈ T )
ṽ(x) = (x ∈ D).
v(x∗ ) (x ∈ T ′ )

Since ṽ ∈ H 1 (D) in view of Lemma 9.6, we can apply (9.1). On the other
hand,
∫ ∫
∥ṽ∥2L2 (D) = 2∥v∥2L2 (T ) , ∥∇ṽ∥2L2 (D) = 2∥∇v∥2L2 (T ) , ṽ(x) dx = 2 v(x) dx.
D T

Summing up, we deduce (9.2) for v ∈ C 1 (T ).

88
At this stage, we recall an important application of the projection theorem;
For the proof, see a text book of Functional Analysis.

Lemma 9.8 (Riesz’s representation theorem).


Let X be a Hilbert space equipped with the scalar product (·, ·)X and the
norm ∥ · ∥X . Further, let F be a bounded linear functional on X, that is,
F : X → R is assumed to be a linear mapping satisfying

|F (v)|
∥F ∥X ′ = sup < ∞.
v∈X ∥v∥X

Then, there exists a unique a ∈ X such that F (v) = (a, v)X for all v ∈ X.

89
10 Weak solution and regularity
10.1 Weak formulation
We return to consider the Dirichlet BVP for the Poisson equation:

− ∆u = f in Ω, u = 0 on ∂Ω, (10.1)

where Ω ⊂ R2 is a bounded Lipschitz domain with the boundary Γ = ∂Ω, and


f ∈ L2 (Ω) is a given function.
The basic function space of our consideration is

V = H01 (Ω)

which is a Hilbert space equipped with the standard scalar product and norm
of H 1 (Ω). As scalar product and norm in V , however, we take
∫ √
(u, v)V = (∇u, ∇v) = ∇u · ∇v dx, ∥u∥V = (u, u)V .

In view of the Poincaré inequality (Lemma 9.2), ∥ · ∥V is an equivalent norm


of ∥ · ∥H 1 (Ω) in V . That is, we have

∥v∥V ≤ ∥v∥H 1 (Ω) ≤ [CP2 + 1]1/2 ∥v∥V (v ∈ V )

with the Poincaré constant CP appearing in Lemma 9.2. Consequently, the


space V forms a Hiblert space equipped with (·, ·)V and ∥ · ∥V .
We derive a reformulation of (10.1) in the function space V . To this end,
supposing that u is smooth, multiplying both sides of (10.1) by φ ∈ C0∞ (Ω),
and integrating them over Ω, we have by the integration by parts
∫ ∫
∇u · ∇φ dx = f φ dx.
Ω Ω

By density, this implies


∫ ∫
∇u · ∇v dx = f v dx (∀v ∈ V ).
| Ω
{z } | {z }

=(u,v)V =(f,v)

Notice that the left hand-side is meaningful for u ∈ H 1 (Ω).


Now we can state the reformulation form of (10.1) as follows:

Find u ∈ V s.t. (u, v)V = (f, v) (∀v ∈ V ). (10.2)

We call (10.2) a weak form of (10.1). The solution u of (10.2) called a weak
solution (generalized solution) of (10.1). The solution u ∈ C 2 (Ω) ∩ C(Ω) of
(10.1) is called a classical solution of (10.1).

90
Theorem 10.1.
Suppose that Ω is a bounded Lipschitz domain and f ∈ L2 (Ω). Then, we have
the following.

(i) There exists a unique u satisfying (10.2).

(ii) ∥u∥V ≤ C∥f ∥ with a domain constant C.

(iii) The function u ∈ V is characterized by


1
J(u) = min J(v), J(v) = ∥u∥2V − (f, v).
v∈V 2

Proof. (i) We apply Riesz’s representation theorem (Lemma 9.8). In doing so,
F ∈ V ′ is defined by setting F (v) = (f, v). We have F ∈ V ′ , since |F (v)| ≤
∥f ∥ · ∥v∥ ≤ CP ∥f ∥ · ∥v∥V in view of the Schwarz and Poincaré inequalities.
Hence, there exists a unique u ∈ V satisfying (u, v)V = F (v) = (f, v) for all
v ∈V.
(ii) Choosing v = u, we have by Schwarz and Poincaré inequalities,

∥u∥2V = (f, u) ≤ ∥f ∥ · ∥u∥ ≤ ∥f ∥ · CP ∥∇u∥ = CP ∥f ∥ · ∥u∥V .

(iii) See the proof of Theorem 7.1.

10.2 Regularity of solutions


Theorem 10.2 (Elliptic regularity).
(i) Let k ≥ 0 be an integer. Assume that Γ = ∂Ω is the boundary of class
C k+2 and f ∈ H k (Ω). Then, the solution u ∈ V of (10.2) satisfies

u ∈ H k+2 (Ω), ∥u∥H k+2 (Ω) ≤ Ck ∥f ∥H k (Ω)

with a domain constant Ck . In particular, if Ω and f are smooth enough, then


u ∈ C 2 (Ω) ∩ C(Ω).
(ii) Assume that Ω is a convex polygon and f ∈ L2 (Ω). Then, the solution
u ∈ V of (10.2) satisfies

u ∈ H 2 (Ω), ∥u∥H 2 (Ω) ≤ C∥f ∥

with a domain constant C. Moreover, if the polygon Ω has a non-convex


corner, there exist a lot of f ∈ L2 (Ω) such that the solution u of (10.2) cannot
belong to H 2 (Ω).

Proof. The proof of (i) is described in the standard monographs of PDEs. The
proof of (ii) is given, for example, in the following references:
• M. Dauge: Elliptic Boundary Value Problems on Corner Domains. Smooth-
ness and Asymptotics of Solutions, Lecture Notes in Mathe. 1341,
Springer, 1988.
• P. Grisvard: Elliptic Problems in Nonsmooth Domains, Pitman, 1985.

91
• P. Grisvard: Behavior of the solutions of an elliptic boundary value prob-
lem in a polygonal or polyhedral domain, Numerical solution of partial
differential equations, III (Proc. Third Sympos. (SYNSPADE), Univ.
Maryland, College Park, Md., 1975), pp. 207–274, Academic Press, New
York, 1976.

• A. Kufner and A. M. Sändig: Some applications of weighted Sobolev


spaces, Teubner Texts in Mathematics 100, Teubner Verlagsgesellschaft,
Leipzig, 1987.

10.3 Galerkin’s approximation and Céa’s lemma


Let Vh , h > 0 being a parameter, be a finite dimensional subspace of V with
dim Vh = N . The Galerkin approximation of (10.2) reads as

Find uh ∈ Vh s.t. (uh , vh )V = (f, vh ) (∀vh ∈ Vh ). (10.3)

Theorem 10.3.
Suppose that Ω is a bounded Lipschitz domain and f ∈ L2 (Ω). Then, we have
the following.

(i) There exists a unique uh satisfying (10.3).

(ii) ∥uh ∥V ≤ C∥f ∥ with the same domain constant C appearing Theorem
10.1.

(iii) The function uh ∈ Vh is characterized by


1
J(uh ) = min J(vh ), J(vh ) = ∥vh ∥2V − (f, vh ).
vh ∈Vh 2

Proof. It is the exactly same as that of Theorem 10.1.

Theorem 10.4 (Galerkin’s orthogonality).


Let u ∈ V and uh ∈ Vh be solutions of (10.2) and (10.3), respectively. Then,
we have
(u − uh , vh )V = 0 (∀vh ∈ Vh ).

Proof. Let vh ∈ Vh be arbitrary. Subtracting (10.3) from (10.2) with v = vh ,


we obtain the desired equality.

Theorem 10.5 (Céa’s lemma).


Let u ∈ V and uh ∈ Vh be solutions of (10.1) and (10.3), respectively. Then,
we have
∥u − uh ∥V = min ∥u − vh ∥V .
vh ∈Vh

92
Proof. Let vh ∈ Vh be arbitrary. By Galerkin’s orthogonality, we have

∥u − uh ∥2V = (u − uh , u − uh )V
= (u − uh , u − vh )V + (u − uh , vh − uh )V
= (u − uh , u − vh )V ≤ ∥u − uh ∥V ∥u − vh ∥V ;
∥u − uh ∥V ≤ ∥u − vh ∥V .

Hence,
∥u − uh ∥V ≤ inf ∥u − vh ∥V .
vh ∈Vh

Thus, we obtain the desired relation.

93
11 Shape-regularity of triangulations
11.1 Interpolation error estimates
Throughout this section, we assume that Ω is a polygonal domain with the
boundary Γ = ∂Ω. We recall the following.
• {Th } = {Th }h↓0 is a family of triangulations of Ω, {Pi }N̄
i=1 is the set of
all vertices of Th ,

• Xh and Vh are sets of continuous piecewise affine functions defined as

Xh = {vh ∈ C(Ω) | vh is an affine function on every T ∈ Th },


Vh = {vh ∈ Xh | vh |Γ = 0},

and {ϕi }N̄


i=1 is the standard basis of Xh ,

• According to Lemma 9.6, Xh and Vh are subspaces of H 1 (Ω) and H01 (Ω),
respectively.
The aim of this section is to show that every function v ∈ H 1 (Ω) can be
approximated by using functions of Xh .
We use the H 2 semi-norm defined as
(∫ [ ] )1/2
|u|2,ω = |u|H 2 (ω) = |∂1 u| + 2|∂1 ∂2 u| + |∂2 u| dx
2 2 2 2
,
ω

where ω ⊂ R2 . Then, the H 2 norm is given as


( )1/2
∥u∥2,ω = ∥u∥H 2 (ω) = ∥u∥2ω + ∥∇u∥2ω + |u|22,ω ,

where ∥u∥ω = ∥u∥L2 (ω) .

Lemma 11.1 (local interpolation error).


Let T be a closed triangle. Then, for every u ∈ H 2 (T ), we have

∥Πu − u∥T ≤ C1 h2T |u|2,T , (11.1)


h2T
∥∇(Πu − u)∥T ≤ C2 |u|2,T . (11.2)
ρT
Therein,

• Πu is the affine function defined on T such that the values at vertices


of T coincide with those of u. Thus, (Πu)(Pi ) = u(Pi ) for i = 1, 2, 3,
where P′i s are vertices of T . (Recall u is a continuous function in view
of Lemma 9.3.)

• C1 and C2 are absolute positive constants which are independent of T


and v.

• hT is the diameter of the circumscribed circle of T , ρT is the diameter


of the inscribed circle of T .

94
⋆Example 11.2. We consider the triangle T whose vertices are (0, 0), (L, 0)
and (L/2, Lα ) with L > 0 and α > 0. Obviously, u(x1 , x2 ) = u(x, y) = x2 is
in H 2 (T ) and (Πu)(x, y) = Lx − 41 L2−α y. Hence, we can calculate as

1
(u − Πu)x = 2x − L, (u − Πu)y = L2−α , uxx = 2, uxy = uyy = 0.
4
Therefore, we have
∥∇(Πu − u)∥2T 1 1
≥ · .
|u|22,T 32 L2α−4
Hence, if α > 2, Inequality (11.2) is meaningless as L → 0.

Definition (shape regularity of triangulations).


A family of triangulations {Th } = {Th }h>0 is of shape-regular

def. hT
⇐⇒ ∃ν1 > 0 s.t. ≤ ν1 (∀T ∈ Th ∈ {Th }). (11.3)
ρT

Lemma 11.3 (Zlámal’s minimum angle condition).


The condition (11.3) is equivalent to

∃θ1 > 0 s.t. θT ≥ θ1 (∀T ∈ Th ∈ {Th }), (11.4)

where θT is the minimum angle of T .

Proof. EXERCISE (→ Problem 9).

We introduce the Lagrange interpolation operator Πh : C(Ω) → Xh defined


as


(Πh u)(x) = u(Pi )ϕi (x) (u ∈ C(Ω)). (11.5)
i=1

By Lemma 9.3, Πh u ∈ Xh can be defined for every u ∈ H 2 (Ω).

Theorem 11.4 (global interpolation error).


If {Th } is of shape-regular, then we have

∥Πh u − u∥ ≤ C1 h2 |u|2,Ω (u ∈ H 2 (Ω)), (11.6)


∥∇(Πh u − u)∥ ≤ C2 ν1 h|u|2,Ω (u ∈ H (Ω)),
2
(11.7)

where C1 are C2 are constants appearing in Lemma 11.1.

Proof. It is a direct consequence of the shape-regularity of {Th }h and Lemma

95
11.1. In fact, for u ∈ H 2 (Ω),

∥∇(Πh u − u)∥2 = ∥∇(Πh u − u)∥2T
T ∈Th
∑ ( )2
h2T
≤ C22 |u|2H 2 (T )
ρT
T ∈Th

≤ C22 (hT ν1 )2 |u|2H 2 (T )
T ∈Th

≤ (C2 hν1 )2 |u|2H 2 (T ) = (C2 hν1 )2 |u|22,Ω ;
T ∈Th

Thus we obtain (11.7).

Theorem 11.5 (approximation property of Xh and Vh ).


If {Th } is of shape-regular,

lim inf ∥u − vh ∥ = 0 (u ∈ L2 (Ω)), (11.8)


h↓0 vh ∈Xh

lim inf ∥∇(u − vh )∥ = 0 (u ∈ H 1 (Ω)), (11.9)


h↓0 vh ∈Xh

lim inf ∥∇(u − vh )∥ = 0 (u ∈ H01 (Ω)). (11.10)


h↓0 vh ∈Vh

Proof. Let u ∈ H 1 (Ω). Then, by virtue of (11.7), for any v ∈ C ∞ (Ω),

inf ∥∇(u − vh )∥ ≤ inf [∥∇(u − v)∥ + ∥∇(v − vh )∥]


vh ∈Xh vh ∈Xh
≤ ∥∇(u − v)∥ + ∥∇(v − πh v)∥
≤ ∥∇(u − v)∥ + C3 h|v|2,Ω (C3 = C2 ν1 ) .

At this stage, let ε > 0 be arbitrary. By the density, there is v ∈ C ∞ (Ω)


satisfying ∥∇(u − v)∥ ≤ ε/2. Hence, if putting δ = ε/(2C3 |v|2,Ω ), we have
ε ε
0<h≤δ ⇒ inf ∥∇(u − vh )∥ ≤ + = ε.
vh ∈Xh 2 2

This implies (11.9). The proofs of (11.8) and (11.10) are similar.

11.2 Proof of Lemma 11.1


We proceed to the proof of Lemma 11.1. The following notation is employed.

• Let T be a closed triangle:


– |T | is the area of T ;
– Pi are vertices of T (i = 1, 2, 3);
−−→
– pi = OPi (i = 1, 2, 3).

96
• T̂ is the reference element
def.
⇐⇒ T̂ is the triangle with vertices P̂1 = (0, 0), P̂2 = (1, 0), and P̂3 =
(0, 1).
• Set B = [b1 , b2 ], b1 = p2 − p1 , b2 = p3 − p1 , and consider

x = Φ(ξ) ≡ Bξ + p1 (ξ ∈ T̂ )

which is a mapping from T̂ onto T ; T = Φ(T̂ ).

P2
P3
P3
Φ T
T b2 b1

P1 P2 P1

Figure 11.1: The reference element T̂ and Φ(ξ) = Bξ + p1 .

✓Remark. We will make use of Poincaré and Wirtinger’s inequality (Lemma


9.7):
∫ ∫ ∫ ∫
v dξ ≤
2
|∇ξ v| dξ = (∂ξ1 v) dξ + (∂ξ2 v)2 dξ
2 2
T̂ T̂ T̂ T̂
( ∫ )
v ∈ H (T̂ ),
1
v dξ = 0

and Sobolev’s inequality (Lemma 9.3):

∥v∥L∞ (T̂ ) ≤ Ĉ1 ∥v∥2,T̂ (v ∈ H 2 (T̂ )).

We note that Ĉ1 is actually an absolute positive constant.

Lemma 11.6.
There exists an absolute positive constant Ĉ2 such that

inf ∥v + q∥2,T̂ ≤ Ĉ2 |v|2,T̂


q∈P1

for any v ∈ H 2 (T̂ ).

Proof. We write, for example, L2 = L2 (T̂ ), ∥ · ∥ = ∥ · ∥T̂ and ∂i = ∂ξi for short.
Let v ∈ H 2 . There is a p ∈ P1 such that
∫ ∫ ∫
(v + p) dξ = ∂1 (v + p) dξ = ∂2 (v + p) dξ = 0.
T̂ T̂ T̂

97
We apply Poincaré and Wirtinger to ∂i (v + p), i = 1, 2, and deduce
∫ ∫
(∂i (v + p)) dξ ≤
2
|∇ξ ∂i (v + p)|2 dξ ≤ |v + p|22,T̂ = |v|22,T̂ .
T̂ T̂

Hence,
∥∇ξ (v + p)∥2 ≤ 2|v|22,T̂ .
Again applying Poincaré and Wirtinger to obtain

∥v + p∥2 ≤ ∥∇ξ (v + p)∥2 ≤ 2|v|22,T̂ .

Summing up,

∥v + p∥22,T̂ = ∥v + p∥2 + ∥∇ξ (v + p)∥21,T̂ + |v|22,T̂ ≤ 5|v|22,T̂ .

This completes the proof.

Lemma 11.7.
Let S and T are closed triangles. Let

Φ : S ∋ ξ 7→ x = Bξ + b ∈ T,

where B ∈ R2×2 is a non-singular matrix and b ∈ R2 (thus, Φ is an affine


mapping from S to T ). Then, we have the following.
hT hS
(i) ∥B∥ ≡ sup |Bξ| ≤ ,∥B −1 ∥ ≤ .
|ξ|=1 ρS ρT

(iii) For v ∈ H 1 (T ), we have w ≡ v ◦ Φ ∈ H 1 (S) and

∥∇w∥S ≤ ∥B∥ · | det B|−1/2 ∥∇v∥T .

(iii) For v ∈ H 2 (T ), we have w ≡ v ◦ Φ ∈ H 2 (S) and

|w|2,S ≤ C0 ∥B∥2 · | det B|−1/2 |v|2,T

with an absolute positive constant C0 .

Proof. (i) |ξ| = ρS implies |Bξ| ≤ hT . Hence,

1 hT
∥B∥ = sup |Bξ| ≤ .
ρS |ξ|=ρS ρS

(ii) Let JΦ and JΦ−1 be determinants of Jacobi matrices of Φ and Φ−1 . Then,
|JΦ | = | det B|(= |T |/|S| ̸= 0) and |JΦ−1 | = | det B −1 | = | det B|−1 (= |S|/|T |).
By the density, it suffices to consider the case v ∈ C 1 (T ). Then, w ∈ C 1 (S).
Since Φ is affine,
∇ξ w = B T ∇x v

98
Hence, by ∥B∥ = ∥B T ∥,

∥∇w∥2S = |∇ξ w|2 dξ
∫S
= |B T ∇x v|2 JΦ−1 dx
∫T

≤ ∥B T ∥2 · |∇x v|2 | det B −1 | dx


T
= ∥B∥2 | det B|−1 ∥∇v∥2T .

(iii) By the density, it suffices to consider the case v ∈ C 2 (T ). Then, w ∈ C 2 (S)


and
2 2 2
∂ w ∑ ∂ 2 v ∑ ∂2v
≤ ∥B∥ 2
∂ξ 2 = Bi1 Bj1
∂xi ∂xj ∂xi ∂xj .
1 i,j=1 i,j=1

Since we obtain similar estimations for other derivatives, we have 2

∑ ∑
Dα w 2 ≤ 16∥B∥4 |Dxα v|2 .
ξ
|α|=2 |α|=2

Hence,
∫ ∑
|w|2H 2 (S) ≤ 16∥B∥4 |Dxα v|2 JΦ−1 dx
T |α|=2

= 16∥B∥4 | det B|−1 |v|2H 2 (T ) .

Thus, we have showed the desired inequality with C0 = 4. 3

Lemma 11.8.
There exists an absolute positive constant Ĉ such that

∥v − Πv∥1,T̂ ≤ Ĉ|v|2,T̂

for all v ∈ H 2 (T̂ ).

Proof. We write, for example, H 1 = H 1 (T̂ ) and (·, ·) = (·, ·)T̂ for short.

• Let w ∈ H 1 be arbitrary. Consider a functional F : H 2 → R defined by

F (v) = (v − Πv, w) + (∇(v − Πv), ∇w) (v ∈ H 2 ).

(Recall that Πv is well-defined; see Lemma 9.3.)

• By Sobolev’s inequality, we have for v ∈ H 2

∥Πv∥L∞ ≤ ∥v∥L∞ ≤ Ĉ1 ∥v∥2,T̂


2
We use a rough estimate:
√ maxi,j |Bij | ≤ ∥B∥, where B = (Bij ). In fact, setting η = (1, 0),
we have |B11 | ≤ |B11 |2 + |B21 |2 = |Bη|/|η| ≤ ∥B∥.
3
However, we can take C0 = 1 by another method of analysis.

99
and

∥∇(Πv)∥L∞
{ }
|v( ˆ2 ) − v(Pˆ3 )|
P
= max |v(Pˆ1 ) − v(Pˆ2 )|, √ , |v(Pˆ3 ) − v(Pˆ1 )|
2
≤ 2∥v∥L∞ ≤ 2Ĉ1 ∥v∥2,T̂ .

• Therefore,

∥v − Πv∥1,
2

≤ ∥v − Πv∥2 + ∥∇(v − Πv)∥2
≤ 2(∥v∥2 + |T̂ |2 ∥Πv∥2L∞ ) + 2(∥∇v∥2 + |T̂ |2 ∥∇Πv∥2L∞ )
1
≤ 2∥v∥21,T̂ + (∥Πv∥2L∞ + ∥∇Πv∥2L∞ )
2
5
≤ 2∥v∥1,T̂ + Ĉ12 ∥v∥22,T̂
2

{ 2 }
5 2
≤ max 2, Ĉ1 ∥v∥22,T̂ ≡ Ĉ32 ∥v∥22,T̂ .
2

Thus,
|F (v)| ≤ ∥v − Πv∥1,T̂ ∥w∥1,T̂ ≤ Ĉ3 ∥v∥2,T̂ ∥w∥1,T̂ .

• At this stage, let q ∈ P1 be arbitrary. Then, since F (v + q) = F (v), we


have
|F (v)| = |F (v + q)| ≤ Ĉ3 ∥v + q∥2,T̂ ∥w∥1,T̂ .
This gives
|F (v)| ≤ Ĉ3 inf ∥v + q∥2,T̂ ∥w∥1,T̂ .
q∈P1

We apply Lemma 11.6 to obtain

|F (v)| ≤ Ĉ2 Ĉ3 |v|2,T̂ ∥w∥1,T̂ .

• Finally, choosing w = v − Πv, we arrive at

∥v − Πv∥21,T̂ ≤ Ĉ2 Ĉ3 |v|2,T̂ ∥v − Πv∥1,T̂ ;

which implies the desired inequality.

Now, we can state the following proof.

Proof of Lemma 11.1. Let T be any triangle, and let Φ(ξ) = Bξ + b be the
affine mapping which maps the reference triangle T̂ onto T . Set ĥ = hT̂ and
ρ̂ = ρT̂ . Fix v ∈ H 2 (T ), and define v̂ = v ◦ Φ. Suppose that Π̂v̂ is the affine
function defined on T̂ whose values at vertices coincide with those of v̂. (The

100
meaning of Πv is the same as described in Lemma.) First, by Lemma 11.7 (i)
and (iii),

C02 4
|v̂|22,T̂ ≤ C02 ∥B∥4 | det B|−1 |v|22,T ≤ h | det B|−1 |v|22,T .
ρ̂4 T
This, together with Lemma 11.8, gives

∥v − Πv∥2T ≤ | det B| · ∥v̂ − Π̂v̂∥2T̂ ≤ | det B| · Ĉ 2 |v̂|22,T̂


≤ | det B| · (C02 Ĉ 2 /ρ̂4 ) · h4T | det B|−1 |v|22,T .

Thus, we deduce (11.1). Similarly,

∥∇x (v − Πv)∥2T ≤ ∥B −1 ∥2 | det B| · ∥∇ξ (v̂ − Π̂v̂)∥2L2 (T̂ )


ĥ2
≤ | det B| · Ĉ 2 |v|22,T̂
ρ2T
ĥ2
≤ | det B| · (C02 Ĉ 2 /ρ̂4 ) · h4T | det B|−1 |v|22,T
ρ2T
( )
C02 ĥ2 Ĉ 2 h4T 2
= |v| .
ρ̂4 ρ2T 2,T

This implies (11.2); this completes the proof.

101
12 Error analysis of FEM
We are now ready to study the convergence of FEM. We recall that the weak
form of the Poisson equation is described as
∫ ∫
Find u ∈ V s.t. ∇u · ∇v dx = f v dx (∀v ∈ V ) (12.1)
| Ω
{z } | {z }

=(u,v)V =(f,v)

and the finite element approximation is given as

Find uh ∈ Vh s.t. (uh , vh )V = (f, v) (∀vh ∈ Vh ). (12.2)

We recall the following:

• Ω ⊂ R2 is a polygonal domain;

• f ∈ L2 (Ω) is a given function;

• V = H01 (Ω) is a Hilbert space equipped with



∥v∥V = ∥∇v∥, (u, v)V = ∇u · ∇v dx;


• ∥u∥ = ∥u∥L2 (Ω) ,(u, v) = uv dx;

• |u|22,Ω = ∥∂12 u∥2 + 2∥∂1 ∂2 u∥2 + ∥∂22 u∥2 ;

• {Th }h>0 is a family of triangulations of Ω;

• Vh ⊂ V is the set of continuous piecewise linear functions defined in Th ;

• The Lagrange interpolation Πh : C(Ω) → Xh is defined as



(Πh v)(x) = v(Pi )ϕi (x) (v ∈ C(Ω)).
i=1

(Recall that Πh v is well-defined for any v ∈ H 2 (Ω); See Lemma 9.3.)

✓Remark. Problem (12.1) is the weak form of the Dirichlet BVP for the
Poisson equation

−∆u = f in Ω, u = 0 on ∂Ω.

There exists a unique u satisfying (12.1), and we have ∥u∥V = ∥∇u∥V ≤ C∥f ∥
(cf. Theorem 10.1). If Ω is a convex polygon, we further obtain u ∈ H 2 (Ω)
with ∥u∥H 2 (Ω) ≤ C∥f ∥ (cf. Theorem 10.2).

102
Theorem 12.1 (Convergence).
Suppose that {Th }h>0 is of shape-regular. Let u ∈ V and uh ∈ Vh be solutions
of (12.1) and (12.2), respectively. Then, we have

lim ∥∇u − ∇uh ∥ = 0.


h↓0

Thus, uh converges to u as h ↓ 0 in H 1 (Ω).

Proof. Recall Theorem 10.5 (Céa’s lemma):

∥u − uh ∥V = min ∥u − vh ∥V . (12.3)
vh ∈Vh

This, together with Theorem 11.5, implies the conclusion.

Theorem 12.2 (H 1 error estimate).


Suppose that {Th }h>0 is of shape-regular. Let u ∈ V and uh ∈ Vh be solutions
of (12.1) and (12.2), respectively. Further, assume u ∈ H 2 (Ω). Then, we have

∥∇u − ∇uh ∥ ≤ Ch|u|2,Ω

with C = C2 ν1 (C2 > 0 is the constant appearing in Lemma 11.1).

Proof. The equality (12.3) implies

∥u − uh ∥V ≤ ∥u − vh ∥V (∀vh ∈ Vh ).

We choose vh = Πh u ∈ Vh (→ Problem 11) and apply Theorem 11.4 (global


interpolation error) to obtain

∥u − uh ∥V ≤ ∥u − Πh u∥V ≤ C2 ν1 h|u|2,Ω .

Theorem 12.3 (L2 error estimate).


Assume that {Th }h>0 is of shape-regular. Let u ∈ V and uh ∈ Vh be solutions
of (12.1) and (12.2), respectively. Further, assume that Ω is a convex polygon.
Then, we have
∥u − uh ∥ ≤ C ′ h2 |u|2,Ω
with C ′ = ν12 C22 CR > 0, where CR denotes a domain constant appearing
Theorem 10.2 (ii).

✓Remark. There is a big difference between Theorems 12.2 and 12.3. In


Theorem 12.2, we assume that the weak solution u of the Poisson equation
−∆u = f with u|∂Ω = 0 is in H 2 (Ω) for f ∈ L2 (Ω) under consideration. On
the other hand, if Ω is a convex polygon, the weak solution w of the Poisson
equation −∆w = g with w|∂Ω = 0 belongs to H 2 (Ω) for all g ∈ L2 (Ω).

Proof of Theorem 12.3. Define eh = u − uh and consider the variational prob-


lem
find w ∈ V s.t. (v, w)V = (eh , v) (∀v ∈ V ),

103
which we call the adjoint problem of (12.1). In view of Theorems 10.1 and
10.2, there exists a unique solution w ∈ V satisfying ∥w∥H 2 (Ω) ≤ CR ∥g∥ with
a domain constant CR . Moreover, we know ∥eh ∥V ≤ ν1 C2 h|u|2,Ω by Theorem
12.2. Choosing v = eh , we deduce

∥eh ∥2 = (eh , w)V


= (eh , w − Πh w)V (by Galerkin orthogonality, (eh , Πh w)V = 0.)
≤ ∥eh ∥V ∥w − Πh w∥V
≤ ∥eh ∥V · C2 ν1 h|w|2,Ω
≤ C2 ν1 h|u|2,Ω · C2 ν1 h · CR ∥eh ∥.

Hence, we have ∥u − uh ∥ ≤ C22 CR ν12 h2 |u|2,Ω .

✓Remark. The method of analysis in the proof of Theorem 12.3 is said to


be duality argument or Aubin-Nitsche’s trick.

104
13 Numerical experiments using FreeFem++
So far we have studied a mathematical theory of FEM. Unfortunately, the
implementation of FEM is not an easy task. Actually, Professor O. Pironneau
wrote in his famous book “Finite Element Methods for Fluids (Wiley, 1989)”
that
Numerical analysis is somewhat dry if it is taught without test-
ing the methods. Unfortunately experience shows that a simple
finite element solution of a Laplace equation with the P 1 conform-
ing element requires at least 20 hours of programming time; so it
is difficult to reach the more interesting applications discussed in
this book in the time allotted to a Master course. [page 197]
In order to avoid these difficulties, we are able to utilize a free software
Freefem++
http://www.freefem.org/ff++/index.htm
or Freefem++-cs
http://www.ann.jussieu.fr/~lehyaric/ffcs/index.htm

13.1 Examples

Figure 13.1: Freefem++-cs

⋆Example 13.1. In the unit square Ω = (0, 1) × (0, 1), we consider the
Poisson equation
−∆u = x2 + 2y in Ω, u=0 on ∂Ω.

105
save
run
stop

Figure 13.2: Useful buttons

List 7 is a freefrem++ code to solve this problem, and Fig. 13.3 is output.

Listing 7: Example 13.1


// parameters and functions
func g = 0; // boundary condition
func f = x*x + 2.0*y; // righthand function
int n = 20; // division number
// domain
mesh Th=square(n, n);
// finite element space
fespace Vh(Th, P1);
Vh u,v;
// Poisson equation
solve poisson(u, v) =
int2d(Th)(dx(u)*dx(v) + dy(u)*dy(v))
- int2d(Th)(f*v) + on(1, 2, 3, 4, u = g);
// plot data
plot(u, wait = true, ps = "prog1.eps");

⋆Example 13.2. Consider the same problem as Example 13.1 and apply
gnuplot to display the shape of the solution. List 8 is a freefrem++ code.
After running this, we get prog2.data. Then, at gnuplot terminal, type as
follows:

gnuplot> set pm3d


gnuplot> set palette rgbformulae 33,13,10
gnuplot> set ticslevel 0
gnuplot> splot "prog2.data" with lines pal

Results are Figs 13.4 and 13.5. To save those results as eps file, type as
follows:

106
Figure 13.3: Example 13.1

gnuplot> set term pdf


gnuplot> set output "prog2.pdf"
gnuplot> replot

Listing 8: Example 13.2


// parameters and functions
func g = 0; // boundary condition
func f = x*x + 2.0*y; // righthand function
int n = 10; // division number
// domain
mesh Th=square(n, n);
// finite element space
fespace Vh(Th, P1);
Vh u,v;
// Poisson equation
solve poisson(u, v) =
int2d(Th)(dx(u)*dx(v) + dy(u)*dy(v))
- int2d(Th)(f*v) + on(1, 2, 3, 4, u = g);
// plot Th
plot(Th, ps = "prog2.eps");
// gnuplot data file
ofstream ff("prog2.data");
for(int i = 0; i < Th.nt ; i++){
for(int j = 0; j < 3; j++){
ff << Th[i][j].x << " "<< Th[i][j].y << " " << u[][Vh(i,j)] <<
endl;
}
ff << Th[i][0].x << " " << Th[i][0].y << " " << u[][Vh(i,0)] <<
endl << endl << endl;

107
"prog2_10.data"

0.1
0.1
0.09
0.09 0.08
0.08 0.07
0.07 0.06
0.06 0.05
0.04
0.05
0.03
0.04 0.02
0.03 0.01
0.02 0
0.01
00

0.2
1
0.4 0.8
0.6 0.6
0.4
0.8
0.2
1 0

Figure 13.4: Example 13.2 (n = 10)

"prog2_30.data"

0.1
0.1
0.09
0.09 0.08
0.08 0.07
0.07 0.06
0.06 0.05
0.04
0.05
0.03
0.04 0.02
0.03 0.01
0.02 0
0.01
00

0.2
1
0.4 0.8
0.6 0.6
0.4
0.8
0.2
1 0

Figure 13.5: Example 13.2 (n = 30)

⋆Example 13.3. In a “complex-shaped” domain as in Figs 13.6 and 13.7,


we solve the Poisson equation

−∆u = x2 y in Ω, u=0 on ∂Ω.

List 9 is a freefrem++ code to solve this problem, and Figs 13.6 and 13.7 are
outputs.

Listing 9: Example 13.3


// parameters
func g = 0; // boundary value
func f = x*x*y; // righthand function
int n = 30; // division number
// domain

108
"prog3_10.data"

0.3
0.25
0.2
0.15
0.1
0.3
0.05
0.25
0
3
0.2 -0.05
0.15 2.5

0.1 2
0.05 1.5
0
1
-0.05
0 0.5 0.5
1 1.5 2 2.5 0
3

Figure 13.6: Example 13.3 (n = 10)

border G1(t = 0, 3) {x = t; y = 0;}


border G2(t = 0, pi/2) {x = 3*cos(t); y = 3*sin(t);}
border G3(t = 0, 3) {x = 0; y = 3 - t;}
border G4(t = 0, 2*pi) {x = 1.9 - 0.8*cos(t); y = 0.9 + 0.8*sin(t);}
border G5(t = 0, 2*pi) {x = 0.7 - 0.5*cos(t); y = 2.3 + 0.5*sin(t);}
// triangulation
mesh Th = buildmesh(G1(n)+G2(2*n)+G3(n)+G4(2*n)+G5(n));
// finite element space
fespace Vh(Th,P1);
Vh u,v;
// Poisson equation
solve poisson(u,v)
= int2d(Th)(dx(u)*dx(v) + dy(u)*dy(v))
- int2d(Th)(f*v) + on(G1,G2,G3,G4,G5,u = g);
// Plot Th
plot(Th, ps = "prog3m.eps");
// gnuplot data file
ofstream ff("prog3.data");
for(int i = 0; i < Th.nt ; i++){
for(int j = 0; j < 3; j++){
ff << Th[i][j].x << " "<< Th[i][j].y << " " << u[][Vh(i,j)] <<
endl;
}
ff << Th[i][0].x << " " << Th[i][0].y << " " << u[][Vh(i,0)] <<
endl << endl << endl;
}

⋆Example 13.4. In an oval-shaped domain Ω = {x2 /(1.5)2 + y 2 < 1}, we


solve the Poisson equation

−∆u = 1 in Ω, u = x2 + y 2 on ∂Ω.

List 10 is a freefrem++ code to solve this problem, and Figs 13.8 and 13.9 are
outputs.

109
"prog3_30.data"

0.35
0.3
0.25
0.2
0.15
0.35
0.1
0.3
0.05
3
0.25 0
0.2 2.5

0.15 2
0.1 1.5
0.05
1
0
0 0.5 0.5
1 1.5 2 2.5 0
3

Figure 13.7: Example 13.3 (n = 30)

Listing 10: Example 13.4


// parameters
func g = x*x + y*y; // boundary value
func f = 1.0; // righthand function
int n = 60; // division number
// domain
border G1(t = 0, 2*pi) {x = 1.5*cos(t); y = sin(t);}
// triangulation
mesh Th = buildmesh(G1(n));
// finite element space
fespace Vh(Th,P1);
Vh u,v;
// Poisson equation
solve poisson(u,v)
= int2d(Th)(dx(u)*dx(v) + dy(u)*dy(v))
- int2d(Th)(f*v) + on(G1, u = g);
// Plot Th
plot(Th, ps = "prog4m.eps");
// gnuplot data file
ofstream ff("prog4.data");
for(int i = 0; i < Th.nt ; i++){
for(int j = 0; j < 3; j++){
ff << Th[i][j].x << " "<< Th[i][j].y << " " << u[][Vh(i,j)] <<
endl;
}
ff << Th[i][0].x << " " << Th[i][0].y << " " << u[][Vh(i,0)] <<
endl << endl << endl;
}

13.2 Convergence rates: regular solutions


⋆Example 13.5. We examine the rate of convergence of FEM. To this end,
we take
−∆u = 2π 2 sin(πx) sin(πy) in Ω, u = 0 on Γ

110
"prog4_30.data"

2.4
2.2
2
2.4
1.8
2.2 1.6
2 1.4
1.8 1.2
1.6 1

1.4 1
0.8
1.2 0.6
0.4
1
-1.5 0.2
-1 0
-0.5 -0.2
0 -0.4
0.5 -0.6
1 -0.8
1.5-1

Figure 13.8: Example 13.4 (n = 30)

"prog4_60.data"

2.4
2.2
2
2.4
1.8
2.2 1.6
2 1.4
1.8 1.2
1.6 1

1.4 1
1.2
0.5
1
-1.5
-1 0
-0.5
0 -0.5
0.5
1
1.5-1

Figure 13.9: Example 13.4 (n = 60)

in the unit square Ω = (0, 1) × (0, 1). The exact solution is given as

u(x, y) = sin(πx) sin(πy).

We take uniform meshes Th ’s illustrated in Fig. 13.10. Moreover, we in-


troduce an extra fine mesh Th′ compared to Th and set ũ = Πh′ u, where Πh′
denotes the Lagrange interpolation operator associated with Th′ . Notice that

∥∇ũ − ∇uh ∥L2 (Ω) ≤ ∥∇ũ − ∇u∥L2 (Ω) + ∥∇u − ∇uh ∥L2 (Ω)

and that ∥∇u−∇ũ∥L2 (Ω) is expected to be much smaller than ∥∇u−∇uh ∥L2 (Ω) .
Hence, we observe

eh = ∥∇ũ − ∇uh ∥L2 (Ω) and Eh = ∥ũ − uh ∥L2 (Ω)

instead of ∥∇u − ∇uh ∥L2 (Ω) and ∥u − uh ∥L2 (Ω) . Moreover, we observe
log e2h − log eh log E2h − log Eh
ρh = and Rh = .
log(2h) − log(h) log(2h) − log(h)

111
Figure 13.10: Example 13.5

Results are reported in Fig. 13.11 and Tab. 13.1. We observe from those
results that errors are expressed as

eh ≈ C1 h, Eh ≈ C2 h2 (C1 , C2 some constants),

and they are consistent with theoretical results (Theorems 12.2 and 12.3). List
11 is a freefrem++ code used for this calculation.

Listing 11: Example 13.5


// error1.edp
func exact = sin(pi*x)*sin(pi*y); // exact solution
func f = 2.0*pi*pi*exact; // rifht-hand side function
func g = exact; // Dirichlet boundary condition
real hsize, hold; // mesh size
real errh1, errh1old, errl2, errl2old, rateh1, ratel2;
int n, nn;
// fine triangulation
nn = 256;
mesh Th2 = square(nn, nn);
fespace Vh2(Th2, P1);
Vh2 uproj, w, uex;
uex = exact;
// output file
ofstream f1("error1.dat");
// n=4,8,16,32,64
n = 2;
errh1old = errl2old = 1.0;
hold = 1.0;
for (int i = 1; i < 6; i++) {
n = 2*n;
mesh Th = square(n, n);
plot(Th, ps="error1.eps");
fespace Vh(Th, P1);
Vh u, v, hh = hTriangle;
hsize = hh[].max;
solve Poisson(u,v) =int2d(Th)( dx(u)*dx(v) + dy(u)*dy(v)) - int2d(
Th) ( f*v ) + on(1,2,3,4,u = g);
// computation of error using the fine triangulation
uproj = u; // projection of u into the fine triangulation
w = uproj - uex; // error function
errh1 = sqrt( int2d(Th2)(dx(w)*dx(w) + dy(w)*dy(w)) ); // H1-error
errl2 = sqrt( int2d(Th2)(w^2) ); // L2-error
// computation of rates
rateh1 = (log(errh1) - log(errh1old))/(log(hsize) - log(hold));

112
1

0.1

log (Error)
0.01

0.001

H1 Err
L2 Err
0.0001
0.01 0.1 1
log (h)

Figure 13.11: Behavior of errors (Example 13.5)

h eh ρh Eh Rh
0.353553 0.838452 — 0.079064 —
0.176777 0.431591 0.96 0.021119 1.90
0.088388 0.217113 0.99 0.005364 1.98
0.044194 0.108122 1.01 0.001337 2.00
0.022097 0.052783 1.03 0.000325 2.04

Table 13.1: eh , ρh , eh ,Rh

ratel2 = (log(errl2) - log(errl2old))/(log(hsize) - log(hold));


errh1old = errh1;
errl2old = errl2;
hold = hsize;
// output results
f1 << hsize << " "
<< errh1 << " " << rateh1 << " "
<< errl2 << " " << ratel2<< " " << endl;
}

13.3 Convergence rates: singular solutions


⋆Example 13.6. Employing the polar coordinate (r, θ), set
Ω = {(r, θ) | 0 < r < 1, 0 < θ < π/ω},
where ω = kπ, 0 < k < 2, k ̸= 1. In Ω, we consider
def. 4
−∆u = f = 2 (1 + π/ω)w(r, θ) in Ω, u = 0 on Γ,
R
( )
where w(r, θ) = rπ/ω sin ωπ θ . The exact solution is given as
[ ( r )2 ]
u(x, y) = ϕ(r)w(r, θ). ϕ(r) = 1 − .
R

113
Numerical solutions uh for ω = 0.7π, 1.5π and 1.8π are displayed in Fig. 13.12–
13.14. We actually have u ∈ H01 (Ω). The function ϕ(r) is sufficiently regular
and the function w is “singular” as
{
< ∞ (0 < ω < π)
∥w∥L2 (Ω) < ∞, ∥∇w∥L2 (Ω) < ∞, |w|H 2 (Ω)
2 2 2
= ∞ (π < ω < 2π).

This implies that

0<ω<π ⇒ u ∈ H 2 (Ω), π < ω < 2π ⇒ u ̸∈ H 2 (Ω)

Therefore, theoretical results (Theorems 12.2 and 12.3) cannot be applied


to the cases ω = 1.5π and ω = 1.8π. Convergence rates are reported in
Fig. 13.15. From Fig. 13.15, we conjecture that, when π < ω < 2π, there exist
s = s(ω), s′ = s′ (ω) ∈ (0, 1) such that

∥∇u − ∇uh ∥L2 (Ω) ≤ Cs (u)hs , ∥u − uh ∥L2 (Ω) ≤ Cs′ (u)h1+s ,

where Cs (u) and Cs′ (u) are positive constants depending on u.

�����
����
�����
���� ��
����
����� ����
���� ����
����� ����
�� ����
���� ����
���� ����
����
�� ����
����
���� ����
����
���� ��
��

Figure 13.12: Example 13.6 for ω = 0.7

����
�����
����
�����
���� ��
����� ����
���� ����
����� ����
���� ����
����� ��
��
�� ���� ����
���� ���� ����
���� �� ����
���� ���� ����
���� ���� ��
��

Figure 13.13: Example 13.6 for ω = 1.5

114
����
�����
����
�����
���� ��
����� ����
���� ����
����� ����
���� ����
����� ��
��
�� ����
���� ����
�� ����
���� ����
��
��

Figure 13.14: Example 13.6 for ω = 1.8

1.000000

0.100000

0.010000
log (Error)

0.001000

H1: ome=0.7pi
0.000100 H1: ome=1.5pi
H1: ome=1.8pi
L2: ome=0.7pi
L2: ome=1.5pi
L2: ome=1.8pi
0.000010
0.01 0.1 1
log (h)

Figure 13.15: Behavior of errors (Example 13.6)

115
Problems and further readings for Chapter II
Problems
Problem 9. Prove Lemma 11.3.

Problem 10. Under the same notations of §8, prove the following equalities.


3 ∑
3
(x − ai )λi = 0, (y − bi )λi = 0,
i=1 i=1

3
∂λi ∑3
∂λi
(x − ai ) = −1, (y − bi ) = −1,
∂x ∂y
i=1 i=1
∑3
∂λi ∑3
∂λi
(x − ai ) = 0, (y − bi ) = 0.
∂y ∂x
i=1 i=1

Problem 11. Prove that Πh u ∈ Vh for u ∈ H 2 (Ω) ∩ H01 (Ω), where Πh :


C(Ω) → Xh denotes the Lagrange interpolation operator defined as (11.5)
and Vh is defined as (8.6).

Problem 12. Prove that (8.8) and (8.9).

Problem 13 (machine assignment). Make FEM meshes for domains illus-


trated in Fig. 13.16. Moreover, in those Ω, solve numerically the following
PDEs and represent shapes of solutions by gnuplot.

−∆u = 1 in Ω, u = 0 on Γ,
−∂12 u − 10−2 ∂22 u = 1 in Ω, u = 0 on Γ.

Figure 13.16:

Further readings
There are many excellent textbooks devoted to the mathematical theory of
FEM. For example, I recommend students

116
[19] 菊地文雄: 有限要素法の数理 (数学的基礎と誤差解析),培風館,
1994 年.
[24] S. Larsson and V. Thomée: Partial Differential Equations with
Numerical Methods, Springer, 2009.
[22] 菊地文雄,齊藤宣一:数値解析の原理–現象の解明をめざして
(岩波数学叢書),岩波書店,2016.
[38] 田端正久:偏微分方程式の数値解析,岩波書店, 2010.

For researchers, the following books might be valuable:

[6] S. C. Brenner and L. R. Scott: The Mathematical Theory of


Finite Element Methods (3rd ed.), Springer, 2007.
[20] P. Knabner and L. Angermann: Numerical Methods for Ellip-
tic and Parabolic Partial Differential Equations, Springer, 2003.
[34] P. A. Raviart and J. M. Thomas: Introduction á l’Analyse
Numérique des Équations aux Dérivées Partielles, Masson, Paris,
1983.

My favorite one is [34]; But, unfortunately,it is written in French.


Another important topic of FEM is the discrete maximum principle. For
example, we refer to [20].
FEM for parabolic PDEs is explained, for example, in [20], [24], [34], [38]
and

[13] H. Fujita, N. Saito and T. Suzuki: Operator Theory and Nu-


merical Methods, Elsevier, 2001.
[40] V. Thomée: Galerkin Finite Element Methods for Parabolic
Problems (2nd ed.), Springer, 2006.

In particular, [13] is based on the analytical semigroup theory.


The implementation of FEM is not an easy task. But, I recommend the
readers to try it by following

[18] 菊地文雄: 有限要素法概説 (理工学における基礎と応用),サイ


エンス社,1980 年.

The following article on Variational Methods by Professor Kato is worth


reading:

[17] 加藤敏夫:変分法,自然科学者のための数学概論 [応用編],寺


沢寛一 (編),岩波書店,1960 年.

117
III. Abstract elliptic PDE and Galerkin method

14 Theory of Lax and Milgram


In Chapter II, we studied only the Poisson equation. However, the theory
could be applied to more general PDEs of elliptic type. We introduce the
following notions.

• Let V be a (real) Hilbert space with the scalar product (·, ·)V and the
norm ∥ · ∥V .

• The space V ′ denotes the dual space of V (= the set of all bounded
linear functionals over V ). Thus,
def.
F ∈ V ′ ⇐⇒ F : V → R,
F (v + w) = F (v) + F (w) (v, w ∈ V )
F (αv) = αF (v) (v ∈ V, α ∈ R)
F (v) |F (v)|
∥F ∥V ′ ≡ sup = sup < ∞.
v∈V ∥v∥V v∈V ∥v∥V

Hereinafter, we write as ⟨F, v⟩ = F (v) (v ∈ V ); ⟨·, ·⟩ = ⟨·, ·⟩V ′ ,V denotes


the duality product between V ′ and V .
def.
• a : V × V → R is a bilinear form on V × V ⇐⇒

a(αu + βv, w) = α · a(u, w) + β · a(v, w),


a(u, αv + βw) = α · a(u, v) + β · a(u, v) (u, v, w ∈ V, α, β ∈ R)

def.
• A bilinear form a : V × V → R is bounded (or continuous) ⇐⇒

a(u, v)
∥a∥ ≡ sup < ∞.
u,v∈V ∥u∥V ∥v∥V

Theorem 14.1 (Lax–Milgram).


Suppose that a bounded bilinear form a : V × V → R satisfies the following
condition:

[Coercivity] ∃α > 0 s.t. a(v, v) ≥ α∥v∥2V (v ∈ V ). (14.1)

Then, for any F ∈ V ′ , there exists a unique u ∈ V satisfying

a(u, v) = ⟨F, v⟩ (∀v ∈ V ). (14.2)

✓Remark. The function u appearing Theorem 14.1 satisfies a priori esti-


mate
1
∥u∥V ≤ ∥F ∥V ′ .
α

118
In fact, choosing v = u, we have α∥u∥2V ≤ a(u, u) = ⟨F, u⟩ ≤ ∥F ∥V ′ ∥u∥V .
Thus, ∥u∥V ≤ (1/α)∥F ∥V ′ .
We use the Riesz mapping σ = σV from V ′ to V that is a bijective operator
from V ′ to V defined as 4
(σF, v)V = ⟨F, v⟩ (∀v ∈ V )
for F ∈ V ′ . It satisfies
∥σF ∥V
∥σ∥V ′ ,V = sup = 1,
F ∈V ′ ∥f ∥V ′
∥σ −1 v∥V ′
∥σ −1 ∥V,V ′ = sup = 1.
v∈V ∥v∥V
Note that V ′ forms a Hiblert space equipped with the norm ∥ · ∥V ′ . Its scalar
product is defined by
(F, G)V ′ = (σF, σG)V (F, G ∈ V ′ ).

We shall present two different proofs.

Proof of Theorem 14.1, I. For short, set ∥ · ∥ = ∥ · ∥V , (·, ·) = (·, ·)V , and
σ = σV . In view of Riesz’s representation theorem (Lemma 9.8), there exists
a linear operator A : V → V such that 5
(Au, v) = a(u, v) (u, v ∈ V ).
In particular,
(Au, u) ≥ α∥u∥2 , ∥Au∥ ≤ ∥a∥ · ∥u∥ (u ∈ V ).
Since F is expressed as ⟨F, v⟩ = (σF, v)V (∀v ∈ V ), the equation (14.2) is
equivalently written as
(Au, v) = (σF, v) (∀v ∈ V ) ⇔ Au − σF = 0 in V. (14.3)
We will show that this equation admits a unique solution by the contraction
mapping principle 6 . To this end, we introduce E : V → V and B : V → V by
Eu = u − ρ(Au − σF ) = Bu + ρσF (Bu = u − ρAu)
4
For an arbitrary F ∈ V ′ , there exists a unique w ∈ V satisfying ⟨F, v⟩ = (w, v)V (v ∈ V ).
This correspondence is denoted by σ : F 7→ w. Obviously, σ is a linear operator from
V ′ to V . Combining ∥F ∥V ′ = supv∈V |⟨F, v⟩|/∥v∥V ≤ ∥w∥V = ∥σF ∥V and ∥F ∥V ′ ≥
|⟨F, w⟩|/∥w∥V = ∥w∥V = ∥σF ∥V , we have ∥F ∥V ′ = ∥σF ∥V . Hence, we obtain ∥σ∥V ′ ,V =
1 (isometry). On the other hand, since, for any w ∈ V , we have (w, ·)V ∈ V ′ , σ is
subjective. Moreover, for F ∈ V with σF = 0, we have F = 0 by the isometry. Thus,
the operator σ is bijective.
5
Fix u ∈ V and consider φu (v) = a(u, v) (v ∈ V ). φu (v) is a linear functional on V . Since
|φu (v)| ≤ (∥a∥·∥u∥)·∥v∥, φu (v) is bounded. By virtue of Riesz (Lemma 9.8), there exists a
unique w ∈ V satisfying (w, v)V = φu (v) = a(u, v) (∀v ∈ V ). The correspondence u 7→ w
is denoted by w = Au. Then, the operator A is linear on V . Choosing v = w = Au, we
have ∥Au∥2 = a(u, Au) ≤ ∥a∥ · ∥Au∥ · ∥u∥. Hence, ∥A∥ = supu∈V ∥Au∥/∥u∥ ≤ ∥a∥. This
implies that A : V → V is a bounded linear operator.
6
Suppose that T is a contraction operator on a Hilbert space H. That is, T satisfies
∥T u − T v∥H ≤ λ∥u − v∥H (u, v ∈ H) with 0 < λ < 1. Then, there exists a unique u ∈ H
such that u = T u. Such u ∈ H is called the fixed point.

119
with a constant ρ. Then,

(Bu, Bu) = ∥u∥2 − 2ρ(Au, u) + ρ2 ∥Au∥2


≤ ∥u∥2 − 2ρα∥u∥2 + ρ2 ∥a∥2 ∥u∥2
= (1 − 2ρα + ρ2 ∥a∥2 ) ∥u∥2 (u ∈ V ).
| {z }
k

Now
√ we take ρ such that 0 < ρ < 2α/∥a∥2 ; Then, 0 < k < 1 and ∥Bu∥ ≤
k ∥u∥ (u ∈ V ). Therefore,

∥Eu − Ev∥ = ∥B(u − v)∥ ≤ k ∥u − v∥ (u, v ∈ V ).

This implies that E is contraction on V . So, we can apply the contraction


mapping principle to obtain a unique fixed point u ∈ V satisfying

u = Eu ⇔ u = u − ρ(Au − σF ).

The function u is a unique solution of the operator equation Au − σF = 0.

Proof of Theorem 14.1, II. We prove that the linear operator A defined above
is bijective on V . First, since

(Av, v) ≥ α∥v∥2V (v ∈ V ),

the oprerator A is injective. Next, R(A), the range of A, is a closed set in V .


Indeed, let {wn } ⊂ R(A) and wn → w in V with some w ∈ V . We can take
{vn } ⊂ V such that Avn = wn . Then, since

∥vn − vm ∥ ≤ ∥Avv − Avm ∥ = ∥wn − wm ∥,

we see that {vn } is a Cauchy sequence in V . Hence, there is v ∈ V such


that vn → v in V and we have Av = w. This gives that w ∈ R(A) and,
consequently, that R(A) is closed. Finaly, R(A) is dense in V . To verify this,
suppose that v ∈ V satisfies (Au, v) = 0 for all u ∈ V . Taking u = v, we
obtain 0 = (Av, v) ≥ α∥v∥2 ; hence v = 0. This imples that R(A) is dense.
As a consequence, we have verified that A is bijevtive on V . Therefore, for
σF ∈ V , there exists a unique u ∈ V such that Au = σF .

Theorem 14.2 (variational principle).


In addition to assumptions of Theorem 14.1, we assume that a is symmetric,
that is,
a(u, v) = a(v, u) (u, v ∈ V ). (14.4)
Then, u ∈ V is a solution of (14.2) if and only if u is a solution of
1
J(u) = min J(v), J(v) = a(v, v) − ⟨F, v⟩. (14.5)
v∈V 2

Proof. It is the exactly same as that of Theorem 7.1.

120
15 Galerkin approximation
We follow the notation of the previous section. Further, we introduce a finite
dimensional subspace Vh of V , h being the discretization parameter such that
h ↓ 0.
For a given F ∈ V ′ , we consider an abstract elliptic problem:

Find u ∈ V s.t. a(u, v) = ⟨F, v⟩ (∀v ∈ V ) (15.1)

and its Galerkin approximation:

Find uh ∈ Vh s.t. a(uh , vh ) = ⟨F, vh ⟩ (∀vh ∈ Vh ). (15.2)

Let {ϕi }N
i=1 be a basis of Vh , N being the dimension of Vh . We write uh as


N
uh = Ui ϕ i .
i=1

Then, we have the matrix representation of (15.2)

Au = f ,

where we have set

A = (a(ϕj , ϕi )) ∈ RN ×N , u = (Ui ) ∈ RN , f = (⟨F, ϕi ⟩) ∈ RN .

As a consequence of Lax-Milgram’s theorem, Problems (15.1) and (15.2)


admit the unique solutions. Hence, the matrix A is non-singular.

Theorem 15.1 (Galerkin orthogonality).


Let u ∈ V and uh ∈ Vh be solutions of (15.1) and (15.2), respectively. Then,
we have
a(u − uh , vh ) = 0 (∀vh ∈ Vh ).

Theorem 15.2 (Céa’s lemma).


Let u ∈ V and uh ∈ VN be solutions of (15.1) and (15.2), respectively. Then,
we have
∥a∥
∥u − uh ∥V ≤ inf ∥u − vh ∥V . (15.3)
α vh ∈Vh

Proof. Let vh ∈ Vh . Then a(u − uh , vh ) = 0 by Galerkin orthogonality. Hence,

α∥u − uh ∥2V ≤ a(u − uh , u − uh )


= a(u − uh , u − vh )
≤ ∥a∥ · ∥u − uh ∥V ∥u − vh ∥V .

Therefore,
∥a∥
∥u − uh ∥V ≤ inf ∥u − vh ∥V .
α vh ∈Vh

121
✓Remark. Let Ph be the orthogonal projection operator from V to Vh .
Then, for u ∈ V , we have

∥u − Ph u∥V = min ∥u − vh ∥V .
vh ∈Vh

(This is nothing but the projection theorem.) Hence, we can replace inf by
min in Theorem 15.2.

✓Remark. If we assume, in addition assumptions of Theorem 15.2, that a


is symmetric, then we have

∥a∥
∥u − uh ∥V ≤ min ∥u − vh ∥V .
α vh ∈Vh
In fact, we can now define a scalar product of V by

((u, v)) = a(u, v) (u, v ∈ V ). (15.4)

Then, u ∈ V satisfies

((u − uh , wh )) = 0 (∀wh ∈ Vh ).

This means that the operator defined as u 7→ uh is the projection operator of


V → Vh with respect to the scalar product (15.4). Hence, by the projection
theorem, we obtain
|||u − uh ||| = min |||u − vh |||
vh ∈Vh

with |||u||| = ((u, u)). Finally, noting α∥u∥2V ≤ |||u|||2 ≤ ∥a∥·∥u∥2V , we deduce
the desired inequality.

✓Remark. Let S be a closed subspace of V . If, for u ∈ S, there exists uS ∈ S


satisfying ∥u − uS ∥V = min ∥u − v∥V , then uS is called the best approximation
v∈S
of u in S. If the bilinear form a is symmetric, the solution uh of (15.2) is
actually the best approximation of the solution u of (15.1) in Vh with ((·, ·)).

122
16 Applications
16.1 Convection-diffusion equation
Assume that Ω ⊂ R2 is a bounded Lipschitz domain and that its boundary
Γ = ∂Ω consists of two parts Γ1 , Γ2 ⊂ Γ such that Γ = Γ1 ∪ Γ2 . Since Ω is
a Lipschitz domain, the unit outer normal vector to Γ, which is denoted by
n = n(s) = (n1 (s), n2 (s)), is well-defined for almost every s ∈ Γ.

Differential problem. Suppose that we are given

ν > 0, f, c : Ω → R, b : Ω → R2 , g1 : Γ1 → R, g2 : Γ2 → R.

The function u = u(x) is defined to be a concentration/density of a certain


substance. We consider the equations:

j = −ν∇u + bu in Ω (flux of u),


∇ · j + cu = f in Ω (conservation law),
u = g1 on Γ1 (Dirichlet B.C.),
−j · n = g2 on Γ2 (Non-flux B.C.).

Thus, we consider

− ν∆u + ∇ · (bu) + cu = f in Ω, (16.1a)


u = g1 on Γ1 , (16.1b)
∂u
ν − (b · n)u = g2 on Γ2 , (16.1c)
∂n
where ∂u/∂n = ∇u · n. Multiplying the both sides of (16.1a) of the form
∇ · j + cu = f by v ∈ C ∞ (Ω) with v|Γ1 = 0 and integrating them over Ω, we
have by the integration by parts
∫ ∫ ∫
∇ · jv dx + cuv dx = f v dx
∫ Ω ∫
Ω Ω ∫ ∫
⇔ (j · n)v dS − j · ∇v dx + cuv dx = f v dx
Γ∫ Ω∫ Ω ∫ Ω ∫ ∫
⇔ ν ∇u · ∇v dx − (bu) · ∇v dx + cuv dx = f v dx + g2 v dS.
| Ω Ω
{z Ω
} Ω Γ2
=a(u,v)

Hence, the solution u of (16.1) must satisfy


∫ ∫
a(u, v) = f v dx + g2 v dS (∀v ∈ C ∞ (Ω), v|Γ1 = 0).
Ω Γ2

Next, we take g̃1 : Ω → R satisfying g̃1 |Γ1 = g1 and put ũ = u − g̃1 . Then,
ũ|Γ = 0 and ∫ ∫
a(ũ, v) = f v dx + g2 v dS + a(g̃1 , v) .
Ω Γ2
| {z }
=F (v)=⟨F,v⟩

123
Function spaces and forms.

V = {v ∈ H 1 (Ω) | v|Γ1 = 0}, ∥ · ∥V = ∥ · ∥1,2 = ∥ · ∥H 1 (Ω) ,


∫ ∫ ∫
a(u, v) = ν ∇u · ∇v dx − (bu) · ∇v dx + cuv dx,
Ω ∫ Ω ∫ Ω

⟨F, v⟩ = ⟨F, v⟩V ,V =


′ f v dx + g2 v dS + a(g̃1 , v),
Ω Γ2
∥v∥ = ∥v∥L2 (Ω) , ∥v∥Γk = ∥v∥L2 (Γk ) (k = 1, 2),

∥b∥∞ = sup b1 (x)2 + b2 (x)2 , ∥v∥∞ = sup |v(x)|.
x∈Ω x∈Ω

Weak formulation.

Find u = ũ + g̃1 ∈ H 1 (Ω) s.t. ũ ∈ V and a(ũ, v) = ⟨F, v⟩ (∀v ∈ V ). (16.2)

Assumptions.

(A1) b ∈ C 1 (Ω)2 ,c ∈ C(Ω),f ∈ L2 (Ω);


1
(A2) ∇ · b + c ≥ 0 (x ∈ Ω),b · n ≤ 0 (x ∈ Γ2 );
2
(A3) g̃1 ∈ H 1 (Ω),g1 = g̃1 |Γ1 ∈ L2 (Γ1 ),g2 ∈ L2 (Γ2 ).

Continuity of a. For u, v ∈ V ,
∫ ∫ ∫
|a(u, v)| ≤ ν |∇u| · |∇v| dx + ∥b∥∞ |u| · |∇v| dx + ∥c∥∞ · |u| · |v| dx
Ω Ω Ω
≤ ν∥∇u∥ · ∥∇v∥ + ∥b∥∞ ∥∇u∥ · ∥v∥ + ∥c∥∞ ∥u∥ · ∥v∥
≤ max{ν, ∥b∥∞ , ∥c∥∞ } ∥u∥V ∥v∥V .
| {z }
C1

Continuity of F . According to Lemma 9.4 (trace theorem), for v ∈ H 1 (Ω),


we have η = v|Γ2 ∈ L2 (Γ2 ) and ∥η∥L2 (Γ2 ) ≤ C2 ∥v∥1,2 with a domain constant
C2 . Hence, we have
∫ ∫
|⟨F, v⟩| ≤ |f v| dx + |g2 v| dS + |a(g̃1 , v)|
Ω Γ2
≤ ∥f ∥∥v∥ + ∥g2 ∥Γ2 ∥v∥Γ2 + C1 ∥g̃1 ∥V ∥v∥V
≤ (∥f ∥ + C2 ∥g2 ∥Γ2 + C1 ∥g̃1 ∥V ) ∥v∥V
| {z }
C3

124
Coercivity of a. We first note that
∫ ∫ ∑
2 ∫ ∑
2
∂u 1 ∂
− b(∇u)u dx = − bi u dx = − bi · (u2 ) dx
Ω Ω i=1 ∂xi Ω i=1 2 ∂xi
∫ ∑
2 ∫ ∑2
1 1 1 ∂bi
= − bi u2 ni dS + · u2 dx
2 ∂Ω i=1 2 2 Ω ∂x i
i=1
∫ ∫ ∑2
1 1 ∂bi
= − (b · n)u dS +
2
· u2 dx
2 Γ2 2 Ω ∂xi
i=1

1
≥ (∇ · b)u2 dx.
2 Ω

Therefore, for u ∈ V ,
∫ ∫
2
a(u, u) = ν∥∇u∥ + b(∇u)u dx + cu2 dx
Ω∫ Ω∫
1
≥ ν∥∇u∥2 − (∇ · b)u2 dx + cu2 dx
2 Ω
∫ ( ) Ω
1
≥ ν∥∇u∥2 + c + ∇ · b u2 dx
Ω 2
≥ ν∥∇u∥2
ν ν
= ∥∇u∥2 + ∥∇u∥2
2 2
ν ν 1
≥ ∥∇u∥2 + ∥u∥2
2 2 CP2
≥ C42 ∥u∥2V .

Therein, we have used the following lemma.

Lemma 16.1 (Poincaré’s inequality, II).


If the Lebesgue measure of Γ1 is positive, then there exists a domain constant
CP such that
∥v∥ ≤ CP ∥∇v∥ (v ∈ H 1 (Ω), v|Γ1 = 0).

Proof. It is the exactly same as that of Lemma 9.7.

Well-posedness.

Theorem 16.2.
Under assumptions (A1), (A2) and (A3), there exists a unique solution u of
(16.2). Moreover, it satisfies

∥u∥1,2 ≤ C5 (∥f ∥ + ∥g̃1 ∥1,2 + ∥g∥2,Γ2 ).

125
Proof. We can apply Lax-Milgram’s theorem to obtain the unique existence
of a solution. Substituting v = ũ into (16.2), we have

C4 ∥ũ∥2V ≤ a(ũ, ũ) = ⟨F, ũ⟩ ≤ (∥f ∥ + C2 ∥g2 ∥2,Γ2 + C1 ∥g̃1 ∥V )∥ũ∥V .

Hence,
1
∥ũ∥V ≤ (∥f ∥ + C2 ∥g2 ∥2,Γ2 + C1 ∥g̃1 ∥V ).
C4
This, together with ∥ũ∥V ≥ ∥u∥V − ∥g̃1 ∥V , implies the desired inequality.

16.2 Elliptic PDE of the second order


Assume that Ω ⊂ RN is a bounded smooth domain and that its boundary
Γ = ∂Ω consists of two parts Γ1 , Γ2 ⊂ Γ such that Γ = Γ1 ∪ Γ2 . Since Ω
is a smooth domain, the unit outer normal vector to Γ, which is denoted by
n = n(s) = (n1 (s), n2 (s)), is well-defined for almost every s ∈ Γ.

Elliptic PDE of the second order

∂u
Lu = f in Ω, u = g1 on Γ1 , = g2 on Γ2 , (16.3)
∂nL
where

N
∂ ∂v ∑
N
∂v
Lv = − aij (x) + bi (x) + c(x)v,
∂xj ∂xi ∂xi
i,j=1 i=1

∂v ∑
N
∂v
= aij (x) nj .
∂nL ∂xi
i,j=1

Setting
A = (aij (x)), b = (bi (x)),
the equation Lu = f is expressed as

−∇ · A∇u + b · ∇u + cu = f.

For v ∈ C ∞ (Ω) with v|Γ1 = 0,


∫ N ∫ (
∑ ) N ∫
∑ ∫
∂ ∂u ∂u
(Lu)v dx = − aij v dx + bi v dx + cuv dx
Ω Ω ∂xj ∂xi
i,j=1 Ω ∂xi Ω i=1
N ( ∫
∑ ∫ )
∂u ∂u ∂v
= − aij nj v dx + aij dx
Γ ∂xi Ω ∂xi ∂xj
i,j=1
N ∫
∑ ∫
∂u
+ bi v dx + cuv dx
i=1 Ω ∂xi Ω
 
∫ ∑
N ∑ N ∫
 ∂u ∂v ∂u ∂u
= aij + bi v + cuv  dx − v dx.
Ω i,j=1 ∂xi ∂xj ∂xi Γ2 ∂nL
i=1
| {z }
=a(u,v)

126
Consequently, the solution u of (16.3) satisfies
∫ ∫
a(u, v) = f v dx + g2 v dx
Ω Γ2

for any v ∈ C ∞ (Ω) with v|Γ1 = 0. Suppose g̃1 : Ω → R is such that g̃1 |Γ1 = g1 .
Put ũ = u − g̃1 . Then, we have ũ|Γ = 0 and
∫ ∫
a(ũ, v) = f v dx + g2 v dx + a(g̃1 , v) .
Ω Γ2
| {z }
=F (v)=⟨F,v⟩

Function spaces and forms.

V = {v ∈ H 1 (Ω) | v|Γ1 = 0}, ∥ · ∥V = ∥ · ∥1,2 = ∥ · ∥H 1 (Ω) ,


 
∫ ∑ N ∑N
 ∂u ∂v ∂u
a(u, v) = aij + bi v + cuv  dx,
Ω i,j=1 ∂x i ∂x j ∂x i
i=1
∫ ∫
⟨F, v⟩ = ⟨F, v⟩V ′ ,V = f v dx + g2 v dS + a(g̃1 , v),
Ω Γ2
∥v∥ = ∥v∥L2 (Ω) , ∥v∥Γk = ∥v∥L2 (Γk ) (k = 1, 2).

Weak formulation.

Find u = ũ − g̃1 ∈ H 1 (Ω) s.t. ũ ∈ V, a(ũ, v) = ⟨F, v⟩ (∀v ∈ V ). (16.4)

Assumptions.

(B1) aij = aji , bi , c ∈ C(Ω), f ∈ L2 (Ω);

α = max sup |aij (x)|, β = max sup |bi (x)|,


1≤i,j≤N x∈Ω 1≤i≤N x∈Ω

γ = sup |c(x)|, γ = inf c(x).
x∈Ω x∈Ω


(B2) ∃λ0 > 0 s.t. aij (x)ξi ξj ≥ λ0 |ξ|2 (∀x ∈ Ω, ∀ξ ∈ RN );
1≤i,j≤N

β2
(B3) γ ′ ≥ ;
2λ0
(B4) g̃1 ∈ H 1 (Ω), g1 = g̃1 |Γ1 ∈ L2 (Γ1 ), g2 ∈ L2 (Γ2 ).

Continuity of a.

|a(u.v)| ≤ α∥∇u∥ · ∥∇v∥ + β∥∇u∥ · ∥v∥ + γ∥u∥ · ∥v∥


≤ max{α, β, γ} ∥u∥V ∥v∥V .
| {z }
C1

127
Continuity of F . For v ∈ V ,
∫ ∫
|⟨F, v⟩| ≤ |f v| dx + |g2 v| dS + |a(g̃1 , v)|
Ω Γ2
≤ ∥f ∥∥v∥ + ∥g2 ∥Γ2 ∥v∥Γ2 + C1 ∥g̃1 ∥V ∥v∥V
≤ (∥f ∥ + C2 ∥g2 ∥Γ2 + C1 ∥g̃1 ∥V ) ∥v∥V .
| {z }
C3

Coercivity of a. For u ∈ V ,

a(u, u) ≥ λ0 ∥∇u∥2 − β∥∇u∥ · ∥u∥ + γ ′ ∥u∥2


(√ )2 ( )
λ0 λ0 β ′ β2
= ∥∇u∥ +
2
∥∇u∥ − √ ∥u∥ + γ − ∥u∥2
2 2 2λ0 2λ0

λ0
≥ ∥∇u∥2 ≥ C42 ∥u∥2V .
2

Well-posedness

Theorem 16.3.
Under the assumptions (B1)–(B4), there exists a unique solution u of (16.4).
Moreover, it satisfies

∥u∥1,2 ≤ C5 (∥f ∥ + ∥g̃1 ∥1,2 + ∥g∥2,Γ2 ).

Proof. It is exactly the same as that of the previous theorem.

128
Problems and further remark for Chapter III
Problems
Problem 14. Let Ω be a bounded domain in R2 with the smooth boundary
Γ. Let f ∈ L2 (Ω) and g ∈ L2 (Γ). Give a variational formulation of the
problem
∂u
−∆u = f in Ω, with + u = g on Γ,
∂n
where ∆ denotes the Laplacian and ∂/∂n differentiation along the outer unit
normal vector n to Γ. Prove existence and uniqueness of a weak solution. Give
an interpretation of the boundary condition in connection with some problem
in mechanics or physics.

Problem 15. Let Ω be a bounded domain in R2 with the smooth boundary


Γ. Suppose that a bounded smooth domain Ω1 is strictly contained in Ω. That
is, we assume that Ω1 ⊂ Ω. Define Ω2 = Ω\Ω1 and S = ∂Ω1 ∩ ∂Ω2 . Moreover,
n denotes the unit normal vector to S outgoing from Ω1 . Then, we seek the
functions
u1 : Ω1 → R, u 2 : Ω2 → R
such that

−∆u1 = f in Ω1 , −ε∆u2 = f in Ω2 , u2 = 0 on Γ

together with the continuity condition:


∂u1 ∂u2
u1 = u2 , =ε on S,
∂n ∂n
where f ∈ L2 (Ω) and 0 < ε < 1 is a constant. This problem is called the
interface problem. Introducing the function
{
u1 in Ω1
u=
u2 in Ω2 ,

give a variational formulation in H01 (Ω) of this interface problem and discuss
the unique existence of a weak solution.

Further remark
The Lax-Milgram theorem (Theorem 14.1) was presented in [23, theorem 2.1].
It is interesting that the main aim of [23] is to resolve higher order parabolic
equations by Hille–Yosida’s semigroup theory. It is described in [23] that
The following theorem is a mild generalization of the Fréchet–Riesz
Theorem on the representation of bounded linear functionals in
Hilbert space. [page 168]
Without the coercivity condition (14.1), we can prove the unique existence
of the variational problem (14.2). Actually, Theorem 14.1 is generalized as
follows.

129
Theorem 16.4.
Letting V be a Banach space and letting W be a reflexive Banach space, then,
for any continuous bilinear form a : V × W → R, the following (i)–(iii) are
equivalent.

(i) For any L ∈ W ′ , there exists a unique u ∈ V such that

a(u, w) = ⟨L, w⟩W ′ ,W (∀w ∈ W ). (16.5)

(ii)

a(v, w)
∃β > 0, inf sup = β; (16.6a)
v∈V w∈W ∥v∥V ∥w∥W
w ∈ W, (∀v ∈ V, a(v, w) = 0) =⇒ (w = 0). (16.6b)

(iii)

a(v, w) a(v, w)
∃β > 0, inf sup = inf sup = β. (16.7)
v∈V w∈W ∥v∥V ∥w∥W w∈W v∈V ∥v∥V ∥w∥W

✓Remark. Several remarks must be mentioned here.

1. If W = V , then (14.1) implies (16.7); Theorem 14.1 is a corollary of


Theorem 16.4.

2. The value of β in (16.6a) agrees with that of (16.7).

3. Condition (16.6a) is expressed equivalently as

a(v, w)
∃β > 0, sup ≥ β∥v∥V (∀v ∈ V ).
w∈W ∥w∥W

Usually, (16.6a) is called the Babška–Brezzi condition or the inf–sup


condition.

4. Condition (16.6b) is expressed equivalently as

sup |a(v, w)| > 0 (∀w ∈ W, w ̸= 0).


v∈V

5. The solution u ∈ V of (16.5) satisfies


1
∥u∥V ≤ ∥L∥W ′
β

in view of (16.6a).

6. If V and W are finite-dimensional and dim V = dim W , then (16.6a)


implies (16.6b). See [8, Proposition 2.21].

130
Theorem 16.4 has a long history.
• In 1962, Nečas [28, Théorème 3.1] proved that part “(iii) ⇒ (i)” for the
Hilbert case (i.e., the case where both V and W are Hilbert spaces) as
a simple generalization of the Lax–Milgram theorem. Nečas described
that7
Considérant les espaces complexes et les opérateurs différentiels
elliptiques, le théorème de P. D. Lax and A. Milgram (cf. p.
ex. L. Nirenberg [31]) paraı̂t être très utile pour la méthode
variationnelle d’abord nous en signlons une généralisation facile.
[page 318]
He also described that (see [28, Théorème 3.2]) (16.6a) and

R(A) is dense in W ′

implies (i) for the Hilbert case, where A denotes the associating operator
with a(·, ·). Later, in 1967, Nečas [29, Théorème 6-3.1] proved that
(16.6a) and
a(v, w)
∃c > 0, sup ≥ c∥w∥Z (w ∈ W )
v∈V ∥v∥V

implies (i) for the Hilbert case, where Z denotes a Banach space such
that W ⊂ Z (algebraically and topologically). See also [30]. I infer that
Nečas noticed the part “(ii) ⇒ (i)”.

• In 1971, Babuška [1, theorem 2.1] stated the part “(iii) ⇒ (i)” for the
Hilbert case. Babuška described that 8
The proof is adapted from Nečas [28] and Nirenberg [31]. We
present this proof because we shall use a portion of it for proof
of the next theorem. [page 323]
Later, Babuška–Aziz [2, Theorem 5.2.1] stated in 1972 the part “(ii) ⇒
(i)” for the Hilbert case. It is described that
This theorem is a generalization of the well known Lax–Milgram
theorem. The theorem might be generalized easily to the case
where H1 and H2 are reflexive Banach spaces. The method
proof is an adaptation from [28] and [31] (see also Necas [29],
p.294). [page 116]

• In 1974, Brezzi [4, Corollary 0.1] proved the part “(i)⇔(iii)”for the
Hilbert case. It is described that
the results contained in theorem 0.1 and in corollary 0.1 are
of classical type and that they might not be new. For instance
part I)⇒III) of corollary 0.1 was used by Babuška [1]. [page
132]
7
In quotations below, we have adapted reference numbers for the list of references of this
note.
8
However, I was unable to find where proof of the theorem was given in [31].

131
• In 1989, Roşca [33, Theorem 3] proved the part “(i)⇔(ii)” for the Banach
case and called it the Babuška–Lax–Milgram theorem9 .

• In 2002, Ern and Guermond presented the part “(i)⇔(ii)” as Theorem


of Nečas in their monograph [7, §3.2]. Later, they named the part
“(i)⇔(ii)” the Banach–Nečas–Babuška Theorem in an expanded version
of [7]; see [8, §2.1]. It is described in [8] that
The BNB Theorem plays a fundamental role in this book. Al-
though it is by no means standard, we have adopted the termi-
nology “BNB Theorem” because the result is presented in the
form below was first stated by Necas in 1962 [28] and popular-
ized by Babuska in 1972 in the context of finite element meth-
ods [2, p. 112]. From a functional analysis perspective, this
theorem is a rephrasing of two fundamental results by Banach:
the Closed Range Theorem and the Open Mapping Theorem.
[page 84]

• I could find no explicit reference to the part “(ii) ⇔ (iii)”. However, it


is known among specialists.

Theorem 16.4 has many important applications.

• Nečas originally established Theorem 16.4, the part “(iii)⇒(i)” to de-


duce the well-posedness (the unique existence of a solution with a priori
estimate) of higher-order elliptic equations in weighted Sobolev spaces.

• Theorem 16.4 plays a crucial role in the theory of the finite element
method. Pioneering work was done for error analysis of elliptic problems
(see [1], [2]). Moreover, active applications for the mixed finite element
method are well-known: see [5], [3] and [8] for systematic study.

• Another important application is the well-posedness of parabolic equa-


tions (see [8, §6] for example). Although this later application is ap-
parently unfamiliar, it is actually useful for studying the discontinuous
Galerkin time-stepping method.

9
In the article “Babuska–Lax–Milgram theorem” in Encyclopedia of Mathematics (http:
//www.encyclopediaofmath.org/), the part “(i)⇔(ii)” of Theorem 16.4 is called the
Babuska–Lax–Milgram Theorem. (This article was written by I. Roşca.)

132
References
[1] I. Babuška. Error-bounds for finite element method. Numer. Math.,
16:322–333, 1970/1971.

[2] I. Babuška and A. K. Aziz: Survey lectures on the mathematical foun-


dations of the finite element method. In The mathematical foundations
of the finite element method with applications to partial differential equa-
tions (Proc. Sympos., Univ. Maryland, Baltimore, Md., 1972), pages 1–
359. Academic Press, New York, 1972. With the collaboration of G. Fix
and R. B. Kellogg.

[3] D. Boffi, F. Brezzi, and M. Fortin. Mixed finite element methods and
applications, volume 44 of Springer Series in Computational Mathematics.
Springer, Heidelberg, 2013.

[4] F. Brezzi. On the existence, uniqueness and approximation of saddle-point


problems arising from Lagrangian multipliers. Rev. Française Automat.
Informat. Recherche Opérationnelle Sér. Rouge, 8(R-2):129–151, 1974.

[5] F. Brezzi and M. Fortin. Mixed and hybrid finite element methods, vol-
ume 15 of Springer Series in Computational Mathematics. Springer-
Verlag, New York, 1991.

[6] S. C. Brenner and L. R. Scott: The Mathematical Theory of Finite Ele-


ment Methods (3rd ed.), Springer, 2007.

[7] A. Ern and J. L. Guermond. Éléments finis: théorie, applications, mise


en œuvre, volume 36 of Mathématiques & Applications (Berlin) [Mathe-
matics & Applications]. Springer-Verlag, Berlin, 2002.

[8] A. Ern and J. L. Guermond. Theory and practice of finite elements,


volume 159 of Applied Mathematical Sciences. Springer-Verlag, New York,
2004.

[9] L. C. Evans: Partial Differential Equations (2nd ed.), American Mathe-


matical Society, 2010.

[10] 藤田宏:初期値問題の差分法による近似解法 (B: 微分方程式の近似解法),


自然科学者のための数学概論 [応用編],寺沢寛一 (編),岩波書店,1960 年.

[11] 藤田宏:境界値問題の差分法による近似解法 (B: 微分方程式の近似解法),


自然科学者のための数学概論 [応用編],寺沢寛一 (編),岩波書店,1960 年.

[12] 藤田宏,池部晃生,犬井鉄郎,高見穎郎:数理物理に現れる偏微分方程式
I [岩波講座基礎数学,解析学 II-iv],岩波書店,1977 年.

[13] H. Fujita, N. Saito and T. Suzuki: Operator Theory and Numerical Meth-
ods, Elsevier, 2001.

[14] F. Hecht, O. Pironneau, A. Le Hyaric and K. Ohtsuka: freefem++, http:


//www.freefem.org/ff++/index.htm, Laboratoire Jacques-Louis Lions

133
(LJLL), University of Paris VI. (See also freefem++-cs http://www.ann.
jussieu.fr/~lehyaric/ffcs/index.htm)
[15] Y. Kametaka: On the nonlinear diffusion equation of Kolmogorov–
Petrovskii–Piskunov type, Osaka J. Math. 13 (1976) 11–66.
[16] 亀高惟倫:非線型偏微分方程式,産業図書,1977 年.
[17] 加藤敏夫:変分法,自然科学者のための数学概論 [応用編],寺沢寛一 (編),
岩波書店,1960 年.

[18] 菊地文雄: 有限要素法概説 (理工学における基礎と応用),サイエンス社,


1980 年.
[19] 菊地文雄: 有限要素法の数理 (数学的基礎と誤差解析),培風館,1994 年.
[20] P. Knabner and L. Angermann: Numerical Methods for Elliptic and
Parabolic Partial Differential Equations, Springer, 2003.
[21] J. F. B. M. Kraaijevanger: Maximum norm contractivity of discretization
schemes for the heat equation, Appl. Numer. Math. 9 (1992) 475–492.
[22] 菊地文雄,齊藤宣一:数値解析の原理–現象の解明をめざして (岩波数学叢
書),岩波書店,2016 年

[23] P. D. Lax and A. N. Milgram. Parabolic equations. In Contributions to


the theory of partial differential equations, Annals of Mathematics Studies,
no. 33, pages 167–190. Princeton University Press, Princeton, N. J., 1954.
[24] S. Larsson and V. Thomée: Partial Differential Equations with Numerical
Methods, Springer, 2009.
[25] K. W. Morton and D. F. Mayers: Numerical Solution of Partial Differen-
tial Equations (2nd ed.), Cambridge University Press, 2005.
[26] 三村昌泰 (編): パターン形成とダイナミクス (非線形・非平衡現象の数理
4),東京大学出版会,2006 年.
[27] 三村昌泰:微分方程式と差分方程式—数値解は信用できるか?—, 「数値解
析と非線形現象 (山口昌哉編)」の第 3 章,日本評論社,1996 年 (オリジナ
ルは 1981 年).

[28] J. Nečas. Sur une méthode pour résoudre les équations aux dérivées
partielles du type elliptique, voisine de la variationnelle. Ann. Scuola
Norm. Sup. Pisa (3), 16:305–326, 1962.
[29] J. Nečas. Les méthodes directes en théorie des équations elliptiques. Mas-
son et Cie, Éditeurs, Paris; Academia, Éditeurs, Prague, 1967.
[30] J. Nečas. Direct methods in the theory of elliptic equations. Springer
Monographs in Mathematics. Springer, Heidelberg, 2012. Translated from
the 1967 French original by Gerard Tronel and Alois Kufner, Editorial co-
ordination and preface by Šárka Nečasová and a contribution by Christian
G. Simader.

134
[31] L. Nirenberg. Remarks on strongly elliptic partial differential equations.
Comm. Pure Appl. Math., 8:649–675, 1955.

[32] R. D. Richtmyer and K. W. Morton: Difference Methods for Initial-Value


Problems, Interscience Publishers, 1967.

[33] I. Roşca. On the Babuška–Lax–Milgram theorem. An. Univ. Bucureşti


Mat., 38(3):61–65, 1989.

[34] P. A. Raviart and J. M. Thomas: Introduction á l’Analyse Numérique


des Équations aux Dérivées Partielles, Masson, Paris, 1983.

[35] 齊藤宣一:数値解析入門,東京大学出版会,2012 年.

[36] 齊藤宣一:線形・非線形拡散方程式の差分解法と解の可視化,講義ノー
ト (http://www.infsup.jp/saito/materials/fdm_heat11b.pdf/),
2011 年.

[37] G. D. Smith: Numerical Solution of Partial Differential Equations, Oxford


University Press, 1965. (藤川洋一郎訳:コンピュータによる偏微分方程式
の解法,新訂版,サイエンス社,1996 年)

[38] 田端正久:偏微分方程式の数値解析,岩波書店, 2010.

[39] V. Thomée: Finite Difference Methods for Linear Parabolic Equations,


In Handbook of Numerical Analysis, Vol. I, 5–196, North-Holland, 1990.

[40] V. Thomée: Galerkin Finite Element Methods for Parabolic Problems


(2nd ed.), Springer, 2006.

135

You might also like