Introduction to Scientific Computation

Code School Level Credits Semesters
MATH2033 School of Mathematical Sciences 2 20 Full year China
Code
MATH2033
School
School of Mathematical Sciences
Level
2
Credits
20
Semesters
Full year China

Summary

This module introduces basic techniques in numerical methods and numerical analysis which can be used to generate approximate solutions to problems that may not be amenable to analytical techniques. Specific topics include:
• Nonlinear equations (bisection method, fixed-point iteration, Newton’s method, convergence);
• Linear systems of equations: Direct methods (Gaussian elimination, operation count, pivoting strategies, matrix factorisation, special matrices: diagonally dominant, symmetric positive definite);
• Linear systems of equations: Iterative techniques (matrix norms, Jacobi & Gauss-Seidel method, convergence);
• Polynomial interpolation (Lagrange polynomials, Lagrange form, error analysis);
• Numerical calculus (difference formulae, numerical quadrature:  trapezoidal, Simpson & midpoint rule, composite rules, Richardson extrapolation);
• Numerical ODEs (Euler’s method, wellposedness of IVPs, higher-order RK methods, local truncation error);
• Implementing algorithms in Python; Basic elements of finite digit arithmetic.

Target Students

Single Honours students from the School of Mathematical Sciences.

Classes

Assessment

Assessed by end of spring semester

Educational Aims

This module aims to introduce the concept of numerical approximation to problems that cannot be solved analytically, and to develop skills in Python through implementation of numerical methods. This module provides an important foundation on which students can develop skills and understanding in computational applied mathematics.

Learning Outcomes

A student who completes this module successfully will be able to:
• L1 - solve nonlinear equations (approximately) using rootfinding methods, and analyse their convergence;
• L2 - solve linear systems of equations using direct methods, and analyse their computational complexity;
• L3 - solve linear systems of equations using iterative techniques, and analyse their convergence;
• L4 - approximate functions by polynomial interpolants, and analyse their accuracy;
• L5 - approximate derivatives and definite integrals using numerical differentiation and integration, and analyse their convergence;
• L6 - approximate ODEs using numerical methods, and analyse their convergence;
• L7 - implement reusable codes in Python.

Conveners

View in Curriculum Catalogue
Last updated 09/01/2025.