SOCP Complementary Slackness Condition Confusion

83 Views Asked by At

So I know that for an SOCP, the complementary slackness condition together with the cone constraints are:

$$ \mathbf{s}^{T}\mathbf{x} = 0$$ $$ s \underset{K}{\geq} 0 $$ $$ x \underset{K}{\geq} 0 $$

In trying to derive an interior point method, I see that the above is often written as:

$$ SX \mathbf{e} = 0$$

Where $\mathbf{e} = [1, 0, 0, \ldots, 0]^{T}$, $S = arrow(\mathbf{s})$ and $X = arrow(\mathbf{x})$. Ie:

$$X = arrow(\mathbf{x}) = \begin{bmatrix} t_{x} & \tilde{\mathbf{x}}^{T} \\ \tilde{\mathbf{x}} & t_{x} \mathbf{I} \end{bmatrix}$$

$$S = arrow(\mathbf{s}) = \begin{bmatrix} t_{s} & \tilde{\mathbf{s}}^{T} \\ \tilde{\mathbf{s}} & t_{s} \mathbf{I} \end{bmatrix}$$

Where we denote $\mathbf{x}^{T} = [ t_{x} \; \tilde{\mathbf{x}}]^{T}$ $\mathbf{s}^{T} = [ t_{s} \; \tilde{\mathbf{s}}]^{T}$.

Question: Why do we need to write the matrices $X$ and $S$ this way?

Note: I understand that for other interior point methods, for instance in LP, we can just let $S = diag(\mathbf{s})$ and $X = diag(\mathbf{x})$ which means $\mathbf{e} = \mathbf{1}$ So why the difference?

Note: I also understand that $\mathbf{x} \underset{K}{\geq} 0$ iff $arrow(\mathbf{x}) \geq 0$ I think this is related, but I don't see how it fits here.