MATH2051 Numerical Analysis II
It is easy to find the roots of the equation x²-3x+2=0. We also think of the evaluation of the integral of sin(x) for x going from 0 to 1 as an easy problem because we can express it as 1-cos(1), and a calculator can give a numerical value, to a certain accuracy. Such simplicity is unusual. For example, it is not possible to express the integral of sin(x)/x for x going from 0 to 1 in terms of a finite number of elementary functions, and there is no simple formula for the root of the equation x-cos(x)=0; numerical methods allow us to solve these, and other more interesting problems, to any required accuracy.
The ability to compute numerical answers to mathematical problems has always been an important part of mathematics. For example, an effective method for evaluating square roots was discovered more than 3700 years ago. Now numerical methods are more important than ever because mathematical models are widely used in science, engineering, finance and other areas, to formulate theories, to interpret data and to make predictions. Indeed, modern areas of mathematics such as mathematical biology hinge on numerical techniques. While one has to develop a realistic model consistent with the biology, the equations which arise are rarely solvable and without numerical techniques are of very little use. Numerical analysis is concerned with the development of numerical methods, and the "analysis" in the title refers to the study of the accuracy, reliability and efficiency of the resulting algorithms.
Numerical analysis shares some of the attractions of both pure and applied mathematics. For its derivations and analysis it draws on many areas of pure mathematics, yet its objective is practical - to produce reliable numerical approximations, and to do so efficiently. Practical experience of numerical computation is essential for a full understanding of the successes and failures of particular numerical methods. The practical sessions for this course form part of the assessment and are designed to allow you to experiment with a variety of numerical methods through the programming language Python.
Outline of Course
Aim: To introduce the basic framework of the subject, enabling the student to solve a variety of problems and laying the foundation for further investigation of particular areas in the Levels 3 and 4.
- Introduction (1 lecture): The need for numerical methods. Statement of some problems which can be solved by techniques described in this course. What is Numerical Analysis?
- Non-Linear Equations (7 lectures): Bracketing and bisection. Fixed-point theorem and convergence of fixed-point iteration. Error analysis and order. The Newton-Raphson formula. Aitken's method. Sets of non-linear equations. Newton iteration, without analysis of convergence.
- Errors (2 lectures): Rounding error and truncation error. Computer arithmetic. Loss of significance. Well-conditioned and ill-conditioned problems.
- Polynomial Interpolation (8 lectures): The Lagrange form with truncation error. Uniqueness. Divided differences, interpolating polynomial in Newton's form. Forward and backward differences (briefly). Chebyshev polynomials - definition, recurrence relation, zeros and extrema, minimax approximation property. Choice of interpolation nodes. Runge's example of divergence of an interpolation sequence. Inverse interpolation. Hermite interpolation.
- Numerical Differentiation (2 lectures): Finite difference approximations and their truncation errors. Richardson extrapolation. Effects of rounding errors.
- Numerical Integration (6 lectures): Interpolatory formulae, recalling examples from first-year. The Newton-Cotes formulae. Local and global truncation errors. Adaptive methods. Romberg's method, cases where the trapezium rule is very successful, Gaussian formulae. Methods for improper integrals.
- Least Squares Approximation (6 lectures): Discrete least squares approximation, normal equations, some non-linear problems reduced to linear form. Ill-condition of normal equations and how to avoid it. Continuous least squares approximation, weight functions. Orthogonal polynomials, particularly Chebyshev and Legendre polynomials.
- Linear Equations (6 lectures): Triangular systems. Positive definite matrices, matrix factorisations. Gaussian elimination, pivoting and row scaling. Operation counts. Vector and matrix norms. Condition numbers.
- Practical Sessions: Each student will have a weekly one-hour practical session in a computer classroom. Python will be used to implement the numerical methods introduced in the lectures.
For details of prerequisites, corequisites, excluded combinations, teaching methods, and assessment details, please see the Faculty Handbook.
Please see the Library Catalogue for the MATH2051 reading list.