Cubic over quad constraint


as in the figure,

I have a vector \bm{x} and \bm{y}, and a constraint in (3) as the sum of element-wise cubic over quad, the problem is that I do not know how to express this constraint in an acceptable way in CVX. As shown in (4) and (5) for the element-wise function, with x,y \ge 0, the Hessian is positive definite, so the left hand side of (3), as a sum of convex function, should be convex.

Many many thanks for the kind help.

Hi Michal,

Many thanks for your prompt reply and kind help. I have solved the problem based on your advice.

Yet I have two additional questions seeking for insights:

  1. Actually for my problem, the variable-x in the equation is expressed as a norms(w, 2, 2), my current solution is to redefine vector z = norms(w, 2, 2); and further define s = z^3/y^2. As such, I have introduced two more vectors to solve the problem, and I have used a for loop for the element-wise rotated-lorentz constraint, which apprears to be complicated. So I wonder if there is anything like quad_over_lin to express cubic_over_quad, in a more efficient and graceful manner.

  2. You mentioned that “(n+1)-power-over-n-power should be representable by iterating quad-over-lins”, I wonder if you refer to the inherent mechnism regarding the CVX itself that has nothing to do with users, or we can write our own code to implement the quad_over_lin iteration towards cubic_over_quad.

Thanks a lot.

  1. Maybe you can eliminate the loop if it can be vectorized but I don’t know that.
  2. I mean it can be modeled mathematically by extending the model from my answer and therefore can be implemented by a CVX user.

You will probably not avoid the intermediate cones because CVX only uses quadratic cones.

Hi Michal,

Many thanks for the further note. Has helped a lot.

Hello! I have the same problem about cubic over quad. My x is also the norm of one variable, could you please tell me how you handled this?