Prasun Ray

Course description

Optimization problems -- problems that require the minimization of a cost function -- arise in all areas of science and engineering. This short course provides a brief introduction to a range of computational tools used to tackle optimization problems. The course is structured around examples and in-class exercices with a little bit of math mixed in. We will cover:

  • linear and nonlinear least-squares curve fitting
  • data reduction with singular value decompositions
  • iterative gradient-based and gradient-free methods
  • constrained optimization

The course has two versions, one in Python and one in Matlab, and basic proficiency with either Python + Numpy or Matlab is needed. Matlab version: 26th June, 14:00-17:00, ICT training room 204, Central Library                                                                                 


Registration and getting started

Students interested in the next Matlab version of the course should fill out the short online form here.

The classes will take place in computer labs, however students have the option of working on their own laptops.


There are several free Python packages available online. I use Canopy, and Canopy Express will give you all of the modules required for this course. There is also an academic version which includes more modules and is well suited for "serious" Python users.


Imperial students can download Matlab here. A free alternative to Matlab is Octave which can be downloaded here.