On successful completion of this module, students will be able to:
Write and compile numerical software in C++
Find an appropriate numerical technique to solve common problems in applied mathematics and theoretical physics and to recognise its limitations.
Construct numerical solutions to mathematical and physical problems in C++
Describe the output of their numerical software and interpret results reliably.
The module aims to introduce the C++ programming language and object-oriented software concepts by getting students to construct numerical solutions to common problems in applied mathematics and theoretical physics.
Language basics: the compiler, variables, functions.
Conditions and loops.
Arrays, pointers and references
Ordinary differential equations - solving initial-value problems with Euler and Runge-Kutta methods.
Ordinary differential equations - boundary-value problems and the shooting method.
Hamiltonian dynamics - symplectic integrators and the leap-frog method.
Partial differential equations - solving the 2d Laplace equation using simple iterative schemes (Jacobi, Gauss-Seidel and SOR) with Dirichlet and Von Neumann boundary data.
Introduction to Monte Carlo methods in statistical physics.
MA1241 and one of MA2327, MA2332
This module will be examined in a 2 hour examination in Trinity term (60%). Four continuous assessment assignments will contribute 40% to the final grade for the module at the annual
Supplemental if required will consist of 100% exam.