Disciplined Convex Programming

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.

Related Links

The following links offer more information on convex optimization and DCP: