Beruflich Dokumente
Kultur Dokumente
to Computational Science
Engquist Gene Golub
Bjorn
1. Introduction
The modern development of numerical computing is driven by the rapid increase in computer performance. The present exponential growth approximately
follows Moores law, doubling in capacity every eighteen months. Numerical
computing has, of course, been part of mathematics for a very long time. Algorithms by the names of Euclid, Newton and Gauss, originally designed for
computation by hand, are still used today in computer simulations.
The electronic computer originated from the intense research and development done during the second world war. In the early applications of these
computers the computational techniques that were designed for calculation by
pencil and paper or tables and mechanical machines were directly implemented
on the new devices. Together with a deeper understanding of the computational
processes new algorithms soon emerged. The foundation of modern numerical
analysis was built in the period from the late forties to the late fifties. It became justifiable to view numerical analysis as an emerging separate discipline
of mathematics. Even the name, numerical analysis, originated during this period and was coined by the National Bureau of Standards in the name of its
laboratory at UCLA, the Institute for Numerical Analysis. Basic concepts in
numerical analysis became well defined and started to be understood during
this time:
numerical algorithm
iteration and recursion
stability
local polynomial approximation
convergence
computational complexity
The emerging capability of iteratively repeating a set of computational operations thousands or millions of times required carefully chosen algorithms. A
theory of stability became necessary. All of the basic concepts were important
but the development of the new mathematical theory of stability had the most
immediate impact.
The pioneers in the development of stability theory for finite difference
approximations of partial differential equations were von Neumann, Lax and
Kreiss, see e.g. the text by Richtmyer and Morton [16]. In numerical linear
algebra the early analysis by Wilkinson was fundamental, [19] and the paper
Page: 433 Engquist/Schmid (eds.) Mathematics Unlimited 2001 and Beyond author: Engquis2 date/time: 29-Oct-2000 / 19:48
434
B. Engquist G. Golub
[7] by Dahlquist gave the foundation for stability and convergence theory of
numerical methods for ordinary differential equations.
The development of numerical computing has been gradual and based on the
improvements of both algorithms and computers. Therefore, labeling different
periods becomes somewhat artificial. However, it is still useful to talk about a
new area, often called scientific computing, which developed a couple of decades
after the foundation of numerical analysis. The SIAM Journal of Scientific and
Statistical Computing was started in 1980.
Numerical analysis has always been strongly linked to mathematics, applications and the computer. It is a part of applied mathematics and its language
is mathematics. Its purpose is to solve real world problems from basic physics
to practical engineering. The tool used to obtain the solution is the computer.
Thus its development is often driven by technology, both in terms of computer
capacity and architecture and also by the many technological applications. With
the term scientific computing we indicate a further strengthening of these links.
It, therefore, became less viable to think of numerical computing as an isolated
topic.
As the mathematical models to be numerically approximated became more
complex, more advanced mathematical analysis was necessary. The emphasis
shifted from linear to nonlinear problems, and it became possible to handle
more realistic applications. Yet, in order to construct efficient algorithms for
these applications, a more detailed knowledge of their properties was needed.
The computer architecture changed. Vector and parallel architectures required
a rethinking of the basic algorithms. The powerful new computers also produced enormous amounts of data and consequently visualization became more
important in order to understand the results of the calculations.
We use the label computational science for the latest shift in paradigms, that
is now occuring at the turn of the century. The links to the rest of mathematics, to
application and the rest of the computer science are even further strengthened.
However, the most significant change is that new fields of applications are being
considered.
Many important parts of numerical computing were established with little
input from mathematicians specializing in numerical analysis or scientific computing. This includes simulations in large parts of physics, chemistry, biology
and material science. The scientists in these fields often developed their own
algorithms. It is clear that it is of mutual benefit for both the scientists and the
experts in numerical analysis to initiate closer collaboration. The applied mathematicians can analyze and improve the numerical methods and also adapt them
to new areas of applications. This has happened in many fields in the past. Mathematical analysis has been the basis for the derivation of new algorithms, which
often have contributed more to the overall computational capability than the
increase in computer power. Computational science has also been a stimulating
source for new problems in mathematics.
435
436
B. Engquist G. Golub
(1)
(A + )y = b + .
(2)
where,
and < 1,
b
2
x y
,
x
1
= A1
and
The quantity (A) is called the condition number with respect to linear systems.
Thus, even if is small, a large can be very destructive. These bounds are
achievable; a matrix with large is said to be ill-conditioned. The bounds in
this crude form do not take into account the structure of the matrix A or the
relationship of the vector b to the matrix. For instance, it may be that for some
vectors b the problem is not ill-conditioned even though the matrix A is.
Condition numbers come up in many different contexts, e.g. in the solution
of linear equations, least squares problems, eigenvalue problems, etc. A detailed
theory of condition numbers was given by John Rice in 1966. A modern and
complete theory of perturbation theory is contained in [18].
There are many direct methods for solving systems of linear equations.
There are basically three different methods which are in common use: Gaussian
elimination, the QR decomposition, and the Cholesky method. There are many
variants of Gaussian elimination; we shall discuss the one which is most often
implemented.
The round-off error analysis of Gaussian elimination was considered by several mathematicians. The famous statistician Hotelling derived bounds that were
so pessimistic that he recommended that Gaussian elimination be abandoned
for large problems and that an iterative procedure be used instead. Goldstine
and von Neumann analyzed the Cholesky method for fixed point arithmetic,
and developed some of the machinery that now is used in matrix analysis. Finally in 1961, Wilkinson gave a complete round-off error analysis of Gaussian
elimination. Here, we describe some of the results of Wilkinson.
Page: 436 Engquist/Schmid (eds.) Mathematics Unlimited 2001 and Beyond author: Engquis2 date/time: 29-Oct-2000 / 19:48
(3)
so that the numerical addition of two numbers implies that we are adding two
numbers which are slightly perturbed.
If Gaussian elimination is performed without any interchange strategy then
the process may easily break down. For instance, if the upper left element of
A, a11 = 0, then the first step of the process is impossible. Wilkinson assumed
that an interchange strategy would be used. The row pivoting strategy consists
of looking for the largest element in magnitude on or below the diagonal of the
reduced matrix.
As is well-known, Gaussian elimination performed with row pivoting is
equivalent to computing the following decomposition:
A = LU
where is a permutation matrix, L is a lower triangular matrix and U is an
upper triangular matrix. This pivoting strategy guarantees that, if |ai,j | 1 then
max |lij | = 1 and max |uij | 2n1 .
ij
j i
(4)
and A is symmetric and positive definite. A method which has been of great use
has been the conjugate gradient method of Hestenes and Stiefel. The basic idea
is to construct approximations of the form,
x (k+1) = x (k) + k p (k) ,
where the vectors {p(k) }nk=0 are generated in such a fashion such that,
T
p(i) Ap (j ) = 0 for i = j.
(5)
437
438
B. Engquist G. Golub
ics and combustion. Computational fluid dynamics has also served as an inspiration for the development of large parts of numerical algorithms and theory.
The equations of fluid mechanics are quite challenging and serious mathematical analysis is needed in order to produce effective numerical methods. One
example of the challenging nature of the fluid equations is the fact that we still
do not know if the Navier-Stokes equations have classical solutions for all time.
Although computational fluid dynamics began in earnest in the forties, one
must mention the bold attempt by L. F. Richardson to integrate a set of meteorological equations numerically by hand in 1917, [15]. His efforts were unsuccessful not only because of the lack of computing machines needed to carry
out the computations on a larger scale, but also due to the limited theoretical
understanding of stability. By its failure it underscored those areas of numerical
analysis that needed to be developed further.
The rapid evolution of computer capability during the last fifty years has
made it possible to gradually upgrade the mathematical models for flow simulations.
The initial models were mainly one-dimensional nonlinear conservation
laws for shock computations, two-dimensional linear equations for potential
flows in aerodynamics and two-dimensional shallow water like equations for
weather prediction. New models were added when the computers allowed for it.
One important example was the two-dimensional simulations by Murman and
Cole in aerodynamics using the nonlinear transonic small disturbance equation
around 1970. In this example, type sensitive differencing was introduced and the
earlier nonlinear shock capturing technique was extended to two dimensions.
After many improvements to the models, highly realistic three-dimensional
simulations based on the Navier-Stokes equations with turbulence models became standard by the turn of the century. There are now many flow simulations
for which the computations are as accurate or even better than actual measurements. There are, however, still many hard problems that can not be adequately
solved. The prime examples are large classes of turbulent flows. Multiphase,
non-Newtonian and reacting flows are also very challenging and require better
algorithms.
In numerical linear algebra, the improvement in algorithm efficiency has
often matched the remarkable advances in computer speed. This has not been
the case in computational fluid dynamics. In this field the improvements have
rather been qualitative in nature. One example is the von Neumann stability
condition, which guides the algorithm design, based on the analysis of the
growth of Fourier modes. Another is the Lax-Wendroff theorem for nonlinear
conservation laws,
u(x, t)
+
f (u(x, t)) = 0.
(6)
t
x
The theorem introduces the discrete conservation form and proves that with
this form converging difference methods will converge to the correct solution,
[16].
The interaction between the development of computational methods and
the advancement of mathematical analysis of the fluid differential equations
have been strong. The nonlinear conservation law is a good example. Using
Page: 439 Engquist/Schmid (eds.) Mathematics Unlimited 2001 and Beyond author: Engquis2 date/time: 29-Oct-2000 / 19:48
439
440
B. Engquist G. Golub
3. Three Algorithms
In [8], Dongarra and Sullivan list the top ten algorithms. See also [13] in this
book. Three of the most important algorithms or methods are not found in this
list. We would like to mention them here, not only because of their importance,
but also because they are excellent examples of significant trends in modern
algorithm development. As in [8], we use the word algorithm loosely and not in
the strict sense of theoretical computer science. We give the original top ten list
for completeness: Monte Carlo method, simplex method for inear programming,
Krylov subspace methods, decomposition approach to matrix computations,
Fortran optimizing compiler, QR algorithm, quicksort, fast Fourier transform,
integer relation detection algorithm and the fast multipole algorithm.
3.1 The Finite Element Method
The finite element method is a general technique for the numerical solution of
differential equations. Let us here exemplify it by the simple problem of the
Poisson equation on the domain Rn with zero boundary values,
u(x) = f (x),
x ,
(7)
u(x) = 0,
x .
(8)
The finite element method is based on the weak form of the equations. This
form follows from multiplying (7) by a test function v(x) which also vanish
at the boundary . After integration and application of Greens theorem we
have,
u(x) v(x)dx =
f (x)v(x)dx,
(9)
441
(10)
A weak form of (7), (8) is to find the solution u in a space V such that (10) is valid
for all v V . The space V is in this example the Sobolev space H01 (). The next
step is to find a finite dimensional space Vh V and to solve the approximate
problem in that space. That is, find uh Vh such that a(uh , v) = (f, v) for all
v Vh . Let {j (x)}jJ=1 be a basis for Vh . With v(x) = k (x), k = 1, . . . , J
and,
J
u(x) uh (x) =
j j (x),
j =1
j a(j , k ) = (f, k ), k = 1, . . . , J.
(11)
j =1
This method, commonly called the Galerkin method is defined by the choices
of Vh and the basis functions. These basis functions are typically piecewise
polynomials with compact support and adjusted to allow for general domains
. The procedure as given by (11) is otherwise quite rigid. This might be
a drawback in some cases but also has the great advantage of guaranteeing
stability and convergence for wide classes of problems. The method extends far
beyond the simple example above to systems, nonlinear problems and integral
equations. In special cases it is also possible to relax the constraints as, for
example, Vh V .
The finite element method was introduced by engineers in the late fifties for
the numerical solution of problems in structural engineering. This computational
method was thought of as a technique of subdividing beams and plates into small
pieces, or small finite elements, with predictable behavior.
The mathematical analysis of the finite element method started in the mid
sixties. The method was generalized and related to the mathematical development of variational techniques from the beginning of the twentieth century. The
general mathematical framework made it easy to apply the method to other
fields, for example, in fluid mechanics, wave propagation, reaction-diffusion
processes and in electro-magnetics. For presentations from the seventies of the
mathematical analysis see e.g. Ciarlet [6] and for engineering applications see
e.g. Zienkiewicz [20].
We have mentioned the finite element method for two reasons. One is its
important impact in the engineering community. Today, there are hundreds of
larger software systems based on the method. The other reason is that it can be
seen as a model for the development of new computational methods.
It is quite natural that new algorithms are initially invented by scientists in
different fields of applications. The benefit of the numerical analysis is then to
understand the inherent potential and limitation of the method and its generalization in order to increase its range of applicability. It is also important to
couple the new technique to other already existing methods. In the finite element example, the fact that the bilinear form a(u, v) in (10) is positive definite
means that an array of powerful computational methods can be used for the
Page: 441 Engquist/Schmid (eds.) Mathematics Unlimited 2001 and Beyond author: Engquis2 date/time: 29-Oct-2000 / 19:48
442
B. Engquist G. Golub
positive definite linear systems in (11). One such method is the pre-conditioned
conjugate gradient method, which was discussed in Section 2.1.
3.2 Multigrid Methods
The Jacobi and Gauss-Seidel methods are classical iterative methods for the
solution of systems of linear equations. They converge very slowly for large
classes of problems that originate from discrete approximations of partial differential equations. However, the convergence is rapid for error components
with a wave length of the order of the mesh size in the discretization.
The multigrid method achieves an overall rapid convergence by using a
combination of basic iteration steps, for example related to Jacobi or GaussSeidel, on a hierarchy of different grids, see Figure 1.
gure 1
Three resolution levels in multigrid.
(12)
(13)
(14)
The v vector is now interpolated back to the finer grid and used to improve the
earlier approximation,
un+1
= u + v.
h
Page: 442 Engquist/Schmid (eds.) Mathematics Unlimited 2001 and Beyond author: Engquis2 date/time: 29-Oct-2000 / 19:48
U T U = Im , V T V = In and =
0
..
.
..
.
..
.
..
.
0
2
0
0
..
.
.
n
0
..
.
0
..
.
..
.
..
.
443
444
B. Engquist G. Golub
It is easy to show that the non-zero singular value of A are the square roots of
the non-zero eigenvalues of AT A. Thus,
1
B
0
Page: 445 Engquist/Schmid (eds.) Mathematics Unlimited 2001 and Beyond author: Engquis2 date/time: 29-Oct-2000 / 19:48
445
446
B. Engquist G. Golub
gure 2
Example of computational steering in a
virtual reality environment.
The user will also require automatically adaptive algorithms with realistic
a posterior error estimates. This is currently a very active area of research with
early results already in the seventies by Babuska, [1].
In the introduction we mentioned the strong links computational science
has to mathematics, the computer and applications. Progress in these fields will
directly impact the development of computational algorithms.
The interaction with different branches of mathematics must be strengthened. The models are becoming more complex and thus deeper mathematical
analysis is required to understand their properties.
We have stressed the importance of the increasing computer capability. If
there would be a drastic change in the computer architecture, this would immediately require substantial modifications of numerical algorithms, in particular
in numerical linear algebra. One possible such change could be the introduction
of quantum computers.
Fluid and structural mechanics have so far been the most prominent applications influencing the development and analysis of numerical methods. This
will change as a broader spectrum of applications will increase in importance.
Challenging examples are material science and other branches of fundamental
physics and chemistry. Simulations in the biological sciences are rapidly becoming important tools in research, industrial development and medical practice.
The ultimate challenge is a computer model of the human body, which is as
complete as possible. Social and economical systems are highly complex and
pose severe problems for modelling and simulations. Stochastic models will be
of importance for these types of systems, which often lack adequate deterministic descriptions. We are starting to see different interacting processes coupled
together in the same simulation. This is sometimes called multi-physics comPage: 446 Engquist/Schmid (eds.) Mathematics Unlimited 2001 and Beyond author: Engquis2 date/time: 29-Oct-2000 / 19:48
putations and it will become even more common in the future. We will also
have more applications of larger systems for optimization and control which
are based on many algorithms for individual processes.
None of these predictions will come true and none of the challenges will
be met if education fails. Thus, the greatest challenge is the education of new
generations of computational scientists, who have a thorough understanding of
mathematics, computer science and applications.
The first paragraph of the rules for the Seminar for Education of Students in
Scientific Computing at the Royal University Berlin is still remarkably relevant.
The text, which is given below, was communicated by Willi Jager from the
publications by the Ministry for Religious, Educational and Medical Affairs,
1879.
The Seminar for the Education of Students in Scientific Computing is a
public institute limited to the University, with the task to instruct students of the
mathematical sciences who have already acquired a certain sum of knowledge, in
the most appropriate way of performing scientific computation and to educate
them further by acquainting them with all theoretical and practical tools for
precise computing tasks.
447
gure 3
Rules for the Seminar for Education of
Students in Scientific Computing at the
Royal University of Berlin.
Reproduced from the Centralblatt fur
die gesammte Unterrichts-Verwaltung
in Preuen, nos. 2 and 3, Berlin 1879,
pp. 164167 (an excerpt). Verlag von
Wilhelm Hertz, Berlin 1879
Page: 447 Engquist/Schmid (eds.) Mathematics Unlimited 2001 and Beyond author: Engquis2 date/time: 29-Oct-2000 / 19:48
448
B. Engquist G. Golub
References
1. Babuska, I. and W. C. Reinboldt: Error estimates for adaptive finite element computations. SIAM J. Numer. Anal. 15 (1978) 736754
2. Bakhvalov, N. S.: On the convergence of a relaxation method with natural constraints
on the elliptic operator. USSR Computational Math. and Math. Phys. 6 (1996) 101
135
3. Brandt, A.: Multilevel adaptive solutions to boundary value problems. Math. Comp.
31 (1977) 333390
4. Bressan, A.: Stability estimates for nn conservation laws. Arch. Rationional Mech.
Anal. 149 (1999) 122
5. Chorin, A. J.: A random choice method in gas dynamics. Springer Lecture Notes in
Physics 59 (1976) 129134
6. Ciarlet, P. G.: The finite element method for elliptic problems. North-Holland, 1978
7. Dahlquist, G.: Numerical integration of ordinary differential equations. Math. Scand.
4 (1956) 3350
8. Dongarra, J. and Sullivan, F.: The top ten algorithms. Computing in Science and
Engineering (2000) 2279
9. Fedorenko, R. P.: The speed of convergence of one iterative process, USSR Comput.
Math. and Math. Phys. 1 (1961) 10921096
10. Godunov, S. K.: A difference scheme for numerical computation of discontinuous
solution of hydrodynamic equations. Math. Sbornik 47 (1959) 271306
11. Golub, G. H. and C. Van Loan: Matrix computations. John Hopkins Press, Baltimore
1989
12. Hackbusch, W.: Multi-grid methods and applications. Springer, Berlin 1985
13. Nieminen, R. M.: From number crunching to virtual reality: mathematics, physics
and computation. This volume, pp. 937960
14. Osher, S. and J. A. Sethian: Fronts propagating with curvature dependent speed:
algorithms based on Hamilton-Jacobi formulation. J. Comp. Phys. 79 (1988) 1249
15. Richardson, L. F.: Weather predictions by numerical process. Cambridge University
Press, 1922
16. Richtmyer, R. D., and K.W. Morton: Difference methods for initial-value problems.
John Wiley and Sons, New York 1967
17. Saad, Y., Iterative methods for sparse linear systems. PWS, New York 1996
18. Stewart, G.W. and J.-G. Sun: Matrix perturbation theory. Academic Press, New York
1990
19. Wilkinson, J. H.: The algebraic eigenvalue problem. Clarendon Press, Oxford 1965
20. Zienkiewicz: The finite element method in engineering science. McGraw-Hill, 1971
Page: 448 Engquist/Schmid (eds.) Mathematics Unlimited 2001 and Beyond author: Engquis2 date/time: 29-Oct-2000 / 19:48