Skip to content
frankpermenter edited this page Oct 25, 2014 · 23 revisions

This repo contains MATLAB code for pre-processing semidefinite programs (SDPs) using the technique described in the paper Partial facial reduction: simplified, equivalent SDPs via approximations of the PSD cone by Permenter and Parrilo.

Given an SDP, the code searches for a lower dimensional face of the PSD cone containing the feasible set. If the search succeeds, the code reformulates the SDP explicitly over this face, yielding an equivalent problem with smaller PSD constraints. For example, if the original SDP contains a single nxn semidefinite constraint, a reformulated (or "reduced") SDP will contain a single dxd constraint with d < n.

The search space for a face, or equivalently, the search for a reformulation, is controlled by a specified approximation of the PSD cone. The better the approximation, the larger the search space, and (potentially) the better the reformulation. Approximations currently supported are non-negative diagonal matrices and diagonally-dominant matrices. For these approximations, the search for a face is a linear program (LP).

Clone this wiki locally