If Gamma is input data (not a CVX variable or expression), then `log(1+ Gamma(:,:,k)p(:,k))`

is concave (however, maybe you’re not showing us everything, otherwise you would not have received the error “Cannot perform the operation {concave}*{affine}”). But 1-norm, or any other norm of that, is non-convex. It appears, though, that you always have something of the form log(1 + nonnengative_number), so is always >= 0. Therefore, you don’t need 1-norm, and can instead use `sum`

, which is allowed.

In the constraint `norm(p,0) <= P_M`

, the 2nd argument, 0, can not be < 1. However, things are rather confusing because you declared `p`

to be a matrix variable, and I am guessing your intended constraint is not in terms of matrix norm, but perhaps in terms of vector norms (or sums) on rows or columns.