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 (ie 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 a language such as Matlab or Python; part of 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.
One of the pre-requisites for MATH6149
Pre-requisites: MATH2015 OR MATH2038 OR MATH2047 OR MATH2048
Aims and Objectives
Having successfully completed this module you will be able to:
- Analyse a mathematical problem and determine which numerical technique to use to solve it
- Show logical thinking in coding a mathematical problem in algorithmic form
- Use a programming language such as Python, its instructions and its programming language
- Demonstrate knowledge and understanding of numerical methods to solve systems of linear equations, to compute quadratures and to solve Ordinary and Partial Differential Equations
- Use your knowledge of a programming language such as Python to learn more easily any other programming language you will need to use in future
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-stepmethods (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.
Bisection method. Contraction mappings and Newton’s method for functions of one or more variables.
Matlab or Python
Introduction, commands to solve quadratures and integrate ordinary and partial differential equations.
Basic programming techniques.
Learning and Teaching
Teaching and learning methods
Lectures, computer laboratory, web supported materials and private study.
|Total study time||150|
This is how we’ll formally assess what you have learned in this module.
|Implementation and testing||30%|
This is how we’ll assess you if you don’t meet the criteria to pass this module.
Repeat type: Internal & External