I want to maximize $$-\sum_{i,j}~x_{i,j}*log(\sum_j~x_{i,j})$$, where $$0 \leq x_{i,j} \leq 1$$.

CVX rejected me.

``Cannot perform the operation: {real affine} .* {concave}’’

So how can write the code so that CVX accept?

Thanks so much!

I want to maximize $$-\sum_{i,j}~x_{i,j}*log(\sum_j~x_{i,j})$$, where $$0 \leq x_{i,j} \leq 1$$.

CVX rejected me.

``Cannot perform the operation: {real affine} .* {concave}’’

So how can write the code so that CVX accept?

Thanks so much!

It’s possible that the `rel_entr`

function can help you here, but the sum definitely complicates things. I am not convinced this is convex, and even if it is, I don’t see how CVX can handle this.

Thanks so much Michael! I forgot to mention that $$0<x_{i,j}<1$$. It is convex.

*Arguendo*, it does not matter. CVX does not consider global convexity; that is, it does take into account bounds on the arguments when determining convexity. The DCP ruleset is non-negotiable, and convexity alone does not imply DCP-compatibility.

Got it. Thanks so much for your reply!