This book introduces students to the theoretical underpinnings of numerical analysis. Applications are referenced along the way, but not explored in detail. Open to a wide spectrum of readers, the book is largely self-contained. Each chapter has an introductory section that covers relevant preliminaries at the undergraduate level. The result is a thorough compendium on scientific computing suitable as a reference source or course textbook.

The chapters feature theorems clearly explained proofs. Roughly once per section basic algorithms are given in pseudo-code. This makes it is easy to implement them in any programming language. Section examples are basic and illustrative, as befits the introductory nature of the text. The sections also have approachable Computer Problems for algorithm implementation. Reading the text and doing just the applied Computer Problems should give a wide, practical introduction to numerical analysis, but may not justify the cover price.

The chapter problem sets are at higher level and will prove much more difficult to independent readers. Combine this with the absence of any solutions to the problem sets and an unprepared solo reading of this text may prove unfruitful. However, as a text for a course in which lectures bridge the gap between section material and problems, I am sure this works very well. Self-starters would be better off with a recent edition of the authors’ *Numerical Mathematics and Computing*.

Including a twelve-page appendix on mathematical software, this text covers the theory of numerical analysis in eleven fairly rigorous chapters broken down into concise, well-organized sections. Topics covered include number representation and error propagation in computers, solving systems of equations, approximation theory, numeric differentiation and integration, numeric ODEs and PDEs, and optimization.

Tom Schulte teaches mathematics at Oakland Community College and is a Senior System Engineer for Plex Systems.