You are here

Elementary Numerical Analysis: An Algorithmic Approach

S. D. Conte and Carl de Boor
Publication Date: 
Number of Pages: 
Classics in Applied Mathematics 78
[Reviewed by
William J. Satzer
, on

This is a new edition of a classic text on numerical analysis, an entry in SIAM’s Classics in Applied Mathematics series. It is intended for advanced undergraduate students in engineering, mathematics, and science, including particularly computer science. The authors suggest that a solid background in calculus is desirable, but realistically the reader needs at least a basic background in differential equations, some prior acquaintance with matrices, and a good dose of mathematical maturity.

This is a very strong introduction to numerical analysis but it expects a good deal of from students. It is clear, direct and complete and filled with sophisticated arguments, theorems and proofs. One of its strengths is the attention it pays to the sources of error. This edition has some rather peculiar features — more on this later — but the core material is very good indeed.

The selection of topics is fairly standard. The book begins with a chapter on number systems and errors. This incorporates a discussion of floating point arithmetic, error propagation, convergence of sequences and their order of convergence. One of the most difficult concepts to convey successfully to students (and sometimes even to more seasoned practitioners) is that the arithmetical operations of numerical analysis use a set of numbers that is substantially smaller than the set of real numbers, and that this has significant consequences. The authors address this in the first chapter and provide some good follow up throughout. One might have wished for even more examples of how things can go wrong.

The sequence of topics is perhaps a little unusual. The authors begin with polynomial interpolation and use the results and techniques they develop here throughout the book. Parts of the treatment are likely to prove difficult even for strong undergraduates. Solution methods for nonlinear equations come next. Solving systems of linear equations and eigenvalue problems follow. Subsequent chapters take up optimization, approximation, numerical differentiation and integration, ordinary differential equations, and finally boundary value problems.

The structure of the chapters is roughly similar throughout the book. The chapter on solution methods for nonlinear equations, for instance, begins with an example of how root finding can be challenging and error-prone in finite precision arithmetic, and then describes and analyzes several different methods. The authors provide algorithms (written in pseudo-code) for each method and offer explicit FORTRAN code for some algorithms. (MATLAB versions of each FORTRAN program are provided in an appendix and made available online.) Exercises in each section have both theoretical and computational components and some require proofs. Few of them are routine.

The previous edition of this book (the third) was published around 1980. Carl de Boor notes in his preface to this edition that when the publisher raised the question of a fourth edition in the late 1980s, de Boor suggested revising the final two chapters and replacing the FORTRAN code with MATLAB. He says that both his senior author (Conte) and the publisher “were dead set against that”. So the project was dropped.

This classic edition published by SIAM takes the third edition as is, adds six pages of errata immediately following the introduction, and inserts an appendix of MATLAB routines that parallel the FORTRAN routines in the text. Those MATLAB routines are mentioned only in de Boor’s brief preface to this edition. It makes for a very odd sort of “classic”.

The main body of the text has a dated feel to it, probably reinforced by the presence of the FORTRAN code and the comments about it. This does not diminish the value of the book, but may influence students’ perception of it. The availability of algorithms expressed in pseudo-code, FORTRAN and MATLAB would make translation to other languages relatively straightforward.

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.

Preface to the Classics Edition;
Chapter 1: Number Systems and Errors;
Chapter 2: Interpolation by Polynomial;
Chapter 3: The Solution of Nonlinear Equations;
Chapter 4: Matrices and Systems of Linear Equations;
Chapter 5: Systems of Equations and Unconstrained Optimization;
Chapter 6: Approximation;
Chapter 7: Differentiation and Integration;
Chapter 8: The Solution of Differential Equations;
Chapter 9: Boundary Value Problems;
Appendix: Subroutine Libraries;
Appendix: New MATLAB Programs;