That is a nonlinear equality constraint, which is non-convex.
You haven’t shown all of your program, so I have no idea what the symbols in the objective function are. However, if p0
and p1
are only used in your program in the form of U_0
and U_1
, and don;t appear anywhere else, then you can instead declare U_0
and U_1
to be variables (and never declare p0
or p1
), which would make the constraint affine, which CVX would accept.
However, there is more that is strange with your program. Even if you changed ==
to <=
which would cause the constraint to be convex and compliant with CVX’s DCP rules, Y_0
and U_1
are both scalars (created as inner products), and therefore even a <=
version of that constraint would result in an illegal indexing message in MATLAB, unless M has value 1.