it is not the most efficient process for you to post error messages or problem or code fragments, without showing what everything really is. The reformulation I showed you with rel_entr was predicated on SINR being input data, i.e., a numerical MATLAB variable, not a CVX variable or expression.
You don’t show the code which resulted in this error message. So i I don’t know what is defined or defined as what.
help rel_entr
rel_entr Scalar relative entropy.
rel_entr(X,Y) returns an array of the same size as X+Y with the
relative entropy function applied to each element:
{ X.*LOG(X./Y) if X > 0 & Y > 0,
rel_entr(X,Y) = { 0 if X == 0 & Y >= 0,
{ +Inf otherwise.
X and Y must either be the same size, or one must be a scalar. If X and
Y are vectors, then SUM(rel_entr(X,Y)) returns their relative entropy.
If they are PDFs (that is, if X>=0, Y>=0, SUM(X)==1, SUM(Y)==1) then
this is equal to their Kullback-Liebler divergence SUM(KL_DIV(X,Y)).
-SUM(rel_entr(X,1)) returns the entropy of X.Disciplined convex programming information: rel_entr(X,Y) is convex in both X and Y, nonmonotonic in X, and nonincreasing in Y. Thus when used in CVX expressions, X must be real and affine and Y must be concave. The use of rel_entr(X,Y) in an objective or constraint will effectively constrain both X and Y to be nonnegative, hence there is no need to add additional constraints X >= 0 or Y >= 0 to enforce this.
As you can see, SINR needs to be concave
I still have no idea what’s what. I don’t know what is input data, what are decision (a.k.a. optimization a.k.a. CVX) varaibles or CVX expressions. That distinction is crucial.