# Disciplined convex programming error: Illegal operation: pow_p( {convex}, {-1} )

How is this f function expressed in CVX? The following is my proof of the joint convexity of this function expression. I try to use inv_ pos function but the error shown in the question is reported.

You can use a power cone:

x^2/3*y^1/3 >= |s|, x,t>=0 (This is the power cone)
x=L-t
s >= 0

which implies

y>= s^3 / (L-t)^2

Thanks for your reply. Does the power cone have specific constraints in CVX? If this expression is used as a constraint, a {concave} .* {concave} error will occur.

It is impossible to answer your question based on the information you provide. If you show your code you may get some help.

cvx_begin quiet
warning off
variable s(3);
variable x;
variable y(3);
variable z(3);
minimize ((L_max-x)×(p(1)+p(2)+p(3))+RhoL_0×
(1/L_max)^2×pow_pos(S_tot-s(1)-s(2)-s(3),3));
subject to
s(1)+s(2)+s(3)<=S_tot;
s(1)>=0;
s(2)>=0;
s(3)>=0;
(L_max-x)×k_1×(g_ESi(1)×p(1)+n_0)>=k_1/W×z(1)*n_0+RhoL_1×y(1);
(L_max-x)×k_1×(g_ESi(2)×(p(1)+p(2))+n_0)>=k_1/W×z(2)×(g_ESi(2)×p(1)+n_0)+RhoL_1×y(2);
(L_max-x)×k_1×(g_ESi(3)×(p(1)+p(2)+p(3))+n_0)>=k_1/W×z(3)×(g_ESi(3)×(p(1)+p(2))+n_0)+RhoL_1×y(3);
p(1)×g_ESi(1)×(L_max-x)×k_1>=RhoL_1×y(1);
p(2)×g_ESi(2)×(L_max-x)×k_1>=RhoL_1×y(2);
p(3)×g_ESi(3)×(L_max-x)×k_1>=RhoL_1×y(3);
{log(2)×s(1),W×(L_max-x),z(1)} == exponential(1);
{log(2)×s(2),W×(L_max-x),z(2)} == exponential(1);
{log(2)×s(3),W×(L_max-x),z(3)} == exponential(1);
x<=L_max;
x>=0;
x^(2/3)×y(1)^(1/3)>=s(1);
x^(2/3)×y(2)^(1/3)>=s(2);
x^(2/3)×y(3)^(1/3)>=s(3);
cvx_end

The above is the CVX part of my code. The last three power cone constraints do not conform to the specification.

Sorry, I am not very familiar with some functions, and I do not know how to convert the code to a specific format.

I think you have to use the geometric mean

since

geom_mean((x;x;y)) = x^2/3*y^1/3 >= s(1)

My problem has been solved. Thank you very much for your help！

@Michal_Adamaszek Also provided an alternative representation of power cone for handing cube over quadratic by use of rotated 2nd order cones at How can I write this kind of constraint in cvx