# Sparse Semidefinite Programs with Guaranteed Near-Linear Time Complexity via Dualized Clique Tree Conversion

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

## Key facts

- Cited by 3 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 10 Oct 2017.

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

- [Certifiably Optimal Outlier-Robust Geometric Perception: Semidefinite Relaxations and Scalable Global Optimization](https://mlsanity.com/paper/2109.03349/) (2021)
- [An Inexact Projected Gradient Method with Rounding and Lifting by Nonlinear Programming for Solving Rank-One Semidefinite Relaxation of Polynomial Optimization](https://mlsanity.com/paper/2105.14033/) (2021)
- [Semidefinite Programming versus Burer-Monteiro Factorization for Matrix Sensing](https://mlsanity.com/paper/2208.07469/) (2022)

## Abstract (arXiv)

Clique tree conversion solves large-scale semidefinite programs by splitting an n× n matrix variable into up to n smaller matrix variables, each representing a principal submatrix of up to ω×ω. Its fundamental weakness is the need to introduce overlap constraints that enforce agreement between different matrix variables, because these can result in dense coupling. In this paper, we show that by dualizing the clique tree conversion, the coupling due to the overlap constraints is guaranteed to be sparse over dense blocks, with a block sparsity pattern that coincides with the adjacency matrix of a tree. We consider two classes of semidefinite programs with favorable sparsity patterns that encompass the MAXCUT and MAX k-CUT relaxations, the Lovasz Theta problem, and the AC optimal power flow relaxation. Assuming that ωll n, we prove that the per-iteration cost of an interior-point method is linear O(n) time and memory, so an ε-accurate and ε-feasible iterate is obtained after O(√nlog(1/ε)) iterations in near-linear O(n1.5log(1/ε)) time. We confirm our theoretical insights with numerical results on semidefinite programs as large as n=13659. (Supporting code at https://github.com/ryz-codes/dualctc )
