This textbook introduces undergraduates in mathematics, engineering and the physical sciences to the use of numerical methods for solving ordinary differential equations. The authors see their book (and a course based on it) as an opportunity to emphasize the usefulness of the tools of calculus and analysis as they present the core ideas of numerical analysis. The primary practical goal of the book is to show students what’s going on inside scientific computing software, and to give them a sense of the strengths and limitations of numerical methods.

I had to cheer when I read this from the preface:

We have glossed over the subject of existence and uniqueness of solutions for ODEs. Rigorous analysis is beyond the scope of this book and very little understanding is imparted by stating without proof the usual Lipschitz conditions (which fail to be satisfied by most realistic ODE models). Hence, our approach is always to assume that the ODE has smooth solutions.

Hooray! Of course existence and uniqueness are important. It’s just that — pedagogically — this is not the place for it. I’ve never understood the compulsive inclusion of general purpose existence and uniqueness theorems in elementary texts, especially when presented with neither proof nor motivation.

The authors eschew broad brush approaches in favor of a more carefully targeted presentation. For example, instead of a general purpose convergence analysis using Gronwall-type methods, the authors focus on linear, scalar, constant-coefficient ODEs when they take up global error propagation. Likewise, when they discuss implicit methods, they provide simple examples and exercises that draw attention to the issues involved. They do not try to identify general conditions where implicit recurrences have unique solutions. Another pedagogical point: instead of dealing with systems of ODEs throughout, the authors recognize that students — at least at first — are more comfortable with and better able to handle scalar equations, and only deal later with modifications needed for systems of equations.

The book begins with some examples that motivate the need for approximate numerical solutions of ODEs. The authors suggest that even some of the rare ODEs with closed form solutions can be better understood — via their solution curves — using numerical methods. After early chapters on Euler’s and Taylor series methods, the authors present multistep methods in five chapters. These emphasize convergence, consistency, stability and accuracy, and indicate where sometimes one must trade off on accuracy to get stability. Later chapters take up Runge-Kutta methods and adaptive step size selection.

The book concludes with treatments of some more “modern” material. These include discussions of geometric integration and stochastic differential equations. Geometric integration methods are specially designed to insure constancy of conserved quantities — like energy or mass or total probability — along solution trajectories. In discussing stochastic differential equations the authors provide an accessible introduction to Ito’s methods that are used widely in financial applications.

This is an attractive, very readable introduction to the subject for students who have completed a standard first year calculus course. It is not always an easy book — some of the concepts are subtle, and the topic generally demands close attention to detail. The exercises have been carefully constructed, but there are no programming exercises. Any needed computations could be done with a calculator. At the same time, it would be very useful for the student to use *MATLAB* or something similar to reproduce the examples and experiments presented in the book.

Bill Satzer (wjsatzer@mmm.com) is a senior intellectual property scientist at 3M Company, having previously been a lab manager at 3M for composites and electromagnetic materials. His training is in dynamical systems and particularly celestial mechanics; his current interests are broadly in applied mathematics and the teaching of mathematics.