Input socp constraints directly


What is the best way of inputing SOCP constraints directly? I tried using the traditional

x^TAx >= y

and got the error “Disciplined convex programming error:
Invalid constraint: {convex} >= {real affine}”

I also tried using a semidefinite constraint with one row and column as variables, but I think that reformulates it as an SDP constraint + affine constraints, which defeats the purpose of computational efficiency of the SOCP reformulation.

Is there a more direct way, where I can “force” the constraint to be an SOCP? Also, is there a way that I can actually see the reformulation, right before CVX solves it?


The sign of the inequality needs to be reversed (i.e., <=, not >= ) in order to be a second order cone constraint. If you do so, it will be readily accepted by CVX. The inequality as you have written it is non-convex. I’ll leave it to you to determine what you really meant.

Woops, you’re right! Silly mistake. Thanks!