Scientific Computing and Optimisation

This unit will bring together your previous experience of solving mathematical problems (optimisation, differential equations) and writing computer programmes using Python, Matlab, or Julia. The aim is to provide you with a suite of tools that can be used to transform real-world problems, such as those encountered in the Mathematical and Data Modelling units and final-year projects, into problems that can be efficiently solved on a computer.

Unit timetable

Teaching sessions

  • Monday 1200–1300 - demo and Q&A session - MVB 1.15
  • Thursday 1300–1500 - lab session – MVB 1.15
  • Friday 1300–1400 - drop-in (optional) - MVB 1.15

Software

You can code in Python, Matlab, or Julia. The choice is yours. However, some demos and examples will only be provided in one programming language.

Before the unit begins, please ensure that you have a functioning installation of your programming language of choice.

If you are coding in Python, then you will need the following packages:

If you are coding in Matlab, then you will need the optimisation and global optimisation toolboxes.

If you are coding in Julia, then you will need the following packages:

In Julia these can be installed from the REPL (compilation will take a few minutes):

import Pkg
Pkg.add(["OrdinaryDiffEq", "GLMakie", "BenchmarkTools", "JuMP"])

Teaching staff