UNIVERSITÀ DEGLI STUDI DI BARI
ALDO MORO
Dottorato di Ricerca in Matematica
XXIII Ciclo – A.A. 2010/2011
Settore Scientifico-Disciplinare:
MAT/08 – Analisi Numerica
Tesi di Dottorato
High order finite difference schemes
for the numerical solution of second
order ordinary differential problems
Candidato:
Giuseppina SETTANNI
Supervisori della tesi:
Prof. P. AMODIO
Coordinatore del Dottorato di Ricerca:
Prof. L. LOPEZ
iii
Apriró anche nel deserto una strada,
immetteró fiumi nella steppa.
(Isaia 43)
Contents
1 Second Order Differential Equations
1.1 Initial Value Problems . . . . . . . . . . . . . . . . .
1.2 Linear Equation with constant coefficients . . . . . .
1.3 Two-Point Boundary Value Problems . . . . . . . . .
Singular Perturbation Problems . . . . . . . . . . . .
1.4 Eigenvalue Problems and Sturm-Liouville Problems .
Properties of Eigenvalues and Eigenfunctions . . . .
Singular Sturm-Liouville Systems . . . . . . . . . . .
Initial Value Problems . . . . . . . . . . . . . . . . .
Boundary Value Problems . . . . . . . . . . . . . . .
1.5 Boundary Value Methods . . . . . . . . . . . . . . .
2 High Order Generalized Difference Schemes
2.1 High order finite difference schemes . . . . . .
2.2 D2ECDF, D2GBDF and D2GFDF . . . . . .
Time-reversal symmetry . . . . . . . . . . . .
2.3 Conditioning analysis . . . . . . . . . . . . .
2.4 Conclusion . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
3
5
6
7
9
11
13
13
16
.
.
.
.
.
19
19
28
32
34
38
3 HOGUP Method for Two-Point Singular Perturbation Problems
3.1 High Order Generalized Upwind Methods . . . . . . . . . . . .
3.2 HOGUP on Variable Mesh . . . . . . . . . . . . . . . . . . . . .
3.3 Deferred Correction . . . . . . . . . . . . . . . . . . . . . . . .
3.4 Error Equidistribution . . . . . . . . . . . . . . . . . . . . . . .
Stepsize and order variation strategy . . . . . . . . . . . . . . .
3.5 Numerical Test . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
42
50
51
55
57
59
76
vi
4 Second-Order Initial Value Problems
4.1 High order finite difference schemes .
4.2 Conditioning . . . . . . . . . . . . .
4.3 Additional formulae . . . . . . . . .
4.4 Mesh Selection Strategy . . . . . . .
4.5 Numerical Tests . . . . . . . . . . . .
4.6 Conclusion . . . . . . . . . . . . . .
Index
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
81
82
85
88
93
95
100
5 Sturm-Liouville Problems
5.1 High order finite difference schemes . . . . . . . .
5.2 Additional Formulae . . . . . . . . . . . . . . . .
Initial Value Problem . . . . . . . . . . . . . . .
5.3 Algebraic solution of Sturm-Liouville problems .
5.4 Stepsize and Order Variation Strategy . . . . . .
5.5 Test Problems . . . . . . . . . . . . . . . . . . . .
A Singular Self-Adjoint Sturm–Liouville Problem
5.6 Conclusion . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
103
104
106
110
110
112
116
129
135
6 Conclusion
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
137
Acknowledgements
Firstly I want to be grateful to my supervisor Prof. Pierluigi Amodio for the
scientific cooperation of the last four years and for the worthwhile exchange
of ideas which has allowed myself to evolve in the research. Moreover, I am
also grateful to Prof. Ewa B. Weinmüller for my stay of research at Vienna
University of Technology, for the scientific exchange and for the international
cooperation she has involved me in. I say thank both of them for their willingness.
viii
Index
Introduction
The present work shoots for the presentation of a code able to solve secondorder ordinary differential equations that arise from different applications in
physics, chemistry and engineering. Apart the restriction of the second order,
we consider initial and boundary value problems, and also eigenvalue problems
of differential equations, in particular we examine Sturm-Liouville problems.
Chapter 1 begins with a theoretical description of second order differential
equations and eigenvalue problems. Theorems of existence and uniqueness
and some definitions are given. In the last section we introduce the Boundary
Value Methods, whose idea is at the base of the methods introduced in the
next chapters.
Chapter 2 presents a class of methods based on generalized high order difference schemes (HOGD), which include D2ECDF, D2GFDF and D2GBDF
methods which defer among them for the difference scheme chosen to discretize the first derivative. These methods are introduced for solving second
order boundary value problems. Properties of the methods are also analyzed,
moreover it has been realized an analysis of the conditioning which puts the
basis for the generalized upwind method.
Chapter 3 takes in consideration a particular class of BVPs named singular
perturbation problems (SPPs). We analyze the application of HOGD schemes,
introduced in Chapter 2, to SPPs and by the conditioning analysis we introduced the class of high order generalized upwind methods HOGUPs, which
are very efficient and suitable. One section is dedicated to deferred method
which permits to evaluate the estimation error considering the same numerical scheme. Moreover, a stepsize variation based on the error equidistribution
is used in order to guarantee the accuracy with few points of discretization.
In the last section some examples on test problems taken from [29] show the
efficiency of the Matlab code HOFiD UP.
Chapter 4 contemplates the solution of second order initial value problems. The high order difference schemes considered to find the solution follow
x
Introduction
the idea at the base of HOGD methods introduced for the boundary value
problems. An analysis of the conditioning is performed and seven classes of
methods depending on the choice of the main difference scheme to approximate
the second and the first derivatives. Even and odd methods are considered
and three different approaches allow us to obtain the solution of the problem.
The estimation error is obtained using the deferred correction and it is used
in order to improve the distribution of the mesh points, suggesting a simple
strategy of stepsize variation discussed in the Section 4.4. Some applications
are shown, the most important one is the Flow in concrete problem.
In Chapter 5 eigenvalue problems for second order differential equations
are treated, in particular Sturm-Liouville problems. Generalized high order
central difference schemes ECDFs, introduced in Chapter 2, are the main
schemes applied to discretize the eigenvalue problems. Since the boundary
conditions for Sturm-Liouville problems can be regular and singular, it is possible to introduce four approaches, differently among them which depend on
the choice of initial and final methods. As a consequence an equivalent algebraic eigenvalue problem is obtained, following the idea of matrix methods.
The technique of error equidistribution allows us to compute more accurately
the eigenfunctions on a variable mesh. Some examples of regular and singular
Sturm-Liouville problems show the efficiency and accuracy of the proposed
approach.
Chapter 1
Second Order Differential
Equations
1.1
Initial Value Problems
A second-order linear differential equation may be written in the form
a0 (x)y ′′ + a1 (x)y ′ + a2 (x)y = g(x)
(1.1.1)
where a0 , a1 , a2 are real-valued continuous functions defined on some interval
I. If a0 6= 0, ∀x ∈ I, then (1.1.1) may be written as
y ′′ + c1 (x)y ′ + c0 (x)y = f (x)
(1.1.2)
where c1 = a1 /a0 , c0 = a2 /a0 and f = g/a0 .
It is often convenient to refer to the linear ordinary differential equation
(ODE) using a differential operator notation
Ly(x) ≡ y ′′ (x) + c1 (x)y ′ (x) + c0 (x)y(x).
(1.1.3)
Then (1.1.2) may be read as
Ly(x) = f (x).
(1.1.4)
If f (x) = 0 for all x ∈ I, the resulting equation Ly(x) = 0 is called a homogeneous equation. The equation (1.1.4) is called a nonhomogeneous equation.
Definition 1.1.1. A solution φ(x) of Ly(x) = f (x) is a twice differentiable
function which satisfies Lφ(x) = f (x).
2
Chapter 1. Second order differential equations
Theorem 1.1.2 (Existence-uniqueness theorem). Let the functions c0 (x),
c1 (x) and f (x) be continuous on an interval I. For any x0 ∈ I and constants
y0 , y0′ a unique solution exists of the initial-value problem (IVP)
Ly = y ′′ + c1 (x)y ′ + c0 (x)y = f (x),
y(x0 ) = y0 ,
y ′ (x0 ) = y0′ .
(1.1.5)
In the following we consider some results for the second order linear homogeneous equation Ly = 0.
Theorem 1.1.3. If φ1 and φ2 are solutions of Ly = 0, then a linear combination γ1 φ1 + γ2 φ2 (γ1 and γ2 given constants) is also a solution of Ly = 0.
Definition 1.1.4. The functions f1 , f2 , . . . , fn are said to be linearly dependent on an interval I if there exist constants γ1 , γ2 , . . . , γn , not all zero, such
that
γ1 f1 (x) + γ2 f2 (x) + · · · + γn fn (x) ≡ 0, ∀ x ∈ I.
(1.1.6)
Functions that are not linearly dependent are called linearly independent.
That is, the functions f1 , f2 , . . . , fn are linearly independent on I if the only
constants satisfying (1.1.6) are γ1 = γ2 = · · · = γn = 0.
The concept of linear independence is related to the determinant of a
matrix known as the Wronskian.
Definition 1.1.5. The Wronskian of two differentiable functions φ1 (x) and
φ2 (x) on an interval I is defined by the determinant
¯
¯
¯ φ1 (x) φ2 (x) ¯
¯ = φ1 (x)φ′2 (x) − φ′1 (x)φ2 (x).
¯
(1.1.7)
W (φ1 , φ2 ; x) = ¯ ′
φ1 (x) φ′2 (x) ¯
Theorem 1.1.6. Let φ1 and φ2 be solutions of Ly = 0 on I. Then φ1 and φ2
are linearly independent on I if, and only if,
W (φ1 , φ2 ; x) 6= 0
for all
x ∈ I.
(1.1.8)
Corollary 1.1.7. Let φ1 and φ2 be any two solutions of Ly = 0 on I. Then
their Wronskian either vanishes identically or it is never zero on I.
Theorem 1.1.8. Let φ1 and φ2 be linearly independent solutions of Ly = 0
on an interval I. Then every solution of Ly = 0 can be uniquely expressed as
φ(x) = γ1 φ1 (x) + γ2 φ2 (x),
for γ1 and γ2 given constants.
(1.1.9)
3
Now, let us consider a general IVP written in the form
y ′′ (x) = f (x, y(x), y ′ (x)),
y(x0 ) = y0
x ∈ [a, b],
(1.1.10)
y ′ (x0 ) = y0′
then from the theory of ordinary differential equations the standard theorems
(see [24]) follow.
Theorem 1.1.9 (Local Existence of Solutions of Initial Value Problems). If
f (x, y, y ′ ) is continuous in an open and connected domain D, containing the
point (x0 , y0 , y0′ ), then there exists at least one twice continuously differentiable
function y(x), defined on some interval I containing x0 , which satisfies the
initial value problem (1.1.10), (x, y(x), y ′ (x)) ∈ D for all x ∈ I.
In other words the continuity of f (x, y, y ′ ) guarantees the existence of at
least one solution of any initial value problem on sufficiently small intervals.
Theorem 1.1.10 (Uniqueness and Continuity of Solutions of Initial Value
Problems). If f (x, y, y ′ ) is continuous and satisfies the Lipschitz condition in
a domain D which contains the point (x0 , y0 , y0′ ), this means that two non
negative constants K and L exist such that, whenever (x, y, y ′ ) and (x, z, z ′ )
are in the domain D, it holds
¯
¯
¯
¯
¯f (x, y, y ′ ) − f (x, z, z ′ )¯ ≤ K |y − z| + L ¯y ′ − z ′ ¯ ,
(1.1.11)
then there is only one solution of the initial value problem (1.1.10). Furthermore, this solution can be uniquely continued arbitrarily close to the boundary
of D. If D contains [a, b] × (−∞, ∞) × (−∞, ∞), this solution exists finite for
all x ∈ [a, b].
The additional assumption that f is Lipschitzian guarantees uniqueness
and continuity.
1.2
Linear Equation with constant coefficients
We consider the equation
Ly = y ′′ + c1 y ′ + c0 y = 0,
where c0 and c1 are constants. We observe that
(1.2.1)
4
Chapter 1. Second order differential equations
1. eγx is a solution of the first order equation y ′ = γy.
2. The derivative of the exponential function is a multiple of the function
itself.
This suggests to consider φ(x) = eλx as a possible solution of Ly = 0 for an
appropriate value of λ. Then, if we assume φ(x) = eλx , substituting it in
(1.2.1) we obtain
(λ2 + c1 λ + c0 )eλx = 0.
Since eλx cannot vanishes, equation (1.2.1) has a solution if
p(λ) = λ2 + c1 λ + c0 = 0.
(1.2.2)
p(λ) is called the characteristic polynomial and λ2 + c1 λ + c0 = 0 is called
the characteristic equation of Ly = 0. The roots of the polynomial p(λ) are
defined as
p
−c1 ± c21 − 4c0
λ1,2 =
.
2
Then we can distinguish three cases.
1. c21 − 4c0 > 0: then λ1 and λ2 are real and distinct roots and the general
solution of (1.2.1) is
φ(x) = µ1 eλ1 x + µ2 eλ2 x .
2. c21 − 4c0 < 0: then λ1 and λ2 are complex conjugate roots, λ1,2 = α ± iβ,
for α and β real, and the solution of (1.2.1) is
φ(x) = µ1 e(α+iβ)x + µ2 e(α−iβ)x .
Using the Euler form e±iθ = cos θ ± i sin θ, the solution can be also
expressed as
φ(x) = eαx (µ̃1 cos βx + µ̃2 sin βx).
where µ̃1 = µ1 + µ2 and µ̃2 = i(µ1 − µ2 ) are two new constants.
3. c21 − 4c0 = 0: then λ1 = λ2 = λ̄. For Theorem 3.2.1 in [52] also xeλ̄x is
a solution of (1.2.1) and the general solution is written as
φ(x) = µ1 eλ̄x + µ2 xeλ̄x .
We underline that the constants µ1 and µ2 are computed imposing the initial
or boundary conditions to the equation (1.2.1).
5
1.3
Two-Point Boundary Value Problems
We consider a two-point boundary value problem (BVP) defined as
y ′′ (x) = f (x, y(x), y ′ (x)),
y(a) = η1 ,
x ∈ [a, b]
y(b) = η2 .
(1.3.1)
(1.3.2)
If (1.3.1)-(1.3.2) has two solutions y1 (x) and y2 (x), then by the first mean value
theorem of the differential calculus it exists c ∈ (a, b) such that y1′ (c) − y2′ (c) =
0, since the difference y1′ (x) − y2′ (x) vanishes at the endpoints of the interval.
In this case, y1 (x) and y2 (x) are both solutions of (1.3.1) and
y(a) = η1 ,
y ′ (c) = m,
(1.3.3)
y ′ (c) = m,
y(b) = η2 ,
(1.3.4)
and
where m = y1′ (c) = y2′ (c). We can establish a relation between the uniqueness interval for the two-point boundary value problem (1.3.1)-(1.3.2) and the
boundary value problems (1.3.1)-(1.3.3) and (1.3.1)-(1.3.4), as it is expressed
in the following theorem [24].
Theorem 1.3.1. Let a < c < b be. If uniqueness holds for all second order
differential equations (1.3.1), with boundary conditions
y(a) = η1 ,
y ′ (c̄) = m
(1.3.5)
whenever c̄ ∈ (a, c], and if uniqueness holds for all second order differential
equations (1.3.1), with boundary conditions
y ′ (c̄) = m
y(b) = η2
(1.3.6)
whenever c̄ ∈ [c, b), then the uniqueness holds for all two-point boundary value
problems (1.3.1)-(1.3.2).
Theorem 1.3.1 shows that the interval uniqueness for the two-point boundary value problems is always at least as large as that for either of the two second
boundary value problems (1.3.1)-(1.3.3) and (1.3.1)-(1.3.4). If the two boundary value problems can be solved uniquely on the interval [a, c] and [c, b], then
the solution of (1.3.1)-(1.3.2) may be obtained on the interval [a, b] by joining
together the solutions of suitable chosen problems on the subinterval.
We can give a restrictive result about the existence and uniqueness as in
[24].
6
Chapter 1. Second order differential equations
Theorem 1.3.2. Let us suppose f (x, y, y ′ ) be continuous on [a, b]×(−∞, ∞)×
(−∞, ∞) and satisfy the Lipschitzian condition on [a, b], so that constants K
and L exist such that for any (x, y, y ′ ) and (x, z, z ′ ) in [a, b],
¯
¯
¯
¯
¯f (x, y, y ′ ) − f (x, z, z ′ )¯ ≤ K |y − z| + L ¯y ′ − z ′ ¯ .
If
b−a<4
1
L
cos−1 √
1/2
2
(4K − L )
2 K
L
1
−1
√
cosh
2 − 4K)1/2
(L
2 K
1
L
+∞
if
4K − L2 > 0
if
4K − L2 < 0,
L > 0, K > 0
if
(1.3.7)
4K − L2 = 0,
L>0
otherwise
then the problem (1.3.1)-(1.3.2) has one and only one solution.
Proof. See [24] for the proof.
✷
Singular Perturbation Problems
Many phenomena in biology, chemistry, engineering and physics can be described by boundary value problems. When a mathematical model is associated with a phenomenon, generally what is essential is captured, retaining
the important quantities and omitting the negligible ones which involves small
parameters. The model that would be obtained maintaining the small parameters is called perturbed model. Then, we consider the following equation
ǫy ′′ = f (x, y, y ′ ),
x ∈ [a, b],
y ∈ R,
(1.3.8)
subject to separated boundary conditions
y(a) = ηa ,
y(b) = ηb ,
(1.3.9)
where ǫ is the perturbation parameter, 0 < ǫ ≪ 1, and f is a sufficiently smooth
function. The problem defined in (1.3.8)-(1.3.9) is called singular perturbation
problem (SPP).
7
Table 1.1: General solution behavior for
p(x) 6= 0
p(x) < 0
p(x) > 0
q(x) > 0
p≡0
boundary layer at x = a
boundary layer at x = b
boundary layers at x = a
and x = b
rapidly oscillatory
solution
classic turning point
no boundary layers,
interior layer at x = 0
boundary layers at
x = a and x = b,
no boundary layer at x = 0
q(x) < 0
p′ 6= q, p(0) = 0, p(x) 6= 0 for x 6= 0
q(x) changes sign
p′ (0) < 0
p′ (0) > 0
The perturbation parameter causes very fast variations of the solution,
called layers, in narrow regions. If the problem (1.3.8)-(1.3.9) may be rewritten
in explicit form as
ǫy ′′ − p(x)y ′ − q(x)y = r(x),
y(a) = η1 , y(b) = η2 ,
x ∈ [a, b]
(1.3.10)
where p(x), q(x) and r(x) are smooth, bounded functions, then we are able to
state if the problem has boundary or internal layers. Distinguishing different
cases depending on the properties of p(x) and separating the slow solution
component and the fast solution component, see [18], we can summarize the
different behaviors of the solution of (1.3.10) as described in Table 1.1.
1.4
Eigenvalue Problems and Sturm-Liouville Problems
Eigenvalue problems associated with ordinary differential equations arise in
considering physical problems, such as the displacement of a vibrating string
or determining the temperature distribution of a heat-conducting rod. The
typical equation that often occurs in eigenvalue problems is of the form
a1 (x)
d 2y
dy
+ a2 (x)
− [a3 (x) − λ] y = 0,
2
dx
dx
x ∈ [a, b]
(1.4.1)
8
Chapter 1. Second order differential equations
where a1 (x) 6= 0 in the interval [a, b]. Now, we consider
·Z x
¸
1
a2 (t)
a3 (x)
p(x)
p(x) =
exp
d t , q(x) =
p(x), r(x) =
.
a1 (x)
a1 (x)
a1 (x)
a a1 (t)
(1.4.2)
Multiplying by p(x), (1.4.1) is transformed into the self-adjoint form
µ
¶
d
dy
p
− (q − λr) y = 0,
(1.4.3)
dx
dx
which is known as a Sturm-Liouville equation. In terms of the self-adjoint
operator
µ
¶
d
d
p
− q,
L=
dx
dx
the equation (1.4.3) can be written as
Ly + λ r(x)y = 0,
(1.4.4)
where λ is a parameter independent of x, and p, q and r are real-valued
functions of x. We require that p is continuously differentiable in a closed
interval [a, b] and that q and r are continuous on the same interval.
Definition 1.4.1. The Sturm-Liouville equation (1.4.3) is called regular in
the interval [a, b] if the functions p(x) and r(x) are positive in the interval
[a, b].
Definition 1.4.2. The Sturm-Liouville equation
Ly + λr(x)y = 0,
−∞ ≤ a ≤ x ≤ b ≤ ∞,
with the separated boundary conditions
α1 y(a) + α2 y ′ (a) = 0,
β1 y(b) + β2 y ′ (b) = 0,
(1.4.5)
where the real constants α1 and α2 and also β1 and β2 are not both zero, is
called Sturm-Liouville system.
The values of λ for which the Sturm-Liouville system has a nontrivial solution are called eigenvalues, and the corresponding solutions are called eigenfunctions.
9
Properties of Eigenvalues and Eigenfunctions
Definition 1.4.3. Let φ(x) and ψ(x) be any real-valued integrable functions
on an interval I. Then φ(x) and ψ(x) are said to be orthogonal on I with
respect to a weight function r(x) > 0 if and only if
Z
(φ, ψ) = φ(x)ψ(x)r(x)d x = 0.
(1.4.6)
I
The interval I may be of infinite extent, or it may be either open or closed
at one or both ends of the finite interval.
When φ = ψ in (1.4.6) we have the norm of φ
kφk =
·Z
I
¸1
2
φ (x)r(x)d x .
2
(1.4.7)
Theorem 1.4.4. Let the coefficients p, q and r in the Sturm-Liouville system
be continuous in [a, b]. Let the eigenfunctions φi and φk , corresponding to λi
and λk , be continuously differentiable. Then φi and φk are orthogonal with
respect to the weight function r in [a, b].
Proof. Since the eigenfunctions φi and φk corresponding to λi and λk satisfy
the Sturm-Liouville equation, then
and
d ¡ ′¢
pφi − (q − λi r) φi = 0,
dx
(1.4.8)
d ¡ ′¢
(1.4.9)
pφk − (q − λk r) φk = 0.
dx
Multiplying (1.4.8) by φk and (1.4.9) by φi , and subtracting, it follows that
d ¡ ′¢
d ¡ ′¢
pφk − φk
pφi
dx
dx
¡ ¢ ¤
d £¡ ′ ¢
pφk φi − pφ′i φk .
=
dx
(λi − λk ) rφi φk = φi
The integration yields
Z b
¢¤b
£ ¡
rφi φk d x = p φ′k φi − φ′i φk a
(λi − λk )
a
£
¤
= p(b) φ′k (b)φi (b) − φ′i (b)φk (b)
¤
£
− p(a) φ′k (a)φi (a) − φ′i (a)φk (a) .
10
Chapter 1. Second order differential equations
The end conditions for the eigenfunctions φi and φk are in the form
β1 φi (b) + β2 φ′i (b) = 0,
β1 φk (b) + β2 φ′k (b) = 0.
If β2 6= 0, multiplying the first condition by φk (b) and the second condition
by φi (b), and subtracting to the second condition the first one, we obtain
φ′k (b)φi (b) − φ′i (b)φk (b) = 0.
(1.4.10)
In the same way, if α2 6= 0, we obtain
φ′k (a)φi (a) − φ′i (a)φk (a) = 0.
As a consequence of (1.4.10) and (1.4.11) it follows that
Z b
(λi − λk )
rφi φk d x = 0.
(1.4.11)
(1.4.12)
a
Since λi and λk are distinct eigenvalues, then
Z b
rφi φk d x = 0.
(1.4.13)
a
✷
Theorem 1.4.5. For a Sturm-Liouville system (1.4.2) all the eigenvalues are
real, and the eigenfunctions may be chosen real, in each of following cases:
• r(x) is of constant sign on [a, b];
• r(x) changes sign on [a, b], while p(x) > 0 for x ∈ [a, b] and α1 β1 ≥ 0,
α2 β2 ≥ 0.
Theorem 1.4.6. An eigenfunction of a regular Sturm-Liouville system is
unique except for a constant factor.
Proof. See [52] for the proof.
✷
Theorem 1.4.7. Let us suppose the Sturm-Liouville system be regular, so
that it satisfies the hypothesis p(x) > 0 and r(x) > 0 for x ∈ [a, b]. Then all
the eigenvalues of this system are real and may be written as a sequence {λj },
where λ0 < λ1 < λ2 < . . . , {λj } → ∞ as j → ∞. For each j the corresponding
eigenfunction φj (x), uniquely determined up to a constant factor, has exactly
j zeros in the interval [a, b].
11
Proof. See [59, 52] for the proof.
✷
Theorem 1.4.8. Let us suppose the Sturm-Liouville system satisfies the hypothesis p(x) > 0, the function r(x) 6= 0 changes sign, while q(x) > 0 for x ∈
[a, b] and α1 β1 > 0, α2 β2 > 0. Then all the eigenvalues of this system are real
+
+
+
−
and may be written as a sequence {λ+
j }, {λj }, with 0 < λ0 < λ1 < λ2 < . . . ,
−
+
−
−
0 > λ−
0 > λ1 > λ2 > . . . , {λj } → ∞ and {λj } → −∞ as j → ∞. For each
−
+
−
j the corresponding eigenfunctions φ+
j (x) and φj (x) associated to λj and λj ,
respectively, have exactly j = 1 zeros on the open interval (a, b).
Proof. See [59].
✷
Singular Sturm-Liouville Systems
In the literature a Sturm-Liouville equation is called singular when it is defined
on a semi-infinite or infinite interval, or when the coefficient p(x) or r(x)
vanishes, or when one of the coefficients becomes infinite at one or both ends
of a finite interval.
Remark 1.4.9. In order to give some definitions we introduce some notations.
Let I be an interval of R and r(x) > 0 for all x ∈ I, then
R
R
• L(I) = {φ : I → C : I |φ| ≡ I |φ(x)|d x < ∞};
Rβ
• Lloc (I) = {φ : I → C : α |φ(x)|d x < ∞ for all [α, β] ⊂ I};
R
• L2r (I) = {φ : I → C : I r(x)|φ(x)|2 d x < ∞},
• ACloc (I) = {φ :→ C : φ is absolutely continuous on all [α; β] ⊆ I}.
Let us consider I = (a, b), −∞ ≤ a < b ≤ ∞, and the equation
−(py ′ )′ + qy = λry
on I, λ ∈ C,
(1.4.14)
with the conditions
p, q, r : I → C,
1/p, q, r ∈ Lloc (I).
(1.4.15)
Definition 1.4.10. The end-point a is said to be regular (R) if
1/p, q, r ∈ L(a, d),
d ∈ I;
(1.4.16)
12
Chapter 1. Second order differential equations
otherwise it is called singular. Similarly, the end-point b is said to be regular
(R) if
1/p, q, r ∈ L(d, b), d ∈ I;
(1.4.17)
otherwise it is called singular.
In the case the endpoint is singular, there are two main classifications.
Definition 1.4.11. The endpoint a is a limit-point (LP) if a is singular and
for some λ ∈ C there exists at least one solution y of the equation (1.4.14)
satisfying
Z d
r(x)|y(x)|2 d x = ∞
a
for some d ∈ (a, b).
The endpoint a is a limit-circle (LC) if a is singular and for some λ ∈ C
any solution y of the equation (1.4.14) satisfies
Z d
r(x)|y(x)|2 d x < ∞
a
for some d ∈ (a, b).
Moreover, in the case of LC endpoints there are two sub-cases.
The LC endpoint a is a limit-circle non-oscillatory (LCNO) if there exists
a point d ∈ (a, c), a real value λ ∈ R and a solution y of (1.4.14) such that
y(x) > 0 for all x ∈ (a, d).
The LC endpoint a is a limit-circle oscillatory (LCO) if for any real value
λ ∈ R, any non-null solution y of (1.4.14) and any d ∈ (a, c] there exists a
point ξ ∈ (a, d] such that y(ξ) = 0. Similar definitions are made in b.
Remark 1.4.12. We point out that the endpoints classification is independent
of λ and depends only on the interval (a, b) and the set of coefficients {p, q, r}.
Definition 1.4.13. Consider I = (a, b), −∞ ≤ a < b ≤ ∞, λ ∈ R, p, q, r :
I → R, 1/p, q, r ∈ Lloc (I), p ≥ 0, r > 0 a.e. on I. The maximal domain ∆ is
defined by
∆ = {f : I → C : f, pf ′ ∈ ACloc (I), f, w−1 (−(pf ′ )′ + qf ) ∈ L2r (I)}.
Definition 1.4.14. Given y, z ∈ ∆ the Lagrange sesquilinear form is defined
by
[y, z](x) = y(x)(pz̄ ′ )(x) − (z̄)(x)(py ′ )(x), x ∈ (a, b).
(1.4.18)
13
Initial Value Problems
Theorem 1.4.15. Let (1.4.14) and (1.4.15) hold. Assume p, q, r are real
valued, r > 0 a.e. and the left endpoint a is R or LC. Suppose u, v are real
valued linearly independent solutions on some interval (a, d] for some fixed real
λ0 . Given any λ ∈ R and any α1 , α2 ∈ R the singular initial value problem
consisting of the equation
−(py ′ )′ + qy = λry
on I
and the singular initial condition
[y, u](a) = α1 ,
[y, v](a) = α2
has a unique solution y on I. Similarly at b.
Proof. See in Hiton and Schaefer [41].
✷
Boundary Value Problems
Consider the equation
−(py ′ )′ + qy = λry
on I = (a, b), −∞ ≤ a < b ≤ ∞, λ ∈ R,
where
p, q, r : I → R, 1/p, q, r ∈ Lloc (I), p ≥ 0, r > 0 a.e on I,
(1.4.19)
and the separated boundary conditions
α1 y(a) + α2 (py ′ )(a) = 0, (α1 , α2 ) 6= (0, 0), α1 , α2 ∈ R,
β1 y(b) + β2 (py ′ )(b) = 0, (β1 , β2 ) 6= (0, 0), β1 , β2 ∈ R.
(1.4.20)
Definition 1.4.16. Let u, v be real solutions of (1.4.19). Then
• u is called a principal solution at a if
1. u(t) 6= 0 for x ∈ (a, d] and some d ∈ I,
2. every solution y of (1.4.19) which is not multiple of u satisfies
u(x) = o(y(x)) as x → a.
• v is called a non-principal solution at a if
14
Chapter 1. Second order differential equations
1. v(t) 6= 0 for x ∈ (a, d] and some d ∈ I,
2. v is not a principal solution at a.
Principal and non-principal solutions in b are defined similarly.
We underline as boundary conditions of the form (1.4.20) do not make
sense when one endpoint is singular, since if a is singular y(a) does not exist, in general. In the following there are some results for singular boundary
conditions (see [41]).
Remark 1.4.17. (See [41]) Let (1.4.19) hold.
• Suppose each endpoint is LP. Then no boundary conditions are needed
nor allowed in this case.
• Suppose a is either R or LC and b is LP. Then no boundary condition is
needed nor allowed at b and the self-adjoint boundary condition in a can
be expressed as follow: let u, v ∈ ∆ be real-valued such that [u, v](a) 6= 0
and
α1 [u, y](a) + α2 [v, y](a) = 0, α1 , α2 ∈ R, (α1 , α2 ) 6= (0, 0).
(1.4.21)
• Suppose a is LP and b is either R or LC. Then no boundary condition is
needed or allowed at a and the self-adjoint boundary condition in b can
be expressed as follow: let u, v ∈ ∆ be real-valued such that [u, v](b) 6= 0
and
β1 [u, y](b) + β2 [v, y](b) = 0, β1 , β2 ∈ R, (β1 , β2 ) 6= (0, 0).
(1.4.22)
• Suppose a is R or LC and b is also R or LC. Then the boundary condition
in a and b can be expressed as follow: let u, v ∈ ∆ be real-valued such
that [u, v](a) 6= 0, [u, v](b) 6= 0 and
α1 [u, y](a) + α2 [v, y](a) = 0, α1 , α2 ∈ R, (α1 , α2 ) 6= (0, 0),
β1 [u, y](b) + β2 [v, y](b) = 0, β1 , β2 ∈ R, (β1 , β2 ) 6= (0, 0).
(1.4.23)
It is important to discuss on the properties of the eigenvalues and the
eigenfunctions when the endpoints are regular or singular. In the following we
summarize the results in [22, 41].
15
Remark 1.4.18.
• Let both endpoints a and b be, independently, R or LC, then:
1. The spectrum is always discrete and bounded below. It consists
of a countably infinite sequence {λn : n ∈ N0 } of real eigenvalues
tending to +∞, which can be ordered to satisfy
−∞ < λ0 ≤ λ1 ≤ λ2 ≤ · · · → ∞
(1.4.24)
The spectrum is simple, i.e. all eigenvalues have multiplicity one,
in the case of separated boundary conditions; moreover the eigenfunction yn corresponding to λn has exactly n zeros in the open
interval (a, b) for any n ∈ N0 .
2. If either a or b, or both, are LCO then the spectrum is unbounded
by below, i.e. {λn : n ∈ Z}, limn→±∞ λn = ±∞ and
−∞ < · · · ≤ λ−2 ≤ λ−1 ≤< 0 ≤ λ1 ≤ λ2 ≤ · · · → ∞.
(1.4.25)
• Let one or both endpoints a, b be LP, then:
1. The spectrum is always simple but may or may not be discrete, and
may or may not be bounded below.
2. If the spectrum is discrete and bounded by below then {λn : n ∈
N0 }, limn→+∞ λn = +∞ and
−∞ < λ0 ≤ λ1 ≤ λ2 ≤ · · · → ∞.
(1.4.26)
The eigenfunction yn has exactly n zeros in the open interval (a, b);
3. If the continuous spectrum is bounded by below by σ, then:
(a) there may be no eigenvalues below σ;
(b) there may be a finite number of eigenvalues below σ, then {λn :
n = 0, . . . , N, N > 0} and λn < λn+1 ≤ σ for n = 0, 1, . . . , N −
1. Every eigenfunction corresponding to λn has exactly n zeros
in the open interval (a,b);
(c) there may be a countable infinity of eigenvalues below, then
λn < λn+1 ≤ σ and limn→+∞ = σ. The eigenfunction corresponding to λn has exactly n zeros in the open interval (a,b);
4. There are examples when a is R and b is LP for which the spectrum
is discrete but unbounded above and below,then {λn : n ∈ Z} with
λn < λn+1 for all n ∈ Z and limn→±∞ λn = ±∞. In such cases all
eigenfunctions have infinitely many zeros.
16
1.5
Chapter 1. Second order differential equations
Boundary Value Methods
Naturally, we are interested in approximating a continuous problem by means
of a discrete one. In this section we present a particular class of methods
called Boundary Value Methods BVMs developed by D. Trigiante, see[28],
which are the basic idea of the methods employed in the codes we will show in
the next chapters to solve all different classes of problems discussed previously.
First of all we consider a scalar initial value problem
y ′ = f (x, y),
y(a) = y0
x ∈ [a, b]
(1.5.1)
where the function f (x, y) is continuous and satisfies the Lipschitz condition for
the existence and uniqueness of the solution. Afterwards, in order to replace
the continuous problem by a discrete one, we construct a mesh of equidistant
points a = x0 < x1 < · · · < xn = b, with xi = a + ih, i = 0, . . . , n, and
h = (b − a)/n, so that {yi }ni=0 is the numerical solution to seek.
We suppose to consider numerical methods belonging to the class of Linear
Multistep Formula LFM defined as
k
X
j=0
αj yn+j − h
k
X
βj fn+j = 0,
(1.5.2)
j=0
where fn + j denotes f (xn+j , yn+j ) and αk = 1. This means that the continuous initial value problem (1.5.1) is solved by means of a discrete initial
value problem, that is k initial conditions y0 , y1 , . . . , yk−1 are associated to the
formula (1.5.2). Since only y0 is known, the remaining values y1 , . . . , yk−1 are
called additional conditions and they need to be found. Since a discrete initial
value problem is generated, then these methods are simply called Initial Value
Methods IVM.
Alternatively, we can decide to impose k conditions for the equation (1.5.2)
in a different set of the mesh points, that is if k1 and k2 are two integers such
that k = k1 + k2 , then we can fix the value as it follows
y0 , y1 , . . . , yk1 −1 , yn−k2 +1 , . . . , yn−1 , yn .
Consequently, the continuous initial problem is approximated by a discrete
boundary value problem, for this reason the obtained methods are called
Boundary Value Methods (BVMs), with (k1 , k2 )-boundary conditions. Moreover, it is evident as k1 initial conditions and k2 final conditions are required
17
and as in the case k1 = k and k2 = 0 the class of BVMs contains the class of
IVMs.
The discrete problem generated by a k−step BVM con (k1 , k2 )−boundary
conditions may be written in matrix form, hence considering the matrices
αk1 . . . αk
.
..
..
..
.
.
..
..
α0
.
.
,
An =
..
..
.
.
α
k
..
..
..
.
.
.
α0 . . . αk1 (n−k )×(n−k )
1
βk1
.
..
β0
Bn =
. . . βk
..
.
..
.
..
.
..
.
..
.
..
..
.
.
βk
..
.
..
β0
1
.
. . . βk1
(n−k1 )×(n−k1 )
and the vectors y = (yk1 , . . . , yn−1 )T and f = (fk1 , . . . , fn−1 ), we obtain
the following system
An y − hBn f = −
Pk1 −1
i=0
(αi yi − hβi fi )
..
.
α0 yk1 −1 − hβ0 fk1 −1
0
..
.
Pk2
0
αk yn − hβk fn
..
.
i=1 (αk1 +i yn−1+i
We give the following definition (see [28]).
− hβk1 +i fn−1+i )
.
18
Chapter 1. Second order differential equations
Definition 1.5.1. A Toeplitz band matrix, T-matrix hereafter, is a matrix
whose entries {ti,j } satisfy
ti,j = 0
for i − j > m or i − j > k.
Then, the typical finite T-matrix will be of the form
a0 . . . ak
.
..
..
..
.
.
..
..
a−m
.
.
Tn =
.
.
..
..
ak
.
..
..
.
. ..
a−m . . . a0
(1.5.3)
,
(1.5.4)
n×n
where we assume a−m ak 6= 0. As n varies, Tn will describe a family of Tmatrices sharing the same band structure.
The infinite dimensional limit matrix, called infinite T-matrix, will be denoted by
a0 . . . ak
.
..
..
..
.
.
(1.5.5)
T =
.
..
a−m
.
..
..
.
.
Then, we can observe as the coefficient matrices An and Bn are T -matrices
having lower bandwidth k1 , like the number of initial conditions, and upper
bandwidth k2 , like the number of final conditions. The favorable stability
properties of BVMs [28] are an advantage for their employment.
Chapter 2
High Order Generalized
Difference Schemes
In this chapter methods using a generalization of the high order finite difference schemes, developed by Amodio and Sgura in [14], are introduced and
sometimes referred as High Order Generalized Difference (HOGD) schemes.
Following the traditional schemes for second order BVPs, the first and the
second derivatives are approximated by high order difference schemes and at
the same time the framework of boundary value methods (BVMs) is considered. Three classes of methods named D2ECDF, D2GFDF and D2GBDF are
introduced and the conditioning analysis is carried out showing at the end as
a generalization of the upwind method can be considered as we will see in the
Chapter 3.
2.1
High order finite difference schemes
Let us consider a scalar two-point boundary value problem
f (x, y, y ′ , y ′′ ) = 0, x ∈ [a, b]
y(a) = η1 , y(b) = η2 ,
(2.1.1)
where f is a sufficiently smooth function and let us assume that a unique
smooth solution exists. Moreover, we choose a uniform mesh π : a = x0 <
x1 < · · · < xn = b, with xi = x0 + ih, h = (b − a)/n and i = 1, . . . , n. Then,
a mesh function yπ ≡ {yi }ni=0 such that yi ≈ y(xi ), i = 0, . . . , n is sought. Set
k1 , k2 , k3 , k4 ≥ 1 we choose to approximate the second derivative by a finite
20
Chapter 2. High Order Generalized Upwind Methods
difference scheme with k1 initial and k2 final conditions and in the same way
the first derivative with k3 and k4 initial and final conditions as it follows
y ′′ (xi ) ≈
and
k2
1 X
αk1 +j yi+j
h2
j=−k1
k4
1 X
y (xi ) ≈
βk3 +j yi+j
h
′
j=−k3
i = k1 , . . . , n − k2
(2.1.2)
i = k3 , . . . , n − k4 .
(2.1.3)
The coefficients αj and βj have to be calculated in order to achieve formulae
of maximum order.
Remark 2.1.1. If ks = 1, for s = 1, . . . , 4, then the equations (2.1.2) and
(2.1.3) represent the classical finite differences for the second and the first
derivatives respectively, that is
y ′′ (xi ) ≈
yi+1 − 2yi + yi−1
,
h2
y ′ (xi ) ≈
yi+1 − yi−1
,
h
that are formulae of order 2.
Supposing to calculate formulae of order k1 + k2 > 2 and k3 + k4 > 2, it
stands to reason to require further m = max (k1 + k2 − 2, k3 + k4 − 2) additional values of the solution other than the known boundary conditions. In
order to supply to this lack, based on the idea developed for the Boundary
Value Methods (BVM), see Section 1.5, additional schemes of the same order
k1 + k2 for the second derivative and k3 + k4 for the first derivative are defined
as
y ′′ (xi ) ≈
1
h2
1
y ′′ (xi ) ≈ 2
h
k1 +k
2 +1
X
j=0
k1 +k
2 +1
X
(i)
αj yj
i = 1, . . . , k1 − 1,
(i−m1 )
αj
yj+m1 −1
j=0
with m1 = n − k1 − k2 and
i = n − k2 + 1, . . . , n − 1,
(2.1.4)
21
y ′ (xi ) ≈
y ′ (xi )
k3 +k4
1 X
(i)
βj yj
h
1
≈
h
j=0
kX
3 +k4
i = 1, . . . , k3 − 1,
(i−m3 )
βj
yj+m3
j=0
(2.1.5)
i = n − k4 + 1, . . . , n − 1,
where m3 = n − k3 − k4 . It is outstanding to point out that the coefficients
(i)
(i)
αj and βj are computed so that the schemes (2.1.4) and (2.1.5) have the
same order of (2.1.2) and (2.1.3), respectively.
Now, using the previous schemes we denote with yi′ ≈ y ′ (xi ) and yi′′ ≈
y ′′ (xi ) the first and the second derivative approximations in the points of the
mesh π. It is obvious that the discretization of the boundary value problem
(2.1.1) yields the system of equations
f (xi , yi , yi′ , yi′′ ) = 0 for i = 1, . . . , n − 1.
The following results (see [1, 14]) show how the coefficients of the formulae
(2.1.2), (2.1.3), (2.1.4) and (2.1.5) may be computed.
Proposition 2.1.2. For all ν ≤ p, the coefficients of p-steps formulae
y
(ν)
p
1 X (l,ν)
(xi+l ) ≈ ν
cj yi+j ,
h
(2.1.6)
j=0
approximating the νth derivative of y(x) in xi+l , for l = 0, . . . , p, are the
entries of the (l + 1)th column of the (p + 1) × (p + 1) matrix
C (ν) = V −1 K ν V,
where V is the Vandermonde matrix
1 1 1
0 1 2
2
V = 0 1 2
.. .. ..
. . .
0 1 2p
... 1
... p
. . . p2
,
..
.
. . . pp
(2.1.7)
(2.1.8)
22
Chapter 2. High Order Generalized Upwind Methods
and
0
1 0
.
2 ..
K=
..
.
..
.
p
0
.
(2.1.9)
Moreover, the formula (2.1.6) has order p − ν + 1 for ν = 1, 2.
Proof. The conditions for the consistency are obtained by substituting the
value of the solution y(x) at the grid points in (2.1.6), that is
y
(ν)
p
1 X (l,ν)
(xi+l ) − ν
cj y(xi+j ) = τi+l ,
h
(2.1.10)
j=0
Now it is possible to impose that the truncation error τi+l is at least O(hp−ν+1 )
by expanding (2.1.10) at x = xi as follows
y (ν) (xi+l ) −
p
p
X
(lh)s−ν (s)
1 X (l,ν)
c
y(x
)
=
y (xi )+
i+j
j
hν
(s − ν)!
s=ν
j=0
p
p
1 X (l,ν) X j s s (s)
− ν
cj
h y (xi ) + O(hp−ν+1 )
h
s!
j=0
s=0
(2.1.11)
Consequently the conditions required are
p
X
j=0
p
X
(l,ν)
j s cj
= 0,
(l,ν)
j s cj
s!
=
ls−ν ,
(s − ν)!
j=0
0 ≤ s ≤ ν − 1,
(2.1.12)
ν ≤ s ≤ p.
For each l = 0, . . . , p these relations in vector form show as the coefficients
(l,ν)
(l,ν)
c0 , . . . , cp are computed by solving the linear system
V c = (K ν V )el+1 ,
(l,ν)
(l,ν)
(2.1.13)
where c = (c0 , . . . , cp ) and el is the lth unit vector in Rp+1 . The entries
of the Vandermonde matrix are defined, for i, j = 0, . . . , p, as
Vi,j = (j)i ,
23
and from (2.1.9)
Ki,j =
n i i − j = 1,
0 otherwise.
For induction it is possible to prove that
n i(i − 1) . . . (i − ν + 1)
ν
Ki,j
=
0 otherwise.
(2.1.14)
i − j = ν,
(2.1.15)
The relation (2.1.15) is trivial when ν = 1. Supposed true for ν − 1, check for
a generic ν. Let us note that K ν = KK ν−1 , then using the definition (2.1.14)
and the hypothesis of induction it follows that
(
p
X
i(i − 1) . . . (i − ν + 1)
i − j = ν,
ν−1
ν
Ki,s Ks,j
=
Ki,j
=
0 otherwise.
s=0
Then for s = 0, . . . , p we are able to compute the sth entries of the right-side
of (2.1.13)
(
s(s − 1) . . . (s − ν + 1)ls−ν
ν ≤ s ≤ p,
((K ν V )el+1 )s =
0
0 ≤ s ≤ ν − 1.
( s(s − 1) . . . (s − ν + 1)(s − ν)!
ls−ν
ν ≤ s ≤ p,
=
(s − ν)!
0
0 ≤ s ≤ ν − 1.
(
s!
ls−ν
ν ≤ s ≤ p,
=
(s − ν)!
30
0 ≤ s ≤ ν − 1.
Hence (2.1.13) is checked and consequently it follows that the (l + 1)th column
of the matrix C (ν) in (2.1.7) contains the coefficients of a scheme of order
p − ν + 1 with l initial conditions.
✷
Proposition 2.1.3. Let C (ν) be the coefficient matrix defined in the Proposition 2.1.2, then
C (ν) = C ν , for all ν ≤ p.
(2.1.16)
Moreover, let us consider the permutation matrix
1
1
,
.
Jp =
.
1
(2.1.17)
24
Chapter 2. High Order Generalized Upwind Methods
then the matrix C (ν) satisfies
Jp C (ν) Jp = (−1)ν C (ν) ,
(2.1.18)
namely it is centro-symmetric for even derivatives and skew-centro-symmetric
for odd derivatives. Therefore, the coefficients of the jth column are the same
of those of the (p + 2 − j)th column, but in reverse order, and also changed in
sign for the odd derivatives.
Proof. Set C (1) = C and considered (2.1.7) it follows that
−1
C (ν) = V −1 K ν V = |V −1 KV V −1 KV
{z . . . . . . V KV}
ν
ν
= CCC
| {z. . . C} = C .
ν
It is known that the permutation matrices are orthogonal. Since the permutation matrix defined in (2.1.17) is symmetric, consequently it is clear that
Jp Jp = Ip+1 .
(2.1.19)
Moreover Jp CJp = −C (see [1]), then using the (2.1.16) and (2.1.19) the
(2.1.18) is checked as follows
Jp C (ν) Jp = Jp C ν Jp = Jp CJp Jp CJp . . . . . . Jp CJp = (−1)ν C (ν) .
|
{z
}
ν
✷
Proposition 2.1.4. For ν = 2 the formula (2.1.6) has order p even when
l = p/2.
Proof. We consider the expansion of (2.1.6) at x = xi+p/2 , then the truncation error is defined as
τi+p/2 =
p
X
(p/2,2) (j
cj
j=0
− p/2)p+1 p−1
h
(p + 1)!
(2.1.20)
As pointed out in the Proposition 2.1.3 for the even derivatives the coefficients
are centro-symmetric, that is
(p/2,2)
cj
(p/2,2)
= cp−j
j = 0, . . . , p/2 − 1.
25
Then, it follows that
p
X
j=0
(p/2,2) (j
cj
p/2−1
X (p/2,2) (j − p/2)p+1
− p/2)p+1
cj
=
+
(p + 1)!
(p + 1)!
j=0
p/2−1
=
X
(p/2,2) (j
cj
p/2−1
= (−1)p+1
− p/2)p+1
(p + 1)!
p/2−1
X (p/2,2) (p/2 − j)p+1
− p/2)p+1
+
cp−j
(p + 1)!
(p + 1)!
X
− j)p+1
(p + 1)!
(p/2,2) (p/2
cj
j=0
p/2−1
X
j=p/2+1
(p/2,2) (j
cj
j=0
j=0
+
p
X
− j)p+1
= 0.
(p + 1)!
(p/2,2) (p/2
cp−j
j=0
(2.1.21)
Hence, from (2.1.20) and (2.1.21) it achieves that τi+p/2 = O(hp ), when p is
even.
✷
Example 2.1.5. For p = 4 and ν = 1, 2 the coefficients matrices in (2.1.7)
are expressed as
C (1)
=
−
25
12
4
−3
4
3
1
−
4
1
4
5
−
6
3
2
1
−
2
1
12
−
1
12
2
−
3
0
2
3
1
−
12
1
12
1
2
3
−
2
5
6
1
4
−
1
4
4
−
3
3
,
−4
25
12
26
Chapter 2. High Order Generalized Upwind Methods
C (2)
=
35
12
26
−
3
19
2
14
−
3
11
12
11
12
5
−
3
1
2
1
3
1
−
12
1
12
4
3
5
−
2
4
3
1
−
12
−
1
12
1
3
1
2
5
−
3
11
12
−
11
12
14
−
3
19
2
26
−
3
35
12
.
Proposition 2.1.2 affirms that the formulae using the coefficients matrix C (1)
have order 4, while for the approximation of the second derivative only the
formula using the entries of the 3rd column of C (2) has order 4. It points out
as the coefficients of the 3rd column give back central differences formulae of
order 4. Obviously, compute formulae of order 4 for the second derivative with
zero and one initial or final condition means to consider the entries of the 1st
and 2nd column of C (2) or the (p + 1)th and pth ones respectively, where p = 5
and the coefficients matrix is defined as
15
C
(2)
5
4
6
77
5
−
−
6
4
107
1
6 −3
=
7
−13
6
61
1
12 − 2
1
5
−
6
12
1
12
4
3
5
−
2
4
3
1
−
12
−
0
1
−
12
4
3
5
−
2
4
3
1
0 −
12
1
12
1
−
2
7
6
1
−
3
5
−
4
5
6
5
6
61
12
−
−13
107
6
77
−
6
15
4
.
Since a BVP (2.1.1) has one initial and one final condition, it is not necessary to use the first and the last column of the matrix C ( ν) , differently an initial
value problem (IVP), as we could see in Chapter 4, has an initial condition,
consequently only the first column of the matrix C ( ν) is not considered. For
the BVP the remaining p − 1 formulae enable to define several BVMs which
are characterized by the choice to impose k conditions for the equation (2.1.1)
on a different set of grid points.
Now, we give a general definition for the approach introduced.
27
Definition 2.1.6. Given n + 1 equidistant points x0 , x1 , . . . , xn in the interval
[a, b], a global approximation Y (ν) of order p for the ν-th derivative y (ν) (xi ),
i + 1, . . . , n, using a main method with k initial conditions, is given by the
vector
1
Y (ν) = ν A˜ν Ỹ ,
(2.1.22)
h
where Y = [y1 , . . . , yn−1 ]T is the unknown vector, Ỹ = [y0 , Y T , yn ], yi ≈ y(xi )
and
(1,ν)
α0
.
..
α(k−1,ν)
0
α(k,ν)
0
Ãν =
(1,ν)
α1
...
αp+ν−2
(1,ν)
αp+ν−1
.
..
.
..
.
..
(k−1,ν)
...
(k,ν)
...
α1
α1
(k,ν)
α0
(k−1,ν)
αp+ν−2
..
(k−1,ν)
αp+ν−1
(k,ν)
αp
(k,ν)
α1
(1,ν)
...
(k,ν)
αp
..
.
..
.
..
.
..
..
.
(k+1,ν)
α0
(p−1,ν)
.
α0
(k,ν)
...
αk−1
(k+1,ν)
...
αp+ν−2
αp+ν−2
..
.
..
.
α1
..
.
α0
.
(k,ν)
(k+1,ν)
..
.
(p−1,ν)
α1
(p−1,ν)
...
αp+ν−2
(k,ν)
αp
(k+1,ν)
(p−1,ν)
αp+ν−2
(2.1.23)
is a (n − 1) × (n + 1) quasi-Toeplitz matrix whose coefficients are defined in
(2.1.22) and given according to Proposition 2.1.2. In particular
(ν)
(ν)
A˜ν = (a0 , Aν , ak ),
where Aν is a n × n quasi-Toeplitz band matrix, and the first and the last
(ν)
(ν)
columns a0 and ak are needed to deal with the (separated) boundary conditions.
It may observe that in (2.1.22) and (2.1.23) the main scheme has the
(k,ν)
(k,ν)
(k,ν)
coefficients (α0 , α1 , . . . , αp ) and computes the approximations at the
points xi , for i = k, . . . , n−k −p, while the approximations at the initial points
(i,ν)
(i,ν)
(i,ν)
xi , for i = 1, . . . , k − 1 are given by (α0 , α1 , . . . , αp+ν−1 ), coefficients of
(i,ν)
the initial methods. Final methods have coefficients (α0
(i,ν)
, α1
(i,ν)
, . . . , αp+ν−2 ),
28
Chapter 2. High Order Generalized Upwind Methods
for i = k + 1, . . . , p − 1, and compute the approximations at the last points
xn−p+i .
2.2
D2ECDF, D2GBDF and D2GFDF
It is known that the second derivative represents the symmetric part of the
convection-diffusion operator associated with the ODE-BVP (2.1.1), since the
odd-order schemes lose the global symmetry by requiring a different number
of initial methods from final ones, then they are not taken in consideration for
the approximation of y ′′ (x). Consequently, it is chosen an even order p = 2k
and a BVM main scheme with k initial conditions. The coefficients of the
(k + 1)th column of C (2) are used, since it is known from the Proposition
(k,2)
(k,2)
2.1.3 to be centro-symmetric, this is αi
= α2k−i . Obviously, in this case
k1 = k2 = k and k − 1 initial and final schemes fulfill the property
(j, 2)
αi
(2k+1−j, 2)
= α2k+1−i
,
i = 0, . . . , 2k + 1,
j = 1, . . . , k − 1.
The method obtained is an even-order generalization of the central difference
scheme, which have been introduced in [5] for solving the Hamiltonian problems.
Definition 2.2.1. Let Y (2) be the global approximation of the second derivative y ′′ in Definition 2.1.6. The main scheme of order p (even) given by
(2.1.22)-(2.1.23) with k = p/2 initial conditions, is called D2.
In regard of the D2 schemes, BVMs of even-order p = 2k are considered to
approximate the first derivative. This choice allows to identify three classes of
methods according to the main scheme.
The first class contains a generalization of the midpoint formula for IVPs
introduced in [28] and it is defined for k3 = k4 = k , this means that the
main BVM is obtained by choosing the (k + 1)th column of the matrix C (1) .
It is known from the Proposition 2.1.3 that the matrix C (1) is skew-centro(k,1)
(k,1)
= −α2k−i . Moreover, the initial and final
symmetric, consequently it is αi
schemes have to satisfy the following property
(j, 1)
αi
(2k−j, 1)
= −α2k−i
,
i = 0, . . . , 2k,
j = 1, . . . , k − 1.
The method of even-order defined is an extension of classical central difference scheme [38] for the first derivative, called Extended Central Difference
Formulae (ECDFs).
29
The second class of methods is defined for k3 = k2 + 2 = k + 1 and
consequently the (k + 2)th column of the matrix C (1) is chosen to define the
main BVM scheme. In this case, k initial schemes and k − 2 final ones are
necessary and it can be noted as the first (k − 1) initial methods are the same
of ECDF, while the kth is just the main method of ECDF. For this class of
methods every symmetry is lost, moreover these schemes can be considered as
an extension of the classical first-order backward difference scheme.
The third class of formulae is defined for k4 = k3 + 2 = k + 1 and it is
obtained by considering the kth column of the matrix C (1) as main scheme.
It is plain that k − 2 initial schemes and k final ones are required to define the
overall method and the first final method corresponds to the main scheme of
ECDF, while the remaining k − 1 coincide with the final methods of ECDF.
These schemes lose every symmetry, besides they can be considered as an evenorder extension of the classical first-order forward difference scheme. Hereafter
it will be assumed the following definitions.
Definition 2.2.2. Let Y (1) be the global approximation of the first derivative
y ′ in Definition 2.1.6. The formula of order p (even) given by (2.1.22)-(2.1.23)
is called
• Extended Central Difference Formula (ECDF) if k = p/2;
• Generalized Backward Difference Formula (GBDF) if k = p/2 + 1;
• Generalized Forward Difference Formula (GFDF) if k = p/2 − 1;
where k is the number of initial conditions of the main scheme.
Definition 2.2.3. For the solution of second-order ODE (2.1.1), the combinations of the D2 scheme for y ′′ with the three classes of methods in Definition
2.2.2 for y ′ are called D2ECDF, D2GBF and D2GFDF, respectively.
Moreover, hereafter the methods in Definition 2.2.3 will be named as High
Order Generalized Difference (HOGD). In the tables Table 2.1 and Table 2.2
the coefficients of the even-order formulae used to approximate the second and
the first derivative are shown, for p = 4, 6, 8, 10. Because of the symmetry,
the formulae of order p with p − j initial conditions, j = 1, . . . , p/2 − 1, are
omitted.
30
(j, 2)
(i = 0, . . . , p + 1) to approximate the second derivative with j initial conditions
Table 2.1: Coefficients αi
(j = 1, . . . , p/2). The main BVM schemes are typed bold.
j
1
4
1
4
2
6
1
6
2
6
3
8
1
8
2
8
3
8
4
10
1
10
2
10
3
10
4
10
5
α0
1
α1
-2
α2
1
α3
α4
α5
5
6
1
−
12
7
10
11
−
180
1
90
761
1260
223
−
5040
19
2520
1
−
560
671
1260
419
−
12600
31
6300
29
−
25200
1
3150
5
4
4
3
7
−
18
107
90
3
−
20
61
144
293
280
67
−
560
8
315
29513
25200
5869
6300
1163
−
12600
59
3150
5
−
1008
1
3
5
−
2
27
−
10
21
−
10
3
2
201
−
35
395
−
252
97
70
1
−
5
2341
−
252
737
−
720
1583
1260
53
−
315
5
126
7
6
4
3
19
4
13
18
49
−
18
341
30
13
−
30
89
−
36
8
5
3601
168
829
−
420
2123
−
1008
317
210
5
−
21
1
2
1
−
12
67
−
18
17
36
3
2
1163
−
90
83
40
23
20
205
−
72
4021
−
126
2089
420
97
210
6743
−
2520
5
3
1
12
−
−
−
9
5
3
−
10
3
−
20
411
40
319
−
180
7
40
8
5
4231
120
2509
−
450
323
300
103
75
5269
−
1800
α6
α7
1
2
4
45
1
90
17
−
3
59
60
17
−
90
1
−
5
4357
−
150
2719
600
463
−
450
1
75
5
3
11
180
1
−
90
−
1303
630
5
−
14
11
140
8
315
4441
252
569
−
210
533
840
37
−
315
5
−
21
α8
α9
9
20
389
5040
1
−
56
1
−
560
643
−
84
2929
2520
23
−
84
109
1680
5
126
223
5040
19
−
2520
1
560
−
2273
1008
61
−
180
67
840
13
−
630
5
−
1008
α10
α11
509
1260
1517
25200
89
−
6300
2
525
1
3150
419
12600
31
−
6300
29
25200
1
−
3150
−
Chapter 2. High Order Generalized Upwind Methods
p
2
(j, 1)
Table 2.2: Coefficients αi
1, . . . , p/2).
j
2
1
4
1
4
2
6
1
6
2
6
3
8
1
8
2
8
3
8
4
10
1
10
2
10
3
10
4
10
5
β0
1
2
1
−
4
1
12
1
−
6
1
30
1
−
60
1
−
8
1
56
1
−
168
1
280
1
−
10
1
90
1
−
360
1
840
1
−
1260
β1
0
−
5
6
2
−
3
77
−
60
2
−
5
3
20
223
−
140
2
−
7
1
14
4
−
105
4609
−
2520
2
−
9
1
24
1
−
63
5
504
−
β2
1
2
3
2
β3
β4
1
2
2
3
5
−
3
4
3
1
12
1
−
12
5
6
1
−
2
3
4
35
12
5
−
4
5
4
β5
β6
1
4
2
15
3
−
20
7
−
4
2
3
1
−
2
4
5
21
5
28
15
21
−
20
6
5
1
30
1
−
60
1
60
7
10
1
−
4
1
6
1
−
5
β7
β8
β9
β10
1
6
2
35
1
−
28
4
105
9
14
8
15
1
−
4
4
21
5
−
21
1
56
1
−
168
1
280
1
−
280
1
−
8
1
−
6
3
40
3
−
56
5
84
1
90
2
63
1
−
72
1
105
5
−
504
1
360
1
840
1
−
1260
1
1260
−
0
5
2
7
−
12
3
−
4
7
2
19
−
20
1
−
2
1
5
9
2
341
−
280
3
−
8
3
28
5
−
84
−
0
−
7
2
2
9
20
4
−
5
6
−
7
8
3
319
−
420
4
−
7
5
21
−
0
63
10
7
−
3
7
4
11
−
30
5
−
6
−
−
0
-2
7
6
7
12
1
−
2
5
6
−
−
−
31
p
(i = 0, . . . , p) to approximate the first derivative with j initial conditions (j =
32
Chapter 2. High Order Generalized Upwind Methods
Time-reversal symmetry
Concerning the BVP there is an additional requirement that it is considered to
be important. Numerical methods for BVPs essentially integrate the continuous problem forward and backward simultaneously but, since the continuous
problem does not exhibit a preferential direction in time, it may be preferable
that the numerical methods behave alike.
Let us consider the following linear and homogenous scalar problem
y ′′ − 2γy ′ + µy = 0
(2.2.1)
with constant real coefficients γ and µ and with separated boundary conditions
y(a) = η1 and y(b) = η2 . Supposed δ = γ 2 −µ > 0, the exact solution of (2.2.1)
is given by
y(x) = c1 eλ1 x + c2 eλ2 x ,
√
√
where λ1 = γ + δ, λ2 = γ − δ and the coefficients c1 and c2 depending on
the boundary conditions are expressed by
c1 =
η1 eλ2 b − η2 eλ2 a
,
eλ1 a eλ2 b − eλ2 a eλ1 b
c2 =
η2 eλ1 a − η1 eλ1 b
.
eλ1 a eλ2 b − eλ2 a eλ1 b
Let us suppose that the independent variable is changed for τ = a + b − x,
then set y(x) = u(τ ) with τ ∈ [a, b], the equation (2.2.1) is transformed in
u′′ + 2γu′ + µu = 0
(2.2.2)
where u = u(τ ). Moreover, the boundary conditions, like so the interval of
integration, are reversed and defined as u(a) = y(b) = η2 and u(b) = y(a) = η1 .
The two parametric curves Cτ : {(τ, u(τ )), τ ∈ [a, b]} and Cx : {(x, y(x)), x ∈
[a, b]} coincide, this means that a point is getting ahead on Cx , it is moving
back on Cτ and viceversa. Then we can affirm that the solution of the BVP
(2.2.1) satisfies the property called time isotropy or time-reversal symmetry
(see [28]). It would be important for the numerical methods as follows.
Remark 2.2.4 (Time reversal symmetry condition). A numerical method must provide the same discrete approximation on the interval [a, b] when
the independent variable x of the continuous problem is transformed into τ =
a + b − x and the boundary conditions are changed accordingly.
Now, we derive the conditions so that the coefficients of the BVMs (see
section 2.2) preserve the time reversal symmetry. Considering the Definition
33
2.1.6, let Y = [y1 , y2 , . . . , yn−1 ]T be the unknown solution vector, then in the
vector form the approximations of the derivatives by the BVMs introduced in
the previous sections are given by
Y ′′ (x) ≈
1
Ã2 Ỹ ,
h2
Y ′ (x) ≈
1
Ã1 Ỹ ,
h
where Ỹ = [y0 , Y T , yn ]T and Ã2 and Ã1 are the (n − 1) × (n + 1) matrices
containing the coefficients of the formulae (2.1.6) for ν = 1, 2.
Then the equivalent discrete problem of (2.2.1) is
˜ Ỹ = 0,
(Ã2 − 2γhÃ1 + µh2 I)
(2.2.3)
where I˜ = [0n−1 , In−1 , 0n−1 ], 0n−1 is a null vector of length n − 1 and In−1 is
the (n − 1) × (n − 1) identity matrix. Similarly, set τi = τ0 − ih and ui ≈ u(τi )
for i = 0, . . . , n, let U = [u1 , u2 , . . . , un−1 ]T be the unknown solution vector of
u(τ ) and Ũ = [u0 , U T , un ]T , then using in reverse order the same methods the
numerical approximation of (2.2.2) is given by
˜ Ũ = 0,
(Jn−1 Ã2 + 2γhJn−1 Ã1 + µh2 Jn−1 I)
(2.2.4)
where Jn−1 is a permutation matrix defined in (2.1.17).
Now, we impose to the numerical method to satisfy the time reversal symmetry condition, this means that if
y(xi ) = u(a + b − τi )
for i = 0, . . . , n,
(2.2.5)
since
xi = a + b − τi = τ0 − (n − i)h = τn−i ,
the condition (2.2.5) is approximated by
yi = un−i
for i = 0, . . . , n.
In vector form this is equivalent to require
Ỹ = Jn+1 Ũ .
Consequently, (2.2.3) can be written as
˜ n+1 )Ũ = 0
(Ã2 Jn+1 − 2γhÃ1 Jn+1 + µh2 IJ
(2.2.6)
34
Chapter 2. High Order Generalized Upwind Methods
and the comparison with (2.2.4) states that the matrices Ã2 and Ã1 have to
fulfill
Ã2 = Jn−1 Ã2 Jn+1 ,
Ã1 = −Jn−1 Ã1 Jn+1 .
(2.2.7)
Hence, in regard of the relations in (2.2.7), the numerical method is isotropic
when the coefficients of the matrices Ã2 and Ã1 satisfy, for i = 1, . . . , n − 1
and j = 1, . . . , n + 1 the property:
(2)
(2)
αi,j = αn−1−i,n+2−j
(1)
(1)
αi,j = −αn−1−i,n+2−j .
Consequently, it is clear that a numerical method preserve the time reversal
symmetry when:
• the BVM main scheme is symmetric for the approximation of the y ′′ and
skew-symmetric for the y ′ ;
• the number of initial and final methods is the same;
• the coefficients of the ith initial scheme are these of the n − i final one
in reverse order for y ′′ and also with changed sign for y ′ .
Since D2ECDF satisfy the property (2.2.7), we can affirm that the scheme
D2ECDF is time isotropic. As a consequence, we point out that also the
midpoint rule, obtained for p = 2, is isotropic when is applied to second-order
BVPs even if it is not isotropic for first-order BVPs (see [28]).
2.3
Conditioning analysis
In this section the conditioning analysis of the discrete problem associated
to the acquainted numerical methods is treated making use of the theoretical
results for BVPs in [28]. Let us consider the BVP (2.2.1) and rewrite it in
an equivalent problem of the first-order. By defining the vector [y1 , y2 ]T with
y1 = y and y2 = y ′ the equivalent first-order system is
µ ′ ¶ µ
¶
¶ µ
y1
y1
0
1
.
=
=
−µ 2γ
y2′
y2
The conditioning analysis depends on the eigenvalues of the coefficients matrix,
for this reason we proceed with computing the eigenvalues λ1 and λ2 by means
¯
¯
¯
¯ −λ
1
2
¯
¯
(2.3.1)
¯ −µ 2γ − λ ¯ = λ − 2γλ + µ = 0.
35
The well-conditioning of the problem is preserved when it assigns initial
values to the components of the solution generated by the eigenvalues with
negative real parts (decaying modes) and final values to the components of
the solution generated by the eigenvalues with positive real parts (increasing
modes), this means that the dichotomy (see [18]) is maintained.
In regard of the dichotomy, since from (2.3.1) λ1 λ2 = µ, the problem will
be
• well conditioned if and only if µ < 0;
• moderately conditioned if µ = 0;
• ill conditioned if µ > 0 (see p. 32 δ > 0).
It points out that in this analysis the oscillating solutions obtained when δ < 0
are not contemplate. The results suggest us to consider the methods which
yield a well conditioned discrete problem when µ < 0.
It is important to clarify that, similarly the discrete problem (2.2.3) is
well conditioned when the dichotomy is present with both the increasing and
decreasing modes. Differently to the continuous problem, the decaying modes
are generated by eigenvalues inside the unit disk of the complex plain and the
increasing modes are generated by the eigenvalues outside the same disk.
The known boundary conditions allow us to extract from (2.2.3) a linear
system as following
M · Y = d,
(2.3.2)
where M = (A2 − 2γhA1 + µh2 I), with A2 and A1 are the matrices obtained
by deleting the first and the last column of the matrix Ã2 and Ã1 , and d
is just the vector involving the known boundary conditions. As affirmed in
Definition 2.1.6 the matrices A2 and A1 are quasi-Toeplitz matrices. When n is
large enough, the contribution of the initial and final methods to the condition
number is minor with respect to that of main method (see [43]). Moreover,
it is known that the study of the conditioning of finite Toeplitz matrix brings
back to the analysis of the conditioning of infinite matrices. In [4] it is proved
as following
Theorem 2.3.1. Let {Tn } be a family of nonsingular Toeplitz band matrices
k
X
ai z m+i the associated characdefined as in Definition 1.5.1 and p(z) =
i=−m
teristic polynomial. Then, the family of matrices Tn is
36
Chapter 2. High Order Generalized Upwind Methods
i) well conditioned if p(z) is of type (m, 0, k);
ii) weakly well conditioned if p(z) is of type (m1 , m2 , k) or (m, k1 , k2 ), where
m1 + m2 = m and k1 + k2 = k. In this case the conditioning number
κ(Tn ) of the matrix Tn grows at most as O(nµ ), where µ is the highest
multiplicity among the zeros of unit modulus;
where the polynomial p(z) is the type (k1 , k2 , k3 ) if it has k1 zeros inside the
unit circle in the complex plane, k2 zeros on the circle and k3 zeros outside it.
Hence, the study of well conditioning of the discrete problem proceeds
with the analysis of the roots of the characteristic polynomial associated to
the main method (see [28]), defined as following
π(z, µh2 , γh) = ρ(z) − 2γhσ(z) + µh2 z s ,
(2.3.3)
where from the Eq. (2.1.2)-(2.1.3) s = max{k1 , k3 } and
ρ(z) =
k2
X
αk1 +j z s+j ,
σ(z) =
j=−k1
k4
X
βk3 +j z s+j .
j=−k3
Set r = max{k2 , k4 }, it follows that the characteristic polynomial in (2.3.3)
has order s + r, where s corresponds to the number of lower diagonals of
the coefficient matrix in (2.3.2) and r is the number of upper diagonals. The
Theorem 2.3.1 states that the well conditioning of the matrix (2.3.2) is satisfied
if the roots ξi = ξi (µh2 , γh) of the polynomial π(z, µh2 , γh) are such that
|ξ1 | ≤ |ξ2 | ≤ · · · ≤ |ξs−1 | < |ξs | < 1 < |ξs+1 | ≤ · · · ≤ |ξs+r | .
The zeros |ξs | and |ξs+1 | are said principal roots, since they generate the numerical solution, the remain roots have only a negligible contribution. Naturally
we point out that if h → 0, the principal roots approximate the double zeros
equal one of ρ(z).
Now, the aim is to find the (µh2 , γh)-region of well conditioning of the
discrete problem and firstly to draw the boundaries separating the well conditioning regions from the ill conditioning ones. As a consequence we solve
π(z, γh, µh2 ) = 0 for
|z| = 1.
(2.3.4)
The polynomial (2.3.3) is linear, then it can be proceed by considering three
cases:
37
• z = 1: for the consistency of the schemes the polynomial ρ and σ check
ρ(1) = σ(1) = 0, this means that the line µh2 = 0 have to be considered.
• z = −1: the equation (2.3.4) to analyze becomes
µh2 − 2γhσ̂ + ρ̂ = 0,
(2.3.5)
where ρ̂ = ρ(−1)/(−1)s and σ̂ = σ(−1)/(−1)s . Now, by means of simple
calculations it is possible to try out that ρ̂ < 0 for all method and order,
while σ̂ will be positive for D2GBDF, negative for D2GFDF and null for
D2ECDF. Therefore, the line (2.3.5) intersects the µh2 -axis at −ρ̂ > 0,
and in particular for D2ECDF the line µh2 = |ρ̂| is just parallel to the
vertical axis γh. Since σ̂ 6= 0, for the GBDF and GFDF the intersection
ρ̂
.
of the line (2.3.5) with the vertical axis is at q =
2σ̂
• z is a complex roots and |z| = 1: by setting z = eiθ and considering
the Euler formulae it is easy to check that ρ(z̄) − z̄ s ρ(z)/z s = 0. For
D2ECDF the polynomial (2.3.4) reduces to µh2 = |ρ̂(z)|, then the region
covers the segment between the points (0, 0) and (0, |ρ̂|).
It is instant to observe that D2ECDF always generates well-conditioned
matrices for µ < 0, this means that generalizations of the midpoint rule are
stable when they are applied to second-order BVPs, but they remain unstable
for IVPs (see [28]) and BVPs of first order. The situation changes for the
D2GBDF and D2GFDF methods, since the conditioning regions do not cover
the all left half-plain, indeed the discrete problem could be ill-conditioned for
some values of (µh2 , γh) when µ < 0. The ill-conditioning can be avoided by
imposing a restriction on the stepsize, which is obtained solving (2.3.5). If
δ̂ = (γ σ̂)2 − ρ̂µ, then the roots of the equation (2.3.5) are
p
p
γ σ̂ − δ̂
γ σ̂ + δ̂
h1 =
,
h2 =
.
µ
µ
Since ρ̂ and µ are both negative, it will be ρ̂µ > 0, therefore if δ̂ < 0 and
γ σ̂ > 0 it does not exist any restriction of the stepsize. Real positive values
of h1 and h2 , with h1 < h2 , are obtained when δ̂ > 0 and γ σ̂ < 0. The last
condition suggests that γ < 0 needs to obtain a stepsize restriction (h < h1 )
for D2GBDF , while γ > 0 is required for D2GFDF. Moreover, if we suppose
ρ̂µ ≪ (γ σ̂)2 , then the condition is reduced to
h≤
ρ̂
q
≡
2γ σ̂
γ
38
Chapter 2. High Order Generalized Upwind Methods
This condition is enough to guarantee the well conditioned matrices for the
both methods, moreover the value of q increases with the order, as shown in
the Table 2.3, this means that the well conditioning regions become wider for
the high order.
Table 2.3: Maximum value of |γ| h required to reach well conditioning matrices
for D2GBDF γ < 0 and for D2GFDF γ > 0
Order 4 6
8 10
|q|
1
17
12
16
9
21
10
The obtained results seem to highlight as the scheme D2GBDF is an highorder extension of the backward finite differences that can be used when the
coefficient γ of the first derivative (velocity) is positive, while when γ is negative then it is better to consider the D2GFDF, which is an extension of the
forward finite differences. This behavior calls to mind the upwind scheme of
the first order which applies the backward differences when γ < 0 and the forward differences when γ > 0 and suggests the idea to build by a combination
of D2GBDF with D2GFDF a well conditioned method which is an high order
extension of the upwind method, as we will see in the Chapter 3.
2.4
Conclusion
At the end we are able to underline the proprieties provided by the HOGD
methods.
• All the derivatives in ODE (2.1.1) can be approximated separately by
formulae of the same high order;
• the global numerical scheme provides the same high order of accuracy
in each points of the interval;
• the stability proprieties depend on the choice of the main scheme used
for the approximation of the first derivative;
• an high order extension of the upwind method can be applied to solve
the ODE (2.1.1);
• the size of the discrete problem is always equal to the mesh size;
39
• implicit equations can be solved as well as the explicit ones;
• ODE of high order, this means of order greater than two, can be solved
with same approaches and without increasing the size of the discrete
problem.
40
Chapter 2. High Order Generalized Upwind Methods
Chapter 3
HOGUP Method for
Two-Point Singular
Perturbation Problems
In this chapter we treat the solution of singular perturbation problems SPPs,
which have been studied for many years in applied and numerical mathematics, due to their difficulty. A wide set of codes are been developed during
the years, among them we found the fortran codes: COLSYS and COLNEW
[17, 25] using polynomial collocation on Gauss points; COLMOD developed
from COLNEW by adding a continuation strategy and a different error estimation which is more suitable for stiff problems; TWPBVP [33] based on
deferred corrections and mono-implicit Runge-Kutta methods; ACDC [30] an
improvement of TWPBVP using the more stable Lobatto Runge-Kutta formulae; MIRKDC and its new implementation BVP SOLVER [61] based on
symmetric mono-implicit Runge-Kutta formulae and on the computation of a
continuous solution using interpolation in order to control the defect. Moreover, matlab codes are: TOM [51] based on symmetric linear multistep formulae of high order, which are a generalization of the trapezoidal rule; BVP4c
[60] and BVP5c exploiting collocation methods to compute an approximate
solution which is C 1 piecewise cubic polynomial. In [15] Amodio and Sgura
show as the application of high order generalized difference (HOGD) schemes
to SPP do not yield an accurate solution, so they suggest to use a high order
generalized upwind HOGUP method, on the basis of the conditioning analysis. Our intention it is to apply HOGUP methods on variable meshes [6].
Therefore, we consider a technique of error equidistribution and also a de-
42
Chapter 3. HOGUP Method for Two-Point Singular Perturbation Problems
ferred method to build a strategy of variation stepsize, so that an accurate
solution is reached by using few mesh points. We have developed a matlab
code HOFiD UP and some numerical tests, chosen in the web page of J. Cash
[29], are taken in consideration.
3.1
High Order Generalized Upwind Methods
We consider singular perturbation problems defined as
ǫy ′′ = f (x, y, y ′ ),
x ∈ [a, b],
y ∈ R,
(3.1.1)
subject to separated boundary conditions
y(a) = ηa ,
y(b) = ηb ,
(3.1.2)
where f is a sufficiently smooth function and ǫ > 0 is a perturbation parameter
which causes a very fast variation of the solution, called layers, in narrow
regions, see Section 1.3.
We are interested in investigating the solution of SPPs and it could seem
immediately to propose the solution of (3.1.1) by means of the methods included in the high order generalized difference (HOGD) schemes, see Chapter
2. The literature shows as the application of the classical central schemes for
solving SPPs can fail, indeed in [18] it is observed that the application of 3point central schemes with a uniform stepsize h ≫ ǫ causes oscillations in the
solution throughout the interval. Then, firstly we are motivated to look the
behavior of the solution when formulae D2ECDFs, see Definition 2.2.3, are
considered for solving SPPs as in the following example.
Example 3.1.1. Let us consider the well conditioned linear SPP, (Test Problem 4 in [29]),
ǫy ′′ + y ′ − (1 + ǫ)y = 0,
x ∈ [−1, 1],
with boundary conditions y(−1) = 1 + exp (−2), y(1) = 1 + exp (−2(1 + ǫ)/ǫ).
The exact solution
¶
µ
1+ǫ
(1 + x)
ye (x) = exp (x − 1) + exp −
ǫ
has a boundary layer of width O(ǫ) at x = −1. We solve this problem with
D2ECDF of order 6 and with a stepsize h = 5 · 10−2 . For ǫ = 10−2 the gained
solution is correct, see Figure 3.1, while it is completely wrong for ǫ = 10−5
(see Figure 3.2).
43
1.4
1.2
1
0.8
0.6
0.4
0.2
0
−1
−0.5
0
0.5
1
Figure 3.1: Example 3.1.1 - Numerical solution with ǫ = 10−2 computed by
D2ECDF of order 6 with 40 equidistant points (h = 5e − 2).
Example 3.1.1 shows that the well conditioning of the linear system obtained by discretizing the problem is not sufficient to guarantee the effectiveness of the method D2ECDF for solving singular perturbation problems. The
reasons of this behavior are to seek in the properties of the characteristic
polynomial.
Firstly we consider a uniform discretization of the interval [a, b]
a ≤ x1 < x2 < · · · < xn ≤ b,
(3.1.3)
where xi = x0 + ih, h = (b − a)/n. Then, we approximate the second and the
first derivatives in (3.1.1) by means of formulae defined in (2.1.6), that is
(ν)
y (ν) (xi ) ≃ yi
=
k−s
1 X (s,ν)
αs+j yi+j ,
hν
j=−s
(s)
s = 1, . . . , k − 1,
(3.1.4)
where the coefficients αs+j are computed imposing the maximum order p, see
Proposition 2.1.2 and, moreover, s = 0, . . . , k is the number of initial conditions
44
Chapter 3. HOGUP Method for Two-Point Singular Perturbation Problems
1.4
1.2
1
0.8
0.6
0.4
0.2
0
−1
−0.5
0
0.5
1
Figure 3.2: Example 3.1.1 - Numerical solution with ǫ = 10−5 computed by
D2ECDF of order 6 with 40 equidistant points (h = 5e − 2).
and k depends on the order p and ν. We suppose to apply a HOGD scheme
to the linear test problem
ǫy ′′ − γy ′ − µy = 0,
µ ≥ 0,
(3.1.5)
with separated boundary conditions (3.1.2). Then, considering Definition
2.2.3, the equation (3.1.4) can be written in vector form as
´
³ ǫ
γ
˜ Ỹ = 0,
(3.1.6)
Ã
−
µ
I
Ã
−
1
2
h2
h
where I˜ = [0, I, 0] is the identity matrix of size (n − 1) × (n − 1) with two
additional null vectors, on the left and on the right. From (3.1.6) we obtain
the following linear system associated with (3.1.5)
M · Y = d,
(3.1.7)
where M = ( hǫ2 A2 − hγ A1 − µI) is a (n − 1) × (n − 1) band matrix, which
becomes quasi Toeplitz-matrix when n becomes large enough, and d is the
45
vector including the known boundary conditions. As shown in Section 2.3,
the characteristic polynomial associated can be expressed as
π(z, µh2 , γh) = ǫρ(z) − γhσ(z) − µh2 z s ,
(3.1.8)
where s = max{k1 , k2 } and k1 and k2 represent the number of initial conditions
of the main methods approximating the second and the first derivatives, and
ρ(z) =
k−k
X1
j=−k1
(k ,2)
αk11+j z s+j ,
σ(z) =
k−k
X2
(k ,1)
αk22+j z s+j .
j=−k2
Set r = min(k1 , k2 ), then the polynomial π(z, µh2 , γh) has degree k + s − r.
If zi for i = 1, . . . , s + r are the roots of the characteristic polynomial, it is
known from Section 2.3 that a well conditioned Toeplitz banded linear system
(with s lower and r upper off-diagonals) have to satisfy the condition
|z1 | ≤ |z2 | ≤ · · · ≤ |zs−1 | < |zs | < 1 < |zs+1 | ≤ · · · ≤ |zs+r | ,
(3.1.9)
where zs and zs+1 are the principal roots. Then, we are able to give the
following result (see [15]).
Proposition 3.1.2. Let M be the coefficient matrix defined in (3.1.7). If all
the roots (3.1.9) are real and positive, then M −1 has positive entries, that is
M is an inverse-monotone matrix.
Proof. From the hypothesis on the roots (3.1.9) we may approximate M by
a Toeplitz band matrix which is factored as
M ≈ (L1 . . . Ls )D(Us+1 . . . Us+r ) = LDU,
(3.1.10)
where D contains a positive diagonal scaling factor, Li , for i = 1, . . . , s, is
unit lower bidiagonal matrix with −zi on the lower diagonal, and Uj , for
j = s + 1, . . . , s + r, is unit upper bidiagonal matrix with −zj−1 on the upper
diagonal. Since the matrices are (weakly) diagonally dominant, then all the
matrices are (weakly) well conditioned. If the roots are also real and positive,
−1
−1 is positive.
then, L−1
i and Uj are positive, consequently also the product M
✷
The hypotheses of Proposition 3.1.2 are too restrictive for all the HOGD
schemes, indeed it is possible to check that the polynomial ρ(z) in (3.1.8)
satisfies it only for p = 2, 4. Numerically, for other orders, we have found
46
Chapter 3. HOGUP Method for Two-Point Singular Perturbation Problems
that the matrix A2 in (3.1.6) has positive inverse until order p = 14, while
the matrix A1 never has positive inverse. Therefore for small value of γh/ǫ
and µh2 /ǫ the matrix M in (3.1.7) is inverse monotone and the approximated
solution is fine. Therefore, the property is satisfied only for some value of the
stepsize h proportional to ǫ−1 .
Even so, we consider less restrictive conditions which allow us to obtain a
positive matrix M −1 by analyzing the principal roots of π(z, µh2 , γh). We can
observe that the matrix L in (3.1.10) depends on the roots zi , for i = 1, . . . , s
with |zi | < 1, consequently the decrease of the off-diagonal entries of L−1
is
i
as fast as |zi | is small. Hence if zs is positive and zs ≫ |zs−1 | ≥ |zi |, for
i = 1, . . . , s − 2, then the contribution of the parasitic roots vanishes after few
off-diagonals, so that L−1 is positive. Similarly, the matrix U depends on the
−1
roots
¯i =¯ s +¯ 1, . . . , s + r, with |zi | > 1, then if zs is positive and
¯ −1 ¯ zi ¯, for
¯z ¯ ≫ ¯z −1 ¯ ≥ ¯z −1 ¯, i = s + 3, . . . , s + r, then the contribution of parasitic
s+2
s+1
i
−1
roots is negligible on
¯ off-diagonals and U −1is positive. Therefore if L is
¯ −1the
¯
¯
positive and zs ≫ zs+1 or U is positive and zs+1 ≫ |zs |, then we can affirm
that M has inverse essentially positive.
This property is satisfied by the GBDFs if γ ≥ 0 and by GFDFs when
γ ≤ 0. In fact, the polynomial σ(z) corresponding to GBDFs formulae has
one principal root equal to 1 and the remaining ones are much lower than
1. Indeed, numerically for the same formulae we have also checked that until
order 14 L−1 is positive, while U −1 is not positive, however it has off-diagonal
elements going to zero quickly. On the other hand, for GFDFs, since the roots
of σ(z) are one equal to 1, the principal root, and the others much greater than
1, it is possible to observe as U −1 is positive, while L−1 has the off-diagonal
entries going to zero very fast.
Hence, we can affirm that, even if h > ǫ/γ for γ > 0 and respectively γ < 0
the matrix M resulting from GBDFs and GFDFs has a LDU factorization
in (3.1.10), with L−1 positive and U −1 with small off-diagonal elements for
GBDFs, vice versa for GFDFs. These negative elements generate only few
wriggles close to the boundary layer when γh ≈ ǫ is chosen .
Differently the polynomial σ(z) associated to ECDFs has −1 and 1 as
principal roots, consequently if h > ǫ/γ then high oscillations occur and the
solution can be completely modified.
Example 3.1.3. We solve the problem in Example 3.1.1 with ǫ = 10−5 by
D2GFDF of order p = 6. Since h ≫ ǫ some oscillations appear near the layer
as shown in Figure 3.3. When the stepsize h is halved, the error outside the
layer decreases following the theoretical order, as shown in Figure 3.4
47
1.4
1.2
1
0.8
0.6
0.4
0.2
0
−1
−0.5
0
0.5
1
Figure 3.3: Example 3.1.3 - Numerical solution for ǫ = 10−5 computed by
D2GFDF of order 6 with 40 equidistant points (h = 5e − 2).
The Examples 3.1.1-3.1.3 seem to confirm that only the use of ECDFs
for the approximation of the first derivative raises high oscillation in the solution. This behavior, already existing for classical central differences, has
been overcome in [18] replacing the symmetric scheme for the first derivative
with a one-sided scheme, keeping everything else unchanged. This substitution assures the disappearance of the spurious oscillations and motivates the
introduction of the so called upwind method (see [18]), which approximates
the first derivative by a backward or forward difference scheme according to
the sign of the coefficients of y ′ . Certainly the first order of the accuracy represents a disadvantage of the method, even if y ′′ is approximated by a second
order scheme we have a reduction of the global error.
Therefore in order to avoid the spurious oscillations, we decide to approximate the first derivative by GBDFs or GFDFs according to the sign of γ; this
choice also preserves the well conditioning property as explain in Section 2.3.
In general we can summarize this strategy in the following definition.
Definition 3.1.4 (Generalized Upwind Methods). For the two-point BVP
(3.1.1)-(3.1.2) we define High Order Generalized Upwind (HOGUP) method
48
Chapter 3. HOGUP Method for Two-Point Singular Perturbation Problems
0
10
h=5e−2
h=2.5e−2
h=1.25e−2
h=6.25e−3
−5
10
−10
10
−15
10
−1
−0.5
0
0.5
1
Figure 3.4: Example 3.1.3 - Absolute error for ǫ = 10−5 , computed by
D2GFDF of order 6 halving the stepsize from h = 5e − 2 to h = 6.5e − 3.
the global approximation of y ′′ by the ECDFs and y ′ (xi ), for i = s, n−p+s−1,
by
• GBDF when
∂f
(xi ) > 0;
∂y ′
• GFDF when
∂f
(xi ) < 0;
∂y ′
of the same order p, where s is the number of initial conditions.
Example 3.1.5. Let us consider the Test Problem 10 in [29]
ǫy ′′ + xy ′ = 0,
x ∈ [−1, 1],
with boundary conditions y(−1) = 0, y(1) = 2. The exact solution
√
√
ye (x) = 1 + erf(x/ 2ǫ)/erf(1/ 2ǫ).
√
has a turning point of width O( ǫ) at x = 0. We consider ǫ = 10−4 and
h = 5e − 2 and solve the problem by D2ECDF and by the HOGUP method of
49
order 6. Since in the interval [−1, 1] the coefficient of y ′ changes sign, for the
HOGUP we use GBDF when x < 0 and GFDF when x > 0. Even if h > ǫ,
we observe as the oscillations appear only near the turning point, while the
solution is completely wrong for D2ECDF, see Figure 3.5. Starting with 40
points and doubling the mesh we observe that the HOGUP check the order of
convergence, see Figure 3.6.
2.5
HOGUP
2
1.5
D2ECDF
1
0.5
0
−0.5
−1
−0.5
0
0.5
1
Figure 3.5: Example 3.1.5 - Numerical solution for ǫ = 10−4 computed by
D2GFDF and HOGUP of order 6 with 40 equidistant points (h = 5e − 2).
Remark 3.1.6. We point out that inside the layer the error of the HOGUP
method decreases with its order only when the stepsize is proportional to the
√
size of the layer, for the Example 3.1.5 when h = O( ǫ), see Figure 3.6. Hence,
the high order upwind method does not converge uniformly with respect to ǫ,
in fact the error bound depends on ǫ. Consequently, a uniformly convergence
may be reached only applying the HOGUP method on a variable mesh.
50
Chapter 3. HOGUP Method for Two-Point Singular Perturbation Problems
0
10
h=5e−2
h=2.5e−2
h=1.25e−2
h=6.25e−3
−2
10
−4
10
−6
10
−8
10
−10
10
−12
10
−1
−0.5
0
0.5
1
Figure 3.6: Example 3.1.5 - Absolute error for ǫ = 10−4 , computed by HOGUP
of order 6 doubling the mesh points.
3.2
HOGUP on Variable Mesh
The aim of this section is to apply the HOGUP method on grid points with
variable stepsize [6]. On the other hand, we want to preserve the nice properties the method exhibits on a mesh of equidistant points. Therefore, we
discretize the integration interval [a, b] by means of piecewise constant grids
such that the stencil used for each formula changes stepsize at most once.
Moreover, we underline that in the first and last points the initial and final
methods are used with constant stepsize, while the main method may be also
applied on a variable mesh, thus it is necessary to compute the variable-step
coefficients of the main methods as follows
k−s
1 X (s,2)
y (xi+k/2−s ) ≃ 2
α̃
yi+j ,
hi j=−s j+s
′′
y ′ (xi+k/2−s+t ) ≃
k−s
1 X (t,s,1)
α̃j+s yi+j ,
hi
j=−s
s = 1, . . . , k − 1,
t = −1, 1,
(3.2.1)
s = 1, . . . , k − 1. (3.2.2)
51
(s,2)
(s,2)
(t,s,1)
(t,s,1)
The coefficients (α̃0 , . . . , α̃k ) and (α̃0
, . . . , α̃k
) are still computed as in Proposition 2.1.2 by solving Vandermonde linear systems with the
matrix
V =
1
−s
(−s)2
..
.
1
−s + 1
(−s + 1)2
..
.
... 1 1 ...
... 0 1 ...
... 0 1 ...
.. ..
. .
1
(k − s)v
[(k − s)v]2
...
(−s)k+1 (−s + 1)k+1 . . . 0 1 . . . [(k − s)v]k+1
,
(3.2.3)
where s represents the number of steps equal to hi (the others are equal to
hi+1 ) and v = hi /hi+1 . The coefficients are computed such that the formulae
have order p = k − ν, with ν = 1, 2. Consequently a loss of the order occurs
for the symmetric scheme involved into the approximation of y ′′ , so that we
observe a order reduction in the global approximation. For all these choices the
coefficients have been computed algebraically. Moreover, we observe that the
coefficients magnitude depends on the values of v, for this reason we decided
to change stepsize at least every k + 4 points, that is we use 3 constant steps
methods before changing the stepsize, if necessary, and bound v according to
the values in Table 3.1.
Table 3.1: Maximum ratio between two successive steps
order
v
3.3
4
15
6
10
8
7
10
5
Deferred Correction
The deferred correction method [18] is widely used in several numerical schemes and it may be viewed as a special case of defect correction method, where
defect means that one is substituting the exact solution into the difference
scheme. Starting point is the idea to approximate the local truncation error
resulting from applying a basic scheme, after that it is possible to solve for a
corrected approximation using the same discretization.
We are interested to apply the deferred correction to high order finite
difference schemes defined in Chapter 2 for the BVPs. It is known that we
52
Chapter 3. HOGUP Method for Two-Point Singular Perturbation Problems
approximate y ′′ (xi ) and y ′ (xi ), for i = 1 . . . , , n − 1, by means of high order
finite difference schemes of the same even order p = 2s. As discussed in [7],
we point out that the same results can be obtained by approximating y ′ (xi )
and y ′′ (xi ) with two different (i.e., based on different stencils) interpolation
formulae. In particular, for the second derivative and i = s, . . . , n − s, we use
the Lagrange polynomial of degree 2s (the same of the formula) interpolating
y(x) at the points xi−s , . . . , xi+s ,
q2s (x) =
i+s
X
yj Lj (x),
where
Lj (x) =
j=i−s
i+s
Y
x − xk
.
xj − xk
(3.3.1)
k=i−s
k6=j
Then
′′
y ′′ (xi ) ≈ q2s
(xi ) =
i+s
X
(s,i)
αj+s yj ,
j=i−s
(s,i)
where αj+s = L′′j (xi ), j = i − s, . . . , i + s. Moreover, we underline that these
coefficients depend on the stepsize hi , i = i − s, . . . , i + s only in case of
variable mesh. For s > 1 this procedure requires some adjustment in order
to approximate y ′′ (xi ), for i = 1, . . . , s − 1 and i = n − s + 1, . . . , n − 1. In
fact, we remind that in the extreme points initial and final formulae are used,
this means that for the first s − 1 points we always have to use the stencil
x0 , . . . , x2s+1 while for the last points the stencil must be xn−2s , . . . , xn .
Alike, for the first derivative we consider a polynomial of degree 2s interpolating y(x) in the points xi−s+t , . . . , xi+s+t , where t = −1, 0, 1 depends on
the chosen formula among GBDF, ECDF or GFDF, respectively. In the same
way, the coefficients of these formulae derive from the first derivative of the
Lagrange polynomial computed at xi , while the approximation of y ′ (xi ) in the
first and last points of the mesh requires ad-hoc formulae.
In conclusion, the solution of (3.1.1)-(3.1.2) on the mesh (3.1.3) is obtained
by
¶
µ
ǫA2s − f (x, y, B2s y)
= 0,
(3.3.2)
Φ2s (y) =
g(y0 , yn )
where (x, y) denotes the discrete solution, and A2s and B2s contain the coefficients of the formulae of order 2s for the second and the first derivative. In the
case of a IVPs we have g(y0 , y0′ ). To emphasize the relation between two methods of consecutive orders it is convenient to use the Newton-like polynomial
rather than the Lagrange polynomial, defined as
53
p2s (x) = y [xi ] +
s
X
y [xi−j , . . . , xi+j−1 ]
+
j=1
i+j−1
Y
k=i−j+1
i+j−1
Y
x − xk
x − xk
,
+ y [xi−j , . . . , xi+j ]
xi−j − xk
xi+j − xk
k=i−j
where, in case of constant stepsize, y[xj , . . . , xj+k ] = ∆k yj is the forward
difference of order k. Then
2y[xi−1 , xi , xi+1 ]
y ′′ (xi ) ≈ p′′2s (xi ) =
+
(xi+1 − xi )(xi+1 − xi−1 )
s
X
γj,1 y[xi−j , . . . , xi+j−1 ] + γj,2 y[xi−j , . . . , xi+j ]
+2
(3.3.3)
j=2
=
p′′2s−2 (xi )
+ 2 (γs,1 y[xi−s , . . . , xi+s−1 ] + γs,2 y[xi−s , . . . , xi+s ])
where
γj,1 =
and
γj,2
1
xi−j − xi
i+j−1
X
k=i−j+1
k6=i
1
xi−j − xk
i+j−1
X
1
1
=
xi+j − xi
xi+j − xk
k=i−j
k6=i
i+j−1
Y
r=i−j+1
r6=k,i
i+j−1
Y
r=i−j
r6=k,i
xi − xr
xi−j − xr
xi − xr
.
xi+j − xr
The main advantage of this representation is the possibility to compute an
approximation of the local truncation error with few operations. If constant
stepsize is used, then the coefficients γj,1 = 0 due to symmetry while γj,2 =
{−1/12, 1/90, −1/560, 1/3150} for the even orders form 4 to 10.
With a similar reasoning, we can obtain an approximation of y ′ (xn ) in the
form
s
X
δj,1 y[xi−j+t , . . . , xi+j−1+t ] + δj,2 y[xi−j+t , . . . , xi+j+t ] ,
y ′ (xi ) ≈
j=1
(3.3.4)
where
δj,1 =
1
xi−j+t − xi
i+j−1
Y
k=i−j+1
k6=i−t
xi − xk+t
xi−j+t − xk+t
54
Chapter 3. HOGUP Method for Two-Point Singular Perturbation Problems
and
δj,2 =
1
xi+j+t − xi
i+j−1
Y
k=i−j
k6=i−t
xi − xk+t
.
xi+j+t − xk+t
Supposed f sufficiently smooth, from (3.3.3)-(3.3.4) it follows for the basic
scheme
Φ2s (y) = Φ2s−2 (y) + τ2s .
(3.3.5)
If ŷ is the exact solution of (3.1.1) or (3.1.2), then the following statements
are satisfied
Φ2s (ŷ) = τ̂2s = o(h2s ),
Φ2s−2 (ŷ) = τ̂2s−2 = o(h2s−2 ),
(3.3.6)
then from (3.3.5)-(3.3.6) it follows that for h → 0, τ2s is as an approximation
of the local truncation error τ̂2s−2 , so that
τ2s = τ̂2s−2 + o(h2s ).
If ȳ is the numerical solution achieved using difference schemes of order 2s − 2,
then
Φ2s−2 (ȳ) = 0,
consequently by substituting ȳ in (3.3.5) we have
Φ2s (ȳ) = τ2s .
(3.3.7)
It is important to point out that for (3.3.7), an approximation of the truncation
error for the method of order 2s is gained evaluating the formulae of order 2s
at the points of the solution reached with the lower order scheme 2s − 2.
¯ is the numerical solution obtained applying the formulae of
Similarly, if ȳ
¯ in (3.3.5) a corrected
¯ ) = 0 and, substituting ȳ
order 2s, this means Φ2s (ȳ
¯
solution ȳ is computed by solving
¯ ) = −τ2s = −Φ2s (ȳ).
Φ2s−2 (ȳ
(3.3.8)
We emphasize the significance of the result reached by the defect correction
and underline that it is possible to evaluate an estimation of the truncation
error concerning the difference scheme of a given order p and to compute a
corrected solution yielding the same scheme, without increasing the size of the
system required if a higher order is applied. In this way we are able to compute
the estimation of the error without solving the problem with two consecutive
orders and saving the computational cost.
55
3.4
Error Equidistribution
We consider the SPP (3.1.1)-(3.1.2) and an error tolerance TOL, the aim is to
find a mesh
π : a = x1 < x2 < · · · < xn = b
(3.4.1)
with h = max hi and hi = xi − xi−1 , for i = 1, . . . , n, such that n is small and
0≤i≤n
the error
ei = |yi − y(xi )| ,
i = 0, . . . , n
(3.4.2)
is less than T OL, where yπ = {yi }ni=1 approximate solution of y(x). We
underline that the error may be relative or absolute, or a combination of both.
The approximation of (3.1.1)-(3.1.2) is computed by high order generalized
upwind (HOGUP) schemes of order p, thus
|yi − y(xi )| = Chpi |Ψ(xi )| + O(hp+1 ),
(3.4.3)
where Ψ(x) involves the derivatives of order higher than p. We follow the
idea at the basis of the equidistribution in [18], whose principle is to minimize
max |ei |. Considering Ti ≈ T (xi ) = C |Ψ(xi )|, we obtain an error measure
0≤i≤n
1/p
φi ≈ hi Ti
, which varies linearly with hi , therefore a simpler minmax problem
min max |φi |,
i
h
n
X
i=1
hi = b − a
is involved. The solution of the optimization problem is obtained by assuming
all φi equal to a constant λ, so that
hi =
λ
1/p
Ti
,
i = 0, . . . , n,
λ=
n
X
b−a
1/p −1
(Ti
)
i=1
Generalizing we consider a smooth function, therefore, as in [18], we take
T (x)1/p as monitor function, then a mesh π is equidistributed with respect to
the monitor function if for a constant λ
Z xi+1
T (x)1/p d x ≡ λ,
(3.4.4)
xi
where
λ=
θ
n
(3.4.5)
56
Chapter 3. HOGUP Method for Two-Point Singular Perturbation Problems
and
θ=
Z
b
T (x)1/p d x.
(3.4.6)
Z
(3.4.7)
a
We note that
1
t(x) :=
θ
x
T (ξ)1/p d ξ
a
is piecewise linear, thus from (3.4.5)-(3.4.6) known xi we may finding xi+1
such that
i
(3.4.8)
t(xi+1 ) = .
n
If π ∗ is the new mesh given by (3.4.7)-(3.4.8) then if yπ∗ is the new solution,
considering (3.4.4)-(3.4.5), follows that
hi T (xi )1/p =
θ
(1 + O(h)),
n
then (3.4.3) satisfies
µ ¶p
θ
(1 + O(h)) + O(hp ).
|yi − y(xi )| =
n
(3.4.9)
The new mesh size n such that the solution is equidistributed has the uniform
error less than T OL, then from (3.4.9) we can predict it by choosing
n=
θ
TOL1/p
.
(3.4.10)
We consider also the quantities
r1 = max hi
0≤i≤n
µ
T (xi )
TOL
¶1/p
r2 =
n
X
i=0
hi
µ
T (xi )
TOL
¶1/p
,
r3 =
r2
,
n
where the ratio rr13 gives some information about the equidistribution, in fact
if the ratio is large the maximum error estimate is larger than the average one,
this means that the mesh is not well equidistributed. Moreover we required
to check that
r1
< 1.2
(3.4.11)
r3
(i) If (3.4.11) is satisfied, then the mesh is sufficiently equidistributed and
the new mesh is obtained doubling the points, that is we have π ∗ =
{x1 , x3/2 , x2 , . . . , xn−1 , x(n+1/2) , xn }.
57
(ii) If (3.4.11) is not checked, then r2 predicts the number of mesh points
satisfying the tolerance TOL and (3.4.10). Then we consider to predict
the number of mesh points n∗ = max{min(r2 , 1.2 n), n/1.2} in place of
r2 , in order to avoid incorrect conclusion early. Then the new mesh π ∗ is
computed by (3.4.7)-(3.4.8). We also underline that the mesh is doubled
if n∗ has already been used for two consecutive times.
Stepsize and order variation strategy
The order variation strategy developed in the code for solving two-point linear
singular perturbation problems (3.1.1)-(3.1.2) with very small perturbation
parameters ǫ consists to combine one or more methods with piecewise constant
stepsize of different order, chosen among 4, 6, 8 and 10. The choice of the order
is strictly connected to the desired precision. Low orders allow us to determine
the first variable meshes with a suggestion on the location of the layer and
relatively few points. The computed mesh can then be used by higher orders
to quickly obtain better accuracy.
The following algorithm describe the variable order strategy:
Algorithm 1. function [x, y] = HOFiD UP (‘problem’, tol)
ord = 4;
x
e = a : (b − a)/10 : b;
ye = ya : (yb − ya )/10 : yb ;
ltol = max(1e-2, tol);
while kerrk < tol
[x, y, err] = genup (‘problem’, ord, ltol, x
e, ye);
if kerrk > tol
ltol = max(kerrk/100, tol);
ord = ord + 2;
[e
x, ye] = adjmesh (x, y, ord + 4);
end
end
Hence, we consider as initial number of mesh points n = 10 and start with
method of order 4. The starting mesh is updated until we obtain a solution
with a computed absolute/relative error less than 10−2 . This essentially means
that the stepsize used is smaller than the width of the layer. Then, the process
is iterated by increasing the order of the method and decreasing the exit
tolerance.
58
Chapter 3. HOGUP Method for Two-Point Singular Perturbation Problems
Since the piecewise constant mesh depends on the order used, it is necessary
to modify the output mesh when we pass from one method of lower order to
one of higher order. This is made in adjmesh by increasing the number of
constant points in each sub-interval with less than ord + 4 constant steps, or
bringing together two sub-intervals with almost the same stepsize. Moreover
the number of points in each sub-interval is increased in order to satisfy the
restriction in Table 3.1.
The step variation technique, based on the equidistribution described in
Section 3.4, is applied inside the genup function and allows us to compute, for
fixed order ord and input tolerance TOL, a numerical solution with maximum
error less than TOL. The error is approximated using the deferred correction
in Section 3.3, that is considering the same scheme we compute the corrected
solution which allow us to estimate the error.
We pay particular attention to the function monitor which is inside the
function genup and allows us to compute the new grid x starting from the old
grid x
e and the computed error err. It is described as follows
Algorithm 2. function x = monitor (err, x
e, ord, T OL)
n = length(e
x) − 1;
h=x
e(2 : n) − x
e(1 : n − 1);
t = max(err(2 : n + 1), err(1 : n))ˆ(1/ord);
r1 = ktk∞ ;
n∗ = ⌊ktk1 /T OLˆ(1/ord)⌋;
r3 = ktk1 /n;
if r1 /r3 ≤ 1.2 & n∗ ≥ 2 · n
x is obtained halving the step-length vector h
n∗ = 2 · n
else
n∗ = max(min(n∗ , ⌊1.2 · n⌋), ⌊n/1.2⌋);
I = [0 cumsum(t)]/ktk1 ;
z = 0 : 1/n∗ : 1;
x
b = linear_interp(I, x
e, z);
x = piecewise_grid(b
x, ord + 4);
end
The function monitor is based on an equidistribution of the error and gives
back the equidistributed mesh, which is modified next by piecewise_grid
in order to have piecewise constant steps . The function piecewise_grid
starts from the minimum step and determines ord + 4 consecutive constant
steps which are able to overlay exactly some steps of the previous grid. This
59
procedure is iterated on the remaining part of the grid in order that the new
steps are greater than or equal to those already computed and the ratio of two
consecutive steps is bounded by the values in Table 3.1.
3.5
Numerical Test
In this section we give some results on the convergence behavior of the matlab
code HOFiD UP tested on four linear and two nonlinear singular perturbation
problems contained in the “BVP software page” of J. Cash [29].
For our numerical experiments we have chosen to show as order 4, 6 and
8 works individually requiring three different exit tolerance, that is 10−4 ,10−6
and 10−8 . We start with a uniform initial mesh of 10 points with order 4 and 6,
while the number of mesh points is 20 when order 8 is employed. Naturally, a
variable stepsize is obtained using the equidistribution of the error described in
in Section 3.4 and Section 3.4. The results highlight as for tolerance 10−4 and
10−6 a fine mesh is obtained with order 6, while order 8 is exploited to improve
the number of mesh points when a tolerances 10−8 is required. Hence, order
4 seems working better with a great tolerance, as 10−2 . This analysis for each
order helps us to set tolerances when we apply order variation strategy. Indeed,
for a exit tolerance T OL = 10−4 we choose two different order between 4, 6 and
8 and an initial tolerance 10−2 , differently for T OL = 10−6 or T OL = 10−8 we
can decide to employ two or three orders, in these case for orders 4-8 the initial
tolerance is 10−2 , for orders 6-8 the initial tolerance is 10−4 and for orders 4-6-8
the initial tolerances are respectively 10−2 for order 4 and 10−5 for order 6. We
point out as an order variation strategy improves the number of mesh points
above all for both small values of perturbation ǫ and exit tolerance T OL. For
nonlinear problems a continuation strategy sometimes needs, in such cases the
solution is computed in sequence for each ǫi = 10−i , i = 1, 2, . . . , less than ǫ
required using the method of order 4 and T OL = 10−2 . We point out that
for the Example 3.5.5 no continuation is exploited, while for the last Example
3.5.6 we show both results with and without continuation.
In the following tables we carry for each order from left to right the number
of steps employed to reach the fine mesh, the total number of mesh points,
the number of the final mesh and the error obtained by the relation
|y(xi ) − yi |
,
0≤i≤n 1 + |y(xi )|
kek∞ = max
when the exact solution is known, otherwise the unknown value y(xi ) is sub-
60
Chapter 3. HOGUP Method for Two-Point Singular Perturbation Problems
(p+2)
stituted by yi
obtained using the same method and order p + 2. Moreover,
in bold we have highlighted the finer mesh for each value of ǫ.
Example 3.5.1. Let us consider the linear test problem in Example 3.1.1,
where the coefficient multiplying y ′ is positive in the x-domain. The Table 3.2
shows as for T OL = 10−4 order 6 gives a finer mesh, while the Table 3.3 highlights as order 4 and 6 are a good combination for an order variation. However,
this strategy is convenient to employ when the perturbation ǫ becomes small.
For T OL = 10−6 in the Table 3.4 order 6 is established to be a good choice for
the small ǫ, moreover order 6 and 8 in the Table 3.5 work better for the order
variation strategy. In the Table 3.6 is evident that order 8 have to be used for
tolerance T OL = 10−8 , while the Table 3.7 shows as an order variation 4-6-8
allows us to considerably reduce the number of mesh points when ǫ becomes
smaller.
Table 3.2: Example 3.5.1 - numerical solution with T OL = 10−4 and fixed
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
order 4
4
5
6
8
9
10
11
12
13
14
87
150
236
439
582
723
917
1083
1315
1498
36
58
84
116
140
143
172
203
229
234
order 6
8.04e-05
6.63e-05
8.78e-05
6.75e-06
7.49e-06
1.89e-05
7.06e-06
5.59e-06
1.07e-05
1.07e-05
3
5
7
8
10
11
13
14
15
16
60
152
284
376
585
712
1039
1219
1425
1683
30
50
70
83
111
127
160
182
207
241
order 8
6.08e-05
2.54e-05
7.67e-06
1.09e-04
8.75e-06
5.62e-05
3.71e-07
8.61e-07
4.10e-05
6.94e-05
2
5
8
12
14
16
17
18
20
21
48
190
347
723
952
1310
1515
1753
2282
2499
28
61
76
122
141
186
196
228
273
285
1.04e-05
1.62e-06
3.18e-05
3.70e-08
7.56e-07
9.01e-08
1.53e-06
8.64e-05
4.12e-08
4.47e-06
Example 3.5.2. Let us consider the linear test problem 6 in [29]
ǫy ′′ + xy ′ = −ǫπ 2 cos (πx) − πx sin (πx),
x ∈ [−1, 1],
with boundary conditions y(−1) = −2, y(1) = 0. The exact solution
√
erf(x/ 2ǫ)
√
ye (x) = cos (πx) +
erf(1/ 2ǫ)
has a shock layer in the turning point region near x = 0.
Here the coefficient of y ′ changes its sign in the x-domain and there is
no y-term. The Table 3.8 underlines as order 6 reaches the exit tolerance
T OL = 10−4 with the finer mesh, while from the Table 3.9 we note that the
61
Table 3.3: Example 3.5.1 - numerical solution with T OL = 10−4 and variable
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
orders 4-6
5
6
7
9
10
12
13
14
15
16
96
197
248
377
497
723
955
1146
1325
1463
31
56
69
81
101
131
173
193
208
210
orders 4-8
1.22e-05
5.46e-06
8.41e-05
1.55e-05
7.18e-05
1.57e-06
1.26e-06
3.11e-07
5.41e-07
2.86e-05
4
5
7
9
10
11
12
14
15
16
67
149
247
406
513
602
809
1218
1395
1489
24
57
68
99
117
122
173
234
246
236
orders 6-8
8.31e-05
6.47e-05
5.98e-06
5.12e-07
3.76e-06
2.43e-05
7.28e-05
4.31e-08
2.93e-08
1.20e-06
4
6
8
10
12
13
14
16
17
18
71
190
317
504
765
916
1100
1488
1700
2168
24
49
71
95
134
148
172
208
219
307
8.31e-05
3.14e-05
1.12e-04
2.49e-05
4.82e-07
2.24e-06
7.66e-06
3.91e-08
6.41e-07
4.01e-07
Table 3.4: Example 3.5.1 - numerical solution with T OL = 10−6 and fixed
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
order 4
11
9
11
11
11
11
13
14
13
14
592
517
956
1035
1180
1232
1910
2351
1974
2513
100
116
184
197
246
259
342
405
368
442
order 6
9.25e-07
1.33e-06
6.41e-07
1.18e-06
4.77e-07
1.04e-06
4.29e-07
3.90e-07
1.15e-06
6.55e-07
5
6
7
8
9
11
12
13
14
15
152
248
377
491
664
941
1149
1432
1642
1939
52
82
105
113
135
170
183
221
232
267
order 8
2.79e-07
1.41e-07
1.61e-07
1.34e-06
5.22e-07
8.34e-08
1.38e-07
7.26e-08
1.90e-07
8.93e-08
3
5
8
10
12
13
15
16
17
18
84
179
415
640
1002
1177
1610
1862
2086
2371
36
54
99
117
172
185
233
261
269
285
2.44e-07
1.88e-06
2.36e-08
1.79e-08
1.77e-09
1.24e-08
7.00e-10
3.59e-09
7.13e-08
3.75e-07
Table 3.5: Example 3.5.1 - numerical solution with T OL = 10−6 and variable
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
order 4-8
5
6
8
9
11
12
13
14
15
16
104
214
344
406
649
748
1018
1218
1395
1489
37
65
97
99
136
146
209
234
246
236
order 6-8
8.76e-07
1.51e-07
3.09e-08
5.12e-07
9.44e-09
3.20e-08
1.53e-08
4.31e-08
2.93e-08
1.20e-06
5
7
8
10
11
13
14
15
17
18
129
275
369
563
707
1030
1226
1425
1915
2249
39
63
85
98
122
171
187
206
250
296
order 4-6-8
1.80e-07
3.28e-08
8.29e-07
7.81e-08
9.52e-07
1.19e-08
6.81e-09
2.95e-08
2.94e-08
3.34e-07
7
7
9
11
12
13
14
15
16
18
181
258
421
605
742
880
1160
1362
1560
1969
49
61
92
122
133
157
205
216
235
270
1.98e-08
5.56e-07
2.78e-08
1.79e-09
1.23e-08
7.51e-08
5.17e-08
5.33e-09
3.02e-08
3.13e-07
62
Chapter 3. HOGUP Method for Two-Point Singular Perturbation Problems
Table 3.6: Example 3.5.1 - numerical solution with T OL = 10−8 and fixed
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
order 4
13
14
14
17
16
20
20
21
22
21
1192
2043
2412
3064
3150
5721
5903
6423
7405
7626
400
630
832
664
704
1126
1162
729
822
1476
order 6
5.22e-09
3.08e-09
1.60e-09
4.47e-09
7.87e-09
1.56e-09
2.36e-09
1.20e-08
4.95e-08
5.14e-07
8
8
8
9
10
11
12
13
13
14
385
465
559
754
1039
1357
1719
2068
2127
2505
91
116
144
186
242
308
330
365
345
330
order 8
7.43e-09
1.06e-08
1.37e-08
2.66e-09
1.97e-09
9.59e-10
1.00e-09
4.27e-09
3.43e-08
2.51e-07
4
6
9
10
11
13
14
15
16
17
134
298
525
737
1003
1442
1790
2119
2421
2758
50
91
118
149
196
228
248
293
294
320
2.18e-08
9.22e-10
8.89e-10
2.65e-09
4.22e-09
2.64e-10
5.10e-10
3.14e-09
2.88e-08
3.91e-07
Table 3.7: Example 3.5.1 - numerical solution with T OL = 10−8 and variable
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
order 4-8
6
7
9
10
11
13
14
15
15
17
153
315
474
544
649
924
1250
1476
1395
1762
49
92
129
128
136
175
232
258
246
273
order 6-8
1.27e-08
7.78e-10
9.60e-10
7.10e-10
9.44e-09
2.02e-10
3.47e-10
4.36e-09
2.93e-08
1.45e-07
6
8
9
11
12
14
14
16
17
18
180
379
468
702
844
1228
1226
1683
1915
2249
50
92
99
126
137
198
187
258
250
296
order 4-6-8
6.39e-09
8.66e-10
3.91e-09
1.25e-09
4.13e-09
1.53e-10
6.81e-09
3.74e-09
2.94e-08
3.34e-07
7
8
10
11
12
14
15
15
16
18
181
345
533
605
742
1054
1379
1362
1560
1969
49
87
112
122
133
174
219
216
235
270
1.98e-08
3.27e-09
6.38e-10
1.79e-09
1.23e-08
5.86e-10
8.17e-10
5.33e-09
3.02e-08
3.13e-07
best results for order variation are obtained with order 6 and 8, however they
are worse than those obtained with order 6, this means that for great tolerance
no order variation is necessary. Moreover, we observe that order 8 have to be
used when T OL = 10−6 , as shown in the Table 3.10, while orders 6 and 8 are
the better combination for order variation to reach the same accuracy, as we
can see in the Table 3.11. Also for this problem order 8 is confirmed to be
the best choice when we require tolerance 10−8 , see Table 3.12, however the
results in the Table 3.13 show that the finer mesh, which preserve the same
accuracy, is obtained with the order variation 4-6-8. Consequently, we can
point out that the order variation strategy improves the efficiency of the code
for number of mesh points and high precision.
Example 3.5.3. Let us consider the linear test problem 7 in [29]
ǫy ′′ + xy ′ − y = −(1 + ǫπ 2 ) cos (πx) − πx sin (πx),
x ∈ [−1, 1],
63
Table 3.8: Example 3.5.2 - numerical solution with T OL = 10−4 and fixed
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
10−16
10−17
order 4
4
6
7
8
8
11
10
10
12
11
12
12
13
15
16
15
16
76
218
345
453
561
1190
1045
1029
1779
1478
1933
1928
2395
4063
4093
3567
4380
30
68
94
119
155
248
246
243
354
339
411
406
468
1090
684
666
737
order 6
1.17e-4
5.31e-5
9.69e-5
1.32e-4
6.84e-5
7.77e-5
5.76e-5
1.04e-4
9.86e-5
5.76e-5
5.93e-5
9.54e-5
7.40e-5
9.55e-6
1.06e-4
1.17e-4
1.06e-4
2
3
5
6
8
8
9
10
11
12
12
13
14
15
16
16
17
30
70
200
314
555
581
799
1060
1219
1495
1556
1848
2052
2609
2938
2902
3377
20
40
77
99
136
131
172
224
214
247
270
275
274
386
422
345
403
order 8
6.65e-5
9.19e-5
8.83e-6
4.77e-5
4.29e-6
6.72e-5
1.71e-5
6.06e-6
2.03e-5
1.33e-5
4.78e-5
5.02e-5
3.35e-5
6.68e-6
2.02e-6
2.69e-5
2.12e-5
2
2
4
6
7
8
9
10
11
12
13
14
15
16
17
17
18
60
60
173
400
579
832
1095
1337
1581
1911
2176
2546
2922
3381
3782
3833
4307
40
40
63
94
121
171
204
233
244
282
297
317
353
395
413
440
465
1.72e-8
2.19e-5
7.76e-5
1.98e-5
8.34e-5
7.99e-6
4.30e-6
3.65e-6
5.94e-5
7.21e-6
1.56e-5
9.84e-6
1.25e-5
1.17e-6
2.00e-6
6.31e-5
1.31e-5
with boundary conditions y(−1) = −1, y(1) = 1. The exact solution
p
√
xerf(x/ 2ǫ) + 2ǫ/π exp (−x2 /2ǫ)
p
√
ye (x) = cos (πx) + x +
erf(1/ 2ǫ) + 2ǫ/π exp (−1/2ǫ)
has a corner layer in the turning point region near x = 0. We observe that
the coefficient multiplying y ′ changes sign in the x-domain. As pointed out for
the previous examples with tolerance 10−4 it is convenient to consider order
6, see Table 3.14, while for the same precision an order variation 4-6 seems
not to offer any advantage, as we can see in the Table 3.15. Tolerances 10−6
and 10−8 are satisfied more easy using only order 6 and 8 respectively, see
Table 3.16 and Table 3.18. However, some improvements in the reduction of
the mesh points are gained with order variation, even if the choice of orders
combination depends on ǫ, as shown in Table 3.17 and Table 3.19.
Example 3.5.4. Let us consider the test problem 14 in [29]
¡
¢
ǫy ′′ − y = − ǫπ 2 + 1 cos(πx),
x ∈ [−1, 1],
√
with boundary conditions y(−1) = y(1) = exp(−2/ ǫ). The exact solution
√
√
ye (x) = cos (πx) + exp ((x − 1)/ ǫ) + exp (−(x + 1)/ ǫ)
√
has boundary layers of width O( ǫ) near x = −1 e x = 1.
64
Chapter 3. HOGUP Method for Two-Point Singular Perturbation Problems
Table 3.9: Example 3.5.2 - numerical solution with T OL = 10−4 and variable
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
10−16
10−17
orders 4-6
4
5
7
7
8
9
10
10
11
12
13
14
14
15
16
17
18
52
128
275
329
507
725
896
899
1200
1455
1806
2134
2019
2429
2854
3266
3635
20
47
83
93
130
162
177
189
248
258
309
327
314
366
412
462
466
orders 4-8
6.65e-5
1.85e-5
4.28e-6
2.28e-5
8.73e-6
8.23e-6
6.95e-6
5.05e-5
1.78e-5
7.20e-6
2.18e-6
4.62e-6
2.58e-5
1.09e-5
2.03e-6
2.90e-6
4.23e-6
4
4
6
7
8
9
10
10
11
12
13
14
14
15
16
17
17
58
81
231
354
545
756
934
964
1249
1535
1893
2215
2132
2525
2958
3372
3224
24
34
72
109
148
179
212
219
272
312
362
382
377
418
470
515
515
orders 6-8
5.23e-6
7.21e-5
1.85e-5
5.56e-5
3.76e-6
8.00e-7
1.47e-6
4.10e-5
7.49e-6
6.81e-7
7.90e-8
7.41e-7
4.19e-5
5.34e-6
4.28e-7
1.85e-7
1.89e-4
4
4
8
8
9
10
11
12
13
14
14
16
17
17
18
19
20
81
81
322
465
659
805
1047
1203
1492
1666
1749
2266
2631
2636
3202
3389
3860
34
34
69
98
133
159
191
197
255
251
284
305
331
343
412
400
455
4.95e-8
7.21e-5
7.65e-6
1.18e-5
5.11e-6
8.70e-5
1.41e-6
1.33e-5
2.32e-5
2.15e-6
2.61e-4
3.01e-6
1.82e-6
3.41e-5
1.41e-5
4.54e-6
8.16e-7
Table 3.10: Example 3.5.2 - numerical solution with T OL = 10−6 and fixed
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
10−16
10−17
order 4
11
12
12
14
12
19
13
16
14
14
15
19
17
16
20
22
21
509
985
1712
2018
1691
4664
2984
4945
3903
4208
5377
7224
7182
6243
8600
11939
14064
132
177
572
528
490
589
1108
1680
1416
1560
1748
1562
2432
2180
1908
2468
3656
order 6
3.79e-07
1.06e-06
1.71e-07
2.81e-07
9.83e-07
2.40e-06
1.77e-07
7.02e-08
3.60e-07
2.02e-07
2.43e-07
4.54e-07
1.43e-07
6.03e-07
5.08e-07
3.75e-07
2.37e-07
3
5
6
7
8
9
9
10
11
11
12
12
14
14
14
15
16
70
206
329
456
681
882
941
1277
1769
1735
2337
2308
3555
3598
3657
4745
4815
40
80
111
133
191
224
246
304
412
370
486
449
693
637
632
852
654
order 8
4.02e-07
5.83e-07
3.20e-07
6.46e-07
5.68e-07
1.85e-07
1.13e-06
1.58e-07
4.02e-08
1.36e-06
3.79e-07
1.76e-06
1.03e-07
3.51e-07
3.80e-07
1.06e-07
5.79e-07
2
4
6
6
7
8
9
9
10
11
11
12
13
14
15
16
16
60
182
373
481
673
943
1269
1397
1718
2114
2256
2617
3053
3674
4299
4853
4998
40
71
116
129
152
190
264
300
307
316
391
377
399
458
495
533
577
1.72e-08
2.02e-07
5.61e-08
9.96e-08
2.49e-07
1.06e-07
1.12e-07
8.02e-07
1.37e-06
2.64e-07
1.06e-06
5.64e-07
3.58e-07
2.24e-07
5.24e-08
6.03e-08
4.12e-07
65
Table 3.11: Example 3.5.2 - numerical solution with T OL = 10−6 and variable
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
10−16
10−17
order 4-8
5
6
7
8
9
9
11
11
12
12
13
14
15
16
16
17
18
106
189
335
483
720
756
1184
1200
1548
1535
1893
2215
2531
2934
2958
3372
3745
48
62
102
122
175
179
250
224
299
312
362
382
399
409
470
515
521
order 6-8
3.46e-09
4.72e-07
1.26e-07
1.19e-07
6.99e-08
8.00e-07
2.26e-08
8.76e-07
1.10e-07
6.81e-07
7.90e-08
7.41e-07
1.16e-07
9.75e-08
4.28e-07
1.85e-07
3.43e-08
4
6
7
8
9
10
11
12
13
14
14
15
16
17
17
18
19
81
212
388
553
699
909
1209
1637
1750
2096
2221
2510
2724
3568
3429
3757
4315
34
61
108
136
144
169
215
316
284
319
349
346
354
492
491
441
467
order 4-6-8
4.95e-08
4.78e-07
7.15e-08
3.33e-07
1.49e-06
4.72e-07
9.91e-08
6.65e-08
1.99e-07
2.53e-08
2.12e-07
4.42e-07
3.62e-07
2.52e-08
3.84e-07
1.23e-07
4.36e-07
6
7
8
9
10
11
12
12
13
14
14
16
16
17
17
18
19
127
256
365
575
828
1096
1328
1395
1820
2072
2149
2877
2852
3295
3327
3819
4166
35
64
90
127
173
197
231
267
325
333
343
365
446
441
473
553
531
4.05e-08
5.26e-07
6.96e-07
1.49e-07
4.90e-08
5.83e-08
4.95e-08
1.90e-07
2.01e-08
3.08e-08
4.48e-07
1.62e-08
6.95e-08
4.24e-08
3.53e-07
9.10e-07
1.06e-06
Table 3.12: Example 3.5.2 - numerical solution with T OL = 10−8 and fixed
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
10−16
10−17
order 4
13
26
14
17
14
23
14
17
15
15
16
20
17
16
21
22
21
1301
6449
5144
6296
4631
10034
5200
8305
6735
7328
8873
10348
7182
6243
12416
11939
14064
528
613
2288
2148
1960
2704
2216
3360
2832
3120
3496
3124
2432
2180
3816
2468
3656
order 6
1.52e-09
1.44e-08
6.79e-10
1.75e-09
3.88e-09
3.57e-09
1.12e-08
4.45e-09
2.28e-08
1.30e-08
1.56e-08
2.85e-08
1.43e-07
6.03e-07
3.22e-08
3.75e-07
2.37e-07
5
8
10
14
10
12
11
12
13
13
15
14
15
15
19
16
17
202
577
990
2089
1395
2018
1666
2482
3137
2852
5297
3726
4353
4722
10304
6744
7792
88
147
200
323
468
584
371
764
906
576
1434
704
798
865
2298
1782
2000
order 8
1.91e-09
9.61e-09
1.36e-08
1.01e-08
1.01e-09
4.74e-10
1.62e-08
1.05e-09
7.44e-10
1.10e-08
4.59e-10
5.21e-09
1.50e-08
7.72e-09
2.10e-10
1.04e-09
4.43e-10
3
5
6
7
8
9
9
10
11
11
12
13
13
14
14
15
15
140
276
389
708
987
1364
1439
1915
2569
2566
3453
4061
4453
5071
5312
6321
6506
80
94
121
176
230
308
343
425
533
537
682
740
827
776
861
991
995
3.23e-11
1.42e-08
2.90e-08
3.73e-09
1.91e-09
9.86e-10
1.03e-08
6.32e-09
3.62e-09
1.51e-08
1.03e-09
1.01e-08
4.00e-09
2.26e-09
3.38e-09
3.14e-09
8.88e-09
66
Chapter 3. HOGUP Method for Two-Point Singular Perturbation Problems
Table 3.13: Example 3.5.2 - numerical solution with T OL = 10−8 and variable
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
10−16
10−17
order 4-8
5
8
8
9
10
10
11
12
12
13
14
15
16
16
17
18
19
106
372
508
734
995
1037
1265
1758
1675
1966
2351
2843
3277
3228
3571
4034
4401
48
104
140
206
235
239
305
378
382
406
447
548
554
600
574
652
656
order 6-8
3.46e-09
5.83e-09
1.30e-08
2.09e-09
5.11e-09
2.74e-09
5.60e-09
4.06e-09
1.70e-08
3.79e-09
1.67e-09
1.12e-09
5.88e-09
7.25e-09
7.13e-09
4.64e-09
2.65e-09
5
8
8
9
10
11
12
13
15
15
15
17
17
18
19
19
20
149
388
519
712
874
1206
1523
2018
2470
2548
2641
3702
3292
4194
4757
4399
5153
68
98
131
160
175
249
282
371
387
422
411
788
520
627
725
595
702
order 4-6-8
1.39e-10
6.66e-09
7.07e-09
1.22e-08
1.18e-08
1.70e-09
2.65e-09
9.43e-09
3.58e-09
4.74e-09
3.91e-09
1.59e-10
5.41e-09
3.83e-09
5.20e-09
3.37e-09
2.22e-08
7
9
10
10
11
12
13
13
14
15
15
17
17
18
18
19
20
197
442
621
729
1042
1400
1622
1677
2221
2480
2584
3292
3361
3871
3819
4371
4738
70
103
139
154
202
281
291
282
401
404
435
415
509
558
492
552
572
1.04e-10
3.28e-09
8.94e-09
8.24e-09
7.86e-09
8.63e-10
5.43e-09
5.05e-09
2.49e-09
2.96e-09
5.24e-09
8.77e-09
2.75e-09
5.37e-10
7.67e-09
6.41e-09
1.63e-08
Table 3.14: Example 3.5.3 - numerical solution with T OL = 10−4 and fixed
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
10−16
order 4
3
5
9
7
7
8
8
8
8
8
8
8
8
8
8
8
70
122
204
211
252
364
362
358
358
358
358
358
358
358
358
358
40
37
47
59
74
106
104
101
101
101
101
101
101
101
101
101
order 6
1.78e-05
7.66e-05
1.03e-04
1.13e-04
9.70e-05
2.55e-04
1.58e-04
2.78e-04
2.81e-04
2.81e-04
2.81e-04
2.81e-04
2.81e-04
2.81e-04
2.81e-04
2.81e-04
2
2
4
4
5
5
5
5
5
5
5
5
5
5
5
5
30
30
121
128
213
215
209
216
216
204
216
208
204
209
209
204
20
20
51
58
83
87
80
88
88
75
88
80
75
80
80
75
order 8
7.22e-06
3.49e-04
4.26e-06
7.58e-04
1.94e-04
4.49e-04
7.57e-04
3.00e-04
5.78e-04
8.12e-04
3.01e-04
8.08e-04
8.12e-04
7.78e-04
7.78e-04
8.12e-04
2
2
2
4
6
6
7
7
7
7
7
7
7
7
7
7
60
60
60
167
317
317
427
427
427
427
427
427
427
427
427
426
40
40
40
61
88
88
110
110
110
110
110
110
110
110
110
109
3.17e-09
1.12e-06
6.87e-04
5.50e-04
3.51e-04
9.42e-04
4.85e-04
5.28e-04
5.32e-04
5.32e-04
5.32e-04
5.32e-04
5.32e-04
5.32e-04
5.32e-04
4.04e-04
67
Table 3.15: Example 3.5.3 - numerical solution with T OL = 10−4 and variable
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
10−16
orders 4-6
3
4
7
6
7
7
7
7
7
7
7
7
7
7
7
7
47
81
154
150
251
251
250
250
250
250
250
250
250
250
250
250
17
34
51
58
82
82
81
81
81
81
81
81
81
81
81
81
4.22e-05
1.21e-05
4.26e-06
5.61e-04
1.41e-04
3.74e-04
4.75e-04
4.95e-04
4.97e-04
4.97e-04
4.97e-04
4.97e-04
4.97e-04
4.97e-04
4.97e-04
4.97e-04
orders 4-8
3
4
6
6
7
8
8
8
8
8
8
8
8
8
8
8
47
81
117
167
252
352
352
352
352
352
352
352
352
352
352
352
17
34
48
61
84
100
100
100
100
100
100
100
100
100
100
100
orders 6-8
2.51e-05
4.46e-06
3.03e-04
9.51e-04
8.10e-04
5.96e-04
6.72e-04
6.76e-04
6.76e-04
6.76e-04
6.76e-04
6.76e-04
6.76e-04
6.76e-04
6.76e-04
6.76e-04
4
4
5
5
6
7
7
7
7
7
7
7
7
7
7
7
81
81
117
149
236
336
336
337
336
337
337
337
337
337
337
337
34
34
36
68
87
101
101
102
101
102
102
102
102
102
102
102
1.73e-08
4.46e-06
5.64e-04
1.42e-03
7.49e-04
4.05e-04
5.34e-04
7.27e-04
5.69e-04
7.29e-04
7.29e-04
7.29e-04
7.29e-04
7.29e-04
7.29e-04
7.29e-04
Table 3.16: Example 3.5.3 - numerical solution with T OL = 10−6 and fixed
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
10−16
order 4
5
11
15
12
11
10
11
12
12
13
13
13
13
13
13
13
310
584
790
781
808
662
844
1070
1067
1338
1344
1344
1344
1344
1344
1344
160
110
137
156
181
165
195
237
235
272
278
278
278
278
278
278
order 6
7.56e-08
8.43e-07
9.56e-07
1.19e-06
8.24e-07
1.90e-06
9.29e-07
1.52e-06
2.95e-06
2.16e-06
2.51e-06
2.90e-06
2.93e-06
2.94e-06
2.94e-06
2.94e-06
3
4
5
6
7
8
9
9
10
10
11
10
10
11
10
10
70
121
184
288
447
562
766
759
962
1036
1194
961
1034
1199
1034
1034
40
51
63
90
126
140
176
176
213
236
235
207
234
230
234
234
order 8
1.12e-07
6.33e-07
9.79e-07
4.23e-07
1.28e-07
1.73e-07
1.26e-07
3.96e-06
4.68e-06
4.26e-06
1.93e-06
8.26e-06
5.37e-06
3.37e-06
5.37e-06
5.38e-06
2
2
4
6
8
10
11
12
13
13
13
13
13
13
13
13
60
60
178
334
547
808
1020
1174
1428
1355
1379
1385
1407
1368
1403
1365
40
40
67
87
119
141
170
179
213
187
196
195
206
185
195
185
3.17e-09
1.12e-06
4.01e-07
3.94e-06
3.40e-06
1.67e-07
1.56e-06
2.10e-06
3.32e-06
8.36e-06
8.33e-06
1.01e-05
6.61e-06
9.57e-06
7.49e-06
6.72e-06
68
Chapter 3. HOGUP Method for Two-Point Singular Perturbation Problems
Table 3.17: Example 3.5.3 - numerical solution with T OL = 10−6 and variable
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
10−16
order 4-8
4
5
7
8
10
11
12
13
14
15
14
14
14
15
15
14
81
125
177
336
586
748
894
1092
1247
1472
1262
1293
1299
1539
1465
1291
34
44
60
88
131
139
152
186
184
202
197
198
201
225
209
202
order 6-8
1.73e-08
3.98e-07
3.80e-06
7.32e-07
2.18e-07
3.47e-06
6.55e-06
7.47e-06
7.15e-06
5.09e-06
1.32e-05
1.06e-05
1.10e-05
5.90e-06
4.43e-06
1.40e-05
4
5
6
7
8
10
11
12
12
12
13
13
13
14
13
13
81
125
260
357
524
838
1019
1206
1162
1170
1404
1417
1402
1615
1414
1365
34
44
78
90
116
146
181
183
185
177
198
218
206
219
209
190
order 4-6-8
1.73e-08
3.98e-07
5.96e-08
5.39e-07
2.32e-06
2.08e-07
1.12e-06
1.18e-06
1.31e-05
1.67e-05
5.97e-06
8.80e-06
7.47e-06
3.60e-06
8.50e-06
9.13e-06
6
7
9
9
10
11
12
13
13
13
14
13
13
14
13
15
118
183
293
407
587
789
943
1188
1151
1168
1360
1162
1169
1368
1164
1604
34
40
78
92
121
159
170
199
187
192
195
188
195
199
183
234
1.73e-08
4.90e-07
5.96e-08
2.02e-07
1.06e-07
7.59e-08
1.75e-06
5.92e-07
7.29e-06
1.34e-05
4.66e-06
1.25e-05
1.34e-05
4.53e-06
1.26e-05
3.40e-06
Table 3.18: Example 3.5.3: numerical solution with T OL = 10−8 and fixed
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
10−16
order 4
6
18
20
19
18
17
16
16
16
16
16
17
18
18
19
19
630
2840
2400
2708
3022
2900
2467
2486
2540
2482
2504
3039
3616
3612
4264
4266
320
654
379
376
430
447
413
423
449
437
445
518
581
582
655
653
order 6
4.76e-09
1.18e-09
1.93e-08
1.81e-08
1.11e-08
8.51e-09
1.01e-08
9.60e-09
9.48e-09
7.95e-09
2.67e-08
1.23e-08
6.67e-09
2.49e-08
1.01e-08
1.88e-08
4
7
8
8
8
8
9
11
11
12
13
14
14
14
15
15
150
365
501
534
620
662
916
1369
1415
1793
1920
2291
2501
2464
2828
2848
80
99
125
132
157
182
244
291
300
341
313
358
377
378
381
348
order 8
1.87e-09
7.45e-09
6.60e-09
9.10e-09
2.17e-08
1.92e-08
7.81e-09
1.83e-09
5.30e-09
2.45e-09
2.74e-08
1.80e-08
4.25e-08
9.25e-08
4.02e-08
1.86e-08
2
4
5
7
9
10
11
12
13
15
16
17
17
18
18
18
60
185
277
498
727
928
1160
1455
1678
2217
2559
2845
2831
3082
3222
3171
40
71
96
142
155
174
197
228
243
280
300
325
314
323
338
316
3.17e-09
8.08e-09
1.12e-08
4.36e-09
3.44e-09
5.49e-09
9.48e-09
8.10e-09
5.32e-08
5.39e-09
1.04e-08
5.22e-08
9.47e-08
7.04e-08
6.43e-08
4.22e-08
69
Table 3.19: Example 3.5.3 - numerical solution with T OL = 10−8 and variable
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
10−16
order 4-8
5
7
8
9
10
11
12
14
15
16
17
18
18
19
20
19
149
257
268
494
647
858
1093
1545
1785
2061
2446
2639
2777
3043
3293
2982
68
76
87
135
139
176
212
238
237
268
314
299
300
319
313
311
order 6-8
1.44e-11
4.28e-09
1.95e-08
2.40e-09
3.57e-09
9.21e-09
1.27e-08
5.75e-10
7.97e-09
7.71e-09
4.37e-08
7.26e-08
8.10e-08
7.15e-08
7.20e-08
9.63e-08
5
7
7
8
9
10
11
12
13
15
16
17
18
18
18
18
149
257
362
514
689
921
1147
1427
1593
2130
2485
2717
3162
3204
3195
3053
68
76
103
134
145
168
189
227
223
275
282
311
349
342
345
310
order 4-6-8
1.44e-11
4.28e-09
4.16e-09
2.01e-09
2.07e-09
1.34e-09
1.27e-08
5.46e-09
5.00e-08
3.67e-09
8.51e-09
7.23e-08
2.39e-08
3.89e-08
6.04e-08
6.80e-08
7
9
10
10
11
12
13
14
16
17
18
19
20
20
20
20
186
306
395
547
739
972
1217
1435
1994
2245
2465
2726
3216
3075
3069
3171
68
70
103
130
152
183
230
226
280
305
291
286
337
314
337
334
1.44e-11
6.38e-09
4.16e-09
1.29e-09
1.21e-09
7.11e-10
2.59e-09
2.68e-08
8.05e-10
5.42e-09
1.57e-08
4.17e-08
1.24e-08
5.19e-08
9.28e-08
9.64e-08
This is the only problem considered with two boundary layers and without
As shown in Table 3.20 and Table 3.22 for tolerances T OL = 10−4 and
T OL = 10−6 , respectively, order 4 allows us to obtain better results, moreover
from the Table 3.21 and the Table 3.23 we note that an order variation seems
not to be suitable for these precisions. For T OL = 10−8 both orders 6 and 8
reach the accuracy required, see Table 3.24, even if to reduce the number of
mesh points it is convenient to apply an order variation strategy, as we can
see in Table 3.25.
y′.
Example 3.5.5. The nonlinear problem
ǫy ′′ − exp(y)y ′ − π/2 sin(πx/2) exp(2y) = 0,
y(0) = y(1) = 0
is named Test Problem 19 in [29]. For ǫ → 0 the asymptotic solution
y(x) = − ln((1 + cos(πx/2))(1 − exp(−x/(2ǫ))/2)) + o(ǫ).
The solution has a boundary layer in x = 0. We point out that the continuation
is not considered for this problem. For T OL = 10−4 , see Table 3.26, a good
accuracy is obtained with order 4, while for T OL = 10−6 the order 6 gives the
finer mesh, see Table 3.28. As suggested from the Table 3.27 and from the
Table 3.29 we not have a great advantage to apply order variation strategy
for large tolerance. For T OL = 10−8 orders 6 or 8 reach the best results, see
Table 3.30, even if the finer mesh is obtained with order variation 4-6-8 for
many values of the perturbation ǫ.
70
Chapter 3. HOGUP Method for Two-Point Singular Perturbation Problems
Table 3.20: Test Problem 3.5.4: numerical solution with tol = 10−4 and fixed
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
order 4
2
4
5
6
6
7
8
8
8
9
9
10
10
10
10
30
83
145
236
223
319
466
472
498
653
643
942
864
895
1029
20
34
56
89
76
99
150
147
144
170
184
229
211
226
266
order 6
7.25e-05
1.26e-04
5.72e-05
9.28e-06
7.00e-05
6.85e-06
1.10e-06
2.13e-06
3.16e-05
8.13e-07
5.09e-05
3.41e-07
1.13e-06
7.10e-05
1.62e-04
2
4
5
6
7
7
8
9
9
9
10
11
11
12
11
30
74
142
201
300
303
440
627
652
653
863
1119
1142
1370
1299
20
30
56
65
90
92
131
182
189
188
226
279
277
314
290
order 8
1.09e-06
1.84e-04
2.44e-05
1.04e-04
8.65e-06
1.92e-04
3.63e-06
4.05e-08
3.67e-07
1.48e-04
7.35e-08
8.32e-10
9.23e-09
1.61e-09
9.46e-06
2
2
3
5
6
6
7
7
8
9
9
9
10
10
11
42
51
102
247
361
379
616
573
842
971
1139
1085
1527
1419
1824
22
31
46
85
114
116
181
166
235
258
284
275
347
322
392
1.38e-07
3.86e-05
2.80e-04
4.49e-06
3.91e-07
9.14e-06
6.26e-09
6.42e-06
1.53e-09
6.54e-10
1.48e-10
5.33e-06
6.45e-10
1.29e-04
1.43e-09
Table 3.21: Test Problem 3.5.4: numerical solution with tol = 10−4 and variable order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
orders 4-6
3
6
6
6
7
8
8
9
9
10
10
11
11
11
11
47
123
196
219
315
409
429
630
656
844
831
1239
1102
1141
1305
17
37
63
72
92
111
113
158
158
191
188
309
238
246
276
orders 4-8
2.97e-06
1.33e-05
7.40e-06
2.01e-04
2.26e-05
3.28e-06
1.45e-04
3.04e-07
7.44e-06
1.77e-08
1.53e-05
1.34e-09
1.28e-07
1.93e-05
6.99e-05
3
6
6
6
7
8
8
9
9
10
10
10
11
11
11
47
108
199
233
331
445
445
654
683
860
856
945
1119
1184
1326
17
34
62
86
108
134
129
182
185
207
213
232
255
289
297
orders 6-8
6.86e-07
2.04e-05
5.64e-06
5.00e-05
3.11e-06
2.27e-07
1.84e-05
6.67e-09
6.92e-07
3.80e-10
1.04e-06
5.27e-05
1.41e-09
1.78e-06
9.94e-06
3
6
6
7
8
8
9
10
10
10
11
11
12
12
12
47
107
175
275
405
412
599
791
870
859
1112
1085
1449
1328
1609
17
34
52
77
110
109
159
198
218
206
249
245
307
272
310
6.86e-07
2.04e-05
6.52e-05
2.44e-05
1.02e-06
1.43e-04
1.06e-06
3.81e-09
8.47e-08
7.89e-05
9.66e-09
2.45e-04
2.24e-10
2.44e-04
3.02e-06
71
Table 3.22: Test Problem 3.5.4: numerical solution with tol = 10−6 and fixed
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
order 4
5
7
7
7
7
7
8
8
9
9
10
10
10
11
11
202
265
328
352
389
396
538
514
726
657
854
942
864
1162
1338
88
72
103
116
134
139
188
167
220
174
211
229
211
267
309
order 6
1.30e-07
1.49e-06
1.64e-06
1.36e-06
6.22e-07
9.66e-07
3.00e-07
8.01e-07
2.05e-07
7.19e-07
3.54e-07
3.41e-07
1.13e-06
1.78e-07
7.41e-08
2
6
6
7
7
8
9
9
9
10
10
11
11
12
12
30
164
222
382
324
427
617
627
652
893
863
1119
1142
1370
1698
20
51
77
134
108
124
177
182
189
240
226
279
277
314
399
order 8
1.09e-06
1.17e-06
3.62e-07
1.38e-08
1.31e-06
3.00e-07
6.61e-09
4.05e-08
3.67e-07
2.24e-09
7.35e-08
8.32e-10
9.23e-09
1.61e-09
4.82e-09
2
3
4
5
6
7
7
8
8
9
9
10
10
11
11
42
91
193
270
361
537
616
785
842
971
1139
1420
1527
1803
1824
22
40
76
85
114
158
181
212
235
258
284
335
347
384
392
1.38e-07
8.86e-07
2.32e-07
5.77e-07
3.91e-07
6.33e-09
6.26e-09
3.41e-10
1.53e-09
6.54e-10
1.48e-10
3.81e-11
6.45e-10
1.48e-09
1.43e-09
Table 3.23: Test Problem 3.5.4: numerical solution with tol = 10−6 and variable order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
order 4-8
3
7
7
7
8
8
9
9
9
10
10
11
11
11
12
47
153
282
329
465
445
620
654
683
860
856
1251
1119
1184
1717
17
45
85
96
134
134
175
182
185
207
213
306
255
289
391
order 6-8
6.86e-07
3.62e-07
5.59e-08
1.46e-07
1.13e-08
2.27e-07
2.19e-09
6.67e-09
6.92e-07
3.80e-10
1.04e-06
5.93e-11
1.41e-09
1.78e-06
3.60e-09
3
7
7
8
9
9
9
10
10
11
11
12
12
13
13
47
190
290
364
541
559
599
836
870
1116
1112
1423
1449
1721
2014
17
52
88
87
132
147
159
209
218
257
249
304
307
351
405
order 4-6-8
6.86e-07
7.85e-08
6.93e-08
3.97e-07
1.09e-08
2.25e-08
1.06e-06
5.79e-09
8.47e-08
7.74e-11
9.66e-09
1.49e-10
2.24e-10
1.56e-09
1.13e-09
4
8
8
8
9
9
10
10
10
11
12
12
12
13
13
62
207
345
420
584
531
745
813
840
1116
1332
1561
1437
1869
2128
15
48
85
111
143
122
170
183
184
272
290
322
335
379
422
4.80e-07
1.68e-07
2.50e-08
1.86e-07
1.00e-08
1.10e-06
8.73e-09
5.89e-08
1.89e-06
1.48e-09
8.49e-11
7.07e-11
1.13e-08
1.22e-09
2.60e-09
72
Chapter 3. HOGUP Method for Two-Point Singular Perturbation Problems
Table 3.24: Test Problem 3.5.4: numerical solution with tol = 10−8 and fixed
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
order 4
10
15
13
12
11
10
9
9
10
10
11
11
11
12
11
931
1493
1606
1419
1308
1225
994
956
1310
1161
1390
1562
1301
1868
1507
270
344
436
284
288
324
305
313
411
365
409
449
381
519
438
order 6
1.03e-09
3.08e-09
2.53e-09
1.66e-08
1.48e-08
9.33e-09
1.32e-08
1.65e-08
4.36e-09
8.55e-09
5.25e-09
3.58e-09
1.08e-08
3.46e-09
1.08e-08
3
9
8
7
7
7
8
9
10
10
11
11
11
12
12
70
466
452
384
436
459
545
664
891
896
1176
1119
1142
1370
1698
40
158
125
135
159
178
195
206
236
240
311
279
277
314
398
order 8
1.77e-08
1.48e-10
9.59e-09
1.20e-08
5.54e-09
9.79e-09
8.22e-09
3.55e-09
9.73e-10
1.95e-09
2.60e-10
8.32e-10
8.04e-09
1.61e-09
4.47e-09
5
5
5
5
6
7
7
8
8
9
9
10
10
11
11
123
215
320
318
509
621
616
789
842
971
1139
1420
1527
1803
1824
30
68
118
108
160
170
181
217
235
258
284
335
347
384
392
1.08e-08
2.35e-09
1.23e-09
1.23e-08
5.32e-10
3.74e-10
6.26e-09
3.31e-10
1.53e-09
6.54e-10
1.48e-10
3.81e-11
6.45e-10
1.48e-09
1.43e-09
Table 3.25: Test Problem 3.5.4: numerical solution with tol = 10−8 and variable order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
order 4-8
9
9
7
8
8
9
9
9
10
10
11
11
11
12
12
188
288
304
506
465
617
620
654
926
860
1148
1251
1119
1570
1717
30
74
95
160
134
170
175
182
243
207
292
306
255
386
391
order 6-8
1.08e-08
8.50e-10
7.12e-09
2.08e-10
1.13e-08
4.92e-10
2.19e-09
6.67e-09
9.20e-11
3.80e-10
3.08e-11
5.93e-11
1.41e-09
1.48e-09
3.60e-09
9
8
8
9
9
10
10
10
11
11
11
12
12
13
13
188
253
405
556
541
754
803
836
1139
1116
1112
1423
1449
1721
2014
30
63
117
162
132
196
204
209
269
257
249
304
307
351
405
order 4-6-8
1.08e-08
5.62e-09
1.04e-09
1.27e-10
1.09e-08
8.32e-11
3.72e-10
5.79e-09
1.88e-11
7.74e-11
9.66e-09
1.49e-10
2.24e-10
1.56e-09
1.13e-09
12
9
9
9
9
10
10
11
11
11
12
12
12
13
13
236
268
455
555
584
685
745
1044
1074
1116
1332
1561
1437
1869
2128
30
61
110
135
143
154
170
231
234
272
290
322
335
379
422
1.08e-08
1.16e-08
1.29e-09
8.75e-10
1.00e-08
3.40e-09
8.73e-09
7.27e-11
1.28e-10
1.48e-09
8.49e-11
7.07e-11
1.13e-08
1.22e-09
2.60e-09
73
Table 3.26: Example 3.5.5 - numerical solution with T OL = 10−4 and fixed
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
10−16
order 4
4
5
6
7
8
10
11
12
13
14
15
16
17
18
19
20
65
145
223
309
431
692
888
1116
1283
1469
1784
1950
2290
2585
2907
3219
25
52
75
93
110
153
169
208
223
217
262
279
299
327
321
363
order 6
7.24e-05
5.24e-05
6.66e-05
7.39e-05
8.01e-05
1.25e-05
2.19e-05
1.69e-05
8.40e-06
1.37e-05
2.16e-05
3.51e-05
2.05e-05
1.34e-05
9.67e-05
2.05e-05
4
6
7
9
10
12
13
15
16
17
18
20
21
22
23
24
60
175
274
471
564
880
1024
1362
1591
1915
2195
2867
3243
3535
3936
4394
21
62
72
99
98
152
164
192
213
258
275
329
362
376
372
436
order 8
3.18e-05
2.81e-05
3.93e-05
1.08e-05
8.45e-05
9.09e-06
2.76e-05
6.22e-06
1.70e-05
3.37e-05
8.21e-05
2.34e-06
3.05e-06
4.34e-06
1.20e-06
8.02e-05
2
5
8
11
14
17
19
21
22
25
26
28
29
31
33
34
45
171
345
580
949
1473
1687
2102
2488
3464
3871
4639
5147
6214
7367
7982
25
49
68
96
134
198
204
225
283
355
384
404
455
506
577
610
3.77e-06
2.47e-05
2.76e-05
9.05e-05
2.82e-05
1.23e-05
6.91e-05
9.73e-05
4.24e-05
3.44e-06
3.68e-05
7.77e-06
4.11e-05
1.38e-05
2.89e-06
2.74e-05
Example 3.5.6. The nonlinear problem
y ′′ −
³y ´
1
sinh
= 0,
ǫ
ǫ
y(0) = 0,
y(1) = 1
is named Test Problem 23 in [29] and it has a boundary layer near x = 1. For
this example we show the results with and without continuation. In the case
without continuation, see Table 3.32, for T OL = 10−4 , differently from the
other examples, order 8 works better than the others, while for T OL = 10−6 ,
see Table 3.34, it is suitable to use order 4 for many ǫ and again order 8 for
smaller values of the perturbation. For T OL = 10−8 the Table 3.36 shows
the best results using order 6. As we can check in Table 3.33, Table 3.35
and Table 3.37 the order variation improves the efficiency of the code by the
reduction of the mesh points only when a small tolerance, as 10−8 , is required,
in this case orders 4-6-8 allow us to reach a good accuracy with a less number of
points. From Table 3.38 to Table 3.43 we can observe the results obtained with
the continuation. We point out that the convergence behavior is exactly the
same discussed in the case without the continuation, even if conversely to the
first case the number of steps increases just for the continuation. However, we
have observed as finer meshes for T OL = 10−8 are gained always by applying
order variation 4-6-8, but with the continuation strategy, see Table 3.37 and
Table 3.43.
74
Chapter 3. HOGUP Method for Two-Point Singular Perturbation Problems
Table 3.27: Example 3.5.5 - numerical solution with T OL = 10−4 and variable
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
10−16
orders 4-6
5
6
8
9
10
12
13
14
15
16
17
19
20
21
22
22
74
183
343
436
565
829
1012
1151
1454
1498
1867
2205
2652
2831
3316
3429
21
61
86
98
121
156
184
188
235
225
266
288
319
346
396
394
orders 4-8
3.18e-05
1.70e-05
5.08e-06
1.72e-05
2.71e-05
3.62e-06
4.14e-06
2.01e-05
1.26e-05
9.16e-05
4.28e-05
4.55e-06
1.03e-06
8.27e-06
2.36e-06
5.58e-05
4
6
7
9
10
12
13
14
15
17
17
19
20
21
22
23
50
174
274
454
582
876
1071
1196
1507
1846
1930
2279
2799
2941
3409
4010
14
49
74
99
124
171
199
200
257
281
293
316
369
393
445
482
orders 6-8
9.26e-05
3.28e-05
8.00e-05
2.47e-05
2.19e-05
5.09e-06
5.68e-06
1.62e-05
1.52e-05
2.78e-06
4.04e-05
5.09e-06
2.58e-06
5.23e-06
6.05e-06
3.85e-07
4
9
9
11
13
15
16
18
20
22
24
25
27
29
30
32
48
194
342
558
808
1200
1539
1996
2490
3086
3722
4111
4891
5873
6288
7303
14
45
61
95
124
170
221
257
280
332
366
388
439
517
515
580
9.26e-05
9.53e-05
3.17e-05
3.49e-05
3.45e-05
2.84e-05
7.80e-05
9.63e-05
3.87e-05
8.28e-06
7.64e-06
3.97e-05
1.27e-05
1.18e-06
8.67e-05
1.01e-06
Table 3.28: Example 3.5.5 - numerical solution with T OL = 10−6 and fixed
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
10−16
order 4
10
10
12
12
13
13
13
13
14
14
15
16
17
17
17
19
378
629
1024
1261
1595
1651
1741
1933
2716
2320
2840
3517
4068
4162
4228
5654
71
180
174
221
280
291
308
347
738
425
467
553
628
635
644
745
order 6
6.09e-07
3.09e-07
9.11e-07
7.16e-07
3.62e-07
6.43e-07
6.64e-07
4.78e-07
8.80e-08
7.79e-07
7.69e-07
2.54e-07
6.47e-07
4.39e-07
9.77e-07
3.83e-07
6
7
7
9
10
11
13
14
15
16
18
18
20
20
21
22
130
263
338
598
757
973
1443
1610
1941
2176
2779
2907
3503
3564
4049
4553
39
81
93
124
154
169
243
240
277
283
355
339
391
363
419
438
order 8
8.49e-07
8.67e-07
9.37e-07
3.14e-07
4.18e-07
9.96e-07
3.97e-08
4.25e-08
4.68e-08
2.53e-07
1.19e-08
5.39e-07
1.33e-08
4.76e-07
7.00e-07
4.11e-07
3
6
8
11
12
15
16
17
19
20
22
23
24
25
27
28
83
297
427
747
975
1468
1769
2053
2571
2920
3806
4094
4538
5035
6124
6580
37
84
89
132
157
197
228
256
274
306
384
388
416
457
513
528
3.75e-07
6.97e-08
3.32e-07
2.37e-07
4.33e-07
5.24e-08
2.76e-07
6.96e-07
6.67e-08
9.67e-07
4.02e-08
7.05e-08
6.01e-07
4.32e-07
2.70e-08
2.90e-07
75
Table 3.29: Example 3.5.5 - numerical solution with T OL = 10−6 and variable
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
10−16
order 4-8
7
7
9
10
11
13
14
15
16
18
18
20
20
22
23
23
136
247
427
594
740
1071
1299
1441
1778
2155
2254
2647
2820
3380
3894
4015
37
62
93
121
147
193
222
231
269
305
322
354
379
425
474
477
order 6-8
3.21e-07
6.93e-07
2.46e-07
2.94e-07
2.23e-07
5.06e-08
4.41e-08
2.00e-07
8.91e-08
1.09e-07
7.30e-07
5.98e-08
9.00e-07
5.48e-08
2.53e-08
6.97e-07
7
8
10
11
13
14
15
17
18
19
20
22
23
24
24
26
144
314
553
712
944
1242
1431
1808
2130
2540
2889
3653
4077
4434
4355
5441
37
73
109
132
144
186
209
232
280
319
358
405
426
463
419
540
order 4-6-8
4.29e-07
9.54e-07
8.64e-08
3.95e-07
2.59e-07
2.79e-07
6.02e-07
1.16e-07
4.71e-07
7.25e-08
1.87e-07
4.09e-08
2.93e-08
1.25e-08
5.61e-07
1.06e-07
8
8
10
11
12
13
15
16
17
18
19
21
21
23
23
24
169
340
562
693
846
1003
1395
1615
2027
2032
2504
2855
3070
3655
3814
4331
37
77
125
138
152
172
207
248
298
293
341
341
395
417
481
490
4.85e-07
5.42e-07
1.07e-07
1.16e-07
1.08e-07
9.37e-07
4.56e-08
1.04e-07
7.37e-08
7.08e-07
1.54e-07
9.72e-08
4.18e-07
2.27e-07
8.11e-07
9.53e-08
Table 3.30: Example 3.5.5 - numerical solution with T OL = 10−8 and fixed
order.
ǫ
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
10−16
order 4
14
12
14
14
16
19
16
21
17
22
21
24
25
25
24
25
1096
1709
2042
2996
3765
4429
4678
8140
4757
7785
8413
10117
10913
11471
11771
12159
368
720
692
1232
1216
886
1572
987
970
1432
1684
1044
1051
1146
2134
1262
order 6
1.29e-09
1.51e-09
3.95e-09
7.11e-10
9.05e-10
5.74e-09
9.70e-10
9.85e-09
9.56e-09
1.94e-09
1.24e-09
9.97e-09
8.55e-09
9.35e-09
8.74e-10
9.23e-09
10
10
10
9
10
11
12
13
14
15
16
17
17
19
20
20
422
677
800
788
1008
1351
1647
1945
2499
2920
3483
3829
3901
4850
5435
5140
128
214
165
207
238
319
336
304
429
457
476
472
430
536
558
469
order 8
2.06e-10
1.08e-09
8.00e-09
5.56e-09
7.46e-09
2.61e-09
1.38e-09
1.14e-09
5.86e-10
4.66e-10
9.27e-10
7.92e-10
8.71e-09
4.48e-10
1.13e-09
2.53e-09
5
6
8
11
13
14
15
16
17
18
20
21
22
23
25
26
192
388
535
949
1460
1720
2184
2603
3036
3428
4279
4896
5564
6147
7217
8027
60
110
138
179
240
234
305
339
358
389
431
466
520
541
637
628
8.26e-10
2.23e-09
4.38e-09
1.15e-09
2.34e-10
1.28e-09
6.55e-10
6.04e-09
8.07e-09
4.44e-09
2.09e-10
2.59e-09
4.59e-09
6.74e-09
2.20e-10
1.09e-09
76
Chapter 3. HOGUP Method for Two-Point Singular Perturbation Problems
Table 3.31: Example 3.5.5 - numerical solution with T OL = 10−8 and variable
order.
ǫ
order 4-8
10−1
10−2
10−3
10−4
10−5
10−6
10−7
10−8
10−9
10−10
10−11
10−12
10−13
10−14
10−15
10−16
9
8
9
10
12
13
14
16
17
18
19
21
21
23
24
24
247
420
559
699
979
1169
1351
1756
2149
2240
2675
3068
3253
3883
4415
4546
61
111
135
171
204
235
243
284
339
348
393
419
417
499
522
513
order 6-8
7.14e-10
1.72e-09
2.77e-09
8.86e-09
5.95e-10
3.59e-09
9.85e-09
2.37e-09
5.60e-10
4.96e-09
3.08e-09
2.10e-09
8.99e-09
2.72e-09
3.35e-10
6.92e-09
9
10
10
12
14
15
16
18
19
20
21
23
24
25
26
27
249
573
609
899
1233
1503
1720
2082
2469
2926
3247
4074
4567
4957
5314
6001
58
134
138
172
223
241
261
273
322
373
370
425
491
518
531
561
order 4-6-8
9.43e-10
9.31e-10
8.60e-09
1.33e-09
4.69e-09
2.38e-09
2.04e-09
2.56e-09
1.40e-09
1.33e-09
3.33e-09
4.82e-10
5.59e-10
3.55e-10
8.74e-10
1.59e-09
10
10
11
12
13
15
16
17
18
20
20
22
22
24
24
25
275
550
694
847
1030
1432
1632
1896
2338
2684
2875
3249
3481
4143
4316
4841
58
111
135
154
184
235
236
281
317
346
371
393
411
465
502
510
1.11e-09
1.48e-09
2.35e-09
1.98e-09
3.18e-09
1.42e-09
1.40e-09
1.81e-09
7.90e-10
1.14e-09
2.89e-09
8.64e-10
9.69e-09
3.16e-09
4.63e-09
1.60e-09
Table 3.32: Example 3.5.6 - numerical solution with T OL = 10−4 and fixed
order.
ǫ
.714e-01
.556e-01
.455e-01
.333e-01
.294e-01
.263e-01
.238e-01
.217e-01
3.6
order 4
9
12
13
15
16
18
19
22
531
1160
1590
2389
3011
4251
5162
7574
137
230
287
325
425
465
561
663
order 6
9.48e-05
1.81e-06
3.16e-05
1.31e-05
7.81e-05
2.48e-05
7.13e-05
9.93e-05
11
13
15
17
20
22
24
28
837
1540
2296
2915
3789
4641
5499
7165
184
301
385
395
434
456
481
495
order 8
5.89e-05
1.97e-05
1.96e-05
4.79e-05
2.28e-05
3.22e-05
4.66e-05
8.93e-05
11
14
18
21
23
27
30
36
928
1231
1870
2542
3271
4367
5776
8655
196
214
248
278
281
311
319
395
3.94e-05
9.72e-05
3.53e-05
4.99e-05
9.82e-05
8.47e-05
6.57e-05
6.77e-05
Conclusion
The code HOFiD UP preserves all the advantages to discretize the second
and the first derivatives in the equations separately, no transformation in an
equivalent system of the first order is necessary, so that the number of mesh
points represents the real dimension of the problem. The code is able to solve
linear and nonlinear singular perturbation problems. For small tolerances and
perturbations, on a large scale of problems, it is opportune to consider an
order variation strategy, sometimes for easy problem only order 8 may be
enough to reach a good accuracy and efficiency. For nonlinear problems the
code uses the continuation if it needs, in fact all nonlinear problem in [29] are
successfully solved. We have also observed that the results of HOFiD UP are
77
Table 3.33: Example 3.5.6 - numerical solution with T OL = 10−4 and variable
order.
ǫ
.714e-01
.556e-01
.455e-01
.333e-01
.294e-01
.263e-01
.238e-01
.217e-01
orders 4-6
12
13
16
18
20
23
25
29
875
1352
2326
2974
3554
4811
5613
7287
188
277
387
403
412
467
469
494
orders 4-8
4.95e-05
8.31e-05
1.59e-05
3.16e-05
7.61e-05
1.91e-05
2.95e-05
7.21e-05
14
17
20
23
26
29
32
38
1022
1434
1764
2566
3518
4353
5764
8683
199
234
236
274
308
297
337
396
orders 6-8
2.38e-05
2.76e-05
6.99e-05
4.98e-05
4.59e-05
8.32e-05
6.53e-05
6.77e-05
14
18
21
24
26
30
31
38
881
1492
1801
2533
3280
4332
6130
8674
183
246
246
273
276
281
369
395
7.84e-05
2.77e-05
6.93e-05
4.94e-05
8.13e-05
8.58e-05
7.95e-05
7.48e-05
Table 3.34: Example 3.5.6 - numerical solution with T OL = 10−6 and fixed
order.
ǫ
.714e-01
.556e-01
.455e-01
.333e-01
.294e-01
.263e-01
.238e-01
.217e-01
order 4
11
12
14
16
17
19
20
23
875
1176
2049
2925
3514
4771
5742
8596
185
246
372
457
427
532
568
706
order 6
5.32e-07
9.42e-07
2.25e-07
1.60e-07
5.82e-07
2.20e-07
7.00e-07
7.80e-07
13
15
16
18
19
21
23
26
1316
2183
3041
4361
4968
6498
7821
10745
255
365
493
608
608
680
713
794
order 8
3.49e-07
5.16e-08
1.51e-07
3.22e-08
4.88e-07
1.14e-07
4.52e-08
2.67e-08
12
13
16
18
21
24
26
32
1703
2063
3334
3949
5069
6456
7611
11608
335
387
472
472
494
532
513
563
5.40e-08
3.72e-07
4.22e-08
1.88e-07
2.27e-07
7.11e-08
3.45e-07
2.82e-07
Table 3.35: Example 3.5.6 - numerical solution with T OL = 10−6 and variable
order.
ǫ
.714e-01
.556e-01
.455e-01
.333e-01
.294e-01
.263e-01
.238e-01
.217e-01
order 4-8
14
16
18
20
23
26
29
34
1455
2363
2989
3793
5069
6493
7979
11635
283
398
444
460
486
532
553
563
order 6-8
5.88e-07
1.23e-07
1.88e-07
3.04e-07
2.47e-07
1.20e-07
1.46e-07
2.82e-07
14
16
18
20
23
25
28
32
1537
2562
3554
4174
5205
6104
7631
9306
270
399
464
448
505
520
597
573
order 4-6-8
6.75e-07
9.55e-08
1.11e-07
6.89e-07
1.47e-07
3.97e-07
5.14e-08
7.04e-07
15
16
18
20
23
25
27
32
1564
2440
3332
4099
5454
6195
7158
9558
251
386
436
460
545
574
576
672
3.16e-07
3.65e-07
5.13e-07
8.85e-07
8.83e-08
1.80e-07
5.38e-07
1.31e-07
78
Chapter 3. HOGUP Method for Two-Point Singular Perturbation Problems
Table 3.36: Example 3.5.6 - numerical solution with T OL = 10−8 and fixed
order.
ǫ
.714e-01
.556e-01
.455e-01
.333e-01
.294e-01
.263e-01
.238e-01
.217e-01
order 4
16
15
17
19
22
21
23
25
3162
2397
3686
5111
7261
7100
9446
10862
934
628
884
1136
831
1462
1784
1144
order 6
6.38e-10
8.62e-09
3.41e-09
1.61e-09
9.99e-09
1.75e-09
8.07e-10
8.98e-09
15
16
17
19
20
22
23
25
1954
2592
3685
5257
6030
8041
9067
12597
338
409
578
736
806
973
1072
1336
order 8
1.31e-09
3.51e-09
2.20e-09
4.29e-10
2.40e-09
7.84e-10
2.02e-09
4.07e-09
13
14
16
18
20
22
24
27
2081
2680
4330
5950
7957
10253
12738
18303
378
464
660
820
960
1112
1199
1377
1.59e-09
6.99e-09
5.75e-10
1.86e-10
2.04e-10
1.01e-10
1.75e-10
4.58e-09
Table 3.37: Example 3.5.6 - numerical solution with T OL = 10−8 and variable
order.
ǫ
.714e-01
.556e-01
.455e-01
.333e-01
.294e-01
.263e-01
.238e-01
.217e-01
order 4-8
16
17
18
19
22
23
26
29
2156
3044
3992
5407
7945
9243
12780
18317
373
524
641
764
946
1060
1206
1363
order 6-8
9.91e-10
7.78e-10
3.35e-09
5.73e-09
2.37e-10
9.26e-09
1.63e-10
4.57e-09
16
17
19
21
24
26
28
33
2256
3029
4229
4942
6061
7063
8138
10765
378
462
585
608
680
738
805
923
order 4-6-8
9.42e-10
2.04e-09
1.00e-09
6.14e-09
1.05e-09
2.26e-09
4.88e-09
1.49e-09
17
17
19
22
24
26
28
33
2174
2871
3885
5398
6151
6973
7955
10384
323
433
526
663
660
722
726
802
7.22e-10
7.78e-09
8.42e-09
2.82e-10
1.16e-09
1.52e-09
4.97e-09
1.86e-09
Table 3.38: Example 3.5.6 - numerical solution with T OL = 10−4 and fixed
order using continuation.
ǫ
.714e-01
.556e-01
.455e-01
.333e-01
.294e-01
.263e-01
.238e-01
.217e-01
order 4
9
12
15
18
20
23
26
30
531
1005
1611
2359
3081
4255
5432
7954
137
215
288
313
434
478
471
614
order 6
9.48e-05
7.18e-05
3.87e-05
1.19e-05
8.93e-05
4.34e-05
1.06e-05
2.30e-05
11
14
17
20
24
27
30
36
837
1461
2300
2756
3842
4644
5531
7682
184
290
381
367
420
455
463
532
order 8
5.89e-05
2.58e-05
2.26e-05
9.37e-05
2.66e-05
3.96e-05
5.36e-05
2.57e-05
11
15
19
24
27
32
36
43
928
1254
1782
2622
3434
4592
5878
8959
196
209
246
286
290
319
339
395
3.94e-05
8.31e-05
9.05e-05
4.42e-05
8.85e-05
7.15e-05
6.80e-05
5.59e-05
79
Table 3.39: Example 3.5.6 - numerical solution with T OL = 10−4 and variable
order using continuation.
ǫ
.714e-01
.556e-01
.455e-01
.333e-01
.294e-01
.263e-01
.238e-01
.217e-01
orders 4-6
12
15
18
21
25
28
31
37
875
1572
2344
2979
3869
4737
5559
7787
188
301
385
395
434
456
462
531
orders 4-8
4.95e-05
1.97e-05
1.96e-05
4.79e-05
2.28e-05
3.22e-05
4.88e-05
2.60e-05
14
18
22
26
29
34
38
44
1022
1450
1768
2434
3425
4415
5854
9141
199
234
231
254
311
292
337
394
orders 6-8
2.38e-05
2.76e-05
8.03e-05
6.07e-05
9.75e-05
8.56e-05
6.71e-05
7.66e-05
14
19
23
27
30
35
39
47
881
1505
1828
2574
3335
4401
5895
8770
183
246
246
273
276
281
364
378
7.84e-05
2.77e-05
6.93e-05
4.94e-05
8.13e-05
8.58e-05
6.06e-05
5.04e-05
Table 3.40: Example 3.5.6 - numerical solution with T OL = 10−6 and fixed
order using continuation.
ǫ
.714e-01
.556e-01
.455e-01
.333e-01
.294e-01
.263e-01
.238e-01
.217e-01
order 4
11
13
16
19
21
24
27
31
875
1256
2037
2876
3556
4852
6382
8725
185
251
368
445
410
525
630
771
order 6
5.32e-07
8.47e-07
2.58e-07
1.55e-07
4.69e-07
2.60e-07
1.40e-07
9.44e-08
13
16
18
21
24
26
29
33
1316
2245
2890
4415
5323
6441
8014
10520
255
390
486
595
664
675
715
752
order 8
3.49e-07
8.10e-08
3.24e-07
3.49e-08
3.30e-08
1.46e-07
4.51e-08
6.96e-08
12
15
18
22
25
29
33
39
1703
2447
2931
4131
4989
6370
7936
11691
335
410
426
489
491
474
530
578
5.40e-08
5.95e-08
3.65e-07
1.05e-07
2.52e-07
2.83e-07
2.72e-07
3.38e-07
Table 3.41: Example 3.5.6 - numerical solution with T OL = 10−6 and variable
order using continuation.
ǫ
.714e-01
.556e-01
.455e-01
.333e-01
.294e-01
.263e-01
.238e-01
.217e-01
order 4-8
14
17
20
24
27
31
35
41
1455
2379
2916
4138
4774
6302
8250
11496
283
398
434
488
446
496
546
546
order 6-8
5.88e-07
1.23e-07
4.23e-07
1.57e-07
8.45e-07
2.88e-07
1.09e-07
7.42e-07
14
17
20
24
27
30
34
39
1537
2447
3555
4419
5231
6059
7592
9421
270
382
459
489
512
492
595
618
order 4-6-8
6.75e-07
1.74e-07
1.53e-07
1.47e-07
2.11e-07
6.48e-07
8.42e-08
3.51e-07
15
18
20
24
27
30
33
39
1564
2543
3257
4572
5187
6129
7005
9420
251
376
418
503
500
532
577
621
3.16e-07
3.73e-08
6.23e-07
4.20e-08
3.03e-07
5.68e-07
9.87e-07
6.01e-07
80
Chapter 3. HOGUP Method for Two-Point Singular Perturbation Problems
Table 3.42: Example 3.5.6 - numerical solution with T OL = 10−8 and fixed
order using continuation.
ǫ
.714e-01
.556e-01
.455e-01
.333e-01
.294e-01
.263e-01
.238e-01
.217e-01
order 4
16
16
19
22
25
27
30
33
3162
2488
3827
5379
7215
8535
10546
11441
934
632
916
1206
1488
1690
1922
1170
order 6
6.38e-10
7.29e-09
2.65e-09
1.29e-09
8.80e-10
7.69e-10
7.12e-10
8.12e-09
15
17
19
22
25
27
29
33
1954
2677
3453
5369
6437
8020
9324
13861
338
432
543
757
831
990
1102
1426
order 8
1.31e-09
4.60e-09
6.26e-09
4.22e-10
4.46e-10
5.91e-10
1.66e-09
2.74e-10
13
15
18
21
24
27
30
35
2081
2746
3695
5645
7529
9860
12693
18774
378
486
585
800
932
1026
1152
1341
1.59e-09
9.59e-09
8.32e-09
2.19e-09
9.99e-10
1.31e-09
1.31e-09
1.58e-09
Table 3.43: Example 3.5.6 - numerical solution with T OL = 10−8 and variable
order using continuation.
ǫ
.714e-01
.556e-01
.455e-01
.333e-01
.294e-01
.263e-01
.238e-01
.217e-01
order 4-8
16
18
21
23
26
29
32
37
2156
3060
4312
5636
7422
9742
11828
17758
373
524
648
793
914
1019
1119
1326
order 6-8
9.91e-10
7.78e-10
2.26e-10
3.14e-09
1.20e-09
1.49e-09
2.64e-09
3.40e-09
16
18
21
25
28
31
34
40
2256
2936
4221
5323
6036
7052
7992
10566
378
457
578
653
674
738
748
902
order 4-6-8
9.42e-10
2.97e-09
1.23e-09
7.57e-10
1.86e-09
3.22e-09
9.12e-09
1.66e-09
17
19
22
25
28
31
35
40
2174
2958
4382
5146
5907
6907
8339
10297
323
415
579
574
648
694
715
785
7.22e-10
1.11e-09
2.57e-10
1.17e-09
3.33e-09
5.52e-09
1.32e-09
5.96e-09
comparable with those obtained by codes as ACDC and COLMOD. As regards
small values of the perturbation ǫ HOFiD UP employs less points than ACDC,
while it is comparable with COLMOD. It is not possible at the moment to
compare these codes on the performance time, since HOFiD UP is a Matlab
code, but this suggests a good motivation to implement a Fortran version of
it.
Chapter 4
Second-Order Initial Value
Problems
Most of the second order initial value problems (IVPs) arise from celestial
mechanics and lack of the first derivative term, but for such problems (called
conservative) ad hoc methods have been developed in order to preserve some
properties of the continuous solution. Several codes exist to solve initial value
problems, we remember some of them as VODE [26] using Adams and BDFs
methods to handle both non stiff and stiff problems; BiMD [27] based on
Blended Implicit Methods, a class of L-stable Block Implicit Methods; GAMD
[42] exploting the Generalized Adams Methods in block form; RADAU and
RADAU5 [39] based on implicit Runge-Kutta methods (Radau IIa), in particular RADAU5 is of order 5 and employs a stepsize control rendering a
continuous solution.
In this chapter second order IVPs with nonnull derivative terms are treated
since they are not integrated with classical linear multistep formulae. Moreover, a wide class of such problems arises from singular problems, i.e. not
defined at some points of the domain. The methods developed so far (see [8])
follow the idea of the HOGD methods introduced in Chapter 2, so that high
order finite difference schemes are employed in the approximation of the first
and second derivatives. The different available choices for the main scheme
allows to define seven classes of methods. Some numerical tests show the efficiency of these methods especially in the case of very difficult problems, as
for example ‘Flow in concrete’.
82
4.1
Chapter 4. Second-Order Initial Value Problems
High order finite difference schemes
Let us consider the following second-order initial value problem (IVP)
f (x, y, y ′ , y ′′ ) = 0,
y(a) = ya ,
y ′ (a) = ya′ ,
x ∈ [a, b]
(4.1.1)
where ya and ya′ are known initial values, f is a Lipschitz continuous function,
so that for Theorem 1.1.10 a unique solution y(x) exists. Moreover, let I =
{I1 , I2 , . . . , IN } be a subdivision of the interval [a, b] in N subintervals, where
Ij = [aj , bj ] and
a = a1 < a2 < · · · < an < b,
a < b1 < b2 < · · · < bn = b,
but Ij and Ij+1 have at most two elements into the intersection. The idea is
to solve (4.1.1) iteratively starting from I1 and using on Ij+1 initial values obtained by Ij .The subdivision of the interval is performed considering constant
stepsize inside Ij . The initial stepsize for the first interval I1 can be either
preserved for the successive interval or changed as we will see in Section 4.4.
Now our aim is to find the solution of (4.1.1) on all the interval [a, b] or on
a part of it. For this reason, we consider a uniform discretization
a1 = x0 < x1 < · · · < xn ≤ b1 ,
(4.1.2)
with stepsize h = (xn − x0 )/n. Following the idea proposed in Section 2.1 for
the solution of BVPs, the approximation of the second and the first derivatives
at the mesh points is calculated by means of the high order difference formulae
(2.1.6); this means that, for i = 0, . . . , n,
(ν)
y (ν) (xi ) ≈ yi
(l,ν)
=
k−l
1 X (l,ν)
αj+l yi+j ,
hν
ν = 1, 2,
(4.1.3)
j=−l
(l,ν)
where the coefficients α0 , . . . , αk
are computed such that the formulae
have maximum order p, as in Theorem 2.1.2, and depend on the number of
initial conditions l = 0, . . . , k and ν. In (4.1.3) the index k depends on ν and
the order of the formula; in particular the approximation of order p for y (ν) (xi )
is in general defined on p + ν points, except for the case p even, ν = 2 and
l = k/2 where a (p + ν − 1)-steps formula is required.
It is important to point out that for IVPs (4.1.3) the values of the solution
and the first derivative in the left-endpoint of the interval are known, but
83
while the first condition on y(x0 ) is involved in the formulae (4.1.3), the second
condition on y ′ (x0 ) at the moment is not used; however in the next section 4.3
we will see as this condition is exploit to define different approaches.
It should be recalled that the methods approximating the derivatives are
based on the idea of Boundary Value Methods [28], as showed in Section 1.5.
For each derivative we fix the order and derive the set of finite difference
schemes (4.1.3) by changing conveniently the numbers l and k − l of initial
and final conditions, respectively. Among these formulae, we emphasize the
main scheme which will be used when possible on the internal points of the
mesh (4.1.2). The other formulae (or some of them) will be used once in the
extreme points of the mesh.
As explained in Section 2.2, the choice of the extended central differences
formulae (ECDFs) as main scheme requires to consider the same number of
initial and final conditions. Moreover, in this case the coefficients of ECDFs
are symmetric for the second derivative and skew-symmetric for the first derivative, as seen in Theorem 2.1.3. On the other hand, it is possible to consider
as main scheme a generalization of backward (GB) or forward (GF) difference
formulae , if l − 1 or l − 2 and l + 1 or l + 2 final conditions are considered,
respectively, depending on the order of the method. The order of the main
method is the same for the first and the second derivative approximations and
it is also possible to choose between even or odd order.
Consequently, for the approximation of the second derivative we can distinguish two classes depending on the order p. The first class includes the
main scheme of even order, so defined k = p in the formula (4.1.3), needs to
set l = k2 to obtain the symmetric scheme ECDF. The second class includes
main formula of odd order, then set k = p+1, we have two choices: GF defined
when l = k2 − 1 or GB defined for l = k2 + 1.
For the first derivative, we have also to distinguish between even and odd
order. For even order as in Definition 2.2.2, set k = p, formulae GFDF, ECDF
and GBDF can be defined by choosing l among k2 − 1, k2 , k2 + 1, respectively.
k+1
For odd order, set k = p, we can choose l = k−1
2 and l = 2 in order to define
GFDF and GBDF.
Definition 4.1.1. A global approximation of the second derivative y ′′ by
means of formulae of order p is called
• EC2 if l = p/2 and p is even;
• GB2 if l = (p − 1)/2 + 1 and p is odd;
84
Chapter 4. Second-Order Initial Value Problems
• GF2 if l = (p + 1)/2 − 1 and p is odd;
where l is the number of initial conditions of the main scheme.
Definition 4.1.2. A global approximation of the first derivative y ′ by means
of formulae of order p is called
• EC1 if l = p/2 and p is even;
• GB1 if l = p/2 + 1 and p is even or if l = (p − 1)/2 + 1 and p is odd;
• GF1 if l = p/2 − 1 and p is even od if l = (p + 1)/2 − 1 and p is odd;
where l is the number of initial conditions of the main scheme.
Definition 4.1.3. For the solution of second-order IVP (4.1.1), the combinations of the schemes for y ′′ and y ′ given in Definition 4.1.1-4.1.2 are called for
p even order EC2 EC1 , EC2 GF1 and EC2 GB1 and for odd order GB2 GB1 ,
GB2 GF1 , GF2 GB1 and GF2 GF1 .
In Section 4.4 devoted to the numerical tests, we only consider couple of
methods with the same approximation for the derivatives, namely EC2 EC1 ,
GB2 GB1 , and GF2 GF1 .
Example 4.1.4. In the following we consider the main schemes of order 5
and 6 for the approximation of y ′ and y ′′ . The coefficients of the GB2 (GB1 )
schemes are symmetric (skew-symmetric) with respect to those of the GF2
(GF1 ) schemes for this reason they are omitted.
Order 5
GF2 :
GF1 :
13
19
7
10
1
1
1
yi−2 +
yi−1 − yi +
yi+1 +
yi+2 −
yi+3 +
yi+4
180
15
3
9
12
15
90
1
1
1
1
1
yi−2 − yi−1 − yi + yi+1 − yi+2 +
yi+3
h y ′ (ti ) ≈
20
2
3
4
30
h2 y ′′ (ti ) ≈ −
Order 6
EC2 :
EC1 :
GF1 :
1
3
3
49
3
3
1
yi−3 −
yi−2 + yi−1 −
yi + yi+1 −
yi+2 +
yi+3
90
20
2
18
2
20
90
3
3
3
3
1
1
yi−2 − yi−1 + yi+1 −
yi+2 +
yi+3
h y ′ (ti ) ≈ − yi−3 +
60
20
4
4
20
60
1
2
7
4
1
2
1
h y ′ (ti ) ≈
yi−2 − yi−1 −
yi + yi+1 − yi+2 +
yi+3 −
yi+4
30
5
12
3
2
15
60
h2 y ′′ (ti ) ≈
85
4.2
Conditioning
The goal of this section is to investigate the stability properties of the main
schemes for the two derivatives; for this reason, let us analyze their behavior
on a scalar linear problem of the form
y ′′ + γy ′ + µy = 0,
(4.2.1)
where γ and µ are real numbers independent of x. The well conditioning of
(4.2.1) depends on the eigenvalues λ1 and λ2 associated to the coefficients
matrix of the equivalent first-order system,
¶′ µ
µ
¶
¶µ
y
0
1
y
=
,
y′
−µ −γ
y′
that is on the roots of the characteristic polynomial
¯
¯
¯
¯ −λ
1
2
¯
¯
¯ −µ −γ − λ ¯ = λ + γλ + µ = 0.
√
√
If δ = γ 2 − 4µ > 0 then λ1 = −γ − δ and λ2 = −γ + δ are the eigenvalues
and the exact solution is
y(x) = c1 eλ1 x + c2 eλ2 x ,
(4.2.2)
where c1 and c2 depend on the initial conditions. A well conditioned initial
value problem (the solution goes to zero, see [28]) requires that λ1 and λ2 are
non positive, that is γ and µ are non negative values. Consequently, the exact
solution (4.2.2) is decreasing when γ > 0 and bounded for γ = 0. Depending
on the initial conditions, y(x) may be strictly positive on all the interval. The
results show as it is suitable to consider methods yielding well conditioned
discrete problem when γ > 0 and µ > 0.
Now, let us consider the discrete problem corresponding to (4.2.1). We
point out that when the size n of the grid becomes large, then the effect of
the additional methods on the solution may be considered negligible. In such
a case the conditioning especially depends on the main methods, therefore it
is sufficient to study the roots of the characteristic polynomial
π(z, h2 µ, hγ) = ρ(z) + hγσ(z) + h2 µz s̄ ,
where
ρ(z) =
k−s
X2
j=−s2
(s2 ,2) s2 +j
αj+s
z
,
2
σ(z) =
s̄ = max(s1 , s2 )
k−s
X1
j=−s1
(s ,1)
1
αj+s
z s1 +j
1
86
Chapter 4. Second-Order Initial Value Problems
are the polynomials associated to the main schemes discretizing, respectively,
the second and the first derivative term in (4.2.1),
As a consequence of the Theorem 2.3.1, we require that the number of
upper off-diagonals of the coefficient matrix of the discrete problem matches
the number of roots of π outside the open unit disk [4, 28]. Since γ and µ are
non negative real numbers, the boundary locus defined by
π(z, µh2 , γh) = 0
for
|z| = 1,
(4.2.3)
is drawn in the quarter of the plane with hγ ≥ 0 and h2 µ ≥ 0. The characteristic polynomial (4.2.3) is linear, then we distinguish three cases:
(i) z = 1: for the consistency of the schemes both ρ(1) = σ(1) = 0, then
boundary is represented by the abscissa h2 µ = 0;
(ii) z = −1: the condition (4.2.3) can be written as
σ̂hγ + h2 µ + ρ̂ = 0,
(4.2.4)
where ρ̂ = ρ(−1)/(−1)s̄ and σ̂ = σ(−1)/(−1)s̄ . Through simple calculations ρ̂ < 0 for all schemes, while σ̂ > 0 for GB1 , σ̂ < 0 for GF1 and
σ̂ < 0 for EC1 . It is clear that the straight line described by (4.2.4)
|ρ̂|
. In Table 4.1 and
intersects the h2 µ-axis at |ρ| and the hγ-axis at
σ̂
Table 4.2 we have summarized the values of |ρ̂| and σ̂ for different methods and orders. Moreover, the straight lines corresponding to GB1 , GF1
and EC1 schemes are decreasing, increasing and parallel to the hγ-axis,
respectively. Hence, the use of GF1 schemes give rise to the largest
stability domain.
(iii) |z| = 1 and Im(z) 6= 0: in this case we have
ρ(z) + hγσ(z) + h2 µz s̄ = 0,
ρ(z̄) + hγσ(z̄) + h2 µz̄ s̄ = 0,
then it follows through some substitutions that ρ(z̄) − z̄ s̄ ρ(z)/z s̄ = 0.
Moreover, the curve corresponding to the complex values of z of unitary
modulus starts from the origin and it is quite near to the h2 µ-axis and,
in the case of EC1 schemes, it coincides with the segment 0 ≤ h2 µ ≤
|ρ(z)| /z s̄ .
Now, as in [28] we give some definitions on stability region.
87
Table 4.1: Coefficients σ̂ and ρ̂ of the straight line (4.2.4) corresponding to
π(−1) = 0. Even order approximations.
order
4
6
8
10
EC2 ρ1 16/3 272/45 2048/315
512/75
GF1 σ1 −8/3 −32/15 −64/35 −512/315
GB1 σ1
8/3
32/15
64/35
512/315
EC1 σ1
0
0
0
0
Table 4.2: Coefficients σ̂ and ρ̂ of the straight line (4.2.4) corresponding to
π(−1) = 0. Odd order approximations.
order
3
5
7
9
GF2 /GB2 ρ1
8/3
208/45 352/63 9278/1575
GF1
σ1 −4/3 −16/15 −32/35 −256/315
GB1
σ1
4/3
16/15
32/35
256/315
Definition 4.2.1. The region Dk1 ,k2 of the complex plane defined by
Dk1 k2 = {(h2 µ, hγ) ∈ C : π(z, h2 µ, hγ) is the type (k1 , 0, k2 )}
is called the region of (k1 , k2 )-Absolute stability
Definition 4.2.2. A main method with (k1 , k2 )-boundary conditions is said
to be Ak1 k2 -stable if C− ⊆ Dk1 k2 . Moreover, it is called to be perfectly Ak1 k2 stable if C− ≡ Dk1 k2 .
As a consequence of Definition 4.2.2, we can underline that all methods in
Definition 4.1.3 are not As,k−s -stable, since they do not give stable methods
for every value of h. As an example, we plot the stability domains for the
GF2 GF1 and GB2 GB1 schemes of order 5 and 7 respectively in Figure 4.1 and
in Figure 4.2. Then, we observe that larger stability domain belongs to higher
order methods.
Remark 4.2.3. The case γ = 0 is not efficiently solved by this approach
when the interval is very large, in fact, as it is known, ad hoc methods, as
the symmetric linear multistep methods, are used to solve second order IVPs
y ′′ = f (t, y).
88
Chapter 4. Second-Order Initial Value Problems
GF GF schemes of order 5 and 7
2
12
1
2
h µ
10
order 7
8
order 5
6
4
2
0
hγ
0
1
2
3
4
5
6
7
8
9
Figure 4.1: Stability regions for the GF2 GF1 scheme of order 5 and 7.
4.3
Additional formulae
From the conditioning analysis of the main methods it is known that the
number of roots outside the boundary locus represents the number of final
conditions of the method, conversely the number of roots inside it is that
corresponding to the initial conditions. Despite the continuous problem (4.1.1)
has two initial conditions, its solution by means of the methods in Definition
4.1.3 should require l initial and k − l final formulae.
In this section we have a stake in approximating y ′ and y ′′ at both the
extreme points of (4.1.2) by using additional formulae, that for the initial
value problem (4.1.1) still belong to the family (4.1.3). In fact, we follow
the idea developed for the BVPs in Chapter 2 and approximate the first and
the second derivatives in (4.1.1) by applying main schemes, seen in Definition
4.1.3, on the internal points xi of the mesh (4.1.2), for i = l, . . . , n − k + l,
with l number of initial conditions. The approximation in the initial points xi ,
for i = 1, . . . , l − 1 is obtained using initial formulae once, while final schemes
are applied once in the points xi , for i = n − k + l + 1, . . . , n − 1. Then the
89
GB GB schemes of order 5 and 7
2
10
1
2
h µ
9
8
7
6
5
4
order 7
3
order 5
2
1
0
hγ
0
1
2
3
4
5
6
7
8
Figure 4.2: Stability regions for GB2 GB1 scheme of order 5 and 7.
discrete problem of (4.1.1) can be written as
f (xi , yi , yi′ , yi′′ ) = 0,
i = 1, . . . , n − 1.
(4.3.1)
We point out that y0 = y(x0 ) is known, so we have all together l initial
conditions, moreover (4.3.1) defines a nonlinear system of (n − 1) equations in
n unknowns Y = [y1 , . . . , yn ]T . We need for another condition appending to
(4.3.1) to find the solution Ỹ = [y0 , Y T ]T . Since the initial condition on y ′ (x0 )
in (4.1.1) has been not used, we use it to define two strategies and complete
the system.
The first one considers the formula with zero initial conditions, obtained
in (4.1.3) setting l = 0 and ν = 1, to approximate the y ′ (x0 ) by means of an
additional equation, obtaining in this way the system
y0 given,
k
1X
(0,1)
αj yj = y0′ ,
h
j=0
f (xi , yi , yi′ , yi′′ ) = 0,
(4.3.2)
for i = 1, . . . , n − 1.
90
Chapter 4. Second-Order Initial Value Problems
which provides a unique solution Ỹ = (y0 , y1 , . . . , yn )T of the discrete problem.
The second strategy considers y0′ = y ′ (x0 ) in Y and defines new initial
formulae, using y0′ , as
k
X
1
(ν,i)
(ν,i)
y (ν) (xi ) ≈ ν ᾱ0 hy0′ +
ν = 1, 2,
(4.3.3)
αj yj−1 ,
h
j=1
(ν,i)
(ν,i)
(ν,i)
where the coefficients (ᾱ0 , α0 , . . . , αk ) are computed in order to reach
the maximum order, for i = 0, . . . , l − 1 with l number of initial conditions. A
global approximation of the initial value problem (4.1.1) is obtained applying
a main method, chosen in (4.1.3), with l initial and k − l final conditions at
all possible internal points of the grid (4.1.2), this is for i = l, . . . , n − k + l − 1
and using once at the initial extreme points the l formulae (4.3.3). Indeed,
k − l − 1 formulae (4.1.3) are employed once in the extreme final points, this is
for i = n − k + l, . . . , n − 1. Consequently, an extended vector of the solution
Y = (y0′ , y0 , y1 , . . . , yn )T is computed by solving the system
½
y0 , y0′ given,
(4.3.4)
f (xi , yi , yi′ , yi′′ ) = 0,
for i = 0, . . . , n − 1
Both the approaches can be applied to the whole interval [a, b] or to the first
subinterval I1 . In this second case we could pass on the last two values of the
solution in I1 to I2 where they could be used as the known initial values of the
new interval I2 and formulae (4.3.1) would compute Y = (y−1 , y0 , y1 , . . . , yn )T
uniquely by means of
½
y0 , y−1 given,
(4.3.5)
f (xi , yi , yi′ , yi′′ ) = 0,
for i = 0, . . . , n − 1.
Since partitioning the interval [a, b] we may use different stepsize in each subinterval, then if the stepsize in I2 is changed, the initial value y−1 is computed
by means of interpolation techniques from the points in the previous interval.
In this case the interpolation accuracy could represent the drawback to apply
this approach with variable stepsize. The idea of neglecting the value of the
derivative in the last point of the interval after the interval I1 seems to be
more natural, but this approach requires interpolation formulae that could be
ill-conditioned if the order is high, since the used stepsize inside each interval
is constant. Probably, a variable stepsize inside each interval would improve
the situation, but we shall not consider this issue here.
91
Another alternative is to define a formula analogous to (4.3.2) in order to
compute the approximation of y ′ (xn ) as follows
0
1 X (n,1)
αj yn+j = yn′ .
h
(4.3.6)
j=−k
Then, the values of yn and yn′ as initial condition and the same formulae (4.3.2)
could be used also in the next.
Moreover, symmetry reasons suggest to consider as unknown yn′ and to
define an approach similar to (4.3.3), this means that we compute the final
formulae by means of
y (ν) (xn−i ) ≈
(−1)ν
hν
−ᾱ0(i,ν) hyn′ +
(i,ν)
k
X
(i,ν)
αj
j=1
(i,ν)
yn−j+1 ,
ν = 1, 2, (4.3.7)
(i,ν)
where the coefficients (α1 , . . . , αk , ᾱ0 ) for i = 0, . . . , k − l − 1 are obtained imposing the maximum order. We observe that the coefficients in
(4.3.7) for y (ν) (xn−i ) are just the same in reverse order of those in (4.3.3)
for y (ν) (xi ), and also changed sign for ν = 2. Considering as initial formulae
(4.3.3) and final ones (4.3.7), set Y = (y0′ , y0 , y1 , . . . , yn , yn′ )T , the solution
vector is obtained solving the non linear system
½
y0 , y0′ given,
f (xi , yi , yi′ , yi′′ ) = 0,
for i = 0, . . . , n
(4.3.8)
From a numerical point of view, the last formula, even if it is described in
compact form and it could be applied to the next intervals, contains values of
y and y ′ that could be different in magnitude. Anyway, the numerical tests
show that this approach gives the most accurate results.
Example 4.3.1. We consider in the following the initial formulae (4.3.3) of
order 5 and 6. We leave out the final formulae (4.3.7) involving yn′ since the
coefficients are, in the reverse order, the same of the initial formulae and with
changed sign for the second derivative.
92
Chapter 4. Second-Order Initial Value Problems
Order 5
137 ′
12019
20
5
2
hy0 −
y0 + 10y1 − 5y2 + y3 − y4 + y5
30
1800
9
8
25
3281
41
11
5
1
1
13
′
hy +
y0 − y1 + y2 − y3 + y4 −
y5
h2 y ′′ (x1 ) ≈
30 0 1800
12
6
18
24
300
37
1
3
1
1
1
h y ′ (x1 ) ≈ − hy0′ − y0 + y1 + y2 − y3 + y4
4
48
6
4
6
48
h2 y ′′ (x0 ) ≈ −
Order 6
49 ′
13489
15
40
15
hy −
y0 + 12y1 − y2 + y3 − y4 +
10 0
1800
2
9
8
2171
203
43
13
1
77
hy ′ +
y0 −
y1 + y2 − y3 + y4 +
h2 y ′′ (x1 ) ≈
180 0 1200
60
24
54
48
197
1
1
1
1
1 ′
′
y0 − y1 + y2 − y3 + y4 −
y5
h y (x1 ) ≈ − hy0 −
5
300
12
3
12
100
h2 y ′′ (x0 ) ≈ −
12
1
y5 − y6
25
18
1
1
y5 −
y6
300
1080
The three approaches allow us to define an equivalent number of methods.
Definition 4.3.2. Given an initial value problem (4.1.1) and considered a
subdivision I of the interval [a, b], the method using in each interval of the
subdivision the approach (4.3.2) in combination with the formula (4.3.6) is
named D1HOGD.
Remark 4.3.3. We point out that the D1HOGD method computes the solution applying the approach (4.3.2), after that the formula (4.3.6) is used to
calculate an approximation of y ′ (xn ). However it is preferable to approximate
y ′ (xn−1 ) by means of the formula
0
1 X (n−1,1)
′
yn+j = yn−1
,
αj
h
j=−k
since the error constant for this formula is much lower than the analogous at
xn , for this reason the approximation yn at xn is discarded. Consequently, the
successive interval has as left extreme point just xn .
Definition 4.3.4. Given an initial value problem (4.1.1) and considered a
subdivision I of the interval [a, b], the method using in the first interval of
the subdivision or on the whole interval [a, b] the approach defined by (4.3.3)
and (4.3.5) and keeping in the next interval applying the approach (4.3.2) is
named ED1HOGD.
93
Definition 4.3.5. Given an initial value problem (4.1.1) and considered a
subdivision I of the interval [a, b], the method using in each interval of the
subdivision the approach (4.3.8) in combination with the formulae (4.3.3)(4.3.7) is named EDHOGD.
4.4
Mesh Selection Strategy
We consider the initial value problem (4.1.1) and an initial mesh π defined
as in (4.1.2) covering all the interval or the subinterval Ik for k = 1, . . . , N .
The strategy uses constant stepsize inside each interval Ik but could change
stepsize from Ik to Ik+1 .
If yi and ŷi are, respectively, the approximation and exact solution of
(4.1.1) at the ith point of the kth interval, we can define the pointwise error
in Ik , for i = 0, . . . , n, as
ei = |ŷi − yi | ,
(4.4.1)
where e0 = 0 for the initial conditions in (4.1.1).
We are interested in applying the methods of order p in Section 4.1; therefore, (4.4.1) can be expressed as
ei = |ŷi − yi | = Chp |Ψ(xi )| + O(hp+1 ),
i = 0, . . . , n,
(4.4.2)
where Ψ(x) is a function depending on the sth derivatives of y(x), s ≥ p+1 and
h is the constant stepsize associated to the mesh π. Moreover, the maximum
norm of (4.4.2) is defined as
kek∞ = max |ei | ≤ C̃hp .
i=0,...,n
(4.4.3)
Now, the intent is to choose a finer mesh in order to compute an accurate
solution satisfying the condition
kek∞ ≤ T OL,
(4.4.4)
for a given relative tolerance TOL. The relations (4.4.3)-(4.4.4) allow to compute the new mesh π ∗ choosing as a stepsize
∗
h =
where α = 0.9.
µ
α · T OL
kek∞
¶1/p
h,
(4.4.5)
94
Chapter 4. Second-Order Initial Value Problems
We emphasize as this stepsize selection strategy guarantees to gain the
desired accuracy of the solution on every subinterval or the whole interval.
In the case we work on a part of all interval I1 , after we have computed the
solution on it, we proceed in approximating the solution in the next interval.
Then, we have two possibility either to use the same stepsize of the interval
I1 or a different one. This second choice consists in the stepsize estimation for
the interval I2 by means of (4.4.5) when an accurate solution of the previous
interval have been computed. Moreover, some restrictions are imposed to
this estimation in order that the new stepsize is at most doubled or halved
with respect to the stepsize of the previous interval. The strategy can be also
summarized in the following algorithm.
Algorithm 3. Input: Given an IVP (4.1.1), a mesh π and the stepsize h on
the interval I1 ;
1. k = 1;
2. while bk < b where Ik = [ak , bk ];
3.
compute the solution y of (4.1.1) using the basic schemes in section
4.1 and an estimate err of the error;
4.
5.
6.
while err > T OL
¡ OL ¢1/p
h∗ = α·T
h;
err
compute the new mesh π ∗ of equidistant points with stepsize h∗ ;
7.
8.
compute y and err as in 3.;
end
Output: y and err on Ik .
9.
k = k + 1;
10.
update h =
11.
compute h = min{max(h, h∗ ), 2h∗ };
12.
compute the mesh π on Ik using the stepsize h as defined in 11;
13. end
¡ α·T OL ¢1/p
err
h∗ ;
95
4.5
Numerical Tests
In this section we show some numerical tests in order to compare the methods D1HOGD, ED1HOGD and EDHOGD of order p introduced in Definition
4.3.2-4.3.4-4.3.5. We point out that D1HOGD method computes an approximation for y ′ (xn−1 ) as specified in Remark 4.3.3 and ED1HOGD method uses
the same constant stepsize in each interval. Moreover, in the numerical experiments we have used p + 4 equidistant points in each interval covering the
whole interval, where the order p ranges from 3 to 10.
For the first three examples we have firstly considered a constant stepsize
implementation in order to estimate the order of convergence and to compare
the methods. Then, we have solved each problem by means of a simple variable
stepsize strategy with initial stepsize h0 = 8 · 10−2 and exit tolerance tol =
10−8 .
Example 4.5.1. The first linear problem,
y ′′ (x) + y ′ (x) = 0,
x ∈ [0, 40],
has been solved with initial conditions y(0) = 1 and y ′ (0) = −1 or y(0) = 2
and y ′ (0) = −1. The roots of z 2 + z = 0 are −1 and 0 and, therefore, the
exact solution is
ye (x) = e−x + c2 ,
where c2 = y(0) − 1. Even if the numerical solution is monotone decreasing, it
might tend to a negative value when c2 = 0, this means to consider y(0) = 1.
For this reason, in Table 4.3 we have also indicated when the numerical solution
eventually becomes negative. With constant stepsize we have not observed
differences between the two problems, for this reason we have discarded the
table associated to the second choice of initial conditions. Vice versa, with
variable stepsize, in Table 4.4 and Table 4.5 it is possible to observe that by
using variable stepsize EDHOGD method requires a lower number of points
than D1HOGD, moreover this number becomes much lower for the second
choice of initial conditions.
Example 4.5.2. The second linear problem,
y ′′ (x) − cos x y ′ (x) + sin x y(x) = 0,
x ∈ [0, 6π],
has initial conditions y(0) = 1 and y ′ (0) = 1. The exact solution,
ye (x) = esin x ,
96
Chapter 4. Second-Order Initial Value Problems
Main
Scheme
Order
Error
h = 8 · 10−2 , 500 points
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
3
3
4
5
5
6
7
7
8
9
9
10
4.65e-05
4.49e-05
3.31e-05
2.50e-08
6.65e-08
1.44e-07
1.23e-10
1.23e-10
7.05e-10
1.15e-12
6.31e-13
3.57e-12
h = 4 · 10−2 , 1000 points
Table 4.3: Numerical results for Example 4.5.1 with y(0) = 1, constant stepsize.
D1HOGD
x : y(x) < 0
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
3
3
4
5
5
6
7
7
8
9
9
10
1.54e-05
1.51e-05
3.94e-06
5.36e-09
6.90e-09
4.36e-09
2.82e-12
3.02e-12
5.24e-12
1.90e-13
4.30e-13
2.30e-13
10.32
15.76
23.92
23.92
21.12
27.76
28.40
26.40
12.48
19.28
26.00
28.60
ED1HOGD
Error
x : y(x) < 0
3.90e-06
8.40e-06
1.89e-05
6.70e-08
2.35e-08
9.03e-08
2.68e-10
2.53e-10
4.80e-10
1.59e-12
1.37e-12
2.60e-12
1.73e-07
8.06e-07
1.72e-06
1.57e-09
3.31e-10
2.06e-09
1.40e-12
1.43e-12
2.71e-12
6.79e-14
3.75e-13
1.17e-13
12.96
11.76
10.88
16.56
17.60
16.24
22.08
22.16
21.52
27.20
27.36
26.72
14.04
13.28
20.28
21.96
20.04
27.32
27.28
26.64
30.20
Error
EDHOGD
x : y(x) < 0
3.40e-06
6.21e-06
2.88e-07
9.86e-09
1.65e-08
3.57e-09
1.88e-11
1.45e-11
9.04e-12
2.00e-14
5.28e-14
3.36e-14
5.13e-07
6.89e-07
1.78e-08
3.64e-10
4.69e-10
5.65e-11
1.62e-13
8.20e-14
6.20e-14
7.33e-15
1.48e-14
5.53e-14
12.00
16.24
18.48
24.96
32.56
14.20
18.96
21.76
30.16
30.56
Table 4.4: Numerical results for Example 4.5.1 with y(0) = 1, variable stepsize.
Main
Scheme
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
Order
3
3
4
5
5
6
7
7
8
9
9
10
D1HOGD
Error
Mesh
5.35e-06
751
3.92e-06
898
4.91e-07
1038
1.69e-08
407
2.94e-08
407
3.36e-08
434
1.11e-09
288
7.49e-10
288
3.20e-09
288
3.45e-10
223
2.74e-10
223
5.88e-10
223
EDHOGD
Error
Mesh
3.03e-07
593
1.88e-07
817
8.10e-09
809
1.61e-08
291
1.49e-08
331
4.40e-09
321
4.93e-10
217
1.54e-09
193
5.48e-10
217
5.39e-11
183
7.83e-11
183
8.99e-11
183
97
Table 4.5: Numerical results for Example 4.5.1 with y(0) = 2, variable stepsize.
Main
Scheme
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
Order
3
3
4
5
5
6
7
7
8
9
9
10
D1HOGD
Error
Mesh
9.36e-06
240
6.89e-06
275
1.38e-06
268
1.25e-08
137
5.35e-08
137
1.20e-07
146
1.04e-08
112
7.13e-09
112
1.47e-08
112
1.82e-09
106
1.38e-09
106
2.23e-09
106
EDHOGD
Error
Mesh
7.84e-07
169
5.62e-07
209
1.75e-08
177
3.93e-08
101
4.34e-08
121
1.64e-08
111
4.31e-09
97
6.83e-09
85
2.74e-09
97
1.66e-09
85
3.18e-09
85
2.32e-09
85
has an oscillating solution with period 2π. Comparing the results obtained
with constant stepsize in Table 4.6 with those using variable stepsize in Table 4.7 we can confirm that for oscillating solution it is suitable to choice
equidistant stepsize for a good and cheap accuracy.
Example 4.5.3. The nonlinear problem
(y(x) + 1) y ′′ (x) − 3(y ′ (x))2 = 0,
x ∈ [1, 10],
1
has initial conditions y(1) = 0 and y ′ (1) = − . The exact solution is
2
1
ye (x) = √ − 1.
x
In table Table 4.8 we show the results obtained with constant stepsize, but
looking at Table 4.9 it seems clear that the variable stepsize allows to gain
the desired accuracy with much less points and the EDHOGD method seems
more suitable than D1HOGD method.
Example 4.5.4. As last example we consider an IVP which is named Flow
in concrete problem, see [12], and defined as
yy ′′ = −xy ′ ,
x ∈ [0, 10]
with initial conditions y(0) = 1 and y ′ (0) = −γ, where γ > 2. The solution
of the problem is obtained applying D1HOGD method with variable stepsize.
98
Chapter 4. Second-Order Initial Value Problems
Main
Scheme
Order
D1HOGD
Error
ED1HOGD
EDHOGD
h = 8 · 10−2 , 236 points
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
3
3
4
5
5
6
7
7
8
9
9
10
7.63e-03
7.31e-04
2.46e-03
1.34e-04
1.12e-04
7.66e-05
5.08e-06
5.04e-06
5.15e-06
1.57e-05
1.55e-05
1.62e-05
1.73e-03
6.64e-03
3.83e-03
3.05e-04
2.77e-04
3.35e-04
2.50e-05
2.52e-05
2.59e-05
1.17e-06
1.23e-06
9.85e-07
2.99e-03
3.30e-03
6.58e-05
3.27e-06
1.38e-05
8.27e-06
9.96e-07
9.32e-07
1.19e-06
3.03e-07
3.28e-07
3.28e-07
h = 4 · 10−2 , 471 points
Table 4.6: Numerical results for Example 4.5.2, constant stepsize.
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
3
3
4
5
5
6
7
7
8
9
9
10
9.63e-04
1.32e-04
4.03e-04
4.86e-06
4.12e-06
1.34e-06
7.10e-08
6.95e-08
5.18e-08
8.22e-10
6.06e-10
6.62e-10
4.06e-04
6.11e-04
1.82e-04
4.11e-06
3.42e-06
4.30e-06
5.31e-08
5.43e-08
5.15e-08
9.95e-11
6.65e-11
4.85e-10
3.78e-04
4.00e-04
4.42e-06
1.20e-07
3.39e-07
1.10e-07
3.88e-10
5.25e-10
1.67e-10
7.58e-12
2.09e-11
1.10e-11
Table 4.7: Numerical results for Example 4.5.2, variable stepsize.
Main
Scheme
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
Order
3
3
4
5
5
6
7
7
8
9
9
10
D1HOGD
Error
Mesh
9.09e-05
1311
1.70e-04
1206
1.98e-05
1199
1.52e-06
542
1.29e-06
560
8.14e-07
542
1.08e-06
343
1.04e-06
343
7.58e-06
343
1.45e-07
275
1.56e-07
275
3.42e-07
275
EDHOGD
Error
Mesh
2.88e-05
1113
2.88e-05
1113
2.94e-06
761
4.27e-07
421
2.52e-06
351
5.56e-07
371
1.10e-07
253
9.34e-08
265
1.80e-07
253
1.22e-06
197
2.16e-06
197
1.09e-06
197
99
Main
Scheme
Order
D1HOGD
Error
ED1HOGD
EDHOGD
h = 8 · 10−2 , 125 points
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
3
3
4
5
5
6
7
7
8
9
9
10
5.20e-05
3.23e-05
1.10e-04
7.00e-06
6.50e-06
9.29e-06
1.16e-06
1.11e-06
1.36e-06
2.39e-07
2.34e-07
2.68e-07
6.97e-05
3.63e-05
9.47e-05
7.29e-06
6.83e-06
8.91e-06
1.17e-06
1.12e-06
1.35e-06
2.40e-07
2.35e-07
2.68e-07
1.42e-05
6.13e-06
3.71e-06
7.35e-07
6.34e-07
7.17e-07
5.32e-08
5.57e-08
6.95e-08
1.11e-08
1.12e-08
1.24e-08
h = 4 · 10−2 , 250 points
Table 4.8: Numerical results for Example 4.5.3, constant stepsize.
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
3
3
4
5
5
6
7
7
8
9
9
10
4.54e-06
3.23e-05
1.31e-05
1.92e-07
1.77e-07
3.31e-07
1.31e-08
1.25e-08
1.68e-08
1.10e-09
1.07e-09
1.29e-09
7.11e-06
2.57e-06
9.19e-06
2.27e-07
2.15e-07
2.85e-07
1.36e-08
1.30e-08
1.59e-08
1.12e-09
1.09e-09
1.26e-09
1.75e-06
1.23e-06
2.51e-07
1.80e-08
1.20e-08
1.58e-08
4.06e-10
4.62e-10
5.54e-10
3.52e-11
3.53e-11
3.96e-11
Table 4.9: Numerical results for Example 4.5.3, variable stepsize.
Method
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
GF2 GF1
GB2 GB1
EC2 EC1
Order
3
3
4
5
5
6
7
7
8
9
9
10
D1HOGD
Error
Mesh
2.57e-06
233
2.68e-06
247
7.42e-07
240
2.65e-08
119
2.00e-08
119
6.55e-08
128
1.60e-08
90
1.43e-08
90
1.84e-08
101
1.18e-08
80
1.10e-08
80
1.32e-08
80
EDHOGD
Error
Mesh
2.25e-07
193
3.58e-07
153
1.72e-08
185
7.94e-09
101
5.62e-09
101
6.15e-09
101
1.74e-09
73
2.07e-09
73
2.13e-09
85
2.67e-09
71
2.77e-09
71
2.72e-09
71
100
Chapter 4. Second-Order Initial Value Problems
Despite the previous examples highlight the better use of EDHOGD with
variable stepsize, in this case since the behavior of the first derivative may
be quite different from the solution one and affect the stepsize variation, the
choice of the first method is preferable. In [12] the problem is solved for
different values of γ from 2 to 18, since asymptotic theoretical results are
confirmed numerically when γ increases. We are interested to evaluate the
solution at the infinity, for this reason we compute the solution in [12] also on
larger intervals than [0, 10], and we can uphold that y(10) ≈ y(∞). In example
for γ = 10, it is y(10) ≈ 2.254440321030590e-044, while for γ = 18 we have
y(10) ≈ 1.178498689884995e-141. In Figure 4.3-Figure 4.4 and Figure 4.5Figure 4.6 we draw the solutions and the stepsize variations for γ = 10 and
γ = 18, respectively. Very interesting is the stepsize selection, since it shows
as the method works also when the stepsize becomes very small.
4.6
Conclusion
The methods introduced in Section 4.1 have the advantage to be applied to a
second order IVP (4.1.1) without requiring the transformation in an equivalent
system of the first order. Second and first derivatives in ODE are approximated separately and the strategy variation turns out to be very simple. The
numerical results show as the methods are not more competitive than the
others for IVP, but the Example 4.5.4 shows that the class of the considered
methods can be very efficient when we consider problems with decreasing positive solutions which have a fast variation going to a constant value in a narrow
region of the interval.
101
10
10
0
10
−10
y(x)
10
−20
10
−30
10
−40
10
−50
10
−3
−2
10
10
−1
0
10
x
1
10
10
Figure 4.3: Solution for γ = 10 in logarithmic scale.
0
10
−10
10
Step size
−20
10
−30
10
−40
10
−50
10
0
100
200
300
N
400
500
600
Figure 4.4: Stepsize Variation, γ = 10 and p = 8.
102
Chapter 4. Second-Order Initial Value Problems
0
10
−50
y(x)
10
−100
10
−150
10
−4
−3
10
10
−2
−1
10
10
0
1
10
10
x
Figure 4.5: Solution for γ = 18 in logarithmic scale.
0
10
−50
Step size
10
−100
10
−150
10
0
200
400
600
800
N
1000
1200
1400
1600
Figure 4.6: Stepsize variation, γ = 18 and p = 8.
Chapter 5
Sturm-Liouville Problems
Many phenomena in engineering and physics related to signal/image processing, applications in photonics, atom optics and telecommunication, quantum
mechanics and electrodynamics are described by Sturm-Liouville problems
and their solution assumes a great interest in mathematics and mathematical physics, so that different codes able to solve regular and singular SturmLiouville problems have been developed over the years. The fortran code
SLEIGN introduced in [23] computes the eigenvalues and the eigenfunctions
of a regular and singular Sturm-Liouville problem, and in the singular case
the code automatically select a boundary condition. The code is based on the
Prüfer transformation and on the knowledge of the number of zeros of the
eigenfunctions. After SLEIGN, a new fortran code SLEIGN2 [20, 21, 22, 23]
has been developed to compute only the eigenvalues of Sturm/Liouville problems, moreover on the contrary at the first code it requires to distinguish
between regular and singular endpoints and in the singular case it is necessary to describe the boundary condition appropriately. The fortran code
SLEDGE [55] computes eigenvalues and eigenfunctions of regular and singular
SL problems is based on a step function approximation which use a midpoint
interpolation. Another fortran code SL02FM [56] is based on coefficient approximation for the automatic solution of regular and singular Sturm/Liouville
problems. An alternative matlab code is MATSLISE [47], based on CP methods [44], which solves regular Schrödinger equation, regular Sturm-Liouville
problems and Schrödinger equation with distorted Coulomb potentials. Moreover, largely widespread are the application of matrix methods, which consist
to apply finite differences to reduce the Sturm-Liouville problem to a matrix
eigenvalue problem. For the last approach correction techniques have been
104
Chapter 5. Sturm-Liouville Problems
developed to improve the accuracy of the computed eigenvalues. In the last
years competitive results, in comparison with corrected Numerov’s method,
have been reached by applying symmetric BVMs [2, 3].
In this chapter, following the idea of the matrix methods for SLPs, we
discretize the continuous problem by using ECDF as main schemes [9, 10], in
order to obtain an equivalent algebraic eigenvalue problem. Regular and singular SLPs are solved by the same main schemes, but with different additional
conditions which depend on the regularity or singularity of the endpoints. A
stepsize variation strategy, based on the equidistribution of the error, is applied in order to gain a better accuracy on the eigenfunctions estimate [11].
In the last section known Sturm-Liouville problems are solved on equidistant
and variable mesh.
5.1
High order finite difference schemes
We consider a general Sturm-Liouville equation
−(p(x)y ′ )′ + q(x)y = λr(x)y,
x ∈ (a, b),
y, λ ∈ R.
(5.1.1)
where −∞ ≤ a < b ≤ ∞. We assume that the set of Sturm-Liouville coefficients p, q, r : I → R satisfy p−1 , q, r ∈ Lloc (I), p > 0 and r > 0 in (a, b). The
equation (5.1.1) is subjected to separated boundary conditions
a1 [y, u](a) + a2 [y, v](a) = 0, (a1 , a2 ) 6= (0, 0),
b1 [y, u](b) + b2 [y, v](b) = 0, (b1 , b2 ) 6= (0, 0),
(5.1.2)
where [f, g], see Section 1.4, is defined for two admissible functions as [f, g](x)
= f (x)(pg ′ )(x) − (pf ′ )(x)g(x), and u and v are two linearly independent solutions of the Sturm-Liouville equation for some arbitrary λ, [u, v](a) 6= 0 and
[u, v](b) 6= 0.
From Section 1.4 we say that λ is the eigenvalue, whereas y is the eigenfunction associated with λ. We consider regular and singular Sturm-Liouville
problems satisfying the property
−∞ < λ0 < λ1 < λ2 < λ3 < . . .
with
lim λn = ∞;
n→∞
(5.1.3)
this means that the spectrum is discrete and bounded below and only singular problems with LCNO and/or LP endpoints are considered, see Section
105
1.4. In addition, from Theorem 1.4.4 the associated eigenfunctions Yn (x) are
orthogonal to each other with respect to the weight function r(x),
Z
b
r(x)Ym (x)Yn (x)dx = 0
a
if m 6= n, and m, n = 1, 2, . . . .
As suggested in Section 1.4, the eigenfunctions are uniquely computed according to a specified normalization function.
Furthermore, we remind that for regular Sturm-Liouville problems (5.1.1)
the regular associated boundary conditions are defined as
a1 y(a) + a2 (py ′ )(a) = 0, (a1 , a2 ) 6= (0, 0),
b1 y(b) + b2 (py ′ )(b) = 0, (b1 , b2 ) 6= (0, 0).
(5.1.4)
Matrix methods, which consist in applying finite differences to a Sturm-Liouville problem and reduce it to a matrix eigenvalue problem, are largely widespread [53]. However, for this approach correction techniques are required to
improve the accuracy of the computed eigenvalues [16, 54]. In the last years
competitive results, in comparison with corrected Numerov’s method [16], have
been reached by applying symmetric BVMs [2, 3]. Then, following the idea of
the matrix method, we use the approach for BVPs in Chapter 2 to find the
solution of a Sturm-Liouville problem (5.1.1)-(5.1.4). Therefore, we consider
a uniform discretization of the interval [a, b]
a = x0 < x1 < · · · < xn = b,
(5.1.5)
where xi = x0 + ih, i = 0, . . . , n, and h = (b − a)/n.
We approximate the second and the first derivatives in (5.1.1) by HOGD
schemes, see Chapter 2. Thus, k-steps formulae are defined by
(ν)
y (ν) (xi ) ≈ yi
=
k−s
1 X (s,ν)
αj+s yi+j ,
hν
ν = 1, 2,
(5.1.6)
j=−s
see Proposition 2.1.2, where s = 0, . . . , k is the number of initial conditions.
(s,ν)
(s,ν)
(s,ν)
As usual, we choose the coefficients (α0 , α1 , . . . , αk ) in order that the
formula (5.1.6) have maximum order. We use schemes of even order p, that
is k = p for the first derivative, while for the second derivative, k = p for
the scheme with symmetric stencil and k = p + 1 odd for the others. A main
scheme is applied in all possible internal points of the interval, while additional
formulae are used once in the extreme points.
106
Chapter 5. Sturm-Liouville Problems
For the second derivative just the schemes with symmetric stencil have the
best stability properties, as shown in Section 2.3. For the first derivative, in
Chapter 3 it is suggested to use schemes with s = (k − 2)/2 or s = (k + 2)/2
depending on the sign of the coefficient multiplying the derivative (HOGUP
method). For Sturm-Liouville problems, symmetry reasons suggest to use
ECDFs schemes with symmetric stencil, s = k/2. Then, we approximate the
second and the first derivatives at the point xi for i = k/2, . . . , n − k by
k
k
2
1 X
(k/2,2)
y ′′ (xi ) ≈ yi′′ = 2
αj+ k yi+j ,
h
2
k
2
1 X
(k/2,1)
y ′ (xi ) ≈ yi′ =
αj+ k yi+j .
h
2
k
j=− 2
j=− 2
(5.1.7)
Additional formulae approximate the solution at the remaining points at the
beginning and at the end of the interval, but their choice depends on the
problem regularity and singularity.
5.2
Additional Formulae
If the regular boundary conditions (5.1.4) are simply given by
y(a) = y(b) = 0,
(5.2.1)
then for the initial schemes the formulae (5.1.6), for s = 1, . . . , k/2 − 1,
approximate the derivatives at the points xs , while for the final conditions
the discretization of the problem at the points xn−k+s is obtained for s =
k/2 + 1, . . . , k − 1. Therefore, we discretize the BVP using D2ECDF method
as in Chapter 2. In vector form if Y = (y1 , . . . , yn−1 )T is the unknowns vector, Ỹ = (y0 , Y T , yn )T , and Âν , for ν = 1, 2, are the matrices for the global
approximation of the derivatives, see Definition 2.1.6, then
Y (ν) = Ãν Ỹ
(5.2.2)
where Ãν = Âν /hν , where Ãν is a (n − 1) × (n + 1) matrix.
Example 5.2.1. For the order p = 4
1
5
3
1
1
− y0 − y1 + y2 − y3 +
y4 ,
4
6
2
2
12
1
2
2
1
1
yi−2 − yi−1 + yi+1 −
yi+2
y ′ (xi ) ≈ yi′ =
12
3
3
12
h
1
1
3
5
− y
+ y
− y
+ y
12
n−4
2
n−3
2
n−2
i=1
,
1
n−1 + yn
6
4
i = 2, . . . , n − 2
,
i=n−1
107
and
y ′′ (xi ) ≈ yi′′ =
5
5
1
7
1
1
y0 − y1 − y2 + y3 − y4 +
y5 ,
i=1
6
4
3
6
2
12
4
5
4
1
1
i = 2, . . . , n − 2.
yi+2 ,
− yi−2 + yi−1 − yi + yi+1 −
12
3
2
3
12
1
7
1
5
5
1
yn−5 − yn−4 + yn−3 − yn−2 − yn−1 + yn , i = n − 1
12
2
6
3
4
6
1
h2
Then the matrices associated to the approximation of the first and second
derivatives are
1
Ã1 =
h
− 41
1
12
− 56
3
2
− 23
..
.
− 12
1
12
1
− 12
2
3
0
..
.
..
..
..
.
.
..
.
..
.
..
.
..
1
2
.
..
.
0
− 32
1
12
1
− 12
.
2
3
5
6
− 32
1
− 12
1
4
.
(5.2.3)
.
(5.2.4)
(n−1)×(n+1)
and
1
Ã2 = 2
h
5
6
1
− 12
− 54
4
3
..
.
− 13
7
6
4
3
− 52
..
.
..
..
..
.
1
12
.
.
1
− 12
− 12
− 21
1
− 12
..
.
..
.
4
3
7
6
1
12
..
.
..
.
− 25
− 31
..
.
4
3
− 54
1
− 12
5
6
(n−1)×(n+1)
Remark 5.2.2. We point out that when the problem (5.1.1) is singular and
one or both the endpoints are LP, see Section 1.4, then no boundary conditions
are needed, see Section 1.4. In this case, we add to the system (5.2.2) one or
two equations obtained by (5.1.6) for s = 0 if a is a LP point and for s = k if
b is a LP point. Then Ãν could be a n × (n + 1) or (n + 1) × (n + 1) matrix,
respectively.
Example 5.2.3. For order p = 4, the additional formulae to consider in the
case a and/or b are LP are given by
y ′ (x0 ) ≈ y0′
′
y ′ (xn ) ≈ yn
1
h
1
=
h
=
25
4
1
y0 + 4y1 − 3y2 + y3 − y4 ,
12
3
4
1
4
25
yn−4 − yn−3 + 3yn−2 − 4yn−1 +
yn
4
3
12
−
,
108
Chapter 5. Sturm-Liouville Problems
y ′′ (x0 ) ≈ y0′′
′′
y ′′ (xn ) ≈ yn
1
h2
1
= 2
h
=
77
107
15
y0 −
y1 +
y2 − 13y3 +
4
6
6
61
5
yn−4 − 13yn−3 +
− yn−5 +
6
12
61
5
y4 − y5 ,
12
6
107
77
15
yn−2 −
yn−1 +
yn
6
6
4
.
For the boundary conditions (5.1.2)-(5.1.4), since the first derivative in the
extreme points is also involved, as in Section 4.3, the initial formulae consider
the value of y ′ (a) = y0′ and the approximations for i = 0, . . . , k/2 − 1 are given
by
k
X
1
(ν,i)
(ν,i)
y (ν) (xi ) ≈ ν ᾱ0 hy0′ +
ν = 1, 2.
(5.2.5)
αj yj−1 ,
h
j=1
On the other hand, final formulae, for i = k/2 + 1, . . . , k, are also defined by
means of the value of y ′ (b) = yn′ as
y (ν) (xn+i−k ) ≈
(−1)ν
hν
−ᾱ0(ν,i) hyn′ +
k
X
j=1
(ν,i)
αj
yn−j+1 ,
ν = 1, 2.
(5.2.6)
In vector form if Ỹ = (y0′ , y0 , y1 , . . . , yn , yn′ )T = (y0′ , Y T , yn′ )T and Ãν , ν = 1, 2
are the (n + 1) × (n + 2) matrices associated to the global approximation of
the derivatives obtained with a combination of formulae (5.1.6)-(5.2.5)-(5.2.6),
then we can write
Y (ν) = Ãν Ỹ .
(5.2.7)
Example 5.2.4. In this case for order p = 4 we obtain
′
hy ,
−0 h y′ − 17 y0 + 1 y1 + 1 y2 − 1 y3 ,
1
0
3
18
2
2
18
y ′ (xi ) ≈ yi′ =
1
1
1
17
h ′
yn−3 − yn−2 − yn−1 +
yn − yn
h
18
2
2
18
3
′
hyn
,
and
y ′′ (xi ) ≈ yi′′ =
1
h2
i=0
i=1
,
i=n−1
i=n
25h ′
8
1
415
y0 −
y0 + 8y1 − 3y2 + y3 − y4 ,
6
72
9
8
257
10
7
2
1
5h ′
y0 +
y0 −
y1 + y2 − y3 +
y4 ,
12
144
3
4
9
48
1
2
7
10
257
5h ′
yn−4 − yn−3 + yn−2 −
yn−1 +
yn −
yn ,
48
9
4
3
144
12
8
415
25h ′
1
yn +
yn ,
− yn−4 + yn−3 − 3yn−2 + 8yn−1 −
8
9
72
6
−
i=0
i=1
i=n−1
i=n
109
Then the matrices are defined as
h
−h
3
1
Ã1 =
h
1
Ã2 =
2
h
17
− 18
1
2
1
2
1
− 18
1
12
−2
3
0
2
3
.
.
..
.
..
..
1
− 12
.
..
..
.
..
.
1
12
.
..
..
..
.
2
−3
.
0
1
18
−1
2
..
.
2
3
1
− 12
1
−2
17
18
−h
3
h
− 25h
6
− 415
72
8
−3
8
9
1
8
5h
12
257
144
− 10
3
7
4
−2
9
1
48
4
3
5
−2
4
3
1
− 12
1
− 12
..
.
..
..
.
.
..
.
..
.
1
− 12
.
..
..
.
,
(5.2.8)
(n+1)×(n+3)
.
..
..
4
3
.
5
−2
1
48
−2
9
−1
8
8
9
..
.
4
3
1
− 12
7
4
− 10
3
257
144
− 5h
12
−3
8
− 415
72
25h
6
.
(n+1)×(n+3)
(5.2.9)
Obviously, the absence of one of the first derivative term in the boundary
conditions allows us to simplify initial and final schemes as said previously.
We can distinguish two different cases.
(i) If boundary conditions involve y ′ (a), then we consider Ỹ = [y0′ , y0 , y1 , y2 ,
. . . , yn−1 ]T . Formulae (5.2.5) are considered at the points xi , i = 0, . . . ,
k/2 − 1, while formulae (5.1.6) approximate the derivatives at the final
points xi , i = n − k/2 + 1, . . . , n − 1,
y0 y1 . . . y k −1 y k . . . yn− k yn− k +1 yn− k +2 . . . yn−1 .
2
{z 2 } 2
{z2
}
|
| 2
k
2
initial methods
k
−1 final
2
methods
(ii) If boundary conditions involve y ′ (b), then we have Ỹ = [y0 , y1 , . . . , yn−1 ,
yn , yn′ ]T . Formulae (5.1.6) approximate the derivatives at the points xi ,
i = 1, . . . , k/2 − 1, while formulae (5.2.6) are considered at the final
points xi , i = n − k/2 + 1, . . . , n,
y1 . . . y k −1
| {z 2 }
k
−1 initial
2
methods
y k . . . yn− k yn− k +1 yn− k +2 . . . yn−1 yn .
2
2
2
{z
}
| 2
k
2
final methods
110
Chapter 5. Sturm-Liouville Problems
Initial Value Problem
For Theorem 1.4.15 the singular initial value problem defined by (5.1.1) with
the singular initial conditions
[y, u] (a) = γ1 ,
[y, v] (a) = γ2 ,
(5.2.10)
has a unique solution on the interval [a, b]. As in [9], the numerical solution
of (5.1.1)-(5.2.10) on the mesh (5.1.5) can be computed applying the main
formula (5.1.6) at the points xi , for i = k/2, . . . , n − k, while additional formulae (5.2.5), involving y ′ (a), are taken in consideration for the approximations
at the points xi , for i = 0, . . . , k/2. Final formulae are given by (5.1.6) for
i = n − k + 1, . . . , n − 1. Therefore, in vector form the global approximation
for the second and the first derivatives is given by
Y (ν) = Ãν Ỹ
(5.2.11)
where Ỹ = (y0′ , y0 , . . . , yn )T and Ãν , for ν = 1, 2, are n × (n + 2) matrices.
5.3
Algebraic solution of Sturm-Liouville problems
We apply high order finite difference schemes to Sturm-Liouville equations
(5.1.1) rewritten as
−p(x)y ′′ − p′ (x)y ′ + q(x)y = λr(x)y,
x ∈ [a, b],
y, λ ∈ R
(5.3.1)
subjected, for simplicity, to regular boundary conditions (5.2.1). Then the
discrete problem associated with (5.1.1) can be written as
R−1 (−P A2 − P1 A1 + Q) Y = λY
(5.3.2)
where R, P , P1 and Q are diagonal matrices of size n−1 containing r(xi ), p(xi ),
p′ (xi ) and q(xi ), i = 1, . . . , n − 1, respectively. The square matrices A1 and A2
are extracted by Ã1 and Ã2 in (5.2.2) neglecting the first and the last column,
which are multiplied by y0 = yn = 0 and we remind Y = (y1 , . . . , yn−1 )T .
Then, seek eigenvalues and eigenfunctions of (5.1.1)-(5.2.1) is equivalent to
solving the algebraic eigenvalue problem of the sparse matrix M = R−1 (−P A2 − P1 A1 + Q)
Hence, algebraic methods may be used to compute the eigenvalues.
For general regular boundary conditions (5.1.4), where a1 , a2 , b1 and b2 are
nonnull, the idea is always to bring the computation of the eigenvalues and
111
eigenfunctions of the problem (5.1.1) back an equivalent algebraic problem.
Then, from (5.2.7) the approximation of (5.3.1) is given by
³
´
R̃−1 −P̃ Ã2 − P̃1 Ã1 + Q̃I Ỹ = λY,
(5.3.3)
where Ỹ = (y0′ , Y, yn′ )T , with Y = (y0 , y1 , . . . , yn )T , and Iˆ = [On+1 In+1 On+1 ]
is a (n + 1) × (n + 3) matrix with In+1 the identity matrix of size n + 1 and
On+1 the null vector. Moreover, R̃, P̃ , P̃1 and Q̃ are diagonal matrices of size
n + 1 containing r(xi ), p(xi ), p′ (xi ) and q(xi ), i = 0, . . . , n. As a consequence
of (5.1.4), we consider a matrix of transformation
a2 p(a) a1
1
..
D=
.
.
1
b1 b2 p(b) (n+3)×(n+3)
such that DỸ = (a1 y0 + a2 p(a)y0′ , y0 , . . . , yn , b1 yn + b2 p(b)yn′ )T contains
the first and the last element which are zero. Then (5.3.3) is equivalent to
³
´
³
´
R̃−1 −P̃ Ã2 − P̃1 Ã1 + Q̃I D−1 DỸ = R̃−1 −P̃ A2 − P̃1 A1 + Q̃ Y = λY,
where A2 and A1 are again square matrices extracted by the rectangular matrices Ã2 D−1 and Ã1 D−1 , respectively, erasing the first and the last column.
As in the previous case we obtain an algebraic eigenvalue problem, M Y = λY ,
whose eigenvalues and eigenvectors are approximations of the eigenvalues and
eigenfunctions of the original problem (5.3.1)-(5.1.2). We proceed in an analogous way for an eigenvalue problem with initial conditions defined in Section
5.2.
We point also out that, if a and b are LP
problem
³ points, then the algebraic
´
T
−1
has Y = (y0 , y1 , . . . , yn ) and M = R̃
−P̃ Ã2 − P̃1 Ã1 + Q̃ , with R̃, P̃ , P̃1
and Q̃ are diagonal matrices of size n + 1 containing r(xi ), p(xi ), p′ (xi ) and
q(xi ), i = 0, . . . , n. The square matrices Ã2 and Ã1 are straight obtained by
applying the high order difference schemes.
In general, considering a singular SLP (5.3.1) with boundary conditions
(5.1.2) we can always obtain an equivalent algebraic problem of the form
M · Y = λY.
(5.3.4)
112
Chapter 5. Sturm-Liouville Problems
We can summarize that the numerical method applied to (5.1.1) yields a square
matrix M , therefore the computation of the eigenvalues and eigenfunctions is
reduced to solve an algebraic problem (5.3.4) by means of an algebraic method.
The eigenvalues of such matrix are in general good approximations of the first
eigenvalues of (5.1.1)-(5.1.2).
In the case of boundary conditions depending nonlinearly on the parameter
λ, the algebraic method is not enough to guarantee a good accuracy for the
eigenvalues and eigenfunctions estimate. For this reason the approximations
of the k-th eigenvalue λk and the corresponding eigenfunction are computed
by the solution of a nonlinear problem with unknowns y1 , . . . , yn , λk :
′′
′
i = 1, . . . , n,
p(ti )yi + q(ti )yi + r(ti )yi = λk yi ,
n
X
yi2 = 1,
i=0
where the last row is a normalization condition for the eigenfunction.
5.4
Stepsize and Order Variation Strategy
This section explains how to compute the kth eigenvalue and the corresponding
eigenfunction. We observe that (see [3]) finite differences appear to maintain
their accuracy only in the computation of the first eigenvalue, while a loss
of order is observed for the kth, k > 1, eigenvalue; for example three-point
scheme causes an error of O(k 4 h2 ) in the approximation of the kth eigenvalue.
Our idea is to apply a strategy to compute a good estimation of the kth eigenvalue based on the Matlab function eigs, which computes smallest (largest)
eigenvalues in absolute value.
Firstly we consider an uniform mesh π as in (5.1.5) with n = 30 and start
off computing the first eigenvalue λ0 by means of the matlab function eig in
order that its numerical relative error satisfies a given tolerance 10−2 , this
means
¯
¯
¯ (p)
(p+2) ¯
¯λ0 − λ0
¯
¯
¯
< 10−2 ,
¯ (p+2) ¯
¯
¯λ0
(p)
(p+2)
where λ0 and λ0
are approximations of the first eigenvalue obtained using
two consecutive even orders p and p + 2.
After that using the matlab function eigs, which calculate the first k largest
in magnitude eigenvalues of a sparse matrix starting from λ0 , we estimate the
113
approximation of the kth eigenvalue in order to satisfy an error tolerance equal
to 10−3 , that is
¯
¯
¯ (p)
(p+2) ¯
λ
−
λ
¯
¯ k
k
¯
¯
< 10−3 ,
(5.4.1)
¯ (p+2) ¯
¯
¯λk
(p)
(p+2)
where λk and λk
are approximations with two consecutive even orders p
and p + 2. We point out that, as a consequence of (5.1.3), we calculate the
smallest eigenvalues of M − λ0 I, so that the eigenvalues are computed in the
correct order. This procedure guarantees us to have a good approximation
of the desired eigenvalue λk . If n + 1 is the number of mesh points needed
to calculate this first good approximation, then considering an uniform mesh
with n equidistant intervals we compute the new approximation of λk on the
uniform mesh; moreover, by means of the function eigs we evaluate only the
kth eigenvalue, since we calculate the first eigenvalue close to the previous
good approximation of λk . We can summarize this procedure in the following
algorithm.
Algorithm 4. Algorithm for the first estimation of λk and yk
1. n = 30;
2. x
e = a : (b − a)/n : b;
3. itol = 10−2 ;
(p)
4. λ0
(p+2)
= eig(Mp ), λ0
5. while errk =
(p)
(λ0
−
= eig(Mp+2 );
(p+2)
(p+2)
λ0
)/λ0
< itol & n < nmax;
6.
n = n + 10, update Mp and Mp+2 ;
7.
λ0
(p)
(p+2)
= eig(Mp ), λ0
= eig(Mp+2 );
8. end;
(p)
(p)
(p+2)
9. λk = eigs(Mp , k, λ0 ), λk
(p)
= eig(Mp+2 , k, λ0 );
10. while errk < itol/10 & n < nmax;
11.
n = 2n, update Mp and Mp+2 ;
12.
λk = eigs(Mp , k, λ0 ) and λk
(p)
(p)
(p+2)
(p)
= eigs(Mp+2 , k, λ0 );
13. end;
(p)
14. [yk , λk ] = eigs(Mp , k, λk );
For the largest eigenvalue a good accuracy of the corresponding eigenfunction on a uniform mesh requires a large number n of mesh points. In order to
improve the precision of the eigenfunctions preserving a small number of mesh
points, we consider a stepsize variation strategy based on the equidistribution
of the error, seen in Section 3.4.
114
Chapter 5. Sturm-Liouville Problems
Given a mesh π as in (5.1.5) and an error tolerance T OL, our aim is to
compute a variable mesh π ∗ with a small number of points n∗ such that the
error
¯
¯
¯
¯ (k)
(5.4.2)
ei = ¯yi − y (k) (xi )¯ < T OL, i = 0, . . . , n∗ ,
(k)
where yi is the numerical approximation of kth eigenfunction on the new
mesh π ∗ . Estimation error is obtained considering the numerical error of two
solutions computed with orders p and p + 2.
When a good approximation of the eigenvalue λk has been estimated by
using Algorithm 4, then if the relative error for the eigenvalue approximation and the absolute error for the eigenfunction approximation are not less
than T OL, then we proceed applying a stepsize variation strategy based on
the equidistribution. From Section 3.4, we know that if T (x) is the monitor
function, then to predict the new mesh size we have to compute
µ
µ
¶
¶
n
X
T (xi ) 1/p
T (xi ) 1/p
r2
r1 = max hi
hi
r2 =
,
r3 = ,
0≤i≤n
TOL
TOL
n
i=0
where the ratio rr13 gives some information about the equidistribution; in fact,
if the ratio is large, the maximum error estimate is larger than the average
one, this means that the mesh is not well equidistributed. Moreover we require
to check that
r1
< 1.2
(5.4.3)
r3
so that we can distinguish two cases.
(i) If (5.4.3) is satisfied, then the mesh is sufficiently equidistributed and
the new mesh is obtained doubling the points, that is, we have π ∗ =
{x1 , x3/2 , x2 , . . . , xn−1 , x(n+1/2) , xn }.
(ii) If (5.4.3) is not checked, then r2 predicts the number of mesh points
satisfying the tolerance TOL. Then we predict the number of mesh points
n∗ = max{min(n, 2.5n), n/2} in place of r2 , in order to avoid incorrect
conclusions early. Then the new mesh π ∗ is computed by
Z
1 x
t(x) :=
T (ξ)1/p d ξ
(5.4.4)
θ a
and known xi we may finding xi+1 such that
t(xi+1 ) =
i
.
n
(5.4.5)
115
Since we want to preserve the properties of the methods on the equidistant points, we modify this value of n∗ in order to obtain a piecewise
variable stepsize with blocks of p + 4 equidistant points. For this reason
we consider ⌈n∗ /(k + 4)⌉ as the predict number of mesh points and compute the new mesh by (5.4.4)-(5.4.5), after that we put p + 4 equidistant
points in each interval. We also underline that the mesh is doubled if n∗
has already been used for two consecutive times.
Hence, we decide to change stepsize at least every k + 4 points, that is
we use 3 constant steps methods before changing the stepsize, if necessary,
and bound the ratio of two consecutive stepsizes v according to the values in
Table 5.1.
Table 5.1: Maximum ratio between two successive steps.
order
v
4
4
6
3
8
2
10
1.5
We can summarize the equidistribution algorithm as follows.
Algorithm 5.
function x = monitor (err, x
e, ord, T OL)
1. n = length(e
x) − 1;
2. h = x
e(2 : n) − x
e(1 : n − 1);
3. T = max(err(2 : n + 1), err(1 : n))ˆ(1/ord);
4. r1 = kT k∞ ;
5. n∗ = ⌊kT k1 /T OLˆ(1/ord)⌋;
6. r3 = kT k1 /n;
7. if r1 /r3 ≤ 1.2 & n∗ ≥ 2 · n
8.
x is obtained halving the step-length vector h
9.
n∗ = 2 · n
116
Chapter 5. Sturm-Liouville Problems
10. else
11.
n∗ = max(min(n∗ , ⌊2.5 · n⌋), ⌊n/2⌋);
12.
n∗ = ⌈n∗ /(k + 4)⌉
13.
I = [0 cumsum(T )]/kT k1 ;
14.
z = 0 : 1/n∗ : 1;
15.
x
b = linear_interp(I, x
e, z);
16.
x = piecewise_grid(b
x, ord + 4);
17. end
We also impose an order variation strategy which consists in requiring
different error tolerances for each order; moreover, the solution obtained with
each order is modified by the monitor function for preserving the required
piecewise structure and it is used for the next order as initial mesh. The
simple algorithm is the following.
Algorithm 6. Order Variation
Given p = [4, 6, 8, 10] and T OL = [T OL1 , T OL2 , T OL3 , T OL4 ] such that
T OL1 > T OL2 > T OL3 > T OL4 .
1. s = length(p) ;
2. for i = 1 : s
3.
Calculate yk , λk with the method of
°
°
°
° (p)
(p+2)
(x)° < T OL(i) &
°yk − yk
∞
4. end
5.5
order p(i) such that
¯
¯ ¯
¯
¯ (p)
(p+2) ¯ ¯ (p+2) ¯
¯ < T OL(i);
¯ / ¯λk
¯λk − λk
Test Problems
In this section we contemplate some examples on regular and singular SturmLiouville problems, defined on bounded or unbounded intervals. For the unbounded interval we transform it in a limited one. Constant stepsize allows
us to estimate the numerical order of convergence, but, as we discuss in Section 5.4, for a better accuracy of the eigenfunctions associated with the larger
eigenvalues, we consider variable stepsize too. We remind that the matlab
117
code uses the function eigs to compute the eigenvalues and eigenfunctions of
the algebraic problem. Moreover, we also point out that for singular problems
the coefficients of Sturm-Liouville problems could be not defined in the endpoints of the interval [a, b], so that we consider the truncated interval [α, β]
with a < α < β < b, as in [50]. When a method of order p is used, the relative
error for the kth eigenvalue is given by
¯
¯
¯ (p)
(p+2) ¯
¯λk − λk
¯
¯
¯
,
(5.5.1)
Er (λk ) =
¯ (p+2) ¯
¯
¯λk
while the absolute error for the eigenfunction associated to λk is defined as
°
°
° (p)
(p+2) °
(5.5.2)
Ea (yk ) = °yk − yk
° .
∞
When the theoretical value of the eigenvalue is known we may calculate also
the theoretical relative error as
¯
¯
¯ (p)
¯
¯λk − λk ¯
Erteor (λk ) =
.
(5.5.3)
|λk |
Example 5.5.1. We consider the Klotter problem (see [58]) defined as
−y ′′ (x) +
64π 2
3
y(x) = λ 6 y(x),
2
4x
9x
x ∈ [8/7, 8],
a = 8/7 regular,
b = 8 regular,
with boundary conditions y(8/7) = y(8) = 0. The eigenvalues are
λk = (k + 1)2 ,
k = 0, 1, . . .
The problem is regular and the classical D2ECDFs are applied as discussed in
Section 5.2. Table 5.2 shows as the numerical order is preserved for each eigenvalue, with the exception of λ4 and order 6, since in this case the numerical
order is not reliable for the number of mesh points chosen, even if the relative
error decreases. It is unmistakable as greater eigenvalues require more equidistant points than the smaller ones in order to reach a good approximations. A
better accuracy is gained with higher order methods.
118
Chapter 5. Sturm-Liouville Problems
For this reason in Table 5.3 we show the theoretical relative error for the
eigenvalues and the numerical absolute error for the eigenfunctions, which are
both obtained applying the same schemes and using the stepsize and order
variation strategy in Section 5.4. We choose to start with order 4 and change
order for T OL = 10−3 , 10−6 , 10−8 . The exit condition is T OL = 10−11 and
it is reached with order 10, this means that we use all even order from 4 to
10. We underline as n0 is the initial number of mesh points in order to have
a good initial estimation of the eigenvalue satisfying (5.4.1); n is the final
number of mesh points. In Table 5.3 we compare the results obtained by this
strategy with those using the minimum stepsize hmin of the variable mesh as
a constant stepsize for [a, b]. It is clearly visible that the number of points is
much reduced if the order and stepsize variation strategy is applied, and this
behavior is more evident for the largest eigenvalues. In Figure 5.1 we draw
the eigenfunction associated with λ4 on a variable mesh and exit condition
T OL = 10−11 , while in the Figure 5.2 we plot the absolute error of the same
eigenfunction and also the obtained stepsize variation.
Example 5.5.2. The regular problem (see [58])
µ
¶′
1
1
− √
y ′ (x) = λ √
y(x),
2
1−x
1 − x2
a = −1 regular,
b = 1 regular
x ∈ [−1, 1],
has boundary conditions y(−1) = y(1) = 0. It is important to specify that,
though being defined regular, it has the coefficients p(x) and r(x) not defined
in the endpoints and hence it looks singular. This example is meaningful
since it shows as this ‘singular’ behavior wreaks a loss of order. In fact the
results in Table 5.4 bear out the slow convergence and the numerical order
reaches the same constant value for every eigenvalue and order of the method.
Here it is known from [58] that λ0 = 3.559279966, λ9 = 258.8005854 and
λ24 = 1572.635284.
Example 5.5.3. The Paine problem (see [44]) is defined as
−((u + x)3 y ′ (x))′ + 4(u + x)y(x) = λ(u + x)5 y(x),
√
√
2 + 2π) = 0 and u =
with boundary
conditions
y(0)
=
y(−u
+
u
2 x ∈
√
(0, −u + u2 + 2π). For this regular problem we apply the order and stepsize variation strategy starting with order 6 and changing order for T OL =
119
Table 5.2: Example 5.5.1 - Numerical order of convergence.
p=4
λ0
λ4
λ24
Mesh
200
400
600
800
300
600
900
1.200
1.500
2000
2500
3000
3500
4000
Error
1.01e-05
9.19e-07
1.90e-07
6.08e-08
2.88e-04
2.05e-06
9.42e-07
4.75e-07
2.31e-07
5.69e-05
2.79e-05
1.47e-05
8.30e-06
5.00e-06
p=6
Order
3.45
3.89
3.96
7.13
1.92
2.38
3.24
3.19
3.53
3.70
3.79
-
p=8
Error
Order
Error
Order
4.26e-07
5.97e-09
3.63e-10
4.38e-11
9.14e-05
1.92e-08
7.42e-09
8.39e-10
6.86e-11
5.53e-06
1.20e-06
3.40e-07
1.18e-07
4.81e-08
6.16
6.91
7.35
12.22
2.34
7.57
11.22
6.85
6.92
6.85
6.74
-
1.61e-07
4.01e-10
1.01e-11
1.55e-13
2.64e-05
9.95e-08
1.75e-09
7.82e-11
4.33e-12
3.33e-07
6.58e-08
1.31e-08
3.03e-09
8.05e-10
8.65
9.08
1.45
8.05
9.96
10.81
12.97
7.27
8.84
9.51
9.93
-
Constant
Variable
Table 5.3: Example 5.5.1 - Numerical and theoretical relative error for the
eigenvalue λk and absolute error for the corresponding eigenfunction obtained
for variable order and stepsize strategy with exit tolerance T OL = 10−11 and
compared with constant stepsize hmin .
k
n0
n
hmin
Er (λk )
Erteor (λk )
Ea (yk )
ñ = (b − a)/hmin
Er (λk )
Erteor (λk )
Ea (yk )
0
21
169
9.40e-03
2.67e-13
2.67e-13
2.89e-13
731
2.11e-13
6.17e-13
1.725e-13
4
41
379
3.36e-03
2.06e-13
2.06e-13
4.47e-13
2039
5.51e-12
1.72e-13
1.70e-11
24
501
2102
7.47e-04
4.07e-14
4.07e-14
3.69e-13
9177
7.02e-12
1.28e-12
1.21e-10
120
Chapter 5. Sturm-Liouville Problems
0.7
0.6
0.5
0.4
y4(x)
0.3
0.2
0.1
0
−0.1
−0.2
−0.3
1
2
3
4
5
6
7
8
x
Figure 5.1: Example 5.5.1 - Eigenfunction associated to λ4 computed with
variable stepsize with exit tolerance T OL = 10−11 .
−12
Absolute error
10
−13
10
−14
10
−15
10
0
50
100
150
200
250
300
350
400
0
50
100
150
200
250
Number of mesh points
300
350
400
−1
Stepsize
10
−2
10
−3
10
Figure 5.2: Example 5.5.1 - Absolute error for y4 (x) and stepsize variation
with exit tolerance T OL = 10−11 .
121
Table 5.4: Example 5.5.2 - Numerical order of convergence.
p=4
λ0
λ9
λ24
Mesh
1000
2000
3000
4000
6000
9000
12000
15000
10000
15000
20000
25000
Error
p=6
Order
1.57e-05
5.56e-06
3.03e-06
1.97e-06
2.93e-06
1.59e-06
1.04e-06
7.41e-07
2.13e-06
1.16e-06
7.53e-07
5.38e-07
1.50
1.50
1.50
1.50
1.50
1.50
1.50
1.50
1.50
-
Error
1.41e-05
5.00e-06
2.72e-06
1.77e-06
2.63e-06
1.43e-06
9.31e-07
6.66e-07
1.91e-06
1.04e-06
6.76e-07
4.84e-07
p=8
Order
1.50
1.50
1.50
1.50
1.50
1.50
1.50
1.50
1.50
-
Error
1.26e-05
4.44e-06
2.42e-06
1.57e-06
2.34e-06
1.27e-06
8.27e-07
5.92e-07
1.70e-06
9.25e-07
6.00e-07
4.30e-07
Order
1.50
1.50
1.50
1.50
1.50
1.50
1.50
1.50
1.50
-
10−3 , 10−6 . The exit condition is T OL = 10−9 and is reached with order 10.
In this case we use only three consecutive even orders. The estimations obtained are comparable with those in MATSLISE [47]. In Table 5.5 we display
the numerical relative and absolute errors for the eigenvalues and the eigenfunctions, respectively. Moreover, we consider n0 to be the initial number
of constant mesh points which guarantees a good initial approximation of the
eigenvalue by (5.4.1) and n is the final number of points required for obtaining
the exit tolerance T OL = 10−9 . In the same table we compare these results
with those reached using the minimum stepsize of the variable mesh hmin as
a constant stepsize for [a, b]. It is clearly visible that the order and stepsize
variation strategy allows us to reach the precision required almost halving the
number of the equidistant points ñ = (b − a)/hmin . We point out that, for
variable stepsize, we have the same accuracy for the eigenvalues and the corresponding eigenfunctions. On the contrary, with constant stepsize the first
eigenvalues are better approximated than the larger ones, and the eigenvalues
approximations are much more accurate than the eigenfunctions ones.
Example 5.5.4. The truncated hydrogen equation (see [58]) is defined as,
−y ′′ (x)
+
µ
1
2
−
2
x
x
a = 0 LP,
b = 1000 regular.
¶
y(x) = λy(x),
x ∈ [0, 1000],
122
Chapter 5. Sturm-Liouville Problems
Constant
Variable
Table 5.5: Example 5.5.3 - Numerical and theoretical relative error for the
eigenvalue λk and absolute error for the corresponding eigenfunction obtained
for variable order and stepsize strategy with exit tolerance T OL = 10−9 and
compared with constant stepsize hmin .
k
n0
n
hmin
Er (λk )
Ea (yk )
ñ = (b − a) /hmin
Er (λk )
Ea (yk )
0
16
99
1.29e-02
3.89e-13
3.72e-11
245
8.30e-13
6.02e-13
4
21
183
9.89e-03
1.53e-12
8.29e-12
319
1.80e-13
3.22e-13
19
41
519
3.21e-03
1.08e-12
4.58e-12
979
9.31e-15
2.17e-13
24
51
603
2.57e-03
1.41e-12
6.72e-12
1224
1.20e-13
1.08e-12
The only condition is y(1000) = 0. The eigenvalues are
λk = −
1
, k = 0, 1, . . .
(2k + 4)2
Since a = 0 is LP, no boundary condition is required and an initial method
approximates the problem in the left endpoint, see Remark 5.2.2. Since q(x) =
2/x2 − 1/x is not defined in a, we also truncate the interval (see [50]) and
choose α > a close to zero. Moreover, the results in Table 5.6 show that the
numerical order is gained, the convergence for order 8 shows results less reliable
for the choice of the mesh points, even if the accuracy improves with the
higher order. We emphasize that, on a truncated interval, a good eigenvalue
estimation is reached until k = 9, since when k increases the eigenfunction is
not zero in the right endpoint and oscillations range on a greater interval. In
order to compare the results with the next problem, we have also drawn the
eigenfunction associated to λ4 in Figure 5.3 (above).
Example 5.5.5. The Hydrogen atom equation in Example 5.5.4 is integrated
for x ∈ [0, ∞], where
b = ∞ LP.
With respect to the previous example, both endpoints are LP and no boundary
conditions are given, so we consider one initial and final methods to approximate the problem in both endpoints. Moreover, the upper unbounded interval
123
Table 5.6: Example 5.5.4 - Numerical order of convergence.
p=4
λ0
λ4
λ9
Mesh
500
1000
1500
2000
500
1000
1500
2000
2500
1000
1500
2000
2500
Error
2.18e-03
1.16e-04
3.49e-05
1.23e-05
7.36e-04
2.95e-05
8.57e-06
2.97e-06
1.26e-06
1.44e-05
4.23e-06
1.47e-06
6.24e-07
p=6
Order
4.23
2.96
3.62
4.64
3.05
3.68
3.84
3.02
3.67
3.84
-
Error
9.77e-04
8.22e-06
5.56e-07
8.91e-08
1.17e-04
5.98e-07
3.64e-08
5.68e-09
1.41e-09
2.35e-07
1.39e-08
2.15e-09
5.31e-10
p=8
Order
6.89
6.64
6.37
7.61
6.90
6.45
6.24
6.98
6.48
6.27
-
Error
Order
2.00e-04
2.92e-07
3.17e-09
1.61e-11
9.75e-06
8.38e-09
8.82e-11
1.45e-12
3.17e-13
2.54e-09
2.69e-11
1.15e-12
1.65e-13
9.42
11.15
18.34
10.18
11.23
14.28
6.81
11.22
10.95
8.72
-
is transformed by means of the simple change of variable
x̃i = 1 − √
1
∈ [0, 1].
1 + xi
Obviously a constant stepsize in [0, 1] gives a solution with variable stepsize
in the original interval, as it is possible to see in Figure 5.3 (below), in fact we
truncate the solution, obtained in the interval (0, ∞), in b = 1000, so that it
is possible to compare the mesh selection with the solution of Example 5.5.4
plotted in Figure 5.3 (above). Conversely to Example 5.5.4 few points ensure
a good approximation and numerical order is preserved. As noted in the other
examples greatest accuracy is guaranteed by higher order methods.
However, as shown in Table 5.7 the number of mesh points increases much
more when the greatest eigenvalues are computed, for this reason we apply only
the stepsize variation strategy for the smallest eigenvalues, see from Table 5.8
to Table 5.10. For the greatest eigenvalues we consider also the order variation
strategy, as shown in Table 5.11 and Table 5.12.
The results in Table 5.8 and Table 5.9 seem to confirm that the higher
orders 8 and 10 give a better accuracy with few points for the first eigenvalues
and eigenfunctions. Moreover, comparing the results in Table 5.8 with those
in Table 5.7 it is evident that we do not gain much on the number of points.
In Table 5.10 we display the stepsize and order variation strategy for the
computation of the eigenvalue λ4 and the eigenfunction y4 . We start with
order 6 and T OL = 10−6 and we reach the solution with order 10 and exit
124
Chapter 5. Sturm-Liouville Problems
1
0.8
0.6
y4(x)
0.4
0.2
0
−0.2
−0.4
−0.6
−0.8
0
200
400
600
800
1000
800
1000
x
(a) Example 5.5.4.
1
0.8
0.6
y4(x)
0.4
0.2
0
−0.2
−0.4
−0.6
−0.8
0
200
400
600
x
(b) Example 5.5.5.
Figure 5.3: Eigenfunctions y4 (x) computed by the order 6 method with 300
points in the interval [0, 1000] (above) and in the interval (0, ∞) truncated at
b = 1000 (below).
125
Table 5.7: Example 5.5.5 - Numerical order of convergence.
p=4
λ0
λ4
λ9
λ24
Mesh
100
150
200
250
200
400
600
800
500
1000
1500
2000
2000
4000
6000
8000
Error
2.79e-06
5.53e-07
1.75e-07
7.19e-08
3.16e-04
2.03e-05
4.03e-06
1.28e-06
8.14e-04
5.25e-05
1.04e-05
3.31e-06
2.76e-03
1.81e-04
3.61e-05
1.15e-05
p=6
Order
3.99
3.99
4.00
3.96
3.99
3.99
3.95
3.98
3.99
3.93
3.97
3.99
-
Error
4.62e-08
4.13e-09
7.40e-10
1.94e-10
2.14e-05
3.59e-07
3.19e-08
5.72e-09
6.87e-05
1.16e-06
1.03e-07
1.85e-08
3.73e-04
6.53e-06
5.85e-07
1.05e-07
p=8
Order
5.96
5.98
5.99
5.90
5.97
5.98
5.89
5.96
5.98
5.84
5.95
5.97
-
Error
Order
1.60e-09
6.51e-11
6.53e-12
1.21e-12
2.21e-06
9.88e-09
5.53e-10
1.52e-11
7.70e-06
3.46e-08
1.46e-09
8.89e-11
6.09e-05
2.85e-07
1.15e-08
1.10e-09
7.89
7.99
7.55
7.80
7.11
12.48
7.80
7.80
9.74
7.74
7.93
8.14
-
condition T OL = 10−10 . The order and stepsize variation strategy give us a
better accuracy with a small number of points, as a matter of fact in Table 5.7
more equidistant points are required for reaching the same precision for order
8. Moreover, if we use 350 equidistant points and order 10, then we obtain relative error Er (λ4 ) = 1.27e−09 for the eigenvalue and absolute error Ea (y4 ) =
2.72e−07 for the eigenfunction, the precision is worst and, also increasing the
number of the equidistant points until 5000, it remains unchanged. In Figure 5.4 and Figure 5.5 we show the eigenfunction y4 (x) and the final stepsize
variation obtained in Table 5.10.
For the eigenvalues λ9 and λ24 we apply the order and stepsize variation
strategy starting with order 8 and T OL = 10−6 and we proceed using order
10 and T OL = 10−10 . In both cases, Table 5.11 and Table 5.12 show that
the results are more accurate and require a small number of mesh points with
respect to of those in Table 5.7 for order 8. Moreover, for λ9 if we use 753
equidistant points, Er (λ9 ) = 1.88e−08 and Ea (y9 ) = 2.17e−06, while taking
3264 equidistant points for λ24 , Er (λ24 ) = 9.66e−08 and Ea (y24 ) = 1.89e−05.
We point out also that with 5000 points we have still 9 digits correct for the
eigenvalue and 7 for the eigenfunctions in the both cases. The order and
variation strategy gives us a finer mesh.
126
Chapter 5. Sturm-Liouville Problems
4
3
2
y4(x)
1
0
−1
−2
−3
0
200
400
600
800
1000
x
Figure 5.4: Example 5.5.5 - Eigenfunction y4 (x) obtained with 341 mesh
points, see Table 5.10, initial order 8 and exit condition T OL = 10−10 . The
solution is truncated at x = 1000.
−3
9
x 10
8
7
Stepsize
6
5
4
3
2
1
0
50
100
150
200
250
Number of mesh points
300
350
400
Figure 5.5: Example 5.5.5 - Stepsize variation for last step in Table 5.10 for
λ4 , exit condition T OL = 10−10 .
127
Table 5.8: Example 5.5.5 - Mesh selection steps for the estimation of λ0 and
y0 using the variable stepsize strategy, order p = 8 and exit condition T OL =
10−10 .
Mesh
Er (λ0 )
Erteor (λ0 )
Ea (y0 )
hmin
hmax
p=8
31
7.93e-06
1.23e-05
2.83e-04
3.33e-02
3.33e-02
T OL = 10−10
84
191
2.78e-09 4.72e-12
2.23e-09 4.73e-12
1.63e-07 1.86e-11
8.96e-03 2.71e-03
1.72e-02 1.25e-02
Table 5.9: Example 5.5.5 - Mesh selection steps for the estimation of λ0 and
y0 using the variable stepsize strategy, order p = 10 and exit condition T OL =
10−10 .
Mesh
Er (λ0 )
Erteor (λ0 )
Ea (y0 )
hmin
hmax
p = 10 T OL = 10−10
31
82
135
1.90e-06 3.58e-10 1.71e-12
4.36e-06 5.24e-10 1.80e-12
1.61e-04 2.29e-08 5.24e-11
3.33e-02 9.15e-03 4.15e-03
3.33e-02 1.74e-02 1.51e-02
Example 5.5.6. The Legendre equation (see [37]) is defined as
1
−((1 − x2 )y ′ )′ (x) + y(x) = λy(x),
4
a = −1 LCNO,
b = 1 LCNO.
x ∈ [−1, 1],
The boundary conditions
[y, u] (−1) = − (py ′ ) (−1) = 0
[y, u] (1) = − (py ′ ) (1) = 0
are obtained from (5.1.2) setting a1 = b1 = 1, a2 = b2 = 0, u(x) = 1 and
v(x) = ln ((1 + x)/(1 − x)). The eigenvalues are
¶
µ
1 2
, k = 0, 1, . . . ,
λk = k +
2
128
Chapter 5. Sturm-Liouville Problems
Table 5.10: Example 5.5.5 - Mesh selection steps for the estimation of λ4 and
y4 using the order and stepsize variation strategy, we start with order p = 8
and exit condition T OL = 10−10 .
Mesh
Er (λ4 )
Erteor (λ4 )
Ea (y4 )
hmin
hmax
p = 8 T OL = 10−6
121
269
6.51e-05 1.30e-08
9.66e-05 1.55e-08
1.98e-03 5.83e-07
8.32e-03 2.40e-03
8.32e-03 6.49e-03
p = 10 T OL = 10−10
244
341
2.93e-11
4.37e-13
1.73e-11
4.82e-13
1.12e-08
2.73e-11
2.07e-03
9.70e-04
8.92e-03
7.93e-03
Table 5.11: Example 5.5.5 - Mesh selection steps for the estimation of λ9 and
y9 using the order and stepsize variation strategy, we start with order p = 8
and exit condition T OL = 10−10 .
Mesh
Er (λ9 )
Erteor (λ9 )
Ea (y9 )
hmin
hmax
p = 8 T OL = 10−6
241
631
672
8.87e-04 3.48e-08 2.06e-09
1.61e-03 3.57e-08 2.11e-09
3.58e-02 3.81e-06 3.33e-07
4.16e-03 9.42e-04 6.29e-04
4.16e-03 3.22e-03 4.67e-03
p = 10 T OL = 10−10
621
753
1.13e-11
5.58e-13
1.19e-11
6.16e-13
1.72e-09
2.98e-11
5.52e-04
3.33e-04
5.48e-03
6.26e-03
while the kth Legendre polynomial is the corresponding eigenfunction. Since
the function p is null in the endpoints, an initial and a final method approximate the solution in the both endpoints substituting the boundary conditions.
The results obtained for small k show that 20 points are enough for a very good
approximation, consequently the numerical order is estimated for k = 9, 24, 49.
We underline that the numerical order is preserved and sometimes exceeds
the order expected. Moreover, the number of points required to reach a prescribed accuracy is proportional to k and higher order methods guarantee a
better accuracy. The constant stepsize gives a good accuracy for the smallest
eigenvalues, for this reason in Table 5.14 and Table 5.15 we consider an order
and stepsize variation only for the largest eigenvalues λ24 and λ49 . In both
cases we start using order 6 and T OL = [10−3 , 10−6 ] and we satisfy the exit
129
Table 5.12: Example 5.5.5 - Mesh selection steps for the estimation of λ24 and
y24 using the order and stepsize variation strategy, we start with order p = 8
and exit condition T OL = 10−10 .
Mesh
Er (λ24 )
Erteor (λ24 )
Ea (y24 )
hmin
hmax
p = 8 T OL = 10−6
961
2476
2522
4.70e-03 8.71e-08 2.44e-09
1.12e-02 9.05e-08 2.47e-09
6.54e-01 1.45e-05 4.36e-07
1.04e-03 1.93e-04 1.03e-04
1.04e-03 9.81e-04 1.99e-03
p = 10 T OL = 10−10
2133
3264
4.63e-11
1.34e-13
4.69e-11
4.34e-13
1.80e-08
3.87e-11
8.65e-05
3.92e-05
2.80e-03
3.16e-03
condition T OL = 10−8 with order 10, so that we use three consecutive orders
6, 8, 10. As we have noted in the other examples, the number of mesh points
decreases with the order and stepsize variation strategy, on the other hand
the accuracy is improved. If we consider 464 equidistant points for λ24 , then
Er (λ24 ) = 2.61e−10 and Ea (y24 ) = 1.23e−08, while for the eigenvalue λ49
we have Er (λ49 ) = 1.13e−09 and Ea (y49 ) = 1.52e−07 with 1632 equidistant
points. This means that the strategy in Section 5.3 allows us to gain a good
accuracy with a finer mesh, since increase the number of the equidistant points
is not enough to reach the desired precision. Therefore, in Figure 5.6 we plot
the eigenfunction y4 (x) obtained with order 6 and 301 equidistant points and
in Figure 5.7 we draw the eigenfunction λ24 on a variable mesh as already
explained.
A Singular Self-Adjoint Sturm–Liouville Problem
In this section we consider the solution of a singular self-adjoint Sturm-Liouville problem associated to the computation of the eigenvalues and eigenfunctions
of a finite truncated Hankel transform, see[13], since in the recent years these
computations have assumed a great importance in some applications. In a
2D-case, the eigenfunctions of the Fourier transform truncated to a circle can
be expressed using the eigenfunctions of the finite truncated Hankel transform
(FHT).
FHT are used in signal/image processing, see [46, 48, 62], and they become
a powerful tool in the numerical optical analysis, as well as in the spectral estimation of the 2D-processes. They are also employed for an optimal antenna
synthesis and for resolution enhancing of an optical system. Moreover, FHT
130
Chapter 5. Sturm-Liouville Problems
Table 5.13: Example 5.5.6 - Numerical order of convergence.
p=4
λ9
λ24
λ49
Mesh
20
40
60
80
100
100
200
300
400
500
500
1000
1500
2000
2500
Error
p=6
Order
3.67e-02
3.00e-03
3.16e-04
4.52e-05
5.77e-06
1.13e-02
4.94e-03
7.96e-04
1.62e-04
3.88e-05
7.03e-03
1.08e-03
1.39e-04
2.44e-05
4.85e-06
3.61
5.55
6.76
9.22
1.19
4.50
5.53
6.40
2.70
5.06
6.05
7.23
-
Error
5.69e-03
8.28e-05
5.27e-06
7.49e-07
1.66e-07
2.81e-03
4.75e-04
4.33e-05
6.94e-06
1.62e-06
1.72e-03
8.24e-05
6.87e-06
1.08e-06
2.54e-07
p=8
Order
6.10
6.80
6.78
6.74
2.56
5.90
6.37
6.52
4.38
6.13
6.42
6.51
-
Error
2.14e-04
4.38e-07
1.03e-08
6.83e-10
8.13e-11
1.14e-03
3.65e-05
1.47e-06
1.24e-07
1.70e-08
4.02e-04
4.85e-06
1.73e-07
1.41e-08
1.90e-09
Order
8.93
9.25
9.43
9.54
4.97
7.93
8.59
8.91
6.37
8.22
8.73
8.97
-
Table 5.14: Example 5.5.6 - Mesh selection steps for the estimation of λ24 and
y24 using the order and stepsize variation strategy, we start with order p = 6
and exit condition T OL = 10−8 .
Mesh
Er (λ24 )
Erteor (λ24 )
Ea (y24 )
hmin
hmax
p = 6 T OL = 10−3
301
340
4.19e−05 3.11e−06
4.33e−05 3.15e−06
1.53e−03 1.40e−04
6.67e−03 4.43e−03
6.67e−03 8.41e−03
p = 8 T OL = 10−6
282
319
3.15e−08 6.77e−09
3.17e−08 6.84e−09
1.26e−06 1.83e−07
4.23e−03 3.21e−03
1.16e−02 1.29e−02
p = 10 T OL = 10−8
464
1.90e−13
1.83e−13
6.15e−11
1.85e−03
8.69e−03
Table 5.15: Example 5.5.6 - Mesh selection steps for the estimation of λ49 and
y49 using the order and stepsize variation strategy, we start with order p = 8
and exit condition T OL = 10−8 .
Mesh
Er (λ24 )
Erteor (λ24 )
Ea (y24 )
hmin
hmax
p = 6 T OL = 10−3
601
1290
8.91e−04 3.42e−07
1.06e−03 3.54e−07
1.99e−01 9.85e−05
3.33e−03 9.44e−04
3.33e−03 2.03e−03
p = 8 T OL = 10−6
1290
1345
1.15e−08 4.84e−10
1.15e−08 4.87e−10
1.19e−06 9.78e−08
9.44e−04 6.86e−04
2.03e−03 2.40e−03
p = 10 T OL = 10−8
1632
8.85e−14
8.78e−14
4.47e−12
4.40e−04
2.36e−03
131
2.5
2
1.5
y4(x)
1
0.5
0
−0.5
−1
−1
−0.5
0
x
0.5
1
Figure 5.6: Example 5.5.6 - Numerical solution for the eigenfunction y4 (x)
obtained with 301 equidistant points and order p = 6.
5
4
y24(x)
3
2
1
0
−1
−2
−1
−0.5
0
x
0.5
1
Figure 5.7: Example 5.5.6 - Eigenfunctions y24 (x) obtained with order and
stepsize variation starting with order 6 and using T OL = 10−3 , 10−6 , 10−8 .
The dot line is the numerical solution, the continuous line is the theoretical
solution.
132
Chapter 5. Sturm-Liouville Problems
eigenfunctions serve in medicine and biology for tomographic image reconstruction.
However, these functions having a great relevance in various fields are not
often used in practice since they cannot be expressed in a closed form using
polynomials and/or standard hypergeometric functions. Consequently, numerical techniques for FHT eigenfunctions evaluation assume great importance for
the numerical analysis.
The approach proposed in [13] compute the FHT eigenfunctions as eigenfunctions of a self-adjoint Sturm–Liouville problem. Since the Sturm–Liouville
problem is singular, its numerical treatment requires additional attention, in
fact the boundary conditions have to be formulated in a proper form to guarantee that the resulting eigenvalue problem is well-posed.
The singular self-adjoint Sturm-Liouville problem in [13] is defined as
!
Ã
d
m2 − 1/4
d
, (5.5.4)
(1 − x2 ) y(x) + Q(x) y(x) = 0, Q(x) = λ − c2 x2 −
dx
dx
x2
for x ∈ I = (0, 1) and bounded at its ends
|y(x)| < ∞, x → 0+ ,
|y(x)| < ∞, x → 1− .
(5.5.5)
Moreover, λm,l for non–trivial solutions ym,l (x) of (5.5.4)-(5.5.5) are the associated eigenvalues, where λm,0 < λm,1 < . . . and l is the number of zeros the
eigenfunction ym,l (x) has inside I. We also normalize the eigenfunctions by
Z
0
1
|ym,l (x)|2 d x = 1.
(5.5.6)
At both ends of the interval I the problem exhibits singularities of the
first kind [19, 35, 40], indeed for the boundary conditions we can say that any
solution of (5.5.4) which is bounded for x → +0 has the form
y(x) = xm+1/2 W (x),
(5.5.7)
where W (x) is an analytic function and W (0) 6= 0 holds. Consequently
y(0) = 0.
(5.5.8)
Equation (5.5.7) also describes the smoothness of the solution T (x) at x =
0 and it is clearly visible as the smoothness of T (x) depends on m. The lack of
smoothness in the higher solution derivatives usually causes order reductions
133
in the numerical methods and consequently, the loss of their efficiency. In order
to avoid this loss, one can alternatively transfer the boundary condition (5.5.8)
to a nearby point, where the solution T (x) remains an analytic function, this
means to consider an interval [ǫ, 1] with ǫ > 0.
In order to compute the eigenvalues and eigenfunctions of the problem
(5.5.4) we follow two approaches. The first one is used when m > 2 and no
order reduction appears for the singularity in the left endpoint. In this cases
the boundary conditions are given by (5.5.5) and the transformed condition is
used at the right endpoint as follows
2y ′ (1) = β1 y(1) = Q(1) y(1).
(5.5.9)
For our methods, (5.5.9) coincides with applying formulae with zero final conditions to discretize the problem (5.5.4) at x = 1. The approach taking in
consideration (5.5.8)-(5.5.9) and the formulae used for the regular problem in
Section 5.2 gives back us an algebraic problem, therefore the first approach is a
matrix method. We obtain very efficient results for m > 2, l > 1 and c < 200,
and above all in the case c ≫ 1, e.g. c = 100 and l ∼ 1, see Figure 5.8 and
Figure 5.9, where another approach based on the Prüfer angle in [13] seems
to fail.
When 0 < m < 3 the first approach shows an order reduction, since the
initial formulae involve higher solution derivatives at zero. For this reason, a
transfer boundary condition at zero is considered, so we compute the eigenvalues and eigenfunctions of (5.5.4) in the interval [ǫ, 1], ǫ > 0. We apply
the formulae used for the regular problems in Section 5.2 with the two transferred boundary condition, approximated by initial and final formulae with
zero initial and final methods, respectively. We point out that the transferred
boundary conditions depend nonlinearly on λm,l , then as specified in Section
5.2 we solve a nonlinear problem in which we consider also the normalization
condition (5.5.6). The second approach is not a matrix method, but allows
us to gain on the numerical order of convergence. In the Figure 5.10 we show
the eigenfunction obtained with the second approach for m = 0, l = 3 and
c = 100. We underline that the two approaches have been used on a uniform
mesh.
134
Chapter 5. Sturm-Liouville Problems
3
2
y50,52(x)
1
0
−1
−2
−3
0
0.2
0.4
0.6
0.8
1
x
Figure 5.8: Eigenfunction y50,2 for c = 100 computed with the first approach,
using order 6 and 201 equidistant mesh points. λ50,2 = 682.9516329.
3
2
y10,1(x)
1
0
−1
−2
−3
0
0.2
0.4
0.6
0.8
1
x
Figure 5.9: Eigenfunction y10,1 for c = 100 computed with the first approach,
using order 6 and 201 equidistant mesh points. λ10,2 = −7436.51762.
135
3
2.5
2
1.5
y0,3(x)
1
0.5
0
−0.5
−1
−1.5
−2
0
0.2
0.4
0.6
0.8
1
x
Figure 5.10: Eigenfunction y0,3 for c = 100 computed with the second approach, using order 6 and 5000 equidistant mesh points. λ10,2 = −8625.7278.
5.6
Conclusion
The Matlab code developed allows us to solve regular and singular SturmLiouville problems on equidistant and variable mesh. The stepsize and order
variation strategy renders the code more efficient. Since other codes Fortran
are able to solve regular and singular SLPs, a comparison with these code
seems to be interesting. The advantages of our code are above all connected
to the solution of an algebraic problem, moreover the code works well also
when a nonlinear system have to be computed.
136
Chapter 5. Sturm-Liouville Problems
Chapter 6
Conclusion
The methods HOGD and HOGUP introduced respectively in Chapter 2 and
Chapter 3 are the starting point for the Matlab code HOFiD UP developed
to solve singular perturbation problems. We point out that the error equidistribution technique and the deferred correction allow us to obtain a variable
mesh. Moreover, the stepsize and order variation strategy, together to the
continuation required only for some nonlinear problems, have improved the
performance of HOFiD UP. From the comparison with other code as ACDC
and COLMOD the code seems to be competitive, but a Fortran version needs
for the comparison and this is the aim for the future.
The methods HOGD have permitted to introduce different classes of methods able to solve initial value problems. These methods are not comparable
with the most important codes for easy problems, since the stability region
are not so large. However, they are very suitable in the solution of problems
which have a decreasing solution which changes rapidly in a narrow region,
as in the example Flow in Concrete. For this example numerical results have
confirmed some asymptotic properties of the solution, moreover we underline
as other codes are not able to solve this problem.
At the end we have on the base of HOGD methods developed a Matlab
code which solves regular and singular Sturm-Liouville problems. Stepsize
and order variation strategies consent to reduce the number of mesh points
and improve the computation of the eigenfunction, above all for the largest
eigenvalues, since in this case the eigenfunctions associated have more oscillations. The advantage of this code is in the solution of an algebraic problem,
even if this is not a restriction, since the code is able to obtain the eigenvalues
and the eigenfunctions associated solving also a nonlinear problem, when it
138
Chapter 6. Conclusion
is necessary. We point out that the comparison of this code with others solving regular and singular SLPs may be very interesting, but again it needs to
implement a Fortran version.
Bibliography
[1] L. Aceto and D. Trigiante, On the A-stable methods in the GBDF class,
Nonlinear Anal. Real World Appl. 3 (1) (2002), 9-23.
[2] L. Aceto, P. Ghelardoni and C. Magherini, Boundary value methods as an
extension of Numerov’s method for Sturm-Liouville eigenvalue estimates,
Appl. Numer. Math. 59 (2009), 1644–1656.
[3] L. Aceto, P. Ghelardoni and C. Magherini, BVMs for Sturm-Liouville
eigenvalue estimates with general boundary conditions, JNAIAM J. Numer. Anal. Ind. Appl. Math. 4 (2009), 113–12.
[4] P. Amodio and L. Brugnano, The conditioning of Toeplitz band matrices,
Math. Comput. Modelling 23 (10) (1996), 29-42.
[5] P. Amodio, F. Iavernaro, Symmetric Boundary Value Methods for second
order initial and boundary value problems, Mediterr. J. Math. 3 (2006),
383–398.
[6] P. Amodio and G. Settanni, Variable step/order generalized upwind methods for the numerical solution of second order singular perturbation problems, JNAIAM J. Numer. Anal. Ind. Appl. Math. 4 (2009), 65–76.
[7] P. Amodio and G. Settanni, A deferred correction approach to the solution
of singularly perturbed BVPs by high order upwind methods: implementation details, in: Numerical analysis and applied mathematics - ICNAAM
2009. T.E. Simos, G. Psihoyios and Ch. Tsitouras (eds.), AIP Conf. Proc.
1168, issue 1 (2009), 711–714.
[8] P. Amodio and G. Settanni, High order finite difference schemes for the
solution of second order initial value problems, JNAIAM J. Numer. Anal.
Ind. Appl. Math. 5 (2010), 3–10.
140
Bibliography
[9] P. Amodio and G. Settanni, High order finite difference schemes for the
numerical solution of eigenvalue problems for IVPs in ODEs, in: Numerical analysis and applied mathematics - ICNAAM 2010. T.E. Simos, G.
Psihoyios and Ch. Tsitouras (eds.), AIP Conf. Proc. 1281, issue 1 (2010),
202–204.
[10] P. Amodio and G. Settanni, A matrix method for the solution of SturmLiouville problems, JNAIAM J. Numer. Anal. Ind. Appl. Math. (2011),
in press.
[11] P. Amodio and G. Settanni, A stepsize variation strategy for the solution
of regular Sturm-Liouville problems, in: Numerical Analysis and Applied
Mathematics - ICNAAM 2011. T. E. Simos, G. Psihoyios and Ch. Tsitouras editors, AIP Conf. Proc. 1389, issue B (2011), 1335–1338.
[12] P. Amodio, Ch. Budd, O. Koch, G. Settanni and E.B. Weinmüller, Numerical Solution of the Flow in Concrete Problem, in progress.
[13] P. Amodio, T. Levitina, G. Settanni and E.B. Weinmüller, On the Calculation of the Finite Hankel Transform Eigenfunctions, submitted.
[14] P. Amodio and I. Sgura, High-order finite difference schemes for the solution of second-order BVPs, J. Comput. Appl. Math. 176 (2005), 59–76.
[15] P. Amodio and I. Sgura, High order generalized upwind schemes and numerical solution of singular perturbation problems, BIT 47 (2007), 241257.
[16] A.L. Andrew and J.W. Paine, Correction of Numerov’s eigenvalue estimates, Numer. Math. 47 (1985), 289–300.
[17] U. Ascher, J. Christiansen and R.D. Russell, Algorithm 569: COLSYS:
Collocation Software for Boundary-Value ODEs, ACM Trans. Math. Software 7 (1981), 223–229.
[18] U.M. Ascher, R.M.M. Mattheij and R.D. Russell, Numerical Solution of
Boundary Value Problems for ODEs, Classics in Applied Mathematics
13, SIAM, Philadelphia, 1995.
[19] W. Auzinger, E. Karner, O. Koch, and E.B. Weinmüller, Collocation
methods for the solution of eigenvalue problems for singular ordinary differential equations, Opuscula Math. 26 (2006), 229–241.
Bibliography
141
[20] P.B. Bailey, Modified Prüfer transformations, J. Comp. Phys. 29 (1978),
306–3010.
[21] P.B. Bailey, SLEIGN: an eigenfunction–eigenvalue code for Sturm–
Liouville problems, SAND77-2044, Sandia Laboratories, Albuquerque
(1978).
[22] P.B. Bailey, W.N. Everitt and A. Zettl, Algorithm 810: the SLEIGN2
Sturm-Liouville Code, ACM Trans. Math. Software 27 (2001), 143–192.
[23] P.B. Bailey, M.K. Gordon and L.F. Shampine, Automatic solution of the
Sturm-Liouville problem, ACM Trans. Math. Software 4 (1978), 193–208.
[24] P.B. Bailey, L.F. Shampine and P.E. Waltman, Nonlinear Two Point
Boundary Value Problems, Academic Press, New York and London, 1968.
[25] G. Bader and U. Ascher, A new basis implementation for a mixed order
boundary value ODE solver, SIAM J. Sci. Statist. Comput. 8 (1987), 483–
500.
[26] P.N. Brown, G.D. Byrne and A.C. Hindmarsh, VODE: A Variable Coefficient ODE Solver, SIAM J. Sci. Stat. Comput. 10 (1989), 1038–1051.
[27] L. Brugnano and C. Magherini, Blended Implementation of Block Implicit
Methods for ODEs, Appl. Numer. Math. 42 (2002), 29–45.
[28] L. Brugnano and D. Trigiante, Solving Differential Problems by Multistep Initial and Boundary Value Methods, Gordon and Breach Science
Publishers, Amsterdam, 1998.
[29] J. Cash and F. Mazzia, Algorithms for the solution of two-point boundary
value problems,
http://www.ma.ic.ac.uk/∼jcash/BVP software/twpbvp.php.
[30] J.R. Cash and F. Mazzia, A new mesh selection algorithm, based on conditioning, for two-point boundary value codes, J. Comput. Appl. Math.
184 (2005), 362–381.
[31] J.R. Cash, G. Moore and R.W. Wright, An automatic continuation strategy for the solution of singularly perturbed linear two-point boundary value
problems, J. Comput. Phys. 122 (1995), 266-279.
142
Bibliography
[32] J.R. Cash and M.H. Wright, A deferred correction method for nonlinear two-point boundary value problems: implementation and numerical
evaluation, SIAM J. Sci. Statist. Comput. 12 (1991), 971-989.
[33] J.R. Cash and M.H. Wright, Users Guide for TWPBVP:
A Code for Solving Two–Point Boundary Value Problems,
http://www.ma.ic.ac.uk/∼jcash/BVP software/twpbvp/twpbvp.pdf.
[34] J.R. Cash and R.H. Wright, User’s guide for ACDC: An automatic continuation code for solving stiff two-point boundary value problems, available
at http://www.ma.ic.ac.uk/∼jcash/BVP software/readme.html.
[35] F.R. De Hoog and R. Weiss, Difference methods for boundary value problems with a singularity of the first kind, SIAM J. Numer. Anal. 13 (1976),
775–813.
[36] W.H. Enright and P.H. Muir, RungeKutta software with defect control for
boundary value ODEs, SIAM J. Sci. Comput. 17 (1996), 479-497.
[37] W.N. Everitt, A catalogue of Sturm-Liouville differential equations, in:
Sturm-Liouville Theory. Past and Present, W.O. Amrein, A.M. Hinz and
D.P. Pearson (eds.), Birkäuser, 2005.
[38] B. Fornberg and M. Ghrist, Spatial finite difference approximations for
wave-type equations, SIAM J. Numer. Anal. 37 (1) (1999), 105-130.
[39] E. Hairer and G. Wanner, Solving Ordinary Differential Equations II.
Stiff and Differential-Algebraic Problems, Springer-Verlag 2nd Editions
1996.
[40] R. Hammerling, O. Koch, C. Simon, E.B. Weinmüller, Numerical solution
of singular ODE eigenvalue problems in electronic structure computations,
J. Comput. Phys. 181 (2010), 1557–1561.
[41] D. Hiton and P.W. Schaefer, Spectral Theory and Computational Methods
of Sturm-Liouville Problems, Lecture Notes in Pure and Applied Mathemathics, Marcel Dekker, Inc. New York, 1997.
[42] F. Iavernaro and F. Mazzia, Solving Ordinary Differential Equations by
Generalized Adams Methods: properties and implementation techniques,
Proceedings of NUMDIFF8, Appl. Num. Math. 28 (1998), 107–126.
Bibliography
143
[43] F. Iavernaro and D. Trigiante, Preconditioning and conditioning of systems arising from boundary value methods, Nonlinear Dynamic System
Theory 1 (2001), 59-80.
[44] L.Gr. Ixaru, H. De Meyer and G. Vanden Berghe, SLCPM12 – A program
for solving regular Sturm-Liouville problems, Comput. Phys. Comm. 118
(1999), 259–277.
[45] G. Kitzhofer, O. Koch, G. Pulverer, C. Simon and E. B. Weinmüller ,
BVPSUITE1.1 A new matlab solver for singular implicit boundary value
problems, http://www.math.tuwien.ac.at/ ewa/.
[46] B. Larsson, T.V. Levitina, and E.J. Brändas, On Generalized Prolate
Spheroidal Functions, Proc. CMMSE-2002, Alicante, Spain II (2002),
220–223.
[47] V. Ledoux, M. Van Daele and G. Vanden Berghe, MATSLISE: a
MATLAB package for the numerical solution of Sturm-Liouville and
Schrdinger equations, ACM Trans. Math. Software 31 (2005), 532–554.
[48] T.V. Levitina and E.J. Brändas, Computational Techniques for Prolate
Spheroidal Wave Functions in Signal Processing, J. Comp. Meth. Sci.
Eng. 1 (2001), 287–313.
[49] M. Marletta, Certification of algorithm 700: numerical tests of the
SLEIGN software for Sturm-Liouville problems, ACM Trans. Math. Software 17 (4) (1991), 481–490.
[50] M. Marletta and J.D. Pryce, LCNO Sturm-Liouville problems: computational difficulties and examples, Numer. Math. 69 (3) (1995), 303-320.
[51] F. Mazzia, BVP Software web page,
http://www.dm.uniba.it/∼mazzia/bvp/index.html.
[52] T. Myuint-U, Ordinary Differential equations, North-Holland, 1978.
[53] M.R. Osborne, A note on finite difference methods for solving the eigenvalue problems of second-order differential equations, Math. Comp. 16
(1962), 338–346.
[54] J.W. Paine, F.R. De Hoog and R.S. Anderssen, On the correction of
finite difference eigenvalue approxiamtions for Sturm-Liouville problems,
Computing 26 (1981), 123–139.
144
Bibliography
[55] S. Pruess and C.T. Fulton, Mathematical software for Sturm-Liouville
problems, ACM Trans. Math. Software 19 (1993), 360–376.
[56] S. Pruess and M. Marletta, Atomatic solution of Sturm-Liouville problems
using the Pruess method, J. Comput. Appl. Math. 39 (1992), 57–78.
[57] J.D. Pryce, Numerical solution of Sturm-Liouville problems. Monographs
on Numerical Analysis. Oxford Science Publications. The Clarendon
Press, Oxford University Press, New York, 1993.
[58] J.D. Pryce, A test package for Sturm-Liouville solvers, ACM Trans. Math.
Software 25 (1) (1999), 21-57.
[59] W.T. Reid, Sturmian Theory for Ordinary Differential Equations,
Springer–Verlag New York Inc., 1980.
[60] L.F. Shampine, M.W. Reichelt and J. Kierzenka, Solving Boundary Value
Problems for Ordinary Differential Equations in MATLAB with bvp4c,
available at ftp://ftp.mathworks.com/pub/doc/papers/bvp/.
[61] L.F. Shampine, P.H. Muir and H. Xu , A user-friendly Fortran BVP
solver, J. Numer. Anal. Ind. Appl. Math. 1 (2006), 201–217.
[62] D. Slepian, Prolate spheroidal wave functions, Fourier analysis and uncertainty, IV: Extensions to many dimensions; generalized prolate spheroidal
functions, Bell System Tech. J. 43 (1964), 3009–3058.