CPSC 524F / MATH 604:
Convex Analysis and Optimization

Convex optimization is a key tool for analyzing and solving a range of computational problems that arise in machine learning, signal and image processing, theoretical computer science, and other fields. It is also forms the backbone for other areas of optimization, including nonconvex problems. The aim of this course is to provide a self-contained treatment of the key ideas in convex analysis and their use in convex optimization.

This course is cross-listed as both CS542F (Topics in Numerical Computation) and MATH 604 (Topics in Optimization).


This list represents a tentative outline of the topics that will be covered.

Part 1: Convex sets

Part 2: Convex functions

Part 3: Convex optimization

Target Audience

This course is intended for students who wish to learn the underpinnings of convex optimization and are considering research in the area. Students looking to gain more practical experience with optimization (e.g., how to use various solvers) may wish to instead consider CPSC 406, which will be taught in Term 2.


Background in vector calculus, linear algebra, and basic real analysis.


Auditors and Undergraduates

Auditors are welcome. Graduate students who wish to audit, please bring a graduate registration form to the first lecture. Undergraduate students who wish to take the course for credit should fill out an undergraduate registration form.


The course isn’t based on any one particular text. These references should be helpful for further reading.


Sign up for the Piazza course page.