Second-Order Cone Programs

The following routines attempt to solve primal-dual pairs of Second-Order Cone Programs in either “direct” conic form,

\[\begin{split}\min_x & \{\; c^T x \; | \; A x = b \;\wedge\; x \in \mathcal{K} \;\},\\ \max_{y,z} & \{\; - b^T y \; | \; A^T y - z + c = 0 \;\wedge\; z \in \mathcal{K} \;\},\end{split}\]

or “affine” conic form

\[\begin{split}\min_{x,s} & \{\; c^T x \; | \; A x = b \;\wedge\; G x + s = h\;\wedge\; s \in \mathcal{K} \;\}, \\ \max_{y,z} & \{\; - b^T y - h^T z \; | \; A^T y + G^T z + c = 0 \;\wedge\; z \in \mathcal{K} \;\},\end{split}\]

where \(\mathcal{K}\) is a product of Second-Order (a.k.a. Lorentz, or icecream) Cones of the form

\[\mathcal{Q}_m = \{ (\chi_0,x_1) \in \mathbb{R}^m : \chi_0 \ge \| x_1 \|_2 \}.\]

By default a Mehrotra Predictor-Corrector primal-dual Interior Point Method is used.