# Disciplined Geodesically Convex Programming

arXiv: https://arxiv.org/abs/2407.05261 · HTML: https://mlsanity.com/paper/2407.05261/

## Key facts

- Cited by 1 papers in the map (data through 14 Oct 2026).
- Builds on 26 of its 62 references that are in the map.
- First posted on arXiv 7 Jul 2024.

## Builds on (most cited first, 26 of 26)

- [Convex optimization](https://mlsanity.com/paper/2106.01946/) (2021)
- [CVXPY: A Python-Embedded Modeling Language for Convex Optimization](https://mlsanity.com/paper/1603.00943/) (2016)
- [A Rewriting System for Convex Optimization Problems](https://mlsanity.com/paper/1709.04494/) (2017)
- [Manopt, a Matlab toolbox for optimization on manifolds](https://mlsanity.com/paper/1308.5200/) (2013)
- [Pymanopt: A Python Toolbox for Optimization on Manifolds using Automatic Differentiation](https://mlsanity.com/paper/1603.03236/) (2016)
- [First-order Methods for Geodesically Convex Optimization](https://mlsanity.com/paper/1602.06053/) (2016)
- [Riemannian SVRG: Fast Stochastic Optimization on Riemannian Manifolds](https://mlsanity.com/paper/1605.07147/) (2016)
- [Global rates of convergence for nonconvex optimization on manifolds](https://mlsanity.com/paper/1605.08101/) (2016)
- [Riemannian Optimization via Frank-Wolfe Methods](https://mlsanity.com/paper/1710.10770/) (2017)
- [Kernel Methods on the Riemannian Manifold of Symmetric Positive Definite Matrices](https://mlsanity.com/paper/1412.4172/) (2014)
- [Global Convergence of Non-Convex Gradient Descent for Computing Matrix Squareroot](https://mlsanity.com/paper/1507.05854/) (2015)
- [Fixed-point algorithms for learning determinantal point processes](https://mlsanity.com/paper/1508.00792/) (2015)
- [Geodesic Convex Optimization: Differentiation on Manifolds, Geodesics, and Convexity](https://mlsanity.com/paper/1806.06373/) (2018)
- [Regularized M-estimators of scatter matrix](https://mlsanity.com/paper/1405.2528/) (2014)
- [First-Order Algorithms for Min-Max Optimization in Geodesic Metric Spaces](https://mlsanity.com/paper/2206.02041/) (2022)
- [Convex Optimization in Julia](https://mlsanity.com/paper/1410.4821/) (2014)
- [Disciplined Quasiconvex Programming](https://mlsanity.com/paper/1905.00562/) (2019)
- [Calculating Optimistic Likelihoods Using (Geodesically) Convex Optimization](https://mlsanity.com/paper/1910.07817/) (2019)
- [High-performance symbolic-numerics via multiple dispatch](https://mlsanity.com/paper/2105.03949/) (2021)
- [Algorithmic and optimization aspects of Brascamp-Lieb inequalities, via Operator Scaling](https://mlsanity.com/paper/1607.06711/) (2016)
- [On Geodesically Convex Formulations for the Brascamp-Lieb Constant](https://mlsanity.com/paper/1804.04051/) (2018)
- [Efficient algorithms for tensor scaling, quantum marginals and moment polytopes](https://mlsanity.com/paper/1804.04739/) (2018)
- [Accelerated Methods for Riemannian Min-Max Optimization Ensuring Bounded Geometric Penalties](https://mlsanity.com/paper/2305.16186/) (2023)
- [On the matrix square root via geometric optimization](https://mlsanity.com/paper/1507.08366/) (2015)
- [Computing Brascamp-Lieb Constants through the lens of Thompson Geometry](https://mlsanity.com/paper/2208.05013/) (2022)
- [Rank bounds for design matrices with block entries and geometric applications](https://mlsanity.com/paper/1610.08923/) (2016)

## Built on by (most cited first, 1 of 1)

- [Structured Regularization for Constrained Optimization on the SPD Manifold](https://mlsanity.com/paper/2410.09660/) (2024)

## Abstract (arXiv)

Convex programming plays a fundamental role in machine learning, data science, and engineering. Testing convexity structure in nonlinear programs relies on verifying the convexity of objectives and constraints. Grant et al. (2006) introduced a framework, Disciplined Convex Programming (DCP), for automating this verification task for a wide range of convex functions that can be decomposed into basic convex functions (atoms) using convexity-preserving compositions and transformations (rules). Here, we extend this framework to functions defined on manifolds with non-positive curvature (Hadamard manifolds) by introducing Disciplined Geodesically Convex Programming (DGCP). In particular, this allows for verifying a broader range of convexity notions. For instance, many notable instances of statistical estimators and matrix-valued (sub)routines in machine learning applications are Euclidean non-convex, but exhibit geodesic convexity through a more general Riemannian lens. To define the DGCP framework, we determine convexity-preserving compositions and transformations for geodesically convex functions on general Hadamard manifolds, as well as for the special case of symmetric positive definite matrices, a common setting in matrix-valued optimization. For the latter, we also define a basic set of atoms. Our paper is accompanied by a Julia package SymbolicAnalysis.jl, which provides functionality for testing and certifying DGCP-compliant expressions. Our library interfaces with manifold optimization software, which allows for directly solving verified geodesically convex programs.
