There are no announcements





The aim of this course is to introduce the students to the practical application of a relatively wide spectrum of numerical techniques and familiarise the students with numerical coding.
Often in mathematics, it is possible to prove the existence of a solution to a given problem, but it is not possible to "find it". For example, there are general theorems to prove the existence and uniqueness of an initial value problem for an ordinary differential equation. However, it is in general impossible to find an analytical expression for the solution. In cases like these numerical methods can provide an answer, albeit limited: for example, there are numerical procedures (called algorithms) that, given an initial value problem, will compute its solution.
This module is designed to cover four key areas: linear equations, quadratures (i.e. the evaluation of definite integrals) and the solution of Ordinary and Partial Differential Equations.
The nature of the module is eminently practical: we will cover relatively little of the mathematical background of the numerical techniques that we will study. On the other hand students will be required to do a reasonable amount of programming in Python; the assessment will test their ability to code in Matlab or Python and to put into practice the theoretical methods studied at lectures. Computer laboratory sessions are associated to this module and will complement the lectures.

  • The lectures that explain the theory of numerical methods are pre-recorded and the students are required to study them in their own time.
  • There will be one computer lab a week in the MAGIC room where students and lecturer will discuss programming techniques and review each other's codes.
  • Computer lab worksheet will be made available during the course and discussed in the computer lab sessions.
  • Each participating node will be required to install Python on their MAGIC desktop so that students can display their codes to the lecturer. Instructions on how to install Python will be available.
  • The aim of the labs is to be interactive and with all the nodes actively taking part.


The assessment is through coursework:

    (A) One shorter test of Python knowledge
    (B) Two longer coursework assignment to test programming skills and numerical problem solving.
Note that there will be no separate assessment of the theory part of the course.


Autumn 2017 (Monday, October 9 to Friday, December 15)


  • Fri 11:05 - 11:55


No prerequisites information is available yet.


Linear Systems
Linear systems, direct methods (Gaussian and LU decomposition), indirect methods (Jacobi, Gauss- Seidel).
Polynomial interpolation methods and adaptive methods.
Initial Value for Ordinary Differential Equations
Basic theory, one-step methods (Euler, Runge-Kutta), predictor-corrector methods, multi-step-methods (Adam-Bashforth, Adam-Moulton). Higher order ODEs and systems of ODEs.
Boundary Value Problems for ODEs
Shooting, finite differences.
Partial Differential Equations
Basic theory, simple PDEs (Poisson, Heat, Wave). Finite difference algorithms for parabolic, hyperbolic and elliptic PDEs.
Non-Linear Equations
Bisection method. Contraction mappings and Newton’s method for functions of one or more variables.
Introduction, commands to solve quadratures and integrate ordinary and partial differential equations. Basic programming techniques.


Ian Hawke
Photo of Ian Hawke

Ian Hawke works on numerical simulations of neutron stars - the mathematical and computational aspects of extreme fluids in Einstein's theory of relativity.

There's a lot we don't know about the solutions of Einstein's equations in extreme cases. Numerical calculations can supply the brute force - we need the mathematics to get past the ignorance.
Since building an international collaboration on simulating relativistic fluids based in Europe, Ian moved to Southampton as a Lecturer in 2005. He continues to be involved in the international Cactus project for large scale simulations and is an author and maintainer of the Whisky code for simulating relativistic hydrodynamics, and has worked on related projects such as the Carpet mesh refinement code and the Einstein toolkit. He now has research interests in all aspects of numerical simulations of neutron stars, including relativistic multifluids and solid (elastic) matter.

He is co-Director of the EPSRC Centre for Doctoral Training in Next Generation Computational Modelling. This £10m Centre will train over 50 PhD students in the broad numerical skills required for computational research over the next 5 years.


Photo of Kevin Bolton
Kevin Bolton
Photo of Xiaoxuan Ding
Xiaoxuan Ding
Photo of Dominic Foord
Dominic Foord
Photo of Emrah Haspolat
Emrah Haspolat
Photo of Puneet Matharu
Puneet Matharu
Photo of Andrea Pachera
Andrea Pachera
Photo of Neil Sherborne
Neil Sherborne
Photo of Teck Yan Tan
Teck Yan Tan
Photo of Ajay Tiwari
Ajay Tiwari
Photo of Motiejus Valiunas
Motiejus Valiunas


No bibliography has been specified for this course.


No assessment information is available yet.

No assignments have been set for this course.

Recorded Lectures

Please log in to view lecture recordings.