Illegal operation: log( {convex} ) problem

Hello everyone,

I run logarithm function which involves optimization parameters as follows
log(real(C1)+sigma_1+(sigma_2)*inv_pos(rho(1)))/log(2)>= real(lamda*(trace(W_1)+trace(W_E)+p_cir)+t)
where
C1=trace(H_1*W_1)+trace(H_1*W_2)+trace(H_1*W_3)+trace(H_1*W_4).

sigma_1 sigma_2, lamda and are p_cir constant. The optimization parameters are W_1,W_2,W_3,W_4, W_E, rho(1) and t. I guarantee that the above constraint is convex since 0<rho(1)<1, but how can i write it according to the CVX’s operations?

Thank you a lot in advance!

Let C1 = 0 (so W_1 = W_2 = W_3 = W_4 = all zeros matrices), sigma_1 = sigma_2 = 1. Then the Left-Hand Side is log(1+1/rho(1))/log(2), which is convex as a function of rho(1);. This is the LHS of >= constraint; therefore the constraint is non-convex.

Thanks for your prompt reply, sir.
log(1+1/rho(i))>=t is (convex function>= affine) for 0<rho(i)<1, am i right? if yes, I don’t get why it is a non-convex constraint!
I really appreciate it if you help me with this.

convex <= affine is a convex constraint.

convex >= affine is a non-convex constraint.

For example, consider the constraint x^2 >= 1.
x = -1 and x = 1 are both feasible. But the convex combination, x = 0, is not feasible. Therefore that constraint is non-convex.

I recommend you study https://web.stanford.edu/~boyd/cvxbook/

Thank you so much for you example. I get it!