How i can fix the problem

The constraint
0 >= gamma*sigma + gamma*(delta/theta) - abs(trace(H*W));
is not convex.

The term gamma*(delta/theta) can be rewritten as gamma*delta*inv_pos(theta) , but because gamma*delta is negative, that term is concave, and therefore makes the constraint non-convex.

Even if gamma*delta were positive, the term -abs(trace(H*W) is also concave, and makes the constraint non-convex.

If you have a typo, and really meant >= rather than <=, use of inv_pos would allow the constraint, and the whole program, to be accepted by CVX.

1 Like