You are here

Numerical Analysis: A Graduate Course

David E. Stewart
Publication Date: 
Number of Pages: 
CMS/CAIMS Books in Mathematics
[Reviewed by
Bill Satzer
, on
This is an attractive and challenging introduction to the theory and practice of numerical analysis intended primarily as a text for a graduate course. Well-prepared advanced undergraduates might also find it a valuable resource. In the current world, where many mathematics students – with graduate or undergraduate degrees - move into careers in applied mathematics, including data analysis, deep learning, or any of its variations, this book would provide a solid background. One of the things I like best is its inclination to explore what can go wrong with numerical computation.
While that might appear to give a negative slant to the subject, a careful discussion of things that go wrong (arising, for example, from very basic things like underflow, overflow, or subtraction of nearly equal quantities) can mitigate some of the most severe and commonly encountered computational catastrophes. The author’s approach is to describe in some detail how and why numerical algorithms work, and then to consider how they can fail.
The author maintains a good balance between theory and practice. The theoretical background is extensive with proofs of nearly all the results. But the book is grounded in the basics. Among other things, the first chapter briefly describes computer architecture, the complexities of floating-point arithmetic, and commonly used programming languages. It also begins the discussion of some analytic tools like norms and Taylor polynomials.
The topics included in the book are fairly standard. As the author notes, the subject of numerical analysis suggests no natural linear ordering, so an instructor has considerable flexibility in choosing what to include and in what order. Numerical linear algebra – at the core of numerical analysis - gets a very thorough treatment, as does the numerical solution of differential equations, ordinary and partial. The text is somewhat reminiscent of Stoer and Bulirsch’s classic text, but it has much more of a modern feel. Where appropriate, newer techniques are described in some detail. For example, in the context of solving differential equations numerically, Runge-Kutta methods are treated more thoroughly than in comparable texts, and implicit methods also get more attention. Generally, when the author takes up a subject, he treats it very thoroughly.
Two other parts of the book are particularly notable. One treats the theory and methods of polynomial interpolation, and the other manages to impose order on the vast area of numerical optimization. I found the treatment of polynomial interpolation clearer and better motivated than in comparable texts. Optimization – with its strong connections to data analysis and machine learning – is also handled very well.
The author suggests several uses for his book. He provides a plan for a strong first course, and then several possibilities for a second course: a machine learning course, one that focuses on simulation, and a third emphasizing uncertainty quantification.
Exercises throughout the book are numerous, well tied in to the text, and sometimes very challenging. The author seems to have given considerable thought to their creation and selection. Virtually all the algorithms included in the book come with pseudo-code (and with MATLAB and Julia versions available on the author’s website). 


Bill Satzer (, now retired from 3M Company, spent most of his career as a mathematician working in industry on a variety of applications. He did his PhD work in dynamical systems and celestial mechanics.