When reviewing book with a very inclusive title, the main task of the reviewer is to explain what the book really is about, since it cannot possibly cover all of Scientific Computing, even if it is 900 pages long. In this case, that is not difficult to do, since the authors are rather conservative with their selection of topics. Essentially all chapters are related to Calculus, Differential Equations, or Linear algebra. There are very few excursions to Discrete Mathematics, and there is a last chapter on Optimization. In other words, you find the subjects that have to be in all introductory books on mathematical computing, and not too much else.

What I enjoyed most is the examples, often at the beginning of chapters or sections, that illustrate some pitfalls of using finite precision arithmetic, explain their background, and discuss some remedies. For instance, in Section 5.3.1, we are told about the Wilkinson polynomial, which is just the product of the 20 linear factors \((x-i)\), where \(i\) goes from 1 to 20. When Jim Wilkinson had a computer find the roots of this polynomial, instead of the integers 1,2,…, 20, he got some complex roots! In turns out that even though Wilkinson's computer had a precision of 2^{-23}, that was not sufficient, because roots of polynomials are ill-conditioned.

The book has too much material for a single course. There are numerous exercises, but none have their solutions included in the book, though a few have hints. In my opinion the most frequent use of the book will be as a reference. Mathematicians who checked their code many times, did not find any error in it, and are still convinced that the solution given by their computer is incorrect will do well checking this book for potential reasons of those inaccurate answers.

Miklós Bóna is Professor of Mathematics at the University of Florida.