Matthias K. Gobbert
This page can be reached via my homepage at
This page contains an annotated list of literature references aiming
at the numerical solution of partial differential equations that
reflects my personal preferences and tastes. In the interest of readers,
please let me know, if you find errors. I also welcome additional
suggestions and critical comments, if you have any.
Table of Contents
- The Unix/Linux Operating System
- The LaTeX Typesetting System
- Software Packages and Programming Languages
- Parallel Programming
- Mathematical Analysis
- Numerical Analysis
- Applied and Numerical Linear Algebra
- Numerical Methods for Ordinary Differential Equations
- Theory of Partial Differential Equations
- General Texts on Numerical Methods for Partial Differential Equations
- Numerical Methods for Elliptic Partial Differential Equations
- Numerical Methods for Parabolic Partial Differential Equations
- Numerical Methods for Hyperbolic Partial Differential Equations
- Resources for Learning
- Resources for Teaching
Additional suggestions are at
courtesy of Boris Alemi.
Simson Garfinkel, Daniel Weise, and Steven Strassman,
The UNIX-Haters Handbook,
IDG Books, 1994.
Why is this book listed here? Maybe, you need some consolation
after struggling with pesky Unix ... .
Linda Lamb, Learning the vi Editor,
O'Reilly & Associates, 1990.
I only know the first four chapters, actually, but reading this
will make you a power user sufficient for any programming to be done.
There is certainly a newer edition by now.
Jon Lasser, Think Unix, Que Corporation, 2000.
A fun-to-read, hard-hitting book that tells you the truth about
Unix/Linux and how to deal with it. Consider this gem of a remark
from pages 18-19: Use "cal 9 1752" to display the calendar of
September 1752, during which the Julian calendar was changed to
the Gregorian calendar (in England and its colonies).
Lasser notes that the behavior disagrees
with the precise text of the man page for cal and goes on to say:
"At any rate, the bug is probably (and I do emphasize
probably) not in the software, because that's the sort
of detail Unix geeks dwell on; the documentation, it seems, is
another story entirely." I could not have put the warning
about dealing with documentation any better.
Office of Information Technology,
UNIX AT UMBC: Using Unix @ UMBC.
A beginner's guide to UNIX, its most popular editors, and some
local issues (e.g., printing) is available from UMBC's
Office of Information Technology (OIT) at their website
In the large box labeled ``OIT Services,''
under the header ``Hardware & Software,''
follow the link to ``Unix'' to find the table of
content of the document UNIX AT UMBC: Using Unix @ UMBC.
(This is correct as of now; it keeps changing
all the time, so please let me know, if it changes yet again.)
Michel Goossens, Frank Mittelbach, and Alexander Samarin,
The LaTeX Companion, Addison-Wesley, 1994.
Needed to use the full power of LaTeX like redefining section
headers and creating lists, not needed for beginners.
Math into LaTeX: An Introduction to LaTeX and AMS-LaTeX,
This is a `vertical' introduction to LaTeX in that it combines
elements from basic LaTeX (as in Lamport's book), from standard
packages (as described in Goossens, Mittelbach, and Samarin), but
also includes some very advanced information using AMS-LaTeX.
I was impressed by how easy it was to find information in this
book, because it is written `vertically', i.e., by topic.
Nicholas J. Higham,
Handbook of Writing for the Mathematical Sciences,
second edition, SIAM, 1998.
This book is listed here, because it provides a number of unique
and practical LaTeX hints.
See under Professional Resources below
for my full recommendation.
Leslie Lamport, LaTeX: A Document Preparation System,
second edition, Addison-Wesley, 1994.
This introduction to LaTeX by the author of the software himself
starts with the philosophy of LaTeX as a mark-up language.
It is still the best explanation of the purpose of LaTeX that I know.
Every professional LaTeX user should have read this compact book.
Desmond J. Higham and Nicholas J. Higham,
Matlab Guide, second edition, SIAM, 2005.
The associated webpage
includes updates, code, and a list of errors.
Matlab's documentation is excellent, but along with its functionality
has reached a scale that requires a lot of sophistication to fully
understand. Moreover, there is a definite role for a book that
is organized by chapter on topics such as all types of functions
(inline, anonymous, etc.), efficient Matlab programming
(vectorization, pre-allocation, etc.), Tips and Tricks, and more.
This book was the first book to cover Matlab 6 (release R12),
half a year before it came out (first edition, 2000).
The second edition was updated and remains current today.
Brian W. Kernighan and Dennis M. Ritchie,
The C Programming Language,
second edition, Prentice-Hall, 1988.
This is by the authors of C. Every C programmer should have and
know this classic and compact introduction.
Teach Yourself Books, 2003.
Out of print, but an excellent readable introduction to C++.
C++ and Object-Oriented Numeric Computing,
This is the best introduction to C++
for people who wish to use it in scientific computing.
The presentation uses relevant examples from Numerical Analysis.
I have been able to find desired features quickly in here without
wading through pages of useless stuff.
Designing and Building Parallel Programs,
Introduction to parallel programming with
discussions of how to implement computational algorithms.
William Gropp and Ewing Lusk,
User's Guide for mpich,
a Portable Implementation of MPI, Version 1.2.1,
September 05, 2000, guide.ps.
This is essentially the documentation for how to use the
mpich commands mpirun, mpicc, mpif77, etc.
William Gropp, Ewing Lusk, and Anthony Skjellum,
Portable Parallel Programming with the Message-Passing Interface,
second edition, MIT Press, 1999. Associated webpage:
Introduction to MPI-1 with recent updates.
One gets faced with all aspects of performance-oriented MPI programming
from the start; not a gentle introduction for true beginners.
William Gropp, Ewing Lusk, and Rajeev Thakur,
Advanced Features of the Message-Passing Interface,
MIT Press, 1999.
Introduction to the additional features of MPI-2.
David E. Keyes, Ahmed Sameh, and V. Venkatakrishnan, editors,
Parallel Numerical Algorithms,
ICASE/LaRC Interdisciplinary Series in Science and Engineering,
vol. 4, Kluwer, 1997.
A collection of articles of application problems solved by
The Message Passing Interface (MPI) Standard,
Reference webpage with all sorts of information and many links.
Peter S. Pacheco,
Parallel Programming with MPI,
Morgan Kaufmann, 1997. Associated webpage:
where all example codes can be downloaded in C and Fortran.
Very well-written first introduction to parallel programming with MPI;
absolutely suitable as textbook or for self-study. It covers only
MPI-1, but that is not a problem for a first course.
Thomas Sterling, editor,
Beowulf Cluster Computing with Linux,
MIT Press, 2002.
Each chapter in this collection focuses on a particular aspect
of building, maintaining, or using a Beowulf cluster. Examples
are chapters on MPI, on the Maui scheduler, and on PBS.
Foundations of Modern Analysis,
Dover Publications, 1982.
Principles of Mathematical Analysis,
third edition, McGraw-Hill, 1976.
Myron B. Allen III and Eli L. Isaacson,
Numerical Analysis for Applied Science,
Comprehensive mathematical introduction to numerical analysis including
methods for differential equations.
Kendall E. Atkinson,
An Introduction to Numerical Analysis,
second edition, Wiley, 1989.
An analytical introduction into the subject, comprehensive and timeless.
Kendall E. Atkinson and Weimin Han,
Elementary Numerical Analysis,
third edition, Wiley, 2004.
An algorithm oriented introduction into the subject, less comprehensive
than the original book by the first author.
Richard L. Burden and J. Douglas Faires,
sixth edition, Brooks/Cole, 1997.
A basic introduction from an applied mathematics perspective.
Joel H. Ferziger,
Numerical Methods for Engineering Application,
second edition, Wiley, 1998.
Introduction to the solution of differential equations including all
necessary basics for engineers with many examples.
Numerical Analysis: An Introduction,
High-level, rather mathematical introduction to the topic.
Gene H. Golub and James M. Ortega,
Scientific Computing and Differential Equations: An Introduction to
Numerical Methods, Academic Press, 1992.
A basic, engineering-oriented introduction to all fundamental methods of
computational mathematics phrased in the terminology of solving
David Kincaid and Ward Cheney,
Numerical Analysis, Brooks/Cole, 1996.
Encyclopedic treatment of Numerical Analysis, even larger than
the big Atkinson but on about the same level.
Michael L. Overton,
Numerical Computing with IEEE Floating Point Arithmetic,
It might seem unintuitive at first that I am including this book
under the header Numerical Analysis. And in fact, this book
in its first seven chapters simply explains the celebrated
IEEE standard for binary floating-point arithmetic (IEEE 754).
Then it has a chapter on how to make sure that your C/C++ programs
handle real numbers correctly. But in the remaining several chapters,
the author provides the most succinct introduction to all crucial
concepts of numerical computing when using real computers. Everyone
intending on doing correct and reliable real-life computations should
read this book.
G. W. Stewart,
Afternotes on Numerical Analysis,
Rather philosophical and quick introduction, lots of interpretation,
coverage not entirely complete.
Josef Stoer and Roland Bulirsch,
Introduction to Numerical Analysis,
Classic high-level mathematical introduction ranging up to
finite difference methods, nothing for weak nerves.
R. Barrett, M. Berry, T. F. Chan, J. Demmel, J. Donato, J. Dongarra,
V. Eijkhout, R. Pozo, C. Romine, and H. Van der Vorst,
Templates for the Solution of Linear Systems:
Building Blocks for Iterative Methods,
Encyclopedic coverage of iterative methods for linear systems
with complete pseudo-code for every algorithm.
James W. Demmel,
Applied Numerical Linear Algebra,
To the point and realistic in its outlook and coverage of modern
iterative methods; a lot of guidance on what method to choose at
the expense of properly listing the details of some.
Gene H. Golub and Charles F. van Loan,
third edition, Johns Hopkins University Press, 1996.
Classic, encyclopedic overview of numerical linear algebra;
best used for looking up algorithms, if details are needed.
Gene Golub and James M. Ortega,
Scientific Computing: An Introduction with Parallel Computing,
Academic Press, 1993.
The approach of this textbook is interesting, because it incorporates
parallel computing in its goal. However, the most valuable contribution
in my mind are the very readable explanations of many fundamental methods,
for instance, of iterative methods for linear systems of equations.
Therefore, I am listing this book in the section on
numerical linear algebra.
Iterative Methods for Solving Linear Systems,
Frontiers in Applied Mathematics, vol. 17, SIAM, 1997.
Excellent introduction to iterative methods and their
preconditioners with a lot of good advice throughout the text.
Iterative Methods for Linear and Nonlinear Equations,
Frontiers in Applied Mathematics, vol. 16, SIAM, 1995.
Excellent introduction to conjugate gradient and GMRES for linear
systems of equations, plus coverage of nonlinear equations.
Iterative Methods for Sparse Linear Systems,
PWS Publishing Company, 1996.
Authoritative reference on iterative methods.
Iterative Methods for Sparse Linear Systems,
second edition, SIAM, 2003.
Updated edition of the aforementioned original.
Linear Algebra and its Applications,
third edition, Harcourt Brace Jovanovich, 1988.
Excellent and readable introduction to linear algebra,
applied rather than numerical in focus, but contains
an amazing number of correct numerical remarks.
Lloyd N. Trefethen and David Bau, III.,
Numerical Linear Algebra,
SIAM, 1997 and 2000.
Lecture-by-lecture introduction to numerical linear algebra with
a refreshing start using the QR-factorization.
Note: SIAM has published both a softcover (1997) and a hardcover (2000)
version of this book; they are identical in content.
David S. Watkins,
Fundamentals of Matrix Computations,
third edition, Wiley, 2010.
A very well-written, traditional book on the senior undergraduate
and beginning graduate level.
Uri M. Ascher,
Numerical Methods for Evolutionary Differential Equations,
Uri M. Ascher and Linda R. Petzold,
Computer Methods for Ordinary Differential Equations and
Modern introduction including the tough issue of
differential algebraic equations.
John C. Butcher,
The Numerical Analysis of Ordinary Differential Equations,
Full introduction to Runge-Kutta, linear multistep, and general linear
methods for ordinary differential equations by the inventor of
the order trees for Runge-Kutta methods himself.
Ernst Hairer, Syvert P. Nørsett, and Gerhard Wanner,
Solving Ordinary Differential Equations I:
Nonstiff Problems, second revised edition,
Springer Series in Computational Mathematics, vol. 8,
Encyclopedic overview of Runge-Kutta methods including review of
the non-numerical theory for ordinary differential equations.
Ernst Hairer and Gerhard Wanner,
Solving Ordinary Differential Equations II:
Stiff and Differential-Algebraic Problems,
Springer Series in Computational Mathematics, vol. 14,
Detailed overview of Runge-Kutta methods for stiff ordinary
Lawrence C. Evans,
Partial Differential Equations,
Graduate Studies in Mathematics, vol. 19,
second edition, American Mathematical Society, 2010.
Encyclopedic introduction to the mathematics of partial differential
equations, starting by identifying the four basic linear equations
and their properties, then discussing the theory for linear
Mark S. Gockenbach,
Partial Differential Equations:
Analytical and Numerical Methods,
The book combines a traditional senior-undergraduate level introduction
to partial differential equations with an introduction to the
finite element method.
Michael Renardy and Robert C. Rogers,
An Introduction to Partial Differential Equations,
Texts in Applied Mathematics, vol. 13, Springer-Verlag, 1993.
Walter A. Strauss,
Partial Differential Equations: An Introduction,
Aslak Tveito and Ragnar Winther,
Introduction to Partial Differential Equations:
A Computational Approach,
Texts in Applied Mathematics, vol. 29, Springer-Verlag, 1998.
Nice introduction to the basic mathematics of partial differential
equations with numerics introduced along the way.
Charles A. Hall and Thomas A. Porsching,
Numerical Analysis of Partial Differential Equations,
Slightly dated and somewhat incoherent introduction of both
finite difference and finite element methods for partial differential
equations; however, theory is done quickly but completely for
some important prototype problems; excellent application projects.
A First Course in the Numerical Analysis of Differential
Equations, Cambridge Texts in Applied Mathematics,
second edition, Cambridge University Press, 2009.
Click on "Textbook" in the left column from the webpage
Very nice overview of all types of partial differential equations;
includes also a complete review of all relevant facts on numerics for
ordinary differential equations.
John C. Strikwerda,
Finite Difference Schemes and Partial Differential Equations,
second edition, SIAM, 2004.
This book is entirely focused on finite difference methods applied
to linear partial differential equations, both hyperbolic and
parabolic. The main contribution of the text is to provide a
uniform presentation of Fourier-based analysis for finite difference
Alfio Quarteroni and Alberto Valli,
Numerical Approximation of Partial Differential Equations,
Springer Series in Computational Mathematics, vol. 23,
Encyclopedic introduction to the finite element method
applied to elliptic, parabolic, and hyperbolic partial differential
equations including their vector analogues.
Kendall Atkinson and Weimin Han,
Theoretical Numerical Analysis:
A Functional Analysis Framework,
Texts in Applied Mathematics, vol. 39, Springer-Verlag, 2001.
It turns out that the unintuitive and intimidating title hides
a rigorous introduction to the theory of the finite element method
for elliptic problems. This rigorous introduction is based on
functional analysis that is introduced in the first half of the book.
Finite Elements: Theory, Fast Solvers, and Applications in
third edition, Cambridge University Press, 2007.
Good introduction to the finite element method for elliptic
problems on a relatively high level including a review of the
finite difference method.
Susanne C. Brenner and L. Ridgway Scott,
The Mathematical Theory of Finite Element Methods,
Texts in Applied Mathematics, vol. 15, Springer-Verlag, 1994.
Heavy theory on elliptic problems.
Philippe G. Ciarlet,
The Finite Element Method for Elliptic Problems,
Timeless introduction with complete theory and lists of concrete
information for elliptic problems.
Philippe G. Ciarlet,
The Finite Element Method for Elliptic Problems,
Classics in Applied Mathematics, vol. 40, SIAM, 2002.
Republished version of the aforementioned timeless original.
Numerical Solution of Partial Differential Equations by
the Finite Element Method,
Cambridge University Press, 1987.
Well-known comfortable introduction to the concepts
and theory of the finite element method, also applied to some
non-elliptic problems, but dated coverage on those.
P- and hp- Finite Element Methods:
Theory and Applications in Solid and Fluid Mechanics,
Oxford University Press, 1998.
Mathematical background behind the p- and hp-methods for
elliptic problems; authoritative, but watch for typos.
Barry Smith, Petter Bjørstad, and William Gropp,
Domain Decomposition: Parallel Multilevel Methods
for Elliptic Partial Differential Equations,
Cambridge University Press, 1996.
This is a well-known introduction to the method of domain decomposition
and its use in parallel computing.
Barna Szabó and Ivo Babuska,
Finite Element Analysis,
Engineering language introduction to the finite element method for
elliptic problems in structural mechanics, includes p-method.
Willem Hundsdorfer and Jan Verwer,
Numerical Solution of Time-Dependent
Springer Series in Computational Mathematics, vol. 33,
Modeling background and numerical methods for the
type of equations in the title, with attention to
maintaining physically relevant properties of the solutions
such as non-negativity and mass conservation.
Galerkin Finite Element Methods for Parabolic Problems,
Springer Series in Computational Mathematics, vol. 25,
second edition, Springer-Verlag, 2006.
Recent review of theory for parabolic problems, while not attempting
to quote the sharpest results.
Bernardo Cockburn, George E. Karniadakis, and Chi-Wang Shu, editors,
Discontinuous Galerkin Methods:
Theory, Computation and Applications,
Lecture Notes in Computational Science and Engineering, vol. 11,
To my knowledge, this is the first book entirely focused on the
systematic introduction to the discontinuous Galerkin method (DGM).
Randall J. LeVeque,
Numerical Methods for Conservation Laws,
second edition, Birkhäuser, 1992.
Solid introduction to the physical background of conservation laws
ending mainly with finite difference methods for them.
Eleuterio F. Toro,
Riemann Solvers and Numerical Methods for Fluid Dynamics:
A Practical Introduction,
second edition, Springer-Verlag, 1999.
The first part is a nice concise introduction to the Euler equations.
After that, the book deals with the numerical solution of hyperbolic
conservation laws and the Riemann solvers involved.
The Craft of Scientific Presentations,
The book discusses strategies for giving effective presentations
in the sciences and engineering. The most substantial portion is
spent on the proper design of visual aids. This is useful
review of tested techniques and stategies
for anyone who has to give formal presentations.
Nicholas J. Higham,
Handbook of Writing for the Mathematical Sciences,
second edition, SIAM, 1998.
This is a unique book that addresses all imaginable technical issues
of publication from the rules of the English language to issues of
copyright that every professional in any field should know about;
added to that is particular information on how to go about publishing
in the field of mathematics both in a technical sense (formula
typesetting) to politics (how to choose a journal for publication).
I strongly recommend this book to anyone aspiring to doing
research in the mathematical sciences.
Steven G. Krantz,
Handbook of Typography for the Mathematical Sciences,
Chapman & Hall/CRC, 2001.
This book discusses the issue of writing with mathematical formulas
both from technical (LaTeX) and formal standpoint.
More focused than a general style manual would be.
This author has also written several other books of general
interest to scholars of the mathematical sciences.
Richard Manning Smith,
Mastering Mathematics: How to Be a GREAT Math Student,
3rd edition, Brooks/Cole, 1998.
This book is a great summary of study techniques, aimed specifically
at math classes. It is intended for undergraduate students, but a
review might also help many graduate students.
Thomas A. Angelo and K. Patricia Cross,
Classroom Assessment Techniques:
A Handbook for College Teachers,
second edition, Jossey-Bass, 1993.
Collection of techniques for how to measure quantitatively
students' learning in college classes and how to motivate better learning.
Barbara Gross Davis,
Tools for Teaching,
This resource has a wealth of tips and suggestions how to
improve specific aspects of your teaching. It might also be useful
to read a particular chapter before embarking upon a new instructional
activity, say, your first lecture in a big class or similar.
Bette LaSere Erickson and Diane Weltner Strommer,
Teaching College Freshmen,
This book has is useful as a refresher for faculty to understand
where college freshmen are developmentally. Those insights
can make the difference between a frustrating and a successful
Richard M. Felder and Rebecca Brent,
Teaching and Learning STEM: A Practical Guide,
This resource broadly covers all
STEM (Science, Technology, Engineering, and Mathematical Sciences) areas
and focuses on active and team-based learning in particular.
The book is very modern and provides a lot of motivational arguments,
why we should improve our teaching.
This is done via so-called interludes that can be quite thought-provoking
in various directions, consider for instance the very first
the question what a STEM major should really know.
L. Dee Fink,
Creating Significant Learning Experiences:
An Integrated Approach to Designing College Courses,
This book is based on the philosophy that changes in teaching hinge
upon the syllabus as the key document for any course.
The author walks you through a deliberate process of redesigning
your syllabus that involves identifying the learning goals and
corresponding teaching techniques and evaluation criteria.
Richard J. Light,
Making the Most of College: Students Speak their Minds,
Harvard University Press, 2001.
Despite the title, this book is in fact mostly addressed to faculty.
Based on extensive interviews with students, the author
describes what kind of class organization and which teaching techniques
seem to help the most, particular towards goals like
student engagement, retention, etc.
Learner-Centered Teaching: Five Key Changes to Practice,
The author proposes a fundamental change in education from focusing
on the teaching of the instructor to the learning of the student.
It is (nearly) purely philosophical in nature, but I found it to be an
inspiration for changes in my teaching.
Copyright © 1999-2017 by Matthias K. Gobbert. All Rights Reserved.
This page version 9.1, March 2017.