cvx gives 2 errors in using the jointly convex function (x’Ax)/t in variables x and t. first, x’Ax is a quad form. second, 1/t is wrong form because cvx can not solve constand/affine forms. when t is defined as a variable, cvx takes it a s a convex variable. so, i think writing the form (x’Ax)/t is incorrect. please help me to write the jointly convex form of (x’Ax)/t in cvx.
Presuming you are willing to have t
implicitly constrained to be > 0
, which is needed for comvexity, and that A
is positive definite, then you can use
quad_over_lin(chol(A)*x,t)
thank you so much. it was a great help
You do not really need t>0. Using a rotated quadratic cone i.e.
[0.5*s;t;chol(A)] \in rotated quadratic cone
you have
2.0 * 0.5* s * t >= x^T A x
t >= 0
That is what CVX does internally I suppose.