Converting SDP in standard form to inequality form

1.4k Views Asked by At

I want to convert semidefinite program

min $tr(XY)$ subject to

$X \succeq 0$, $tr(XA_i)+c_i = 0$) where matrices $A_i, Y$ and vector $c_i$ are given

into the form with matrix inequalities that looks like this:

min $a^Tb$ subject to:

$z_1D_1 +z_2D_2 +...+ z_nD_n \preceq F$

I need the second form because I need to implement subgradient method for SDP problem. And I know how to do this with second form, I can see that gradient there is simply $a^T$ and if it is not feasible I will project it.

But in the first form I dont know how to do subgradient method. I googled a lot how to trasnform standard form into inequalitites, but everyone shows only how to transform inequalities into standard form and not vice versa.

1

There are 1 best solutions below

2
On BEST ANSWER

Let vec be the operator that takes a matrix and stacks all columns into a single vector. The objective is vec$(Y)^T$vec$(X)$, and the constraints are equivalent to: $$\begin{pmatrix} \text{vec}(A_1)^T \text{vec}(X) & \\ 0 & -\text{vec}(A_1)^T \text{vec}(X) & \\ 0 & 0 & \ddots \\ 0 & 0 & 0 & \text{vec}(A_m)^T \text{vec}(X) \\ 0 & 0 & 0 & 0 & -\text{vec}(A_m)^T \text{vec}(X) \\ 0 & 0 & 0 & 0 & 0 & X \end{pmatrix} \succeq \begin{pmatrix} -c_1 \\ c_1 \\ \vdots \\ -c_m \\ c_m \\ 0 \end{pmatrix} $$ The omitted elements above the diagonal are all 0. Since the constraints are linear in the elements of $X$, you can take $z = \text{vec}(X)$ and construct $n^2$ matrices $D_i$ of size $(n+m)\times(n+m)$ each.