# Variable equality constraints in SDP Problem

I'm quite new to SDP programming, hence I might not have been able to use the right search terms to find a solution.

I try to reformulate an SDP problem to the original form. However a side constraint gives me some headache. Given the problem, where $$X$$ is a blockmatrix, which can be written like: $$X = \begin{bmatrix}A_1 & B_1^T&0&0 \\ B_1& C &0&0 \\ 0 &0& A_2 & B_2^T \\ 0&0&B_2 & C\end{bmatrix}$$ with $$A_1,B_1,A_2,B_2,C$$ all being matrices. The SDP problem can be formulated as follows:

$$\underset{X}{\text{min }} \langle W, X \rangle, \\ X\succeq 0$$ and $$W$$ is a constant matrix However I am wondering, how I can enforce, that the two $$C$$ matrices in $$X$$ are the same after solving? For the problem it is important, that it is formulated like a standard SDP problem.

• Shouldn't you have a $\min$ somewhere in your SDP problem? Also, what variables are your optimization variables? Lastly, what does $C \cdot X$ mean? It seems that $C$ and $X$ have different shapes. May 27 at 15:20
• thanks for your comment. I just changed the details, that the problem is clearer May 27 at 15:49
• Does $\langle , \rangle$ represent a Frobenius inner product? May 27 at 16:05
• it does. $\langle A,B \rangle = tr(A^T B)$ May 27 at 17:26
• Couldn't you just add the equality constraint $X_{22}=X_{44}$ for each element of these blocks? May 27 at 19:36

$$\underset{X}{\text{min }} \langle W, X \rangle, \\ X\succeq 0,~\mathbf{A}(X) = b$$
where $$\mathbf{A}(X) = b$$ denotes the primal equalities (the model you have written is either trivially solved by $$X=0$$ or is unbounded)
In reality one would never work with such a limited form, so you can at least assume you can work with a cone $$X$$ composed of a direct product of several cones, in your case 2, call them $$X_1$$ and $$X_2$$. What you have to do then is simply to sit down and write down all the equalities describing that certain elements in $$X_1$$ and $$X_2$$ are the same, i.e. define all the linear equalities $$\mathbf{A}(X_1,X_2) = b$$. If you absolutely refuse to use anything but a (too) standard form where you only can have one cone, you not only have to create all the equalities equating two blocks in $$X$$, but also a lot of equalities describing zero elements.