# convex optimization

(10 hours to learn)

## Summary

Convex optimization refers to optimizing a convex function over a convex set. It is a very broad class of problems, encompassing widely used techniques such as linear programming, linear least squares, quadratic programming, and semidefinite programming. Convex optimization is important because for reasonable-sized problems, there are efficient algorithms for finding the global optimum.

## Context

This concept has the prerequisites:

- optimization problems
- convex sets (The feasible set must be convex.)
- convex functions (The function being optimized must be convex.)
- gradient (The optimality condition for the unconstrained case is given in terms of the gradient.)

## Goals

- Know the definition of a convex optimization problem

- Be aware that all local optima to a convex optimization problem are globally optimal

- Know and be able to apply the first-order optimality condition for the unconstrained case (i.e. the gradient being zero)

## Core resources (read/watch one of the following)

## -Free-

→ Convex Optimization

A graduate-level textbook on convex optimization.

## See also

- Some special cases of convex optimization problems: Some algorithms used in convex optimization: Applications in statistics and machine learning:
- maximum likelihood in exponential families is a convex optimization problem
- support vector machines , a widely used classification algorithm