Download A Fast Method for Solving the Helmholtz Equation Based on

Document related concepts

Euler equations (fluid dynamics) wikipedia , lookup

Psychophysics wikipedia , lookup

Perturbation theory wikipedia , lookup

Time in physics wikipedia , lookup

Navier–Stokes equations wikipedia , lookup

Equations of motion wikipedia , lookup

Equation of state wikipedia , lookup

Partial differential equation wikipedia , lookup

Transcript
A Fast Method for Solving the Helmholtz Equation Based
on Wave Splitting
JELENA POPOVIC
Licenciate Thesis
Stockholm, Sweden 2009
TRITA-CSC-A 2009:11
ISSN-1653-5723
ISRN KTH/CSC/A- -09/11-SE
ISBN 978-91-7415-370-5
KTH School of Computer Science and Communication
SE-100 44 Stockholm
SWEDEN
Akademisk avhandling som med tillstånd av Kungl Tekniska högskolan framlägges till offentlig granskning för avläggande av teknologie licentiatexamen i numerisk analys mȧndagen
den 12 juni 2009 klockan 13.15 i D41, Huvudbyggnaden, Lindstedsvägen 3, Kungl Tekniska
högskolan, Stockholm.
c Jelena Popovic, 2009
Tryck: Universitetsservice US AB
iii
Abstract
In this thesis, we propose and analyze a fast method for computing the solution of the Helmholtz
equation in a bounded domain with a variable wave speed function. The method is based on wave
splitting. The Helmholtz equation is first split into one–way wave equations which are then solved
iteratively for a given tolerance. The source functions depend on the wave speed function and
on the solutions of the one–way wave equations from the previous iteration. The solution of the
Helmholtz equation is then approximated by the sum of the one–way solutions at every iteration.
To improve the computational cost, the source functions are thresholded and in the domain where
they are equal to zero, the one–way wave equations are solved with GO with a computational
cost independent of the frequency. Elsewhere, the equations are fully resolved with a Runge-Kutta
method. We have been able to show rigorously in one dimension that the algorithm is convergent
and that for fixed accuracy, the computational cost is just O(ω 1/p ) for a p-th order Runge-Kutta
method. This has been confirmed by numerical experiments.
Preface
The author of this thesis contributed to the ideas presented, performed the numerical computations and wrote all parts of the manuscript, except the appendix that is written by Dr.
Olof Runborg.
v
Acknowledgments
First of all I would like to thank my supervisor Olof Runborg for his patience and help.
His ideas, encouragement and support helped me a lot to understand and solve many
mathematical problems. I am very happy to have the opportunity to work with him.
I would also like to thank Jesper Oppelstrup for his comments and advices.
A big thank you to all my colleagues at the department, especially to Sara, Mohammad,
Murtazo, Tomas, Hȧkon and Henrik. Having you not only as my colleagues but also as my
friends means a lot to me.
I wish to thank families Nikolic and Minic for their love, support and understanding.
Special thanks to Vladimir for making me laugh even when I am not in the mood.
I am very grateful to my parents and my brother for everything they do for me. Thank
you for being always by my side and never letting me go down.
Finally, I would like to thank Miki for believing in me and encouraging me every time I
loose faith in myself.
vii
Contents
Preface
v
Acknowledgments
vii
Contents
viii
1 Introduction
1.1 Wave Propagation Problems . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Geometrical Optics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Numerical Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1
4
6
2 A Fast Method for Helmholtz Equation
2.1 Derivation of the Method in One Dimension . . . . . . . . . . . . . . . . . .
2.2 Formulation in Two Dimensions . . . . . . . . . . . . . . . . . . . . . . . . .
15
15
19
3 Analysis
3.1 Utility Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Estimates of One-Way Solutions . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Convergence of the Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . .
21
21
23
26
4 Error Analysis for Numerical Implementation
4.1 Numerical Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Error Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
33
36
5 Numerical Experiments
43
Bibliography
61
A Runge–Kutta Schemes for Linear Scalar Problems
65
viii
Chapter 1
Introduction
Simulation of high frequency wave propagation is important in many engineering and scientific disciplines. Currently the interest is driven by new applications in wireless communication (cell phones, bluetooth) and photonics (optical fibers, filters, switches). Simulation
is also used in more classical applications. Some examples in electromagnetism are antenna
design and radar signature computation. In acoustics simulation is used for noise prediction, underwater communication and medical ultrasonography. One significant difficulty
with numerical simulation of such problems is that the wavelength is very short compared
to the computational domain and thus many discretization points are needed to resolve the
solution. Consequently, the computational complexity of standard numerical methods grows
algebraically with the frequency. Therefore, development of effective numerical methods for
high frequency wave propagation problems is important.
Recently, a new class of methods have been proposed which, in principal, can solve
the wave propagation problem at a cost almost independent of the frequency for a fixed
accuracy. The main interest of the new methods have been for scattering problems. These
have mostly been derived through heuristic arguments. Proving the low cost rigorously is
rather difficult although there are now a few precise proofs about computational cost and
accuracy in terms of the frequency. For problems set in a domain much less have been
done. The focus of this thesis is on such problems. We develop a fast method for solving
Helmholtz equation in a domain with varying wave speed. We show rigorously that in one
dimension the asymptotic computational cost of the method only grows slowly with the
frequency, for fixed accuracy.
1.1
Wave Propagation Problems
The basic equation that describes wave propagation problems mathematically is the wave
equation,
∂2
1
∆u(x, t) −
u(x, t) = 0,
(x, t) ∈ Ω × R+ ,
(1.1)
(c(x))2 ∂t2
where c is the speed of propagation that can be variable and Ω ⊂ Rn is an open domain. The
equation is subjected to appropriate initial and boundary conditions. The initial conditions
are of the form
u(x, t) = f (x), ut (x, t) = g(x),
(x, t) ∈ Ω × {t = 0},
where f and g are given functions. Boundary conditions can be Dirichlet, i.e.,
(x, t) ∈ ∂Ω × R+ ,
u(x, t) = ϕ(t),
1
2
CHAPTER 1. INTRODUCTION
or Neumann, i.e.,
un (x, t) = ϕ(t),
(x, t) ∈ ∂Ω × R+ ,
or Robin which is a linear combination of Neumann and Dirichlet boundary conditions.
The wave equation is used in acoustics, elasticity and electromagnetism. In acoustics, the
evolution of the pressure and particle velocity is modeled by this equation. Equations that
describe the motion in an elastic solid are equations for the pressure waves (P-waves) and
the shear waves (S-waves). In 1D problems the resulting equations can be decomposed
into independent sets of equations for P-waves and S-waves, but in higher dimensions it is
not the case. The unknowns are the velocity and shear strain or shear stress. Eliminating
one of the unknowns from the system, it can be shown that the other satisfies the wave
equation. Equations that are used to model the problems in electromagnetics are the
Maxwell’s equations,
∂D
∂t
∂B
∇×E=−
∂t
∇·D=ρ
∇×H=J+
∇ · B = 0,
where H is the magnetic field, J is the current density, D is the electric displacement, E is
the electric field, B is the magnetic flux density and ρ is the electric charge density.
Assuming time-harmonic waves, i.e. waves of the form
u(x, t) = v(x)eiωt ,
where ω is the frequency, the wave equation can be reduced to the Helmholtz equation,
∆v(x) +
ω2
v(x) = 0,
(c(x))2
x ∈ Ω.
(1.2)
The equation is augmented with boundary conditions, which can be Dirichlet, i.e.,
v(x) = g,
x ∈ ∂Ω,
vn (x) = g,
x ∈ ∂Ω,
or Neumann, i.e.,
(1.3)
or Robin boundary condition. Thus, the Helmholtz equation represents a time-harmonic
form of the wave equation. Henceforth we refer to the problems of type (1.1) and (1.2) as
domain problems.
Another type of wave propagation problems is the scattering problem. Scattering problems concern propagation of waves that collide with some object. More precisely, let Ω be
an object, a scatterer, that is illuminated by an incident wave field uinc . Then, the wave
field that is generated when uinc collides with Ω is the scattered field us (see Figure 1.1).
There are many examples of scattering problems. One of them in nature is for example a
rainbow that appears when the sunlight is scattered by rain drops. Another example is the
scattering of light from the air which is the reason for the blue color of the sky. To describe
the scattering problem mathematically, let us consider an impenetrable obstacle Ω in R3 and
assume that the speed of propagation c(x) = 1 outside Ω. The obstacle is illuminated by
some known incident wave uinc (x, t) which solves the constant coefficient Helmholtz equation pointwise, for example a plane wave eiωx . We also assume that utot = uinc + us = 0
1.1. WAVE PROPAGATION PROBLEMS
3
Figure 1.1: Scattering problem.
on the boundary of the obstacle ∂Ω. Then, the scattering problem is to find the scattered
field us (x) such that it satisfies the Helmholtz equation
∆us (x) + ω 2 us (x) = 0,
x ∈ R3 \ Ω̄
(1.4)
with boundary condition
us (x) = −uinc (x),
x ∈ ∂Ω,
and the Sommerfeld radiation condition
s
∂u
s
lim r
− iωu = 0,
r→∞
∂r
(1.5)
(1.6)
where r = |x|, which guarantees that the scattered wave is outgoing. Instead of boundary
condition (1.5), some other boundary conditions can be used, as above in (1.3). Using the
Green’s representation formula, the scattering problem can be reformulated as a boundary
integral equation which represents the integral form of the problem. One transformation
that is suitable for high-frequency problems [14] is
Z 1 ∂u
Φ(x, y)
∂u
(x) +
− iηΦ(x, y)
(y)ds(y) = f (x),
x ∈ ∂Ω,
(1.7)
2 ∂n
∂n(x)
∂n
∂Ω
where
f (x) =
∂uinc
(x) − iηuinc (x),
∂n
4
CHAPTER 1. INTRODUCTION
η = η(ω) > 0 is a coupling parameter that ensures the well posedness of (1.7) and ∂u/∂n
is to be determined. Here Φ(x, y, ω) denotes the standard fundamental solution of the
Helmholtz equation in R3 which becomes increasingly oscillatory when ω → ∞.
One important difference between scattering problems in homogeneous medium and the
domain problems is in the way the waves are scattered. In the domain problems the waves
are scattered whenever the wave speed changes, while in the scattering problems the waves
are scattered only from the surface of the scatterer.
1.2
Geometrical Optics
High frequency wave propagation problems require many discretization points/ elements
to resolve the solution and therefore become computationally very expensive. Instead,
asymptotic approximation such as geometrical optics (GO) can be used. See for example
[21, 62, 52]. It is applicable to domain problems as well as to scattering problems. The key
idea in GO is that the highly oscillating solution is represented as a product of a slowly
variable amplitude function A and an exponential function of the slowly variable phase
function φ multiplied by the large parameter ω. Hence, instead of the oscillating wave field,
the unknowns in GO are the phase and the amplitude which vary on a much coarser scale
than the full solution (see Figure 1.2). They are therefore easier to compute numerically, at
a cost independent of the frequency. However, the approximation is only accurate for large
frequencies. It typically requires that variations in the speed of propagation c(x) are on a
scale much larger than the wave length. Consider the Helmholtz equation (1.2). In the GO
5
0
−5
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
4
3
2
−1
0
−2
−4
−6
−1
Figure 1.2: Real part of the solution of Helmholtz equation (top), the amplitude (middle)
and the phase (bottom). It can be noticed that the amplitude and the phase vary on a
much coarser scale than the solution.
1.2. GEOMETRICAL OPTICS
5
approximation its solution is sought in the form
u(x) = eiωφ(x)
∞
X
Ak (x)(iω)−k .
(1.8)
k=0
Substituting (1.8) in (1.2) and equating to zero the coefficients of the powers of ω yields
the Hamilton-Jacobi type eikonal equation for the phase φ
1
(1.9)
|∇φ| = ,
c
and a system of linear transport equations
2∇φ · ∇A0 + ∆φA0 = 0
...
(1.10)
2∇φ · ∇An+1 + ∆φAn+1 = ∆An ,
for the amplitudes Ak , k = 0, 1, . . . . For large frequencies, Ak , k > 0 in (1.8) can be
discarded, so only the transport equation for A0 remains to be solved in (1.10) and u(x) ≈
A0 (x)eiωφ(x) .
If the eikonal equation (1.9) is solved through the method of characteristics GO can be
formulated as a system of ordinary differential equations (ODEs). Let p = ∇φ and define
a Hamiltonian
H(x, p) = c(x)|p|.
Then, instead of (1.9), we are solving the following system of ODEs
dx
= ∇p H(x, p),
(1.11)
dt
dp
= −∇x H(x, p),
(1.12)
dt
where (p(t), x(t)) is a bicharacteristic related to the Hamiltonian H(x, p). The parametrization t corresponds to the phase of the wave φ(x(t)) = φ(x0 ) + t. There is also a system of
ODEs for the amplitude.
Finally, one can introduce a kinetic model of GO. It is based on the interpretation that
rays are trajectories of particles following Hamiltonian dynamics. Let p be the slowness
vector defined above and introduce the phase space (t, x, p) such that the evolution of
particles in this space is given by the system of equations (1.11)–(1.12). Letting f (t, x, p)
be a particle density function, it will satisfy the Liouville equation [6, 20]
ft + ∇p H · ∇x f − ∇x H · ∇p f = 0,
(1.13)
where ∇p H and ∇x H are given by (1.11)–(1.12).
A disadvantage of asymptotic approximations such as GO is that it cannot capture
some typical wave properties such as diffraction. Diffracted waves are produced when the
incident field hits edges, corners or vertexes of the obstacle or when the incident wave hits
the tangent points of the smooth scatterer (creeping waves). To overcome the problem
with diffracted fields, an asymptotic expansion with correction terms has been proposed
by Keller [35] in his geometrical theory of diffraction (GTD). GTD makes up for the GO
solution on the boundary of the scatterer where some terms of this solution vanish. For
example, GTD expansion of the solution accounts for the phase and the amplitude of the
diffracted waves. It does so by means of several laws of diffraction which allow to use the
same principles as in GO to assign a field to each diffracted ray.
Another disadvantage of GO is that it fails when the amplitude A0 is unbounded, at
caustics where waves focus. One way to remedy this is to use Gaussian beams [44, 49, 3].
6
1.3
CHAPTER 1. INTRODUCTION
Numerical Methods
In this section we describe different numerical methods that can be used for the numerical
solution of wave propagation problems. We first consider classical direct numerical methods
and GO based methods. We then discuss more recent developments: methods that have an
almost frequency independent computational cost, and so-called time-upscaling methods.
The method developed in this thesis is strongly related to these new types of methods.
Direct Numerical Methods
One way to solve partial differential equations numerically is to use finite difference methods,
in which the derivatives are approximated by the differences of the neighboring points on
a grid [29]. When a PDE is time dependent, one can discretize it first in space (semidiscretization) and then use some ODE solver to advance in time. Different choice of
ODE schemes together with a space discretization of a certain order results in different
finite difference methods. One example is the Crank-Nicolson method that is obtained
when the second order space discretization is combined with the trapezoidal rule. For
explicit methods special attention should be paid to the stability issues, i.e. time step must
be shorter then the space discretization step (CFL condition). The equation can also be
discretized on a staggered grid which is in some cases computationally advantageous. One
standard staggered finite difference scheme for wave equations is the Yee scheme introduced
by Kane S. Yee in 1966 [63] and further developed by Taflove in the 70s [55, 56].
Finite volume methods are direct methods that are based on the integral form of the
equation instead on the differential equation itself [40]. Similarly to the finite difference
methods, the domain is first split into grid cells or f inite volumes which do not necessarily
have to be of the same size. The unknown is then the approximation of the average of
the solution over each cell. In 1D intervals are used for finite volumes, in 2D one can
use quadrilaterals and approximate the line integrals by the average of the function values
on each side of the line, or triangles and approximate the line integrals along the sides
by the function values at neighboring triangles. In finite volume methods it is easy to
use unstructured grids which makes those methods suitable for problems with complex
geometry. However, the extension of finite volume methods to higher order accuracy can
be very complicated.
Finite element methods are based on the variational formulation of the problem which is
obtained when the equation is multiplied by test f unctions and integrated over the domain
using integration by parts [24, 7]. For discrete approximation of the problem, the function
space S on which the variational formulation is defined is replaced by a finite dimensional
subspace Sh . The approximation uh of the solution u is expressed as a linear combination of
the finite number of basis f unctions φj (x) which are defined to be continuous and nonzero
only on small subdomains. In that way, time independent problems are transformed into
a sparse system of equations and time dependent problems are transformed into an initial
value problem for a system of ODEs with sparse matrices. The unknowns are the coefficients
in the linear combination of basis functions. In the time dependent case the vector holding
the time derivative of the solution is multiplied by a matrix (the mass matrix). The method
therefore becomes implicit and a system of algebraic equations has to be solved at every
time step which can be computationally costly. There are techniques to avoid this problem
by for example approximating the mass matrix by a diagonal matrix (’mass lumping’). A
great advantage of FEM is that it is mathematically well motivated with rigorous error
estimates. Furthermore, if there is an energy estimate of the original problem, the stability of the space approximation follows directly. As in finite volume methods unstructured
1.3. NUMERICAL METHODS
7
grids are easy to use and FEM is thus also very well suited for the problems with complex
geometries. It should be noted, however, that adaptivity which can be easily implemented
in FEM, only play a limited role in wave propagation problems, since the same wavelength
has to be resolved everywhere.
In discontinuous Galerkin methods [13], similarly as in FEM, the original problem is
transformed into the weak formulation by multiplying the underlying equation by test functions and integrating by parts. The difference is that the integration is not done over the
whole domain but over the subintervals which are centered around discretization points similarly to finite volume methods. The requirement on the continuity of the basis functions
and thus of the solution is now relaxed allowing for discontinuities. The basis functions
are chosen to be nonzero only on one subinterval. Compared to FEM, in a time dependent
case, the problem is transformed into a system of ODEs which can be solved with a fast
explicit difference method, i.e. no algebraic system of equations has to be solved at every
time step. However, the stability of the solution does not follow automatically like in FEM.
In spectral methods [59, 29, 31], the solution is approximated as a linear combination of
smooth basis functions like Chebyshev or Legendre polynomials or trigonometric functions.
The difference from the finite element methods is that the basis functions here are usually
nonzero over the whole domain. Often, spectral methods involve the use of the Fourier
transform. The solution of the problem is first written as its Fourier transform and then
substituted in the PDE. In that way, a system of ODEs is obtained which then can be solved
with some ODE solver. Fourier expansion of the solution normally requires the problem to
be periodic. For nonperiodic problems other basis functions are recommended, for example
Chebyshev or Legendre polynomials. Spectral methods have high, exponential, order of
accuracy, but can be difficult to use in complex geometries.
The direct methods described above can also be applied to the Helmholtz equation. The
relative advantages and disadvantages of the methods are the same in terms of handling
complex geometry and boundary conditions. Finite difference, finite element and finite
volume methods lead to sparse systems of equations with the number of unknowns N that
depends on the frequency, N ∼ ω. For high frequencies, those systems are large and
direct methods like Gaussian elimination become computationally too expensive in higher
dimensions. The alternative is to use iterative methods. However, there is a difficulty
in this approach, as well. Since the system of equations is indefinite and ill-conditioned,
iterative methods have slow convergence rate. The convergence rate can be improved by
preconditioning but finding a good preconditioner for Helmholtz equation is still a challenge
[25]. The indefiniteness makes it difficult to use multigrid and the conjugate gradient
method. Typically Krylov subspace methods, like GMRES or Bi-CGSTAB are used instead.
Preconditioners can for instance be based on incomplete LU-factorization [43] or on fast
transform methods [47, 39, 27, 18]. More recently preconditioners based on a complex
shifted Helmholtz operator has been introduced [26].
For scattering problems one needs to solve an integral equation of type (1.7), see for
example [14, 36]. Let us consider a simplified version of (1.7) in 1D
Z
b
Φ(x, y, ω)u(y)ds(y) = f (x),
x ∈ [a, b].
(1.14)
a
One way to solve (1.14) numerically is to use the collocation method. The idea in this
method is to approximate u(x) by
u(x) =
N
X
j=1
cj ϕj (x),
8
CHAPTER 1. INTRODUCTION
where {ϕj (x)} are basis functions in [a, b]. Next, let xj be a set of points in [a, b]. Usually,
xj are chosen to be centers of the supports of basis functions (see Figure 1.3). Then, the
problem is to find the unknown coefficients {cj } such that
N
X
Z
cj
j=1
b
Φ(xi , y, ω)ϕj (y)ds(y) = f (xi ),
i = 1, . . . , N
(1.15)
a
is satisfied at {xj }. Hence, the problem is transformed into a linear system of equations.
Since the matrix in the system is dense, the computational cost of direct methods is normally
O(N 3 ). Thus, when N is large, direct methods are not feasible. The alternative is to use
iterative methods. Then, the computational cost can be reduced to O(N 2 ). However, for
large N this can still be expensive. This problem can be solved with fast multipole methods
which reduce the complexity to O(N log N ) for any fixed accuracy [50, 23]. Besides the
collocation method, there are other numerical methods that can be used for the numerical
solution of boundary integral equations, for example the Nyström method or the Galerkin
method.
Figure 1.3: Collocation method.
In general, direct numerical methods for high-frequency wave propagation problems need
a certain number of grid points or elements per wavelength to maintain a fixed accuracy.
Hence, if N is the number of grid points in each coordinate direction, one needs at least
N ∼ ω. Computational complexity for time dependent problems is normally O(N d+1 ) for
a d-dimensional problem. For the d-dimensional Helmholtz equation, the cost is at least
O(N d ) but often higher. The complexity of the methods based on an integral formulation of
the problem can be reduced to almost O(N d−1 ). The computational cost for all formulations
thus grows algebraically with the frequency ω. Therefore, at sufficiently high frequencies
(ω 1), direct numerical simulation is no longer feasible.
GO-based Methods
Methods based on the GO approximation are suitable for high-frequency wave propagation
problems. For the different mathematical models for GO, there are different numerical
methods.
PDE-based methods are used for the eikonal and transport equations (1.9) and (1.10).
The equations are solved directly on a uniform grid to control the error. The eikonal
1.3. NUMERICAL METHODS
9
equation is a Hamilton-Jacobi type equation and it has a unique viscosity solution which
can be computed numerically by finite difference methods for example. Some of them are
upwind-based methods like the fast marching method [53, 61] and the fast sweeping method
[60]. For time dependent eikonal equations one can use high-resolution methods of ENO
and WENO type [46]. However, at points where the correct solution is multivalued the
viscosity solution is not enough because the eikonal and the transport equations describe
only one unique wave at a time. Therefore, some other numerical techniques must be used.
Some examples are the big ray tracing method, the slowness matching method and the
domain decomposition based on detecting kinks in the viscosity solution. In all methods,
the solution is obtained by solving several eikonal equations.
Ray tracing methods [12, 33, 37, 57] are used to solve the ray equations (1.11)–(1.12).
That system can be augmented with another system of ODEs for the amplitude. The
ODEs are solved with standard numerical methods for example second or fourth order
Runge-Kutta methods. The phase and the amplitude are calculated along the rays and
the interpolation must be used to obtain the solution in points other than the grid points.
However in regions with diverging or crossing rays this method is not efficient.
Methods based on the kinetic formulation of GO are phase space methods. The Liouville
equation (1.13) has a large number of independent variables and therefore a lot of unknowns
has to be used in the numerical methods which can be computationally ineffective. To
overcome this problem one can use wave-front methods and moment-based methods. In
wave-front methods a wave front is evolved following the kinetic formulation. Some of
the wave front methods are the level set method [45] and the segment projection method
[22, 58]. In moment-based methods a kinetic transport equation set in a high-dimensional
phase space (t, x, p) is approximated by a finite system of moment equations in the reduced
space (t, x). In that way, the number of unknowns is decreased. For more details, see [6, 51].
Methods with Weakly Frequency Dependent Cost
The situation described above can be summarized as follows: For direct methods the computational cost grows with frequency for fixed accuracy, while for GO methods the accuracy
grows with frequency for fixed computational cost. Unfortunately, the frequency range and
accuracy requirement of many realistic problems often fall in between what is tractable with
either of these approaches.
Recently a new class of algorithms have been proposed that combine the cost advantage
of GO methods with the accuracy advantage of direct methods. They are thus characterized
by a computational cost that grows slowly with the frequency, while at the same time being
accurate also for moderately high frequencies. It should be noted that one needs at least
O(ω) points to resolve the solution. If that many points are used, then the computational
cost is, of course, at least O(ω). In these methods, however, one does not resolve the
solution, but computes instead GO like solutions. Therefore, one can only expect to get the
full solution in O(1) points.
The main interest of the new methods have been for scattering problems [8, 38, 16, 1, 32].
Those methods are based on the integral formulation of the Helmholtz equation (1.7). The
key step is to write the surface potentials as a slowly varying function multiplied by a fast
phase variation. Instead of approximating the unknown function v := ∂u/∂n directly, the
following ansatz is used
v(x, ω) ≈ ωeiωφ(x) V (x),
x ∈ ∂Ω.
(1.16)
The basic idea is that, using asymptotic analysis, the phase function φ can be determined in
such a way that V (x) is much less oscillatory than the original unknown function v. More
10
CHAPTER 1. INTRODUCTION
precisely, φ(x) is taken as the phase of the geometrical optics approximation. For instance,
ˆ then φ = x · d.
ˆ Hence, the ansatz becomes
when uinc is a plane wave in direction d,
ˆ
v(x, ω) = ωeiωx·d V (x, ω),
(1.17)
ˆ
where V now varies slowly with ω. Each side of (1.7) is then multiplied by e−iωx·d to obtain
1
V + DV − iηSV = i(ω dˆ · n̂ − η),
2
where the operators S and D are defined as follows
Z
ˆ
SV (x) =
Φ(x, y, ω)eiω(y−x)·d V (y)dy,
Z∂Ω
∂Φ(x, y, ω) iω(y−x)·dˆ
DV (x) =
e
V (y)dy.
∂n(x)
∂Ω
(1.18)
(1.19)
(1.20)
Thus, the problem becomes to find the amplitude V (x, ω) by solving the integral equation
(1.18). The amplitude varies slowly away from the shadow boundaries and can be represented by a fixed set of grid points, i.e. independently of the frequency. The integral
equation can be solved for example with the collocation method. In this method one needs
to compute integrals of the type given in (1.15). Although the amplitude is a slowly varying function, the integrals cannot be computed independently of the frequency by direct
numerical methods since their kernels are oscillatory (c.f. (1.19)–(1.20)). To overcome this
problem an extension of the method of stationary phase has been suggested [8]. Since the
values of the integrands and their derivatives in critical points make the only significant
contributions to the oscillating integrals, an integration procedure based on localization
around those points was introduced. Since the amplitude near shadow boundaries is varying rapidly, those regions are treated with special consideration. However the method works
mainly for problems with convex scatterers. For more information about these methods see
[11]. The extension of the method to non-convex scatterers is proposed in [9, 17].
Rigorous proofs of the low cost of these methods is difficult and requires detailed results
on the asymptotic behaviour of the exact solution near shadow boundaries. An example of a
result, due to Dominguez, Graham and Smyshlyaev [16], concerns convex smooth scatterers
in 2D. They show that for a Galerkin discretization with N unknowns where the integrals
corresponding to (1.19), (1.20) are computed exactly, the relative error in V (y) can be
estimated as
!
1/9 6
k
α
−Ck1/3
+e
,
rel. err ∼ k
N
where α is a small exponent less than one. Hence, if N is slightly larger than k 1/9 the error
is controlled.
For full domain problems much less has been done. In some sense this is more difficult
than the scattering problem in a homogeneous medium because the waves are reflected
at all points where the wave speed changes, not only at the surface of a scatterer. One
attempt at lowering the computational cost along the lines above has been to use ”plane
wave basis functions” in finite element methods [48, 28, 10]. The method can be seen as
a Discontinuous Galerkin method with a particular choice of basis functions. However,
except in simple cases these methods do not reduce the complexity more than by a constant
factor. The method proposed by Giladi and Keller [28] is a hybrid numerical method for
the Helmholtz equation in which the finite element method is combined with GO. The idea
1.3. NUMERICAL METHODS
11
is to determine the phase factor which corresponds to the plane wave direction a priori
by solving the eikonal equation for the phase using ray tracing and then to determine the
amplitude by a finite element method choosing asymptotically derived basis functions which
incorporate the phase factor.
A tailored finite-point method for the numerical simulation of the Helmholtz equation
with high frequency in heterogeneous medium has been recently proposed by Han and
Huang in [30]. They suggest to approximate the wave speed function c(x) by a piecewise
constant function and then solve the equation on every subdomain exactly. The speed
function is assumed to be smooth and monotone in each interval.
Time Upscaling Methods
Time upscaling methods have been proposed to overcome the problem with computational
complexity of direct simulation of time dependent wave propagation. The aim is to reduce
the extra cost incurred by the time–stepping. There is an interesting connection between
these methods and methods with frequency independent cost, which will be described at
the end of this section.
Let us now consider a d–dimensional problem and suppose N discretization points in
every space direction and M discretization points in time. For explicit methods, due to the
stability (CFL) and accuracy requirements it is necessary to have M ∼ N r where r = 1 for
hyperbolic problems and r = 2 for parabolic problems. Then, the computational cost for
a time interval of O(1) is O(N d+r ). With time upscaling the computational cost can be
reduced to O(N d log N ) or even to O(N d ) while maintaining the same accuracy.
For the advection and parabolic equations with spatially varying coefficients, time upscaling methods are proposed in [19]. The authors suggest to use the fast transform wavelet
together with truncation. Consider the following evolution equation
x ∈ Ω ⊂ Rd ,
∂t u + L(x, ∂x )u = 0,
t > 0,
u(x, 0) = u0 (x),
where L is a differential operator. After discretization, collecting the unknowns in a vector
d
u ∈ RN , the equation becomes
un+1 = Aun ,
(1.21)
0
u = u0 ,
where A is a N d × N d matrix approximating the operator ∂t + L. The computational
complexity is of order O(N d+r ). Clearly, (1.21) is equivalent to
un = An u0 .
(1.22)
Then, repeated squaring of A can be used to compute the solution of (1.22) in log2 M steps
m
for M = 2m , where m is an integer, i.e. one can compute A, A2 , A4 , . . . , A2 in m = log2 M
steps. Since the matrix A is sparse, the cost of squaring is O(N d ). However, the later
squarings involve almost dense matrices and the computational cost is then O(N 3d ). The
total cost becomes O(N 3d log M ) which is more expensive than to solve (1.21) directly.
Instead, Engquist, Osher and Zhong in [19] suggest a wavelet representation of A which can
decrease the computational complexity of the repeated squaring algorithm. More precisely,
12
CHAPTER 1. INTRODUCTION
the solution of (1.22) can be computed in m = log2 M steps in the following way
B := SAS −1 ,
B := TRUNC(B 2 , )
n
u := S
−1
(iterate m steps)
(1.23)
0
BSu .
The matrix S corresponds to a fast wavelet transform and the truncation operator TRUNC
sets all elements of A that are less than to 0. It is obvious that the algorithm (1.23) is
equivalent to (1.22) for = 0 and it was shown in [19] that there exist a small enough such
that the result of the algorithm (1.23) is close to (1.22). Through truncation the algebraic
problem with dense matrices is transformed to a problem with sparse matrices. The authors
also showed that the cost to compute the 1D hyperbolic equation can be reduced from O(N 2 )
to O(N log3 N ) for a fixed accuracy. Furthermore, for d–dimensional parabolic problems
the computational complexity can be reduced from O(N d+2 ) to O(N d (log N )3 ).
A similar technique is proposed in [15] by Demanet and Ying. They consider the 2D
wave equation
utt − c2 (x)∆u = 0,
u(x, 0) = u0 ,
x ∈ [0, 1]2
ut (x, 0) = u1 ,
with periodic boundary conditions. They assume c(x) ∈ C ∞ to be positive and bounded
away from zero and propose to transform the wave equation into a first order system of
equations,
vt = Av,
v(t = 0) = v0 ,
where v = (ut , ux ) and A is a 2-by-2 matrix of operators. The system is then solved up to
time t = T using wave atoms, which provide a sparse representation of the matrix, combined
with repeated squaring and truncation as above. On a N by N grid the computational cost
is reduced from O(N 3 log N ) of pseudo-spectral methods to O(N 2+δ ) for arbitrarily small
δ of naive version of the wave atom method. For the final algorithm they proved rigorously
that the computational cost is between O(N 2.25 ) and O(N 3 ) depending on the initial data
and the structure of c(x). The key of the proof is to show that the solution operator eAt
remains almost sparse for all t in the wave atom basis.
Another fast time upscaling method for the one-dimensional wave equation is proposed
by Stolk [54]. The idea here is first to rewrite the wave equation as a system of one–way
wave equations, then transform them into wavelet bases and solve using multiscale stepping
which means that the fine spatial scales are solved with longer time steps and the coarse
spatial scales are solved with the shorter time steps. The computational cost is only O(N )
for fixed accuracy.
Hence, it can be noted that when the wave equation is solved with the time upscaling
methods with repeated squaring, the solution is given on a grid that is coarse in time
and dense in space direction. One can also solve the wave equation by solving Helmholtz
equations for each frequency component. This is like taking a Fourier/Laplace transform in
time. A space discretization with N points then corresponds to N Helmholtz equations for
N frequency components. If the Helmholtz equation is solved with a frequency independent
method, then the total cost is O(N ), but the solution is obtained only in O(1) points. After
an inverse FFT for each point at a cost of O(N log N ) the solution of the wave equation is
obtained on a dense grid in time but coarse in space at a total cost O(N log N ), i.e. the
same as in time upscaling, see Figure 1.4.
1.3. NUMERICAL METHODS
13
t
t
T
0
0
a
b
x
a
b
x
Figure 1.4: In time upscaling methods the solution is given on a coarse grid in time (left).
In frequency independent numerical method the solution would be obtained on a grid that
is coarse in space (right).
Organization of the Thesis
The thesis is organized as follows. In Chapter 2 we describe our method. In Chapter 3 we
derive estimates of the solution to the one–way wave equation and show the convergence
of the algorithm. In Chapter 4 we do the error analysis of the numerical implementation
and show that the computational cost depends only weakly on the frequency. Numerical
examples are given in Chapter 5.
Chapter 2
A Fast Method for Helmholtz
Equation
We focus on the high frequency wave propagation problem in a bounded domain with a
varying wave–speed function. The problem is described by the Helmholtz equation augmented with non-reflecting boundary conditions that also incorporate an incoming wave.
The computational complexity of direct numerical methods applied to this problem grows
algebraically with the frequency ω. The computational cost is at least O(ω d ) for a ddimensional problem. Therefore, direct numerical simulations become inapplicable for sufficiently high frequencies and some other methods have to be used. We propose a fast
method for solving the Helmholtz equation based on wave–splitting. The Helmholtz equation is split into one–way wave equations (backward and forward), which are then solved
with appropriate boundary conditions and approximate forcing functions. In a domain
where the forcing function is equal to zero GO is used and some standard p-th order numerical method otherwise. The result is an approximation of a type of Bremmer series [5].
In this chapter we present the model and describe our method. In later chapters we will
show that the algorithm is convergent and that for fixed accuracy, the computational cost
is O(ω 1/p ) for a p-th order numerical method.
We consider mainly a model problem in one dimension, but we will also describe how
the algorithm can be extended to higher dimensions. Although there are already some
interesting applications in one dimension, e.g. inverse problems for transmission lines [41],
most practical problems are of course in higher dimensions. Our focus in this thesis is
on the analysis of the method and to show rigorous error and cost estimates. For higher
dimensions, however, this is a much harder problem and we will restrict the analysis to the
one-dimensional case.
2.1
Derivation of the Method in One Dimension
Consider the 1D Helmholtz equation
uxx +
ω2
u = ωf, x ∈ [−L, L],
c(x)2
15
(2.1)
16
CHAPTER 2. A FAST METHOD FOR HELMHOLTZ EQUATION
where ω is the frequency and c(x) is the wave–speed function such that supp(cx ) ⊂ (−L, L).
We augment the equation (2.1) with the following boundary conditions
ux (−L) − iωu(−L) = −2iωA,
(2.2)
ux (L) + iωu(L) = 0,
(2.3)
where A is the amplitude of the incoming wave. At high frequencies GO is a good approximation of the solution. We want to find a way to correct for the errors it makes at lower
frequencies. A natural idea would be to use the system of WKB equations (1.10). However
(1.8) does not converge, even in simple settings. It is only an asymptotic series. More
precisely, a problem with (1.10) is that it only describes waves traveling in one direction. In
reality, waves are reflected whenever cx 6= 0. Hence, to incorporate two directions we make
the ansatz
1
iωv + c(x)vx − cx (x)v = F,
2
1
iωw − c(x)wx + cx (x)w = F.
2
(2.4)
(2.5)
This describes wave propagation in the right-going (v) and left-going (w) direction. Moreover, if z = v + w, then it satisfies the following equation (see Lemma 1)
c2 zxx + ω 2 z = −2iωF + α(x)z,
where
1
1
ccxx − c2x .
(2.6)
2
4
Thus, if F = α(x)z/2iω, then z is the solution of the Helmholtz equation (2.1) with f = 0.
We now make an expansion of v and w in powers of ω,
X
X
v=
rn ω −n ,
w=
sn ω −n .
(2.7)
α(x) =
n
Then, (2.4) and (2.5) become
X
1
iωrn + c(x)∂x rn − cx (x)rn −
2
n
X
1
iωrn − c(x)∂x sn + cx (x)sn −
2
n
n
α(x)
(rn−1 + sn−1 ) ω −n = 0,
2i
α(x)
(rn−1 + sn−1 ) ω −n = 0.
2i
Defining vn = rn ω −n and wn = sn ω −n and equating terms with the same powers in ω to
zero, we obtain the methods below. In contrast to (1.8) the series (2.7) converge quickly
for large ω.
Method 1
Let
1
1
iωvn + c(x)∂x vn − cx (x)vn = −
fn (x)
2
2iω
1
1
iωwn − c(x)∂x wn + cx (x)wn = −
fn (x)
2
2iω
(2.8)
(2.9)
2.1. DERIVATION OF THE METHOD IN ONE DIMENSION
for x ∈ [−L, L] and n ≥ 0, with the initial conditions:
A, n = 0
vn (−L) =
0, n > 0
17
(2.10)
and
wn (L) = 0, ∀n.
(2.11)
The right hand side in (2.8) and (2.9) is defined by the following expression
f0 (x) = ωf (x),
(2.12)
fn+1 (x) = −α(x)(vn (x) + wn (x)).
(2.13)
Assume we are solving equations (2.8) and (2.9) for n = 0, 1, 2, . . . , m with the given initial
conditions (2.10) and (2.11) and the source function fn that is defined by (2.12)–(2.13).
Then, it can be shown that the solution u(x) of the Helmholtz equation (2.1) can be approximated by the following sum
u(x) ≈ zm =
m
X
(vk (x) + wk (x)).
(2.14)
k=0
Remark 1. This is similar to Bremmer series [5], where
cx
cx (x)
vn (x) = − wn−1 (x),
2
2
cx
cx (x)
iωwn (x) − c(x)∂x wn (x) +
wn (x) = vn−1 (x),
2
2
iωvn (x) + c(x)∂x vn (x) −
with no ω −1 in the right hand side. The convergence is more subtle but has been shown in
[2, 34, 4, 42]. We prefer (2.8)–(2.9) as it clearly separates waves of different size in terms
of ω −1 , which leads to a simpler analysis.
Thus, we can solve equations (2.8) and (2.9) with some p-th order ODE numerical method
m ≥ 0 times and approximate the solution of (2.1) by (2.14). However, the computational
complexity still grows algebraically with the frequency ω.
Method 2
Now, note that (2.8) and (2.9) can be simplified when fn = 0. Then, using the ansatz
vn = Aeiωφ
in (2.8) we obtain equations for A and φ,
∂x φ =
1
,
c(x)
∂x A =
cx (x)
A(x).
2c(x)
(2.15)
This is in fact GO and can be solved independently of the frequency. Similar equations can
be obtained when the ansatz is used in (2.9). Thus, the computational cost estimate can
be improved by approximating the forcing functions. We can do the following:
Replace fn by fˆn with
0,
|fn (x)| < Toln
fˆn (x) =
(2.16)
fn (x), otherwise
18
CHAPTER 2. A FAST METHOD FOR HELMHOLTZ EQUATION
where
Toln =
ωTol
2n+1 L
(2.17)
for some tolerance Tol. More precisely, let fˆ0 = ωf and define
1
1 ˆ
iωv̂n + c(x)∂x v̂n − cx (x)v̂n = −
fn (x)
2
2iω
(2.18)
1 ˆ
1
fn (x)
iω ŵn − c(x)∂x ŵn + cx (x)ŵn = −
2
2iω
(2.19)
with initial data
v̂n (−L) =
A, n = 0
0, n > 0
(2.20)
and
ŵn (L) = 0, ∀n.
(2.21)
fn+1 (x) = −α(x)(v̂n (x) + ŵn (x)).
(2.22)
Moreover,
Again it can be shown that the solution u(x) of the Helmholtz equation (2.1) can be approximated by
m
X
(v̂k (x) + ŵk (x)).
(2.23)
u(x) ≈ ẑm =
k=0
Thus, equations (2.18)–(2.19) can be solved independently of the frequency in a domain
where fˆn = 0. In a domain where fˆn 6= 0 a direct ODE numerical method can be used.
The solution of (2.1) is then approximated by (2.23).
Hence, the algorithm for computing the solution of (2.1)–(2.3) is as follows: Choose
some tolerance Tol and, for n = 0, 1, 2, . . . , do the following
1. Replace the function fn by fˆn defined by (2.16). If fˆn ≡ 0 stop, else
2. Compute v̂n and ŵn from (2.18) and (2.19). In a domain where fˆn 6= 0 use a direct p-th order numerical method with stepsize ∆xf = Tol1/p /ω 1+1/p , otherwise use
geometrical optics with stepsize ∆xc = ω∆xf , Figure 2.1,
3. Compute ûn = v̂n + ŵn and add ûn to ûn−1 . Note that in a Runge-Kutta scheme the
function fˆn may need to be evaluated in between the grid points. To obtain those
values of fˆn , we use p-th order interpolation.
4. Compute fn+1 from v̂n and ŵn , go to 1.
P
The solution of (2.1)–(2.3) is approximated by k ûk .
These methods converge rapidly for large ω as we prove in the following chapters. We
will also show that the computational cost is proportional to ω 1/p for a fixed tolerance,
where p is the order of the numerical scheme.
2.2. FORMULATION IN TWO DIMENSIONS
19
|f_n|
Figure 2.1: Function |fn |. In a domain where |fn (x)| < Toln fˆn (x) = 0 and we can use GO
to solve (2.18) and (2.19), otherwise fˆn (x) = fn (x) and some p-th order ODE numerical
scheme can be used.
2.2
Formulation in Two Dimensions
Consider the 2D Helmholtz equation
∆u +
ω2
u = ωf (x).
c(x)2
(2.24)
In 1D we split (2.24) into two equations, one for waves propagating to the right and the
other for the waves propagating to the left. However, in 2D, waves do not propagate only
backward and forward. They propagate asymptotically in the direction ∇φ where φ solves
the eikonal equation
1
|∇φ|2 =
.
c(x)2
Then, a natural extension of the 1D method would be to split the Helmholtz equation (2.24)
into the following equations
c(x)2 ∆φn
fn
vn =
,
2
2iω
c(x)2 ∆φn
fn
iωwn − c(x)2 ∇φn · ∇wn −
wn =
,
2
2iω
iωvn + c(x)2 ∇φn · ∇vn −
(2.25)
(2.26)
Pm
where the functions fn have to be determined in such a way that zm = j=0 (vj + wj ) is
a good approximation of the Helmholtz equation. Following the same arguments as in 1D,
we conclude that
fn+1 (x) =
α(x)
2
⊥
(vn + wn ) + ∇φ⊥
n · ∇ c(x) ∇φn · ∇(vn + wn ) ,
2
(2.27)
where ∇φ⊥ · ∇φ = 0 and
α(x) = −∇
c2 ∆φ
2
· ∇φ −
c2 (∆φ)2
.
4
(2.28)
In general, the method in 2D would then be the same as in 1D, i.e., approximate fn by
fˆn when fn is small and solve the equations on a coarse grid in the domain where fn is
small and on a dense grid otherwise. As in 1D case, when fn = 0, vn and wn solve GO
20
CHAPTER 2. A FAST METHOD FOR HELMHOLTZ EQUATION
equations. Note that C = constant does not imply that α = 0 as in one dimension. Hence,
GO is not exact when a wave front is curved. Moreover, the ∇(vn + wn ) term in (2.27)
may now possibly be large. However, when vn is a wave of the form vn = Aeiωφn , then
⊥
iωφn
∇φ⊥
= O(1). There is a number of additional difficulties:
n · ∇vn = ∇φn · ∇Ae
• Caustics appear. This implies that ∇φ may not exist everywhere. That means that
one has to resolve everything also in an area around caustics. (The size of this is still
small though.)
• Multiple crossing waves. One will need a formula for computing φn+1 from vn , wn
and φn .
• Analysis is much harder. There are no L∞ estimates with ω-independent constants
available.
Chapter 3
Analysis
In this chapter we analyze the method when (2.18) and (2.19) are solved exactly. We will
first derive estimates of the solution of the equations (2.8) and (2.9) and its derivatives. We
then show that ẑm in (2.23) converges to the solution of (2.1)–(2.3). Next, we give an error
estimate in terms of n and Tol. As a side effect we obtain a L∞ estimate of the solution
of the Helmholtz equation in 1D. We also show that the size of the domain where a direct
method, which resolves the wavelength, is used is proportional to O(ω 1/p ). Hence, we prove
the following
Theorem 1. Assume ω > 1, c(x) ∈ C 2 [−L, L], and
2β|α|L1
≤ δ0 < 1,
ω
β=
1
2
r
cmax
.
c3min
(3.1)
If u is the solution of (2.1)–(2.3), then
|u − ẑm |∞ ≤ C (|A| + |f |L1 )δ0m+1 + Tol .
(3.2)
C
,
ω
(3.3)
Moreover,
meas{fˆn 6= 0} = meas{|fn | ≥ Toln } ≤
and
|u|∞ ≤ C(|A| + |f |L1 ).
(3.4)
The constants in (3.2)–(3.4) do not depend on ω.
Remark 2. If Tol = 0, (3.2) shows the convergence of method 1. From (3.3) it follows that
the computational cost of our method will not grow fast with ω. More precisely,
cost ∼
3.1
1
meas{fˆn 6= 0}
+
= O(ω 1/p ).
∆xc
∆xf
Utility Results
In order to prove Theorem 1, we begin by deriving some useful utility results. Consider the
following initial value problem
d
y = iωa(x, ω)y + b(x, ω),
dx
y(x0 ) = y0 .
21
x0 ≤ x ≤ x1
(3.5)
(3.6)
22
CHAPTER 3. ANALYSIS
where a(x, ω) and b(x, ω) are given functions that depend on the frequency ω. Before we
continue, note that equations (2.8) and (2.9) can be rewritten in the form of (3.5). If we
define
1
cx (x)
−i
c(x)
2c(x)ω
1
fn (x),
b(x, ω) = −
2iωc(x)
a(x, ω) = −
(3.7)
(3.8)
(2.8) and (2.9) become
dvn
= iωa(x, ω)vn + b(x, ω)
dx
dwn
= iωa(x, ω)wn − b(x, ω).
dx
(3.9)
(3.10)
Theorem 2. Consider (3.5)–(3.6). Suppose
• ω > 1,
• a(x, ω), b(x, ω) ∈ C k−1 ([x0 , x1 ]), for each ω > 1
• supx0 ≤x≤x1 |∂xp a(x, ω)| < Cp , ∀ω, 0 ≤ p ≤ k − 1, where Cp is some constant independent of ω,
• −ω · Im(a(x, ω)) ≤ a0 for some constant a0 independent of ω.
Let
C0 =
sup
x0 ≤t,x≤x1
−ω Rtx Im(a(s,ω))ds e
.
(3.11)
If y(x) is a solution of (3.5)–(3.6), then
|y|∞ ≤ C0 (|y0 | + |b|L1 ) ,
k ∂x y ≤ Ck
∞
k
ω |y0 | +
k
X
(3.12)
!
ω
i−1
|∂xk−i b(x, ω)|∞
k
+ ω |b|L1
, k ≥ 1,
(3.13)
i=1
where Ck , k ≥ 0, are some constants that do not depend on ω or b(x, ω).
Proof. Let us first prove (3.12). The exact solution of (3.5)–(3.6) is given by
Z x
R
Rx
iω xx a(s,ω)ds
0
y(x) = y0 e
+
b(t, ω)eiω t a(s,ω)ds dt.
x0
Then
|y|∞
Z x
Rx
R
iω x0 a(s,ω)ds iω tx a(s,ω)ds ≤ sup e
b(t, ω)e
dt
|y0 | + sup x0 ≤x≤x1
x0 ≤x≤x1
x
Rx
0 Rx
iω x0 a(s,ω)ds iω t a(s,ω)ds ≤ sup e
|y0 | + sup e
|b|L1
x0 ≤x≤x1
x0 ≤t,x≤x1
R
Rx
−ω xx0 Im(a(s,ω))ds ≤ sup e
|y0 | + sup e−ω t Im(a(s,ω))ds |b|L1
x0 ≤x≤x1
≤ C0 (|y0 | + |b|L1 ) ,
x0 ≤t,x≤x1
(3.14)
3.2. ESTIMATES OF ONE-WAY SOLUTIONS
23
where C0 is defined by (3.11). Thus, (3.12) is proved.
To prove (3.13) we use mathematical induction. From (3.5), it follows
|∂x y|∞ ≤ ω|a|∞ |y|∞ + |b|∞
≤ C (ω|y|∞ + |b|∞ )
≤ C1 (ω|y0 | + |b|∞ + ω|b|L1 ) .
(3.15)
Hence, (3.13) is true for k = 1. Next, assume that (3.13) is true for k ≤ n for some n ≥ 1
and show that it is true for k = n + 1. Since (n + 1)st derivative of y(x) is given by the
following formula
∂xn+1 y = iω
n
X
Cnj ∂xn−j a · ∂xj y + ∂xn b,
Cnj =
n(n − 1)...(n − k + 1)
,
k!
i−1
j
j=0
and (3.13) is true for k ≤ n, then
n+1 ∂x y ∞
n
X
≤ω
Cnj ∂xn−j a∞ ∂xj y ∞ + |∂xn b|∞
j=0
≤ Cω
n
X
Cnj
n−j ∂x a
j
∞
ω |y0 | +
j=1

≤ Cω 
j
X
!
ω
|∂xj−i b|∞
+ ω |b|L1
+ |∂xn b|∞
i=1
n
X
ω j |y0 | +
j
n X
X
ω i−1 |∂xj−i b|∞ +
j=1 i=1
j=1
n
X

ω j |b|L1  + |∂xn b|∞ .
(3.16)
j=1
Before we continue, let us estimate
j
n X
X
ω i−1 |∂xj−i b|∞ =
j=1 i=1
n
X
|∂xn−i b|∞
i=1
≤C
n
X
i−1
X
ωj
j=0
ω i−1 |∂xn−i b|∞ .
i=1
Hence, (3.16) becomes
n+1 ∂x y ∞
≤ Cn+1
ω n+1 |y0 | +
n
X
!
ω i |∂xn−i b|∞ + ω n+1 |b|L1 + |∂xn b|∞
i=1
= Cn+1
ω
n+1
|y0 | +
n+1
X
!
ω
i−1
|∂xn+1−i b|∞
+ω
n+1
|b|L1
.
i=1
This proves the theorem.
3.2
Estimates of One-Way Solutions
Here we derive the bounds on the solution and its derivatives of the equations (2.8) and
(2.9). We also show that |vn |∞ → 0 (|wn |∞ → 0), |∂xp vn |∞ → 0 (|∂xp wn |∞ → 0) and
|fn |∞ → 0 under some assumption. Let us prove the following
24
CHAPTER 3. ANALYSIS
Theorem 3. Let vn (x) be a solution of (2.8) and let p ≥ 0. Assume c(x) ∈ C p [−L, L] and
ω > 1. Then
n
β
|∂xp vn |∞ ≤ Cω p (|A| + |f |L1 )
, n ≥ 0.
(3.17)
|α|L1
ω
and
|fn |L1 ≤ C|α|L1 (|A| + |f |L1 )
β
|α|L1
ω
n−1
, n ≥ 1.
(3.18)
Estimate (3.17) is valid for |wn |∞ and |∂xp w|∞ .
Proof. Since the solution of (2.8) is given by (3.14), where a(x, ω) and b(x, ω) are defined
by (4.1) and (4.2), we can use Theorem 2. Let us first verify that a(x, ω) and b(x, ω) satisfy
the assumptions. The assumptions 1, 2 and 3 from Theorem 2 follow directly from the
assumptions in this theorem. Let us check the assumption 4. Since
cx (x)
2c(x)
−ω · Im(a(x, ω)) =
and c(x) ∈ C p [−L, L], then there exist some constant a0 such that the assumption 4 is
satisfied. Now, we can prove Theorem 3. We begin with the estimate (3.17) for p = 0. Let
us first calculate C0 and |b|L1 .
Rx
C0 = sup e−ω t Im(a(s,ω))ds x0 ≤t,x≤x1
R x cs
= sup eω t 2c(s)ω ds x0 ≤t,x≤x1
R “ √
x d ln( c(s))”ds = sup e t
x0 ≤t,x≤x1
p
c(x)
p
= sup
≤ 2βcmin ,
c(t)
x0 ≤t,x≤x1
where β is the constant defined by (3.1). For |b|L1 , we can estimate
1
1
fn (x) ≤
|b|L1 = −
|fn |L1 .
2iωc(x)
2ωc
min
L1
Hence,
|vn |∞
≤ 2βcmin |vn (x0 )| +
≤ |vn (x0 )|C +
1
|fn |L1
2ωcmin
β
|fn |L1 .
ω
When n = 0, v0 (x0 ) = A and f0 (x) = ωf (x). Hence,
|v0 |∞ ≤ C|A| + β|f |L1 ≤ C(|A| + |f |L1 ).
(3.19)
For n ≥ 1, vn (x0 ) = 0, so
|vn |∞ ≤
β
|fn |L1 .
ω
(3.20)
3.2. ESTIMATES OF ONE-WAY SOLUTIONS
25
Using (2.13), we can estimate |fn |L1 , i.e., for n = 1
Z
|f1 |L1 ≤
|α(x)| |v0 (x) + w0 (x)| dx
Z
≤ C (|A| + |f |L1 ) |α(x)|dx
R
(3.19)
R
≤ |α|L1 C (|A| + |f |L1 )
and we use mathematical induction to prove that (3.18) is also valid for n ≥ 2. So, assume
that (3.18) is true for n = k and show that it is true for n = k + 1,
Z
|fk+1 |L1 ≤
|α(x)| |vk (x) + wk (x)| dx
R
(3.20)
β
|fk |L1 |α|L1
ω
k−1
(3.18),n=k
β
β
≤
C |α|L1 (|A| + |f |L1 )|α|L1
|α|L1
ω
ω
k
β
= C|α|L1 (|A| + |f |L1 )
|α|L1 .
ω
≤
Hence, (3.18) is proved and from (3.20) and (3.18) it follows that
|vn |∞ ≤ C (|A| + |f |L1 )
β
|α|L1
ω
n
, ∀n.
To prove (3.17) for p ≥ 1, we again use mathematical induction and Theorem 2. Thus,
since we have already proved (3.17) for p = 0, we assume that (3.17) is true for derivatives
up to the order p and show that it is also true for the derivative of order p + 1, i.e we want
to estimate |∂xp+1 vn |∞ . From Theorem 2, it follows
|∂xp+1 vn |∞ ≤ Cp+1
ω p+1 |vn (x0 )| +
p+1
X
k=1
1
k−1 p+1−k
ω
fn ∂x
2iωc(x)
∞
!
1
+ ω p+1 fn 2iωc
L1
(3.21)
Before we continue, let us estimate
p+1
X
k=1
p
X
1
α
fn =
ω k ∂xp−k
(vn−1 + wn−1 ) 2iωc(x)
2iωc(x)
∞
∞
k=0
p
p−k
X X
α m
=
ωk Cp−k
∂xm (vn−1 + wn−1 )∂xp−k−m
2iωc ω k−1 ∂xp+1−k
k=0
m=0
∞
n−1 X
p
p−k
X
C
β
(|A| + |f |L1 )
|α|L1
ωk
ωm
ω
ω
m=0
k=0
n
β
≤ C(|A| + |f |L1 )
|α|L1
ωp
ω
≤
26
CHAPTER 3. ANALYSIS
and
1
2iωc fn L1
n−1
C
β
≤ |α|L1 (|A| + |f |L1 )
|α|L1
ω
ω
n
β
.
|α|L1
≤ C(|A| + |f |L1 )
ω
Thus, (3.21) becomes
|∂xp+1 vn |∞
≤ Cp+1 ω
p+1
|A| + ω
≤ Cω p+1 (|A| + |f |L1 )
p+1
(|A| + |f |L1 )
n
β
|α|L1
ω
β
|α|L1
ω
n which is what we wanted to show.
Then, we have the following
Corollary 1. Assume
Then |fn |L1
β|α|L1
< δ < 1.
ω
→ 0 if n → ∞. Moreover, |vn |∞ → 0, |∂xp vn |∞ → 0, |fn |∞ → 0 and
n−1
β
|fn |∞ ≤ C|α|∞ (|A| + |f |L1 )
|α|L1
.
ω
(3.22)
Proof. The limits for |fn |L1 , |vn |∞ and |∂xp vn |∞ follow directly from Theorem 3. Let us
prove now that |fn |∞ → 0 if |fn |L1 → 0, n → ∞:
β|α|∞
|fn−1 |L1 → 0.
ω
The estimate (3.22) follows from the previous expression and Theorem 3.
|fn |∞ ≤ |α|∞ (|vn−1 |∞ + |wn−1 |∞ ) ≤
3.3
Convergence of the Algorithm
In this section we first derive lemmas that are needed for the proof of Theorem 1 and then
we show the proof.
Lemma 1. Let f (x) ∈ C 1 [−L, L] and c(x) ∈ C 2 [−L, L]. If v(x) and w(x) satisfy the
equations
1
1
f (x),
iωv(x) + c(x)∂x v(x) − cx (x)v(x) = −
2
2iω
v(−L) = A,
(3.23)
w(L) = 0,
(3.24)
and
1
1
iωw(x) − c(x)∂x w(x) + cx (x)w(x) = −
f (x),
2
2iω
then u(x) = v(x) + w(x) satisfies the following equation:
1
1
c2 (x)uxx (x) + ω 2 u(x) = f (x) + ( c(x)cxx (x) − c2x (x))(v(x) + w(x))
2
4
with boundary conditions:
(3.25)
c(−L)ux (−L) − iωu(−L) = −2iωA,
(3.26)
c(L)ux (L) + iωu(L) = 0.
(3.27)
3.3. CONVERGENCE OF THE ALGORITHM
27
Proof. Let us begin with
1
1
c2 ∂xx v = c(c∂x v)x − ccx ∂x v = c∂x (−iωv + cx v −
f ) − ccx ∂x v
2
2iω
1
1
c
= −iωc∂x v + ccxx v + ccx ∂x v −
∂x f − ccx ∂x v
2
2
2iω
1
1
1
c
1
f ) − ccx ∂x v + ccxx v −
∂x f
= −iω(−iωv + cx v −
2
2iω
2
2
2iω
1
1
1
1
c
= (−iω − cx )(−iωv + cx v −
f ) + ccxx v −
∂x f
2
2
2iω
2
2iω
1
1
c
1
1
= −ω 2 v − c2x v +
(iω + cx )f + ccxx v −
∂x f.
4
2iω
2
2
2iω
Hence,
1
1
f
1 1
c2 ∂xx v + ω 2 v = (− c2x + ccxx )v + +
( cx f − c∂x f ).
4
2
2
2iω 2
(3.28)
In the same way, after switching c → −c, we obtain
1
f
1 1
1
( cx f − c∂x f ).
c2 ∂xx w + ω 2 w = (− c2x + ccxx )w + −
4
2
2
2iω 2
(3.29)
1
1
c2 (v + w)xx + ω 2 (v + w) = f + ( ccxx − c2x )(v + w),
2
4
(3.30)
Thus,
which is exactly the equation (3.25).
To check the left boundary condition, we subtract the equation (3.24) from the equation
(3.23) to obtain
1
iω(v − w) + c(x)(v + w)x = cx (x)(v + w).
(3.31)
2
Since supp(cx ) ⊂ (−L, L) and v(−L) = A by assumption, after simple mathematical operations, we obtain at x = −L
c(−L)(v(−L) + w(−L))x − iω(v(−L) + w(−L)) = −2iωv(−L) = −2iωA.
(3.32)
Thus
c(−L)ux (−L) − iωu(−L) = −2iωA.
(3.33)
In a similar way, using w(L) = 0, we get the right boundary condition
c(L)ux (L) + iωu(L) = 0.
(3.34)
This proves the lemma.
β|α|
L1
Lemma 2. If
≤ δ0 < 1, the sequence {zm }∞
m=1 defined by (2.14) converges in
ω
2
C [−L, L] when m → ∞ and its limit z satisfies the Helmholtz equation (2.1) with boundary
conditions (2.2) – (2.3). Moreover,
|z|∞ ≤ C(|A| + |f |L1 ),
where C is a constant that depends on δ0 and c(x) but not on ω.
(3.35)
28
CHAPTER 3. ANALYSIS
Proof. From Lemma 1 it follows that vj (x) + wj (x) satisfy the following equation
c2 (vj + wj )xx + ω 2 (vj + wj ) = fj − fj+1 , j = 0, m
(3.36)
where fj is defined by (2.13), with boundary conditions
c(−L)(vj (−L) + wj (−L))x − iω(vj (−L) + wj (−L)) = −2iωvj (−L),
(3.37)
c(L)(vj (L) + wj (L))x + iω(vj (L) + wj (L)) = 0.
(3.38)
where vj and wj satisfy the initial conditions (2.10) and (2.11).
Summing the equations (3.36) for j = 0, . . . , m, we get that zm satisfies the following
equation:
c2 ∂xx zm + ω 2 zm = f0 − fm+1 .
(3.39)
Moreover, summing the equations (3.37) and (3.38), we get that zm satisfies the following
boundary conditions:
c(−L)∂x zm (−L) − iωzm (−L) = −2iωA,
(3.40)
c(L)∂x zm (L) + iωzm (L) = 0.
(3.41)
Using the T heorem 3, we can show the following:
|zm − zn |∞ → 0,
m, n → ∞
|∂x zm − ∂x zn |∞ → 0, m, n → ∞
|∂xx zm − ∂xx zn |∞ → 0, m, n → ∞
Indeed,
max(n,m)
X
|zm − zn |∞ ≤
|vj + wj |∞
j=min(n,m)
max(n,m)
X
≤
C(|A| + |f |L1 )
j=min(n,m)
≤C
β
|α|L1
ω
β
|α|L1
ω
j
min(n,m)
→ 0, m, n → ∞
The other two limits are obtained in a similar way.
2
This means that {zm }∞
m=0 is a Cauchy sequence in C [−L, L]. Hence it converges, i.e.
∃z ∈ C2 [−L, L], zm → z, m → ∞.
By taking limm→∞ of the equation (3.39), from Corollary 1 it follows that z satisfies the
Helmholtz equation (2.1), i.e.:
c2 zxx + ω 2 z = ωf,
(3.42)
and by taking limm→∞ of the equations (3.40) and (3.41), it follows that z satisfies the
following boundary conditions:
c(−L)zx (−L) − iωz(−L) = −2iωA,
c(L)zx (L) + iωz(L) = 0.
3.3. CONVERGENCE OF THE ALGORITHM
29
Let us now prove the inequality (3.35). If zm is given by the expression (2.14), then using
Theorem 3
|zm |∞ ≤
m
X
(|vj |∞ + |wj |∞ )
j=0
≤ C(|A| + |f |L1 )
m X
β
≤ C (|A| + |f |L1 )
j=0
m
X
ω
j
|α|L1
(δ0 )j
j=0
Taking limm→∞ of the previous inequality, we obtain
|z|∞ ≤ C (|A| + |f |L1 )
∞
X
(δ0 )
j
j=0
≤ C (|A| + |f |L1 )
1
≤ C 0 (|A| + |f |L1 ) ,
1 − δ0
where C 0 is some constant that does not depend on ω. Hence, we have proved the lemma.
Proof of Theorem 1
We can now prove Theorem 1. Let u be the solution of the equation (2.1). If v̂m and ŵm
are solutions of (2.18) and (2.19) then from Lemma 1 it follows that v̂m (x) + ŵm (x) satisfies
the following equation:
c2 (v̂m + ŵm )xx + ω 2 (v̂m + ŵm ) = fˆm − fm+1 ,
(3.43)
with boundary conditions
c(−L)(v̂m (−L) + ŵm (−L))x − iω(v̂m (−L) + ŵm (−L)) = −2iωv̂0 (−L),
c(L)(v̂m (L) + ŵm (L))x + iω(v̂m (L) + ŵm (L)) = 0.
Let em solve
c2 ∂xx em + ω 2 em = fˆm ,
(3.44)
with boundary conditions (2.2) and (2.3) and êm solve
c2 ∂xx êm + ω 2 êm = fm − fˆm
(3.45)
with the same boundary conditions. By the uniqueness of the solution of the Helmholtz
equation with boundary conditions (2.2)–(2.3), it follows that
em = v̂m + ŵm + em+1 + êm+1 .
Hence, by induction,
u = e0 = v̂0 + ŵ0 + ... + v̂m + ŵm + em+1 +
m+1
X
j=1
êj .
(3.46)
30
CHAPTER 3. ANALYSIS
Thus, if ẑm is given by (2.23),
|u − ẑm |∞ < |em+1 |∞ +
m+1
X
|êj |∞ .
(3.47)
j=1
Let us estimate |em |∞ . Since em satisfies the Helmholtz equation, from Lemma 2 and
Theorem 3 it follows
1
|em |∞ ≤ C |A| + |fˆm |L1
ω
A=0,m≥1 C
C
≤
|fˆm |L1 ≤ |fm |L1
ω
ω
m−1
β
C
|α|L1
≤ |α|L1 (|A| + |f |L1 )
ω
ω
m
β
.
(3.48)
≤ C (|A| + |f |L1 )
|α|L1
ω
Let us now estimate |êm |∞ . Again, using Lemma 2, we conclude
1
|êm |∞ ≤ C |A| + |fm − fˆm |L1
ω
A=0,m≥1 C
=
|fm − fˆm |L1
ω
C
≤ Tolm
ω
(3.49)
Now, using (3.48), (3.49) and (2.17), (3.47) becomes
|u − ẑm |∞ ≤ C (|A| + |f |L1 )
≤ C((|A| +
β
|α|L1
ω
|f |L1 )δ0m+1
m+1
+C
m+1
X
j=1
+ Tol)
which we wanted to show.
Let us now show (3.3). Define,
g(y) = meas{x ∈ [−L, L] : |fˆn (x)| ≥ y}.
Then, we have to prove
g(Toln ) ≤
C
.
ω
Clearly,
g(Toln ) ≤ 2L.
Note also that
g(0) = 2L,
g(y) = 0, y ≥ |fn |∞ ,
and for 0 < y < |fn |∞ it is a decreasing function. Then,
yg(y) ≤ 2L|fn |∞
Tol
2j+1
(3.50)
3.3. CONVERGENCE OF THE ALGORITHM
31
and, thus
Toln g(Toln ) ≤ 2L|fn |∞ ≤ 2LC|α|∞ (|A| + |f |L1 )
Since
Toln =
β
|α|L1
ω
n−1
.
ωTol
,
2n+1 L
we obtain
g(Toln ) ≤ 2LC|α|∞ (|A| + |f |L1 )
β
|α|L1
ω
n−1
2n+1 L
ωTol
n−1
C 2β
|α|L1
ω ω
C
C n−1
≤ δ0 ≤ ,
ω
ω
≤
which proves (3.3).
The estimate (3.4) follows directly from Lemma 2. Thus, Theorem 1 is proved.
Chapter 4
Error Analysis for Numerical
Implementation
In this chapter we derive the error of the method when (2.18)–(2.19) are solved with a p-th
order Runge-Kutta scheme. We show that the error depends only weakly on the frequency.
Consider the Helmholtz equation (2.1) with boundary conditions (2.2)–(2.3) and f = 0.
We showed that the solution of (2.1)–(2.3) can be approximated by the sum zm defined by
(2.14). Now, we want to solve for zm (x) numerically. That means that we have to solve
equations (2.8)–(2.9). The equations are of the form (3.5) with a(x, ω) and b(x, ω) defined
by
1
cx (x)
−i
c(x)
2c(x)ω
1
bn (x, ω) = −
fn (x).
2iωc(x)
a(x, ω) = −
(4.1)
(4.2)
Remark 3. Note that here we use bn (x, ω) and not b(x, ω) because the function depends
on fn (x) which is changed for every n (at every iteration).
4.1
Numerical Implementation
Let us first explain the numerical implementation for (2.8). With a(x, ω) and bn (x, ω)
defined above, (2.8) becomes
∂x v n (x) = iωa(x, ω)v n (x) + bn (x, ω).
(4.3)
Discretize (4.3) with J = 2L/∆x grid points, where ∆x is the stepsize and let vjn and wjn be
approximations of v n (xj ) and wn (xj ). Assume that (4.3) is solved with a one step method,
n
vj+1
= vjn + ∆xQ(xj , vjn , ∆x).
(4.4)
We consider p-th order explicit s-stage Runge–Kutta schemes, where 0 ≤ p ≤ s, described
in the appendix. Applied to (4.3), it reads
ξ1 = iωa(xj , ω)v n (xj ) + bn (xj , ω),
and for k = 2, . . . , s,
n
ξk = iωa(xj + γk ∆x, ω) v (xj ) + ∆x
k−1
X
`=1
33
!
αk,` ξ`
+ bn (xj + γk ∆x, ω).
34
CHAPTER 4. ERROR ANALYSIS FOR NUMERICAL IMPLEMENTATION
Finally,
n
vj+1
= v n (xj ) + ∆x
s
X
βk ξ k .
k=1
For all these Runge-Kutta schemes it can be shown that (Lemma 9) Q(xj , vjn , ∆x) is of the
form,
Q(xj , vjn , ∆x) = iωã(xj , ∆x, ω)vjn + b̃n (xj , ∆x, ω)
where ã(x, ∆x, ω) and b̃(x, ∆x, ω) are some functions that depend on the R-K method used.
For example,
ã(xj , ∆x, ω) = a(xj , ω),
b̃n (xj , ∆x, ω) = bn (xj , ω),
when the equation (4.3) is solved with the forward Euler method, and
1
(a(xj , ω) + a(xj + ∆x, ω) + iωa(xj , ω)a(xj + ∆x, ω)) ,
2
1
b̃n (xj , ∆x, ω) = ((1 + iωa(xj + ∆x, ω))bn (xj , ω) + bn (xj + ∆x, ω)) ,
2
ã(xj , ∆x, ω) =
when the equation (4.3) is solved with the second order Runge-Kutta method. Since for
n ≥ 1 we only know bn (xj , ω) on grid points, we need to replace it by bnj . To compute bnj
we do the following:
- Compute fjn = α(xj )(vjn−1 + wjn−1 ),
- Cut off fjn , i.e., compute fˆjn by
fˆjn =
fjn , |fjn | > Toln
0,
otherwise,
- Compute bnj by
bnj = −
1
fˆn .
2iωc(xj ) j
Similarly, we replace b̃n (xj , ∆x, ω) by b̃nj which we have computed from bnj in the same way
as b̃n (xj , ∆x, ω) is computed from bn (xj , ω). For example,
b̃nj =
1
(1 + iωa(xj + ∆x, ω))bnj + bnj+1
2
in the case of the second order Runge-Kutta method. Thus, the solution of (2.8) can be
computed numerically by
n
vj+1
= (1 + i∆xωã(xj , ∆x, ω))vjn + ∆xb̃nj ,
j = 1, . . . , J.
(4.5)
The solution of (2.9) can be computed in a similar way and we finally get
zjm =
m
X
(vjk + wjk ),
k=0
j = 1, . . . , J,
(4.6)
4.1. NUMERICAL IMPLEMENTATION
35
Before we start a derivation of the numerical error for a p-th order Runge-Kutta method,
we want to point out the following: When a p-th order Runge-Kutta method with s stages
is used for the numerical solutions of (2.8) and (2.9), functions b̃nj have to be evaluated in
between grid points. To obtain those values we use a p-th order interpolation in order not
to decrease the order of accuracy. Therefore, we define a set of indexes
I = {1, 2, . . . , s},
(4.7)
In = {k ∈ I : γk ∈ N},
(4.8)
Ii = {k ∈ I : γk 6∈ N}.
(4.9)
such that I = In ∪ Ii where
and
This means that we divide the set of indexes I into two sets, a set of indexes that correspond
to the grid points and a set of indexes that correspond to the interpolated points, i.e. the
points in between grid points in which the functions has to be evaluated. Hence, from
now on, by bnj+γk for k ∈ In we mean: values of bn calculated in grid points and by bnj+γk
for k ∈ Ii we mean values of bn in between grid points that are used in the Runge-Kutta
method. We can then prove:
Theorem 4. Assume
and
2β|α|L1
≤δ<1
ω
!
Cb β̃ Cτ Cb
max
,
,
< 1,
ω
ω ω
(4.10)
(4.11)
where β̃ is defined in Lemma 5, Cτ in Lemma 8 and Cb in Lemma 4 (see below). Let u be
the solution of equation (2.1). Then
|u(xj ) − zjm |∞ ≤ C (|A| + |f |L1 )δ m+1 + ∆xp ω p+1 + Tol .
(4.12)
Remark 4. If we take
∆x = ∆xf =
Tol1/p
,
ω 1+1/p
we get from (4.12)
|u − zjm |∞ ≤ (|A|δ m+1 + Tol)
(4.13)
and we need a fixed ω-independent number of iterations m to reduce the first term to be less
than Tol.
Remark 5. In the proof, we only consider the error when the equations are resolved everywhere, while in the method, we solve GO equations whenever fˆn = 0. However a stable
p-th order method applied to (2.15) gives a ω-independent global error in A and φ of size
∆xp . The difference between the exact solution v n and the corresponding GO-based solution
is then
n
|v n (xj ) − v(GO),j
| = A(xj )eiωφ(xj ) − Aj eiωφj = (A(xj ) − Aj )eiωφ(xj ) + Aj eiωφ(xj ) (1 − eiω(φj −φ(xj )) )
≤ C∆xp + |Aj | eCω∆x − 1
= O(ω∆xp ).
36
CHAPTER 4. ERROR ANALYSIS FOR NUMERICAL IMPLEMENTATION
It is fairly easy to see that this error will add to the global error εnv in Theorem 5 and then
to the error in Theorem 4. Hence, if ∆x = ∆xc , then ω∆xp = ω(ω∆xf )p Tol and (4.13)
still holds.
4.2
Error Analysis
In this section, we first show some results that are needed for the proof of Theorem 4 and
derive the error estimate for one way wave equations. Then, we give a proof of Theorem 4.
Throughout this section, we assume
∆x <
1
ω 1+1/p
(i.e. ∆xp ω p+1 < 1)
(4.14)
and c(x) ∈ C p [−L, L] and ω > 1. In particular, this means that ∆xω < 1.
Utility Results
Before we prove Theorem 4, we show some useful utility results. Consider the linear scalar
ordinary differential equation
y 0 = iωa(x, ω)y + b(x, ω),
y(0) = y0 .
(4.15)
Suppose we solve this with a p-th order Runge-Kutta method, and define the local truncation
error as
τn := y(xn + ∆x) − yn+1 .
Then, we have the following lemma:
Lemma 3. If |∂xp y| ≤ B(ω)ω p . Then
|τn | ≤ CB(ω)(∆xω)p+1 .
Proof. From T heorem 6, it follows that
|τn | ≤ C∆xp+1
p+1 X
(p+1−l) y
∞
l=0
ωl .
(4.16)
Let us estimate first
p+1 X
(p+1−l) y
l=0
∞
ω l ≤ B(ω)
p+1
X
ω p+1−l
l=0
≤ CB(ω)ω p+1 .
Hence, (4.16) becomes
|τn | ≤ CB(ω)(∆xω)p+1 ,
which we wanted to prove.
Lemma 4. If a p-th order interpolation is used, then
Cb n−1
+ ∆xp ω p
n
n
ω ε
b̃ (xj , ∆x, ω) − b̃j ≤
0,
where C is some constant that does not depend on ω.
Cb n
ω
+
Cb
ω Toln ,
n≥1
n=0
4.2. ERROR ANALYSIS
37
Proof. From Lemma 9 it follows that
b̃n (xj , ω, ∆x) =
s
X
r̃k (iω∆x, xj , ∆x)bn (xj + γk ∆x),
k=1
where bn (x, ∆x, ω) is defined by (4.2). Let I, In and Ii be defined by (4.7)–(4.9). Hence,
X
n
r̃k (iω∆x, xj , ∆x) bn (xj + γk ∆x) − bnj+γk b̃ (xj , ∆x, ω) − b̃nj ≤
k∈I
CX
n
r̃k (iω∆x, xj , ∆x) f n (xj + γk ∆x) − fˆj+γ
k
ω
k∈I
CX
n
≤
r̃k (iω∆x, xj , ∆x) f n (xj + γk ∆x) − fj+γ
k
ω
k∈I
CX
+
r̃k (iω∆x, xj , ∆x)Toln
ω
≤
k∈I
=: S1 + S2 .
We will first consider S2 . From (4.14) it follows that ∆xω < 1 and, since r̃k ∈ Ps−k , there
exists a constant C such that
X
r̃k (iω∆x, xj , ∆x) ≤ C.
k∈I
Thus
S2 ≤
C
Toln .
ω
For S1 we can estimate
S1 ≤
C|α| X
n−1 r̃k (iω∆x, xj , ∆x) v n−1 (xj + γk ∆x) − vj+γ
k
ω
k∈I
C|α| X
n−1 +
r̃k (iω∆x, xj , ∆x) wn−1 (xj + γk ∆x) − wj+γ
.
k
ω
k∈I
Since I = In ∪ Ii and In ∩ Ii = ∅, then
S1 ≤
j+1
X
n−1
C X
v
r̃k (iω∆x, xj , ∆x)
(xl ) − vln−1 + wn−1 (xl ) − wln−1 ω
k∈In
l=j
n−1
C X
n−1 n−1 +
r̃k (iω∆x, xj , ∆x) v n−1 (xj + γk ∆x) − vj+γ
+ w
(xj + γk ∆x) − wj+γ
k
k
ω
k∈Ii
C
≤ εn−1
ω
n−1
C X
n−1 n−1 +
r̃k (iω∆x, xj , ∆x) v n−1 (xj + γk ∆x) − vj+γ
+ w
(xj + γk ∆x) − wj+γ
.
k
k
ω
k∈Ii
For k ∈ Ii using p-th order interpolation and Theorem 3 we can estimate
p n−1 n−1
n−1
∂x v
(ξ) β
n−1 p
v
(xj + γk ∆x) − vj+γ
≤
C
∆x
≤
C(|A|
+
|f
|
)
|α|
ω p ∆xp .
L1
L1
k
p!
ω
38
CHAPTER 4. ERROR ANALYSIS FOR NUMERICAL IMPLEMENTATION
Thus,
n−1
C n−1 C p p
β
ε
+ ω ∆x (|A| + |f |L1 )
|α|L1
ω
ω
ω
n
C
β
≤ εn−1 + Cω p ∆xp (|A| + |f |L1 )
|α|L1
.
ω
ω
S1 ≤
Finally,
n
C
Cb
Cb
n
b n−1
+
ε
+ ∆xp ω p
Toln ,
b̃ (xj , ∆x, ω) − b̃nj (∆x, ω) ≤
ω
ω
ω
n ≥ 1.
When n = 0, it is obvious that the bound is 0. Hence, the theorem is proved.
Lemma 5. Assume (4.14) and ω > 1. Then
J
X
eCL − 1
.
C
(4.17)
|1 + iω∆xã(iω∆x, xj , ∆x)|∞ ≤ 1 + C∆x + C(∆xω)p+1 ,
(4.18)
k
(|1 + i∆xωã(x, ∆x, ω)|∞ ) ≤
k=0
β̃
,
∆x
β̃ =
Proof. Let us first show
where ã(iω∆x, xj , ∆x) is defined in Lemma 9. Apply Runge-Kutta scheme to the equation
y 0 (x) = iωa(xj + x, ω)y(x),
y(0) = 1,
(4.19)
where a(x, ω) is defined by (4.1). Then
y1 = 1 + iω∆xã(iω∆x, xj , ∆x)
and the exact solution is
y(1) = eiω
R xj+1
xj
a(s,ω)ds
= y1 + τ0 .
Hence,
R xj+1
|1 + iω∆xã(iω∆x, xj , ∆x)|∞ ≤ eiω xj a(s,ω)ds + |τ0 |∞
∞
R xj+1 cx (s) xj 2c(s) ≤ e
+ |τ0 |∞
∞
Rx
“ “√
x j+1 d ln c(s)””ds + |τ0 |∞
= e j
∞
s
c(xj+1 )
≤
+ |τ0 |∞
c(xj )
≤ 1 + C∆x + |τ0 |∞ .
Since we assumed ω > 1 and (4.14) and from Theorem 2 it follows that
|∂xp y|∞ ≤ Cp ω p ,
(4.20)
4.2. ERROR ANALYSIS
39
we can apply Lemma 3 in (4.20) to obtain that (4.18) is true. To prove (4.17), we calculate
J
X
(4.18)
k
≤
(|1 + i∆xωã(x, ∆x, ω)|∞ )
k=0
J
X
1 + C∆x + C(∆xω)p+1
k
k=0
(4.14)
≤
J
X
J+1
(1 + C∆x)k =
k=0
(1 + C∆x)
C∆x
−1
eCJ∆x − 1
eCL − 1
≤
=
C∆x
C∆x
β̃
≤
.
∆x
Thus, the lemma is proved.
Lemma 6. If
yj+1 ≤ ayj + bj+1
for some constant a and j ≥ 0, then
j
X
yj ≤ aj y0 +
aj−k bk .
(4.21)
k=1
Proof. We use mathematical induction to prove (4.21). It is obvious that (4.21) is true for
j = 1. Next, assume that it is true for j = i and show that it is true for j = i + 1,
yi+1 ≤ ayi + bi+1
i
≤ a a y0 +
i
X
!
i−k
a
bk
+ bi+1
k=1
≤ ai+1 y0 +
i+1
X
ai+1−k bk .
k=1
Thus, the lemma is proved.
Lemma 7. Let α, β > 0. Then for any ε > 0
n−1
X
n
αk β n−k ≤ C(ε) (max(α, β) + ε) .
k=0
Proof. Let α, β > 0, α 6= β. Then,
n−1
X
k=0
αk β n−k ≤
n−1
X
max(α, β)n
k=0
≤ n max(α, β)n
≤ C(ε)(max(α, β) + ε)n ,
for some ε > 0. Hence, the lemma is proved.
40
CHAPTER 4. ERROR ANALYSIS FOR NUMERICAL IMPLEMENTATION
Error Estimate for One-Way Equations
Now we derive the error estimate for one-way equations. Let us first introduce some notation. We set
α̃ = max |α(xj )|,
(4.22)
j
where α(x) is defined by (2.6). Let
τjk
be the local truncation error, i.e.,
k
τjk = v k (xj + ∆x) − vj+1
,
(4.23)
and εnv(j) be the numerical error of v n (x), i.e.
εnv(j) = |v n (xj ) − vjn |∞
j = 1, ..., J
(4.24)
where J = 2L/∆x. Also, let
εnv = max εnv(j) .
(4.25)
j
In the same way we define εnw(j) and εnw . Finally, let
εn = εnv + εnw .
(4.26)
Lemma 8. Let τ n = maxj τjn . Then
p+1
|τ n | ≤ C (∆xω)
Cτ
ω
n
(4.27)
where C and Cτ are some constants that do not depend on ω.
Proof. The result follows directly from Theorem 3 and Lemma 3.
Next, we prove the following
Theorem 5. Let εnv be defined by (4.25). Suppose
max
Cb β̃ Cτ Cb 1
,
,
,
ω
ω ω 2
!
< 1,
(4.28)
where Cτ is defined in Lemma 8 and Cb is defined in Lemma 4. Then there exist δ < 1
such that
εnv ≤ Cδ n ∆xp ω p+1 + Tol .
(4.29)
Proof. Using Lemma 6 and Lemma 4, we obtain
εnv(j+1) ≤ v n (xj ) + ∆xQ(xj , v n (xj ), ∆x) − vjn − ∆xQ(xj , vjn , ∆x) + τjn
≤ |1 + i∆xωã(xj , ∆x, ω)|∞ εnv(j) + ∆x|b̃n (xj ) − b̃nj | + τjn
n
Cb εvn−1
Cb
Cb
n
p p
≤ |1 + i∆xωã(xj , ∆x, ω)|∞ εv(j) + ∆x
+ ∆x ω
+
Toln + τjn
ω
ω
ω
≤ (|1 + i∆xωã(xj , ∆x, ω)|∞ )
+
j
X
n
Cb εvn−1
Cb
Cb
+ ∆xp+1 ω p
+ ∆x Toln + τjn
ω
ω
ω
n
X
j
Cb
Cb
k
+ ∆xp+1 ω p
+ ∆x Toln + τjn
(|1 + i∆xωã(xj , ∆x, ω)|∞ ) .
ω
ω
k
(|1 + i∆xωã(xj , ∆x, ω)|∞ )
k=0
≤
j+1 n
εv(0)
Cb εn−1
v
∆x
ω
∆x
k=0
4.2. ERROR ANALYSIS
41
Taking maxj in the previous inequality and using Lemma 5 and Lemma 6, we obtain for
n>0
n
Cb
Cb ∆x n−1
β̃
Cb
+ ∆x Toln + τ n
εv + ∆xp+1 ω p
εnv ≤
∆x
ω
ω
ω
n
Cb n−1
C
C
1
b
b
= β̃
εv + ∆xp ω p
+
Toln +
τn
ω
ω
ω
∆x
!n
!n−k !n+1−k
n
n
k
X Cb β̃
X
Cb
Cb β̃
Cb β̃
0
p p
εv + β̃∆x ω
+
Tolk
≤
ω
ω
ω
ω
k=1
k=1
!n−k
n
β̃ X Cb β̃
+
τk
∆x
ω
k=1
0
Since b̃ (xj ) = b̃0j = 0, we can estimate ε0v on the similar way, i.e.
ε0v ≤ τ 0
J
X
k
(|1 + i∆xωã(xj , ∆x, ω)|∞ ) ≤ τ 0
k=0
and the previous expression becomes
!n−k n
n
k
X
X
Cb
Cb β̃
n
p p
εv ≤ β̃∆x ω
+
ω
ω
k=1
k=1
Cb β̃
ω
!n+1−k
β̃
,
∆x
(4.30)
n
β̃ X
Tolk +
∆x
k=0
Cb β̃
ω
!n−k
τk
:= S1 + S2 + S3 .
From (4.28) it follows that there exist > 0 such that
!
Cb β̃ Cτ Cb 1
max
,
,
,
+ =: δ < 1.
ω
ω ω 2
From (4.31) and Lemma 7 it follows that
S1 ≤ C β̃∆xp ω p δ n
and
S2 ≤ CTol
n
X
k=1
Cb β̃
ω
!n−k
1
2k
n
≤ Cδ Tol.
Finally, using also Lemma 8,
p
S3 ≤ C β̃∆x ω
p+1
n
X
k=0
Cb β̃
ω
!n−k ≤ C∆xp ω p+1 δ n .
Hence,
εnv ≤ Cδ n ∆xp ω p+1 + Tol ,
which we wanted to prove.
Cτ
ω
k
(4.31)
42
CHAPTER 4. ERROR ANALYSIS FOR NUMERICAL IMPLEMENTATION
Proof of Theorem 4
Now, we can finally prove Theorem 4. By Theorem 5 and Theorem 1, there exists a δ < 1
such that
|u(xj ) − zjn |∞ ≤ |u(xj ) − ẑjm |∞ + |ẑm (xj ) − zjm |∞
n
X
≤ C(|A| + |f |L1 )δ n+1 + Tol +
|εk |∞
k=0
n
X
≤ C(|A| + |f |L1 )δ n+1 + Tol + C ∆xp ω p+1 + Tol
δk
k=0
≤ C (|A| + |f |L1 )δ
which we wanted to prove.
n+1
p
+ ∆x ω
p+1
+ Tol ,
Chapter 5
Numerical Experiments
In this section we apply our method to compute the solution of the Helmholtz equation in
[−1, 1] with different functions c(x). We compare the L2 error of our method against the
L2 error of a direct finite difference method. We use the finite difference solution with 100
points per wavelength as the exact solution. We also compare the computational cost of
the two methods. Since our code is not optimized and Matlab’s operator backslash is, we
compare the total number of grid points in which the solution is computed in the methods
and not the direct execution time. In both methods, the cost is directly proportional to this
number. In our method, we solve the equations with a 4th order Runge-Kutta method and
for the finite difference solution we use the 4th order finite difference scheme. Note that the
solution in our method is a sum of the solutions from every iteration and the solutions from
the iterations have to be given on the same grid. Normally they are not computed at the
same grid points because the intervals in which the source function is cut off change at every
iteration. To be able to compare our solution with the full exact solution, we interpolate
our solution using cubic interpolation after every iteration. In every experiment, we use
∆xf =
minx c(x)
,
ω 1+1/4
∆xc =
ω
∆xf ,
C∆x
where the constant C∆x varies for different functions c(x). The same ∆xf is used in the
finite difference method.
Example 1
First, we consider the function c(x) given in Figure 5.1. The absolute value of the solution
for ω = 10 is shown in Figure 5.2. Small oscillations can be noticed on the left part of
the domain. It is because the solution is reflected. The error, computational cost and the
number of iterations needed to compute the solution in our method for Tol = 0.1 are given
in Figure 5.3 and for Tol = 0.01 in Figure 5.4. Here, C∆x = 1. It can be noticed that
for Tol = 0.1 only 1 iteration is needed to achieve the desired accuracy for all frequencies
approximately larger than 650. This means that only the GO solution is computed for
those problems. For Tol = 0.01 two iterations are needed for all tested frequencies and the
computational cost of our method is larger than in the previous example, but still much
smaller than for the finite difference method.
43
44
CHAPTER 5. NUMERICAL EXPERIMENTS
c(x)
0.9
0.8
0.7
c(x)
0.6
0.5
0.4
0.3
0.2
0.1
−1
−0.8
−0.6
−0.4
−0.2
0
x
0.2
0.4
0.6
0.8
1
0.6
0.8
1
Figure 5.1: Function c(x).
Absolute value of the solution for ω = 10
4
|u(x)|
3.5
3
2.5
2
−1
−0.8
−0.6
−0.4
−0.2
0
x
0.2
0.4
Figure 5.2: Absolute value of the solution for ω = 10.
45
Error
−1
10
our method
log(error)
−2
finite difference
10
−3
10
−4
10
0
500
1000
1500
ω
2500
3000
3500
4000
4500
3000
3500
4000
4500
3000
3500
4000
4500
Number of points
5
4
2000
x 10
number of points
our method
3
finite difference
2
1
0
0
500
1000
1500
ω
2500
Number of iterations
4
number of iterations
2000
3.5
3
2.5
2
1.5
1
0
500
1000
1500
2000
ω
2500
Figure 5.3: Comparison between the finite difference method and our method with tolerance
Tol = 0.1, for 256 ≤ ω ≤ 4096. The error (top), the computational cost(middle) and the
number of iterations needed to compute the solution with our method (bottom).
46
CHAPTER 5. NUMERICAL EXPERIMENTS
Error
−1
10
log(error)
−2
10
−3
10
our method
finite difference
−4
10
0
500
1000
1500
x 10
2500
3000
3500
4000
4500
3000
3500
4000
4500
3000
3500
4000
4500
our method
3.5
number of points
ω
Number of points
5
4
2000
finite difference
3
2.5
2
1.5
1
0.5
0
500
1000
1500
ω
2500
Number of iterations
4
number of iterations
2000
3.5
3
2.5
2
1.5
1
0
500
1000
1500
2000
ω
2500
Figure 5.4: Comparison between the finite difference method and our method with tolerance
Tol = 0.01, for 256 ≤ ω ≤ 4096. The error (top), the computational cost(middle) and the
number of iterations needed to compute the solution with our method (bottom) .
47
Example 2
Now, we consider the function c(x) shown in Figure 5.5. The absolute value of the solution
for ω = 16 is shown in Figure 5.6. The error, computational cost and the number of
iterations needed to compute the solution in our method for Tol = 0.1 are given in Figure
5.7 and for Tol = 0.01 in Figure 5.8. Here, C∆x = 50.
c(x)
0.9
0.8
0.7
c(x)
0.6
0.5
0.4
0.3
0.2
0.1
−1
−0.8
−0.6
−0.4
−0.2
0
x
0.2
0.4
0.6
0.8
1
0.6
0.8
1
Figure 5.5: Function c(x).
Absolute value of the solution for ω = 16
4.5
4
|u(x)|
3.5
3
2.5
2
1.5
−1
−0.8
−0.6
−0.4
−0.2
0
x
0.2
0.4
Figure 5.6: Absolute value of the solution for ω = 16.
48
CHAPTER 5. NUMERICAL EXPERIMENTS
Error
−1
10
log(error)
−2
10
−3
10
our method
finite difference
−4
10
0
500
1000
1500
ω
2500
3000
3500
4000
4500
3000
3500
4000
4500
3000
3500
4000
4500
Number of points
5
4
2000
x 10
number of points
our method
3
finite difference
2
1
0
0
500
1000
1500
ω
2500
Number of iterations
4
number of iterations
2000
3.5
3
2.5
2
1.5
1
0
500
1000
1500
2000
ω
2500
Figure 5.7: Comparison between the finite difference method and our method with tolerance
Tol = 0.1, for 256 ≤ ω ≤ 4096. The error (top), the computational cost(middle) and the
number of iterations needed to compute the solution with our method (bottom) .
49
Error
−1
log(error)
10
−2
10
our method
finite difference
−3
10
0
500
1000
1500
ω
2500
3000
3500
4000
4500
3000
3500
4000
4500
3000
3500
4000
4500
Number of points
5
4
2000
x 10
number of points
our method
3
finite difference
2
1
0
0
500
1000
1500
ω
2500
Number of iterations
4
number of iterations
2000
3.5
3
2.5
2
1.5
1
0
500
1000
1500
2000
ω
2500
Figure 5.8: Comparison between the finite difference method and our method with tolerance
Tol = 0.01, for 256 ≤ ω ≤ 4096. The error (top), the computational cost(middle) and the
number of iterations needed to compute the solution with our method (bottom) .
50
CHAPTER 5. NUMERICAL EXPERIMENTS
Next, we use the function c(x) that has the same shape as the previous, but it is a bit
larger, see Figure 5.9. The absolute value of the solution for ω = 16 is shown in Figure
5.10. The error, computational cost and the number of iterations needed to compute the
solution in our method for Tol = 0.1 are given in Figure 5.11 and for Tol = 0.01 in Figure
5.12. Also, C∆x = 50. It can be noted that the number of iterations needed to compute
the solution has increased.
c(x)
1.2
c(x)
1
0.8
0.6
0.4
0.2
−1
−0.8
−0.6
−0.4
−0.2
0
x
0.2
0.4
0.6
0.8
1
0.6
0.8
1
Figure 5.9: Function c(x).
Absolute value of the solution for ω = 16
5
4.5
4
3.5
|u(x)|
3
2.5
2
1.5
1
0.5
0
−1
−0.8
−0.6
−0.4
−0.2
0
x
0.2
0.4
Figure 5.10: Absolute value of the solution for ω = 16.
51
Error
0
log(error)
10
our method
finite difference
−1
10
−2
10
0
500
1000
1500
ω
2500
3000
3500
4000
4500
3000
3500
4000
4500
3000
3500
4000
4500
Number of points
5
4
2000
x 10
number of points
our method
finite difference
3
2
1
0
0
500
1000
1500
ω
2500
Number of iterations
5
number of iterations
2000
4
3
2
1
0
500
1000
1500
2000
ω
2500
Figure 5.11: Comparison between the finite difference method and our method with tolerance Tol = 0.1, for 256 ≤ ω ≤ 4096. The error (top), the computational cost(middle) and
the number of iterations needed to compute the solution with our method (bottom) .
52
CHAPTER 5. NUMERICAL EXPERIMENTS
Error
−1
log(error)
10
−2
10
our method
finite difference
−3
10
0
500
1000
1500
ω
2500
3000
3500
4000
4500
3000
3500
4000
4500
3000
3500
4000
4500
Number of points
5
4
2000
x 10
number of points
our method
3
finite difference
2
1
0
0
500
1000
1500
ω
2500
Number of iterations
5
number of iterations
2000
4
3
2
1
0
500
1000
1500
2000
ω
2500
Figure 5.12: Comparison between the finite difference method and our method with tolerance Tol = 0.01, for 256 ≤ ω ≤ 4096. The error (top), the computational cost(middle) and
the number of iterations needed to compute the solution with our method (bottom) .
53
Example 3
Let us now consider a nonsymetric function c(x) that is shown in Figure 5.13. The absolute
value of the solution for ω = 16 is plotted in Figure 5.14. The error, computational cost
and the number of iterations needed to compute the solution in our method for Tol = 0.01
is given in Figure 5.15, the constant C∆x = 50.
c(x)
1.6
1.4
1.2
c(x)
1
0.8
0.6
0.4
0.2
−1
−0.8
−0.6
−0.4
−0.2
0
x
0.2
0.4
0.6
0.8
1
0.6
0.8
1
Figure 5.13: Function c(x).
Absolute value of the solution for ω = 16
5
4
|u(x)|
3
2
1
0
−1
−0.8
−0.6
−0.4
−0.2
0
x
0.2
0.4
Figure 5.14: Absolute value of the solution for ω = 16.
54
CHAPTER 5. NUMERICAL EXPERIMENTS
Error
0
log(error)
10
our method
finite difference
−1
10
−2
10
0
500
1000
1500
ω
2500
3000
3500
4000
4500
3000
3500
4000
4500
3000
3500
4000
4500
Number of points
5
4
2000
x 10
number of points
our method
3
finite difference
2
1
0
0
500
1000
1500
ω
2500
Number of iterations
6
number of iterations
2000
5
4
3
2
0
500
1000
1500
2000
ω
2500
Figure 5.15: Comparison between the finite difference method and our method with tolerance Tol = 0.1, for 256 ≤ ω ≤ 4096. The error (top), the computational cost(middle) and
the number of iterations needed to compute the solution with our method (bottom) .
55
To illustrate how the forcing function changes in iterations, we choose ω = 256 and plot
the part of the function that is larger than a given tolerance after the first four iterations
in Figure 5.16. After the fifth iteration, the forcing function is everywhere equal to 0.
The forcing function after the first four iterations
f1(x)
10,000
5,000
0
−0.4
−0.3
−0.2
−0.1
0
x
0.1
0.2
0.3
0.4
−0.3
−0.2
−0.1
0
x
0.1
0.2
0.3
0.4
−0.3
−0.2
−0.1
0
x
0.1
0.2
0.3
0.4
−0.3
−0.2
−0.1
0
x
0.1
0.2
0.3
0.4
400
f2(x)
300
200
100
0
−100
−0.4
f3(x)
10
5
0
−0.4
f4(x)
0.15
0.1
0.05
0
−0.05
−0.4
Figure 5.16: The forcing function after the first four iterations for ω = 256. Everywhere
else in the domain, it is equal to zero and we do not plot that part.
56
CHAPTER 5. NUMERICAL EXPERIMENTS
Example 4
Let us now consider a speed function that have more ’peaks’ than functions in the previous
examples. It is shown in Figure 5.17. The absolute value of the solution is plotted in Figure
5.18. The error, computational cost and the number of iterations needed to compute the
solution in our method for Tol = 0.01 is given in Figure 5.19, the constant C∆x = 60.
c(x)
1.6
1.4
1.2
c(x)
1
0.8
0.6
0.4
0.2
−1
−0.8
−0.6
−0.4
−0.2
0
x
0.2
0.4
0.6
0.8
1
0.6
0.8
1
Figure 5.17: Function c(x).
Absolute value of the solution for ω = 16
8
7
6
|u(x)|
5
4
3
2
1
0
−1
−0.8
−0.6
−0.4
−0.2
0
x
0.2
0.4
Figure 5.18: Absolute value of the solution for ω = 16.
57
Error
0
10
log(error)
our method
finite difference
−1
10
−2
10
0
500
1000
1500
5
4
2000
ω
2500
3000
3500
4000
4500
3000
3500
4000
4500
3000
3500
4000
4500
Number of points
x 10
number of points
our method
3
finite difference
2
1
0
0
500
1000
1500
2000
ω
2500
Number of iterations
number of iterations
6
5
4
3
2
1
0
500
1000
1500
2000
ω
2500
Figure 5.19: Comparison between the finite difference method and our method with tolerance Tol = 0.01, for 256 ≤ ω ≤ 4096. The error (top), the computational cost(middle) and
the number of iterations needed to compute the solution with our method (bottom) .
58
CHAPTER 5. NUMERICAL EXPERIMENTS
Example 5
Finally, we consider a speed function that is shown in Figure 5.20. The absolute value of
the solution is plotted in Figure 5.21. The error, computational cost and the number of
iterations needed to compute the solution in our method for Tol = 0.01 is given in Figure
5.22, the constant C∆x = 80.
c(x)
1.6
1.4
1.2
c(x)
1
0.8
0.6
0.4
0.2
−1
−0.8
−0.6
−0.4
−0.2
0
x
0.2
0.4
0.6
0.8
1
0.6
0.8
1
Figure 5.20: Function c(x).
Absolute value of the solution for ω = 16
4.5
4
3.5
|u(x)|
3
2.5
2
1.5
1
0.5
0
−1
−0.8
−0.6
−0.4
−0.2
0
x
0.2
0.4
Figure 5.21: Absolute value of the solution for ω = 16.
59
Error
−1
log(error)
10
−2
10
our method
finite difference
−3
10
0
500
1000
1500
5
4
2000
ω
2500
3000
3500
4000
4500
3000
3500
4000
4500
3000
3500
4000
4500
Number of points
x 10
number of points
our method
3
finite difference
2
1
0
0
500
1000
1500
2000
ω
2500
Number of iterations
number of iterations
5
4
3
2
1
0
500
1000
1500
2000
ω
2500
Figure 5.22: Comparison between the finite difference method and our method with tolerance Tol = 0.01, for 256 ≤ ω ≤ 4096. The error (top), the computational cost(middle) and
the number of iterations needed to compute the solution with our method (bottom) .
Bibliography
[1]
T. Abboud, J.-C. Nédélec, and B. Zhou. Méthode des écuations intégrales pour les
hautes fréquencies. C.R. Acad. Sci. Paris., 318:165–170, 1994.
[2]
F. V. Atkinson. Wave propagation and the Bremmer series. J. Math. Anal. Appl., 1:
225–276, 1960.
[3]
V. M. Babic and T. F. Pankratova. On discontinuities of Green’s function of the wave
equation with variable coefficient. Problemy Matem. Fiziki., Leningrad University,
Saint-Petersburg, 6, 1973.
[4]
R. Bellman and R. Kalaba. Functional equations, wave propagation and invariant
imbedding. J. Math Mech., 8:683–704, 1959.
[5]
H. Bremmer. The W.K.B. approximation as the first term of a geometric-optical series.
Commun. Pure Appl. Math., 4:105–115, 1951.
[6]
Y. Brenier and L. Corrias. A kinetic formulation for multibranch entropy solutions of
scalar conservations laws. Ann. Inst. Henri Poincaré, 15(2):169–190, 1998.
[7]
S. C. Brenner and L. R. Scott. The Mathematical Theory of Finite Element Methods.
Springer, 2008.
[8]
O. P. Bruno, C. A. Geuzaine, J. A. Monro Jr, and F. Reitich. Prescribed error tolerances
within fixed computational times for scattering problems of arbitrarily high frequency:
the convex case. Philos. Transact. A. Math. Phys. Eng. Sci., 362(1816):629–645, 2004.
[9]
O. P. Bruno, C. A. Geuzaine, and F. Reitich. On the O(1) solution of multiplescattering problems. IEEE Trans. Magn., 41:1488–1491, 2005.
[10] O. Cessenat and B. Despres. Application of an ultra weak variational formulation of
elliptic PDEs to the two-dimensional Helmholtz problem. SIAM J. Numer. Anal., 35
(1):255–299, 1998.
[11] S. N. Chandler-Wilde and I. G. Graham. Boundary integral methods in high frequency
scattering. In B. Engquist, T. Fokas, E. Hairer, and A. Iserles, editors, Highly Oscillatory Problems: Theory, Computation and Applications. Cambridge University Press,
2008.
[12] V. Červený, I. A. Molotkov, and I. Psencik. Ray methods in seismology. Univ. Karlova
Press, 1977.
[13] B. Cockburn, G. Karniadakis, and C.-W. Shu. Discontinuous Galerkin Methods: theory, computations and applications, volume 11 of Lecture Notes in Computational Science and engineering. Springer, 2000.
61
62
BIBLIOGRAPHY
[14] D. Colton and R. Kress. Inverse Acoustic and Electromagnetic Scattering Theory,
volume 93. Applied Mathematical Sciences, Springer-Verlag, Berlin, 1998.
[15] L Demanet and L. Ying. Wave atoms and time upscaling of wave equations. To appear
in Numer.Math., 2007.
[16] V. Dominguez, I. G. Graham, and V. P. Smyshlyaev. A hybrid numerical-asymptotic
boundary integral method for high-frequency acoustic scattering. Numer. Math., 106:
471–510, 2007.
[17] F. Ecevit and F. Reitich. Analysis of multiple scattering iterations for high-frequency
scattering problems. Technical report, Max-Planck-Institut für Mathematik in den
Naturwissendchaften, Leipzig, 2006.
[18] H. C. Elman and D. P. O’Leary. Efficient iterative solution of the three-dimensional
Helmholtz equation. J. Comput. Phys., 142(1):163–181, 1998.
[19] B. Engquist, S. Osher, and S. Zhong. Fast wavelet based algorithms for linear evolution
equations. SIAM J. Sci. Comp., 15(4):755–775, 1994.
[20] B. Engquist and O. Runborg. Multiphase computations in geometrical optics. J.
Comput. Appl. Math., 74:175–192, 1996.
[21] B. Engquist and O. Runborg. Computational high frequency wave propagation. Acta
Numerica, 12:181–266, 2003.
[22] B. Engquist, O. Runborg, and A.-K. Tornberg. High-frequency wave propagation by
the segment projection method. J. Comput. Phys., 178:373–390, 2002.
[23] B. Engquist and L. Ying. Fast directional multilevel algorithms for oscillatory kernels.
SIAM Journal on Scientific Computing, 29(4):1710–1737, 2007.
[24] K. Eriksson, D. Estep, P. Hansbo, and C. Johnson. Computational Differential Equations. Studnetlitteratur, Lund, 1996.
[25] Y. A. Erlagga. Advances in iterative methods and preconditioners for the Helmholtz
equation. Arch. Comput. Methods Eng., 15:37–66, 2008.
[26] Y. A. Erlagga, C. Oosterlee, and C. Vuik. A novel multigrid based preconditioner for
heterogeneous Helmholtz problem. SIAM J. Sci. Comput., 27:1471–1492, 2006.
[27] O. Ernst and G. H. Golub. A domain decomposition approach to solving the Helmholtz
equation with a radiating boundary condition. American Mathematical Society, Providence, 15:177–192, 1994.
[28] E. Giladi and J. B. Keller. A hybrid numerical asymptotic method for scattering
problems. Comput. Phys., 174:226–247, 2001.
[29] B. Gustafsson. High Order Difference Methods for Time Dependent PDE. SpringerVerlag Berlin Heidelberg, 2008.
[30] H. Han and Z. Huang. A tailored finite point method for the Helmholtz equation with
high wave numbers in heterogeneous medium. J. Comp. Math., 26:728–739, 2008.
63
[31] J. Hesthaven, D. Gottlieb, and S. Gottlieb. Spectra Methods for Time-dependent Problems, volume 21 of Cambridge Monographs on Applied and Computational Mathematics. Cambridge University Press, 2007.
[32] D. Huybrechts and S. Vandewalle. A sparse discretisation for integral equation formulations of high-frequency scattering problems. Comm. SIAM J. Sci. Comput., 29:
2305–2328, 2007.
[33] B. R. Julian and D. Gubbins. Three-dimensional seismic ray tracing. J. Geophys. Res.,
43:95–114, 1977.
[34] H. B. Keller and J. B. Keller. Exponential-like solutions of systems of linear ordinary
differential equations. J. SIAM, 10:246–259, 1962.
[35] J. Keller. Geometrical theory of diffraction. J. Opt. Soc. Amer, 52, 1962.
[36] R. Kress. Linear Integral Equations, volume 82 of Applied Mathematical Sciences.
Springer-Verlag, second edition, 1999.
[37] R. T. Langan, I. Lerche, and R. T. Cutler. Tracing of rays through heterogeneous
media: An accurate and efficient procedure. Geophysics, 50:1456–1465, 1985.
[38] S. Langdon and S. N. Chandler-Wilde. A wave number independent boundary element
method for an acoustic scattering problem. SIAM J. Num. Anal., 43:2450–2477, 2006.
[39] E. Larsson. A domain decomposition method for the Helmholtz equation in a multilayer
domain. SIAM J. Sci. Comput., 20(5):1713–1731, 1999.
[40] Randall. J. LeVeque. Finite Volume Methods for Hyperbolic Problems. Cambridge
University Press, 2006.
[41] J. Lundstedt and S. He. Time domain direct and inverse problems for a nonuniform
LCRG line with internal sources. IEEE Transactions on Electromagnetic Compatibility,
39(2):79–88, 1997.
[42] H. McMaken. On the convergence of the Bremmer series for the Helmholtz equation
in 2-D. Wave Motion, 8:277–283, 1986.
[43] Made MMM.
Incomplete factorization-based preconditionings for solving the
Helmholtz equation. Int. J. Numer. Methods Eng., 50:1077–1101, 2001.
[44] M. Motamed and O. Runborg. Taylor expansion errors in gaussian beam summation.
Preprint, KTH, 2008.
[45] S. J. Osher and J. A. Sethian. Fronts propagating with curvature-dependent speed:
Algorithms based on Hamilton-Jacobi formulations. J. Comput. Phys., 79(1):12–49,
1988.
[46] S. J. Osher and C.-W. Shu. High–order essentially nonoscillatory schemes for HamiltonJacobi equations. SIAM J. Numer. Anal., 28(4):907–977, 1991.
[47] K. Otto and E. Larsson. Iterative solution of the Helmholtz equation by a second–order
method. SIAM J. Matrix Anal. Appl., 21(1):209–229, 1999.
64
BIBLIOGRAPHY
[48] E. Perrey-Debain, O. Laghrouche, P. Bettess, and J. Trevelyan. Plane-wave basis finite
elements and boundary elements for three-dimensional wave scattering. Philos. Trans.
R. Soc. Lond. Ser. A Math. Phys. Eng. Sci., 362(1816):561–577, 2004.
[49] M. M. Popov. A new method of computation of wave fields using gaussian beams.
Wave Motion, 4:85–97, 1982.
[50] V. Rokhlin. Sparse diagonal forms for translation operators for the Helmholtz equation
in two dimensions. Appl. Comput. Harmon. Anal., 5(1):36–67, 1998.
[51] O. Runborg. Some new results in multiphase geometrical optics. M2AN Math. Model.
Numer. Anal., 34:1203–1231, 2000.
[52] O. Runborg. Mathematical models and numerical methods for high frequency waves.
Communications in Computational Physics, 2(5):827–880, 2007.
[53] J. A. Sethian. A fast marching level set method for monotonically advancing fronts.
Proc. Nat. Acad. Sci. U.S.A., 93(4), 1966.
[54] Christiaan C. Stolk. A fast method for linear waves based on geometrical optics. SIAM
J. Numer. Anal., 47:1168–1194, 2009.
[55] A. Taflove. Computational Electrodynamics: The Finite-Difference Time-Domain
Method. Norwood, MA: Artech House, 1995.
[56] A. Taflove and S. C. Hagness. Computational Electrodynamics: The Finite-Difference
Time-Domain Method. Norwood, MA: Artech House, second edition, 2000.
[57] C. H. Thurber and W. L. Ellsworth. Rapid solution of ray tracing problems in heterogeneous media. Bull. Seism. Soc. Amer., 70:1147–1148, 1980.
[58] A.-K. Tornberg and B. Engquist. The segment projection method for interface tracking.
Comm. Pure Appl. Math., 56(1):47–79, 2003.
[59] L. N. Trefethen. Spectral Methods in MATLAB. SIAM, 2000.
[60] Y. R. Tsai, L. T. Cheng, S. Osher, and H. K. Zhao. Fast sweeping algorithms for a class
of Hamilton-Jacobi equations. SIAM Journal on Numerical Analysis, 41(2):673–694,
2003.
[61] J. N. Tsitsiklis. Efficient algorithms for globally optimal trajectories. IEEE Trans.
Automat. Control, 40(9):1528–1538, 1995.
[62] G. B. Whitham. Linear and nonlinear waves. John Wiley & Sons, Inc., 1974.
[63] Kane S. Yee. Numerical solution of initial boundary value problems involving Maxwell’s
equations in isotropic media. IEEE Trans. Antennas Propagat., AP-14(3):302–307,
1966.
Appendix A
Runge–Kutta Schemes for Linear
Scalar Problems
We consider the linear scalar ordinary differential equation
y 0 = iωa(x, ω)y + b(x, ω),
y(0) = y0 .
(A.1)
We solve it with a p-th order explicit s-stage Runge–Kutta scheme, where 0 ≤ p ≤ s,
described by
ξ1 = iωa(xn , ω)y(xn ) + b(xn , ω),
and for j = 2, . . . , s,
ξj = iωa(xn + γj ∆x, ω) y(xn ) + ∆x
j−1
X
!
αj,` ξ`
+ b(xn + γj ∆x, ω).
`=1
Finally,
yn+1 = y(xn ) + ∆x
s
X
βj ξ j .
j=1
We are interested in characterizing the error in one step, the local truncation error:
τn := y(xn + ∆x) − yn+1 .
Since the method is of p-th order, the first p terms in the Taylor expansion of τn around
∆x = 0 are zero. Throughout this section we will assume that b(·, ω) ∈ C p+1 (R) for all ω
and a(·, ω) ∈ C p+1 (R) uniformly in ω, i.e. that
sup |∂xk a(x, ω)| ≤ C,
k = 0, . . . , p + 1.
x,ω∈R
This means in particular that the solution y(x) ∈ C p+2 . We can then prove the following
Theorem 6. Suppose ∆xω ≤ 1 and ω ≥ 1. Then the local truncation error can be estimated
as
p+1
X
p+1
|τn | ≤ C ∆x
|y (p+1−`) |∞ ω ` ,
`=0
where the constant is independent of x, ω, y(x) and b(x, ω).
65
66 APPENDIX A. RUNGE–KUTTA SCHEMES FOR LINEAR SCALAR PROBLEMS
To prove this theorem we introduce a space Cbp to denote functions of the form c(x, ω, ∆x)
which are p times continuously differentiable in ∆x with uniform bounds on the derivatives
in x and ω,
k
sup |∂∆x
c(x, ω, ∆x)| ≤ C,
k = 0, . . . , p.
x,ω∈R
In particular a(x + α∆x, ω) ∈ Cbp+1 for all α. We then let Pd be functions f (z, x, ω, ∆x)
which are polynomials of degree d in z,
f (z, x, ω, ∆x) = c0 (x, ω, ∆x) + zc1 (x, ω, ∆x) + · · · + z d cd (x, ω, ∆x),
and where the coefficients cj ∈ Cbp+1 . We then have the following lemma characterizing the
form of the Runge–Kutta scheme.
Lemma 9. The Runge–Kutta scheme can be written in the following form


s
X
yn+1 = yn + ∆x iωã(iω∆x, xn , ω, ∆x)yn +
r̃j (iω∆x, xn , ω, ∆x)b(xn + γj ∆x, ω) ,
j=1
where ã ∈ Ps−1 and r̃j ∈ Ps−j do not depend on ω, yn or b(x, ω).
Proof. Let
aj (x, ω, ∆x) = a(x + γj ∆x, ω),
bj (x, ω, ∆x) = b(x + γj ∆x, ω),
so that a(x) = a1 (x, ω, ∆x), b(x) = b1 (x, ω, ∆x). We note that aj ∈ Cbp+1 by our assumptions. We have
ξ1 = iωa1 yn + b1 ,
and for j = 2, . . . , s,
ξj = iωaj
yn + ∆x
j−1
X
!
αj,` ξ`
+ bj .
`=1
We claim that there are qj ∈ Pj−1 and rj,k ∈ Pj−k such that
ξj = iωqj (iω∆x, xn , ω, ∆x)yn +
j
X
rj,k (iω∆x, xn , ω, ∆x)bk .
k=1
This is true for j = 1 since we can take q1 = a1 and r1,1 = 1. For j > 1,
ξj = iωaj
yn + ∆x
j−1
X
"
αj,` iωq` yn +
`=1
= iωaj
1 + iω∆x
j−1
X
`
X
#!
r`,k bk
!
αj,` q`
yn + iω∆xaj
`=1
= iωaj
1 + iω∆x
j−1
X
`=1
+ bj
k=1
j−1 X
`
X
αj,` r`,k bk + bj
`=1 k=1
!
αj,` q`
yn + iω∆xaj
j−1
X
k=1
bk
j−1
X
`=k
αj,` r`,k + bj .
67
Thus, rj,j = 1 and
qj (z, x, ω, ∆x) = aj (x, ω, ∆x) 1 + z
j−1
X
!
αj,` q` (z, x, ω, ∆x) ,
`=1
rj,k (z, x, ω, ∆x) = zaj (x, ω, ∆x)
j−1
X
αj,` r`,k (y, x, ω, ∆x).
`=k
Clearly, if q` ∈ P`−1 and r`,k ∈ P`−k for 1 ≤ k ≤ ` < j, then the same holds also for
1 ≤ k ≤ ` = j, showing the claim by induction. Finally,
"
#
j
s
s
X
X
X
yn+1 = yn + ∆x
βj ξj = yn + ∆x
βj iωqj yn +
rj,k bk .
j=1
j=1
k=1
Hence,
ã =
s
X
βj qj ,
r̃k =
j=1
s
X
βj rj,k .
(A.2)
j=k
Since qj ∈ Pj−1 and rj,k ∈ Pj−k this proves the lemma.
Before continuing, we introduce the Taylor expansion polynomial for c(∆x) ∈ C p+1 (R).
More precisely, we let Tk c be the Taylor polynomial of degree k ≤ p around ∆x = 0, defined
as
k
(`)
X
∂ c(0)
(Tk c)(z) :=
z ` ∆x
,
`!
`=0
so that
|c(∆x) − (Tk c)(∆x)| ≤
∆xk+1
`!
(k+1)
sup ∂∆x c(ξ) .
0≤ξ≤∆x
We note that in particular if we apply Tk to a function c(x, ω, ∆x) ∈ Cbp+1 then
(k+1)
|c(x, ω, ∆x) − (Tk c)(x, ω, ∆x)| ≤ sup ∂∆x c(x, ω, ξ) ≤ C ∆xk+1 ,
0≤ξ≤∆x
where the constant C is independent of x and ω.
We will also let Qd be another polynomial space similar to Pd but where the functions
are of the form
f (x, ω, ∆x) = c0 (x, ω) + c1 (x, ω)∆x + · · · + cd (x, ω)∆xd ,
and the coefficients cj ∈ C p+1 for each ω, but not necessarily bounded uniformly in ω.
Lemma 10. For each f ∈ Pd , y ∈ C p+1 (R) and integer p ≥ 0 there exists f¯ ∈ Qp such that
f (iω∆x, x, ω, ∆x)y(x + α∆x) − f¯(x, ω, ∆x)
!
p+1 X
`
X
p+1
(`−k)
k
max(d,p+1)
≤ C ∆x
|y
|∞ ω + (∆xω)
|y|∞ ,
(A.3)
`=0 k=0
where C is independent of x, ω, ∆x and y(x).
68 APPENDIX A. RUNGE–KUTTA SCHEMES FOR LINEAR SCALAR PROBLEMS
Proof. Since f ∈ Pd we can write the function as
f (z, x, ω, ∆x)y(x + α∆x) =
d
X
ck (x, ω, ∆x)y(x + α∆x)z k .
k=0
where ck ∈ Cbp+1 . With q = min(d, p) we divide the sum into three parts
f (iω∆x, x, ω, ∆x)y(x + α∆x) =
q
X
ck (x, ω, ∆x)(Tp−k y)(x, ∆x)(iω∆x)k
k=0
+
q
X
ck (x, ω, ∆x)[(Tp−k y)(x, ∆x) − y(x + α∆x)](iω∆x)k
k=0
d
X
+
ck (x, ω, ∆x)y(x + α∆x)(iω∆x)k
k=q+1
=: E1 + E2 + E3 ,
where E3 = 0 if p ≥ d. We start by considering E1 . Let f¯` ∈ Qp−` be defined as
min(q,`) p−`
f¯` (x, ω, ∆x) =
X X
k=0
(r)
∆xr
r=0
∂∆x ck (x, ω, 0)
Y`−k (x)(iω)k =
r!
min(q,`)
X
(Tp−` ck )(x, ω, ∆x)Y`−k (x)(iω)k ,
k=0
where Y` (x) := α` y (`) (x)/`!. Then,
E1 =
q p−k
X
X
`
k
ck (x, ω, ∆x)∆x Y` (x)(iω∆x) =
k=0 `=0
=
p
X
min(q,`)
∆x
X
`
`=0
∆x` f¯` (x, ω, ∆x) +
`=0
p
X
p
X
`=0
ck (x, ω, ∆x)Y`−k (x)(iω)k
k=0
min(q,`)
∆x`
X
[ck (x, ω, ∆x) − (Tp−` ck )(x, ω, ∆x)]Y`−k (x)(iω)k .
k=0
We have furthermore
min(q,`)
X
min(q,`)
k
[ck (x, ω, ∆x) − (Tp−` ck )(x, ω, ∆x)]Y`−k (x)(iω) ≤ C∆x
p−`+1
k=0
X
|y (`−k) |∞ ω k ,
k=0
where C is independent of y(x). Thus, defining
f¯(x, ω, ∆x) :=
p
X
f¯` (x, ω, ∆x)∆x` ∈ Qp ,
`=0
we get
|f (iω∆x, x, ω, ∆x)y(x+α∆x)− f¯(x, ω, ∆x)| ≤ C∆xp+1
p min(q,`)
X
X
`=0
|y (`−k) |∞ ω k +|E2 |+|E3 |.
k=0
For E2 we can estimate |Tp−k y − y| ≤ Ck |y (p−k+1) |∞ ∆xp−k+1 to get,
|E2 | ≤ C∆xp+1
q
X
k=0
|y (p−k+1) |∞ ω k ,
69
and for E3 we trivially have
|E3 | ≤ C|y|∞
d
X
(ω∆x)k ≤ C|y|∞ (ω∆x)p+1 + (ω∆x)d ,
k=p+1
when p < d. The result follows from these estimates.
Corollary 2. Suppose ∆xω ≤ 1 and ω ≥ 1. Then, for each f ∈ Pd , y ∈ C p+1 (R) and
integer p ≥ 0 there exists f¯ ∈ Qp such that
p+1
X
f (iω∆x, x, ω, ∆x)y(x + α∆x) − f¯(x, ω, ∆x) ≤ C ∆xp+1
|y (p+1−`) |∞ ω ` ,
`=0
where C is independent of x, ω, ∆x and y(x).
Proof. When ω ≥ 1,
p+1 X
`
X
|y (`−k) |∞ ω k =
`=0 k=0
p+1 X
`
X
|y (p+1−`) |∞ ω k ≤ (p + 1)
`=0 k=0
p+1
X
|y (p+1−`) |∞ ω ` .
(A.4)
`=0
Moreover, when ∆xω ≤ 1, clearly (∆xω)max(d,p+1) |y|∞ ≤ (∆xω)p+1 |y|∞ , which is already
included in the first error term of (A.3).
Proof of Theorem 6
From Lemma 9 and the equation (A.1) we have that

yn+1 =yn + ∆x iωã(iω∆x, xn , ω, ∆x)yn +
s
X

r̃j (iω∆x, xn , ω, ∆x)b(xn + γj ∆x, ω)
j=1
=[1 + iω∆xã(iω∆x, xn , ω, ∆x)]yn + ∆x
s
X
r̃j (iω∆x, xn , ω, ∆x)y 0 (xn + γj ∆x)
j=1
+
s
X
s̃j (iω∆x, xn , ω, ∆x)y(xn + γj ∆x),
j=1
where
s̃j (z, xn , ω, ∆x) = −zr̃j (z, xn , ω, ∆x)a(xn + γj ∆x, ω) ∈ Ps+1−j .
We also note that [1 + zã(z, x, ω, ∆x)] ∈ Ps and r̃j ∈ Ps−j . Since also y ∈ C p+2 the result in
Corollary 2 shows that we can approximate [1+iω∆xã(iω∆x, xn , ∆x)]yn , r̃j (iω∆x, xn , ∆x)y 0 (xn +
γj ∆x), and s̃j (iω∆x, xn , ∆x)y(xn + γj ∆x) in the sense of (A.4) by some functions ā ∈ Qp ,
70 APPENDIX A. RUNGE–KUTTA SCHEMES FOR LINEAR SCALAR PROBLEMS
r̄j ∈ Qp−1 and s̄j ∈ Qp respectively. Then
τn+1 = y(xn+1 ) − yn+1 = (Tp y)(xn , ω, ∆x) − ā(xn , ω, ∆x) − ∆x
s
X
r̄j (xn , ω, ∆x)
j=1
+ y(xn+1 ) − (Tp y)(xn , ∆x)
+ ā(xn , ω, ∆x) − [1 + iω∆xã(iω∆x, xn , ω, ∆x)]yn
s
X
+ ∆x
[r̄j (xn , ω, ∆x) − r̃j (iω∆x, xn , ω, ∆x)y 0 (xn + γj ∆x)]
j=1
+
s
X
[s̄j (xn , ω, ∆x) − s̃j (iω∆x, xn , ω, ∆x)y(xn + γj ∆x)]
j=1
=: E1 + E2 + E3 + E4 + E5 .
For E2 ,
|E2 | ≤ C∆xp+1 |y (p+1) |∞ .
We can now use (A.4) in Corollary 2 to bound the therms E3 , E4 and E5 . In E3 the function
y is constant so,
|E3 | ≤ C ∆xp+1 ω p+1 |y|∞ .
For E4 we apply it to the derivative of y(x),
|E4 | ≤ C ∆xp+1
p
X
y (p+1−`) |∞ ω ` ,
`=0
and finally,
|E5 | ≤ C ∆xp+1
p+1
X
|y (p+1−`) |∞ ω ` .
`=0
Thus,
5
X
j=2
Ej ≤ C ∆xp+1
p+1
X
|y (p+1−`) |∞ ω ` .
`=0
Since E1 is a polynomial in ∆x of order p and the method is of order p the term E1 must
vanish. This concludes the proof.