D'Math University | Computing & Interdisciplinary Mathematics
MSc Computational Mathematics
Master the numerical methods, scientific computing techniques, and simulation tools that power modern engineering and science — from finite element analysis to computational fluid dynamics, implemented at supercomputing scale.
Programme Overview
What You Will Study
This programme covers the mathematical theory and practical implementation of numerical algorithms — from finite element methods and computational fluid dynamics to uncertainty quantification and inverse problems — all implemented in modern scientific computing environments.
- Numerical Methods: finite elements, finite differences, finite volumes, spectral methods
- Scientific Computing: C++, Python, parallel programming, HPC clusters
- Applications: fluid dynamics, structural mechanics, inverse problems
- Computational Project: a substantial simulation or algorithm development project
Programme Highlights
Graduates work in simulation engineering, national laboratories, and scientific software development, solving problems in climate science, aerospace, biomedical engineering, and energy systems.
- Supercomputing Access: hands-on experience with HPC cluster environments
- Industry Collaboration: projects co-supervised with engineering and technology firms
- Software Skills: FEniCS, OpenFOAM, MATLAB, Python, C++ throughout the curriculum
- Research Pathway: direct entry to PhD programmes in computational science
Click any course to view its objective and learning outcomes.
CPM 501 Numerical Linear Algebra +
Objective
To compute large-scale linear algebra problems efficiently.
Learning Outcomes
- Apply LU, QR, Cholesky and SVD factorisations.
- Use Krylov-subspace methods.
- Apply preconditioning techniques.
- Analyse stability and conditioning.
- Implement BLAS-level routines.
CPM 502 Numerical PDEs +
Objective
To solve PDEs numerically with stable, convergent schemes.
Learning Outcomes
- Apply finite-difference methods to elliptic, parabolic and hyperbolic PDEs.
- Analyse stability via von Neumann.
- Apply finite-volume methods.
- Use multigrid solvers.
- Verify against analytical benchmarks.
CPM 503 Finite Element Methods +
Objective
To apply FEM to elliptic and time-dependent problems.
Learning Outcomes
- Derive weak formulations.
- Choose appropriate finite-element spaces.
- Apply Galerkin methods.
- Use a posteriori error estimates.
- Implement FEM in software.
CPM 504 Iterative Methods +
Objective
To solve large sparse linear systems iteratively.
Learning Outcomes
- Apply CG, GMRES and BiCGSTAB.
- Use preconditioning effectively.
- Analyse convergence rates.
- Apply multigrid methods.
- Use domain decomposition.
CPM 505 Optimisation Algorithms +
Objective
To implement and analyse modern optimisation algorithms.
Learning Outcomes
- Apply gradient and Newton methods.
- Use trust-region methods.
- Apply interior-point algorithms.
- Use ADMM for large-scale problems.
- Implement stochastic optimisation.
CPM 506 High-Performance Computing +
Objective
To exploit parallel hardware for scientific computation.
Learning Outcomes
- Use MPI for distributed computing.
- Apply OpenMP for shared memory.
- Program GPUs with CUDA.
- Profile and optimise scientific code.
- Apply hybrid parallel models.
CPM 507 Spectral Methods +
Objective
To use orthogonal polynomial expansions for high-accuracy computation.
Learning Outcomes
- Apply Fourier and Chebyshev expansions.
- Compute spectral derivatives.
- Apply spectral methods to PDEs.
- Use spectral element methods.
- Analyse exponential convergence.
CPM 508 Computational Fluid Dynamics +
Objective
To discretise and solve fluid-flow equations.
Learning Outcomes
- Apply finite-volume methods to Navier-Stokes.
- Use SIMPLE and PISO algorithms.
- Apply turbulence closures.
- Discretise compressible flows.
- Validate against benchmarks.
CPM 509 Monte Carlo Methods +
Objective
To use random sampling for high-dimensional computation.
Learning Outcomes
- Apply variance-reduction techniques.
- Implement importance sampling.
- Use MCMC sampling.
- Apply quasi-Monte Carlo.
- Quantify Monte Carlo error.
CPM 510 Machine Learning Mathematics +
Objective
To analyse the mathematics underlying modern ML algorithms.
Learning Outcomes
- Apply optimisation theory to neural networks.
- Analyse generalisation theory.
- Use kernel methods.
- Apply spectral methods in graph ML.
- Discuss approximation theory of NNs.
CPM 511 Scientific Visualisation +
Objective
To create effective visualisations of computational data.
Learning Outcomes
- Use VTK and ParaView for 3D visualisation.
- Apply volume rendering.
- Visualise time-dependent data.
- Use perceptual principles in colour maps.
- Build interactive web visualisations.
CPM 512 Computational Project +
Objective
To complete an original computational mathematics research project.
Learning Outcomes
- Identify a computationally challenging problem.
- Apply rigorous numerical methods.
- Implement and validate code.
- Write a research-quality dissertation.
- Present to a computational science audience.
Core Modules
Finite Element Methods
Variational formulations, Galerkin methods, error estimates, mesh refinement, and FEM software implementation.
Scientific Computing
C++ and Python for numerical computation, data structures for scientific software, testing, and performance profiling.
Numerical Linear Algebra
Direct and iterative solvers, preconditioning, eigenvalue computation, and sparse matrix techniques.
Computational Fluid Dynamics
Navier-Stokes equations, finite volume discretisation, turbulence modelling, and CFD software workflows.
Parallel Computing for Science
MPI, OpenMP, GPU computing (CUDA), and strategies for scalable scientific simulation on HPC systems.
Optimisation Algorithms
Gradient-based and derivative-free optimisation, constrained problems, and applications in shape and parameter optimisation.
Uncertainty Quantification
Monte Carlo, quasi-Monte Carlo, polynomial chaos, and Bayesian methods for uncertainty propagation in simulations.
Inverse Problems
Ill-posedness, regularisation, Tikhonov methods, Bayesian inversion, and applications in imaging and geophysics.
Mesh Generation & Adaptation
Structured and unstructured meshing, adaptive refinement strategies, and mesh quality metrics for FEM and FVM.
Computational Project
An extended simulation or algorithm development project, co-supervised with an industry or academic partner.
Career Outcomes
Simulation Engineer
Build and validate computational models of physical systems for engineering, aerospace, and energy applications.
Scientific Software Developer
Develop high-performance numerical software libraries and simulation frameworks used by researchers worldwide.
Research Scientist (National Labs)
Conduct applied mathematics research at national laboratories addressing problems in energy, climate, and defence.
Numerical Analyst
Develop and analyse numerical algorithms ensuring accuracy, stability, and convergence for complex scientific problems.
CFD Engineer
Apply computational fluid dynamics to aerodynamic design, HVAC systems, and turbomachinery in leading engineering firms.
HPC Developer
Write and optimise parallel scientific codes for supercomputing environments in research and industrial settings.
Where Our Graduates Go & Top Global Universities
Why D'Math University — Our 4-Step Approach
Theory First
Every numerical method is grounded in rigorous mathematical analysis — convergence, stability, and error theory underpin all coding work.
HPC Infrastructure
Students access supercomputing clusters from Week 1, implementing parallel algorithms on real scientific workloads.
Industry Co-Supervision
Projects are co-designed with aerospace, energy, and engineering firms, ensuring real-world impact and employment-ready skills.
Publication-Ready Output
The computational project is conducted to research standards, with many students producing journal-quality results.
Applications open year-round — harness the power of mathematics to simulate the world.