This website is designed to teach disciplined convex programming (DCP). DCP is a system for constructing mathematical expressions with known curvature from a given library of base functions. DCP is used by the convex optimization modeling languages CVX, CVXPY, Convex.jl, and CVXR to ensure that the specified optimization problems are convex.
After reading about the DCP rules, visit the DCP Quiz to test your understanding, or type expressions into the DCP Analyzer.
The following links offer more information on convex optimization and DCP:
Convex Optimization, a book by Stephen Boyd and Lieven Vandenberghe.
EE364a, a Stanford course on convex optimization.
CVXPY Tutorial, a complete guide to CVXPY and its features.
Disciplined Convex Programming, a paper by Michael Grant.