You are here

Fundamentals of Numerical Computation

Tobin A. Driscoll and Richard J. Braun
Publication Date: 
Number of Pages: 
BLL Rating: 

The Basic Library List Committee suggests that undergraduate mathematics libraries consider this book for acquisition.

[Reviewed by
William J. Satzer
, on

Why should undergraduates study numerical analysis? In preparing this new book the authors have given the question a good deal of thought. They conclude that there are several important reasons. These include: learning to think computationally, acquiring computing skills, having the opportunity to apply new skills to problems outside their previous academic experience, and seeing applications of the mathematics they have learned in a new light.

The book is aimed at students with a background that includes at least calculus, linear algebra, basic differential equations, and some experience writing computer programs. The authors suggest that numerical analysis might be the first course students have taken that doesn’t fall under a single discipline and that they may find it challenging to recall and apply material they have learned before in isolation. From the beginning the authors offer students an even-handed and consistent approach that challenges but doesn’t overwhelm.

There’s a lot of material here — probably more than can be handled in two semesters. The core material of Part I constitutes about half of the book and includes what the authors consider to be the basics. Part II includes a selection of more sophisticated techniques. The emphasis throughout is largely on traditional numerical analysis. Analytic topics like differential equations, interpolation and root finding tend to dominate, but basic numerical linear algebra is treated as well. The topics of the second part are heavy on partial differential equations, but also include some more advanced numerical linear algebra and techniques of global function approximation.

This is a solid book with clear writing, excellent examples and a good sense of the issues that students are likely to encounter. The authors chose to use MATLAB as their computational tool; they provide an exceptional online repository with code for all the functions and computational examples presented in the book as well as helpful supplementary material. They assume no prior knowledge of MATLAB, but they also provide no introductory material themselves. Instead, the intention seems to be to let the students dig in and learn by example. The text and supporting code make that plausible.

The authors recommend that students experiment with the code they provide, change and break things. They note that students often learn more when an algorithm goes wrong than when it works correctly the first time.

The authors do a good job right from the start in describing and demonstrating the important issues of computing with finite precision real numbers. Although not theorem-oriented, the book provides some proofs, uses some heuristic arguments, and takes pains to identify and explain the differences. Exercises are plentiful and have considerable variety: MATLAB calculations, some proofs, computations done manually, opportunities to identify examples and counterexamples, and more.

While the book might profit from a modestly broader selection of topics — and a somewhat reduced presence of differential equations — the authors have produced a book that is likely to please both students and instructors. Beyond that, the book is visually appealing with an attractive layout throughout. Examples are pleasantly delineated. MATLAB code, output, and figures are gracefully integrated with the text.

Bill Satzer ( was a senior intellectual property scientist at 3M Company. His training is in dynamical systems and particularly celestial mechanics; his current interests are broadly in applied mathematics and the teaching of mathematics.