Numerical linear algebra is the language of all scientific computing, particularly for applications arising in mathematical and engineering modelling. This module is aimed at applied mathematicians with an interest in numerical methods and more generally scientific computation. After a review of linear algebra topics and an introduction to matrix theory and computation, the module will discuss in detail methods for linear systems of equations, both direct and iterative, methods for eigenvalue problems and an introduction to fast Fourier transforms. The module will include a programming component; in particular, standard algorithmic concepts will be introduced together with notions of computational complexity and good coding practice.

Applications drawn from applied mathematics (e.g., dynamical systems, ordinary and partial differential equations etc) will be used for illustration purposes. This module will use the computer package Matlab.

This module builds upon the core numerical techniques students learned in Year 2.

It further develops theoretical foundations of practical algorithms for approximating functions and data (Lagrange and Hermite interpolation, adaptive approximation), for solving systems of nonlinear equations (Newton's method and its variants, fixed-point methods), for efficient evaluation of integrals (Romberg, Gaussian, and adaptive quadratures), and for numerical solution of ordinary differential equations (Taylor series method, Runge-Kutta methods, multistep methods). Theoretical and practical aspects of numerical algorithms will be illustrated with MATLAB examples.

Learning Outcomes

By the end of the module students should be able to:

Be familiar with a range of common topics from matrix analysis and matrix computations;

Be aware of the standard methods employed in Numerical Linear Algebra, including methods for linear systems of equations and for eigenvalue calculation;

Be aware of basic algorithmic concepts and be able to implement and manipulate several linear algebra constructs in a computational environment;

Be able to formulate several problems of applied mathematics as numerical linear algebra tasks

Construct Lagrange and Hermite interpolants for given functions or data.

Implement a range of iterative techniques for solving systems of nonlinear equations.

Make an informed choice of numerical methods for evaluation of integrals, implement those methods, and assess their accuracy.

Solve ordinary differential equations numerically using a range of methods