MA934-15 Numerical Algorithms and Optimisation
Introductory description
N/A.
Module aims
Numerical Algorithms and Optimisation teaches students the theory and implementation of a set of computational algorithms that provide the fundamental toolkit for advanced data analysis, simulation and optimisation. The syllabus will be drawn from the following list of topics: algorithmic structures (iteration, recursion, memoization) and computational complexity, data structures (linked lists, stacks and queues, binary indexed trees), sorting and search algorithms, Fast Fourier Transform, automatic differentiation, linear systems and the Conjugate Gradient algorithm, Singular Value Decomposition, convex and nonconvex optimisation, constrained optimisation, linear programming, Dijkstra's algorithm and dynamic programming, discrete-event simulation.
Outline syllabus
This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.
- algorithmic structures (iteration, recursion, memoization) and computational complexity
- data structures (linked lists, stacks and queues, binary indexed trees)
- sorting and search algorithms
- Fast Fourier Transform and its applications
- Topics in numerical linear algebra: solving linear systems, conjugate gradient algorithm, singular value decomposition
- unconstrained continuous optimisation: multivariate minimisation, Nelder-Mead algorithm, automatic differentiation, gradient descent
- constrained continuous optimisation: method of Lagrange multipliers, linear programming
- discrete optimisation: Dijkstra's algorithm, dynamic programming, combinatorial optimisation
Learning outcomes
By the end of the module, students should be able to:
- Students should be able to demonstrate a deep fundamental understanding of the most important computational algorithms used for advanced data analysis, mathematical modelling and optimisation of complex systems. They should be able to apply both discrete and continuous approaches depending on the requirements of a particular problem. They should understand algorithmic structures like iteration, recursion and memorization and be able to apply them.
- Mathematical manipulation and computational problem-solving techniques.
- Identify the most appropriate approach for computational solution of a mathematical problem and understand problems that can arise such as numerical error, poor conditioning or instability. Appreciate the computational complexity of an algorithm and the practical constraints it imposes on problem solving. Read and understand relevant research papers.
- Write efficient Julia code for computational solution of analysis and optimisation problems, select appropriate data structures and algorithms, present and visualise algorithm outputs and results of analyses in a clear and informative way.
Indicative reading list
W. H. Press et al., “Numerical recipes in C”, Cambridge University Press
Research articles to be provided to the students
Subject specific skills
See learning outcomes.
Transferable skills
Students will acquire key reasoning and problem solving skills which will empower them to address new problems with confidence.
Study time
Type | Required |
---|---|
Lectures | 10 sessions of 2 hours (13%) |
Tutorials | 10 sessions of 2 hours (13%) |
Private study | 110 hours (73%) |
Total | 150 hours |
Private study description
Review lectured material and work on set exercises.
Costs
No further costs have been identified for this module.
You must pass all assessment components to pass the module.
Assessment group D
Weighting | Study time | Eligible for self-certification | |
---|---|---|---|
Assessed coursework | 20% | Yes (extension) | |
Written examination | 40% | No | |
WILL BE CONDUCTED ONLINE IN 2020/21 |
|||
Oral examination | 40% | No |
Feedback on assessment
Written feedback on written assignments plus informal oral feedback during classwork sessions
Oral feedback on the oral examination
Written feedback on the class test
Courses
This module is Core for:
- Year 1 of RMAA-G1PG Postgraduate Research Mathematics of Systems
-
TMAA-G1PF Postgraduate Taught Mathematics of Systems
- Year 1 of G1PF Mathematics of Systems
- Year 1 of G1PF Mathematics of Systems
This module is Optional for:
- Year 2 of TPXA-F345 Postgraduate Taught Modelling of Heterogeneous Systems (PGDip)
This module is Option list B for:
- Year 1 of TPXA-F345 Postgraduate Taught Modelling of Heterogeneous Systems (PGDip)