CVXOPT is a convex optimization package for Python that includes a Second Order Cone Programming (SOCP) solver. The SOCP solver takes a set of matrices that describe the SOCP problem, but these matrices are different than the matrices usually used to express the SOCP problem. This post walks through the simple algebra steps to find relationship between the two formulations of the SOCP problem.

The SOCP problem as described in Wikipedia or the excellent free book Convex Optimization by Boyd and Vandenberghe includes the constraint:

We can rewrite this to be:

Now to rearrange into the format expected by the CVXOPT solver:

And then see the relationship between the two formulations of the SOCP problem are equivalent:

and

### Like this:

Like Loading...

*Related*

Tags: cvxopt, math, optimization

This entry was posted on December 18, 2010 at 8:05 pm and is filed under research. You can follow any responses to this entry through the RSS 2.0 feed.
You can skip to the end and leave a response. Pinging is currently not allowed.

October 14, 2014 at 6:15 am |

Thanks for this note. I think you are missing an x in the 1st and second equations: e.g. the matrix [ c^T ; A ] should be multiplied by x for this to make sense