1. Introduction#

This book addresses the design and analysis of methods for computing numerical values for solutions to mathematical problems. Most often, only accurate approximations are possible rather than exact solutions, so a key mathematical goals is to assess the accuracy of such approximations.

Given that most numerical methods allow any degree of accuracy to be achieved by working hard enough, the next level of analysis is assessing cost, or equivalently speed, or more generally the efficiency of resource usage. The most natural question then is how much time and other resources are needed to achieve a given degree of accuracy.

1.1. Topics#

The main areas of interest are:

  1. Finding the zeros of a function: solving \(f(x) = 0\).

  2. Solving systems of simultaneous linear equations; in matrix-vector notation, solving \(Ax = b\) for \(x\).

  3. Fitting polynomials to a collection of data points, either exactly (colocation) or approximately (least-squares).

  4. Approximating a function by a polynomial, or several polynomials.

  5. Approximating derivatives and definite integrals.

  6. Solving ordinary differential equations.

  7. Finding the minimum of a function.

Although it is the last major topic, the numerical solution of differential equations will often be mentioned earlier as a motivation for other topics. However, we start in a simpler setting: the problem of finding the zeros of a real-valued function: solving \(f(x) = 0\).

1.2. Some References#

  • [Sauer, 2019]. Numerical Analysis by Timothy Sauer, 2nd or 3rd edition.

  • [Burden et al., 2016] Numerical Analysis by Richard L. Burden and J. Douglas Faires, 9th edition.

  • [Chenney and Kincaid, 2012] Numerical Mathematics and Computing by Ward Chenney and David Kincaid.

  • [Kincaid and Chenney, 1990]. Numerical Analysis by David Kincaid and Ward Chenney, Brooks/Cole, 1990.

  • [SciPy Lecture Notes] online at https://scipy-lectures.org/; a free reference mainly on the SciPy package, but also with some general information on using Python for scientific computing. It is available both as a web-site or downloadable as PDF or HTML — for off-line access, I prefer the HTML version rather than the PDF.

See also the Bibliography.