MATH 485 - Convex Optimization

What is this course about?

This course lays the theoretical and algorithmic foundations of convex optimization problems. We provide a fairly general understanding of a wide class of problems including linear programming, quadratic programming, and geometric programming. Problems of this kind are abundant and arise in a wide range of applications such as economics, physics, engineering, machine learning, and image processing. In the first part of the course, we build the theoretical and algorithmic foundation for solving these problems. In the second part of the course, students put their knowledge into action by solving a capstone project.

Is this course right for me?

The answer to this question depends a lot on your personality, interest, and existing skills and I am happy to discuss this with you individually. Based on my past experience, you may enjoy this class if you want to gain a mathematical understanding of real-world optimization problems and learn about some effective solution strategies. This requires that you bring (or are willing to acquire) a solid working knowledge of 200-level math courses, most importantly Linear Algebra, Calculus, and Foundations of Mathematics. The theoretical part of the course will also appeal to you if you enjoy analysis and the algorithms will provide new ways for you to apply linear algebra techniques. The capstone project part of this course provides an opportunity to work on your communication skills (in writing and through presentations) and apply mathematical programming. To this end, we will use tools like LaTeX, MATLAB, python, or Julia. You do not need to have prior experience with these tools, but should be curious and be willing to commit time to learn them under my guidance and in collaboration with your team members.


The primary textbook for the course is Convex Optimization by Boyd and Vandenberghe. Reading the textbook is not required, but it is recommended. I will also provide lecture materials (mostly annotated slides) with more detailed references to specific sections. You are not responsible for textbook material that is not covered in the lectures.

Course Outline

  1. Introduction
  2. Convex sets
  3. Convex functions
  4. Convex optimization problems
  5. Duality
  6. Approximation and fitting
  7. Statistical estimation
  8. Geometric problems
  9. Numerical linear algebra background
  10. Unconstrained minimization
  11. Interior-point methods