So the problem I want to solve has a constraint that does not conform to the requirements. In the below, x,s,\bar{x},\bar{s}\in\mathbb{C}^N, \alpha,\beta\in\mathbb{R}, and A\in\mathbb{C}^{M\times N}
The documentation makes clear that the s^H x = 1 constraint is not valid, so I’m trying to get around this by including it in the cost function. Since the sum of two convex functions is again convex, it seems that I should be able to do this:
I try to formulate the above in CVX syntax like so:
cvx_begin
variable x(M) complex
variable s(M) complex
minimize( pow_pos(norm([ x; s ]-[xbar; sbar], 2), 2) + pow_pos(norm( s'*x - 1, 2),2) )
subject to
norm( x, 2 ) <= 10.^(delta/10);
norm( A * x, inf ) <= pmax;
cvx_end
However, I keep getting the following error due to the s'*x
part of the cost function:
Disciplined convex programming error:
Invalid quadratic form: product is complex.
I don’t see anything in the DCP rules set that should rule the above out. Moreover, the term norm([] - [])
involves a complex term, so it seems like it’s just the product of two complex variables that is not allowed even though it’s part of a real, convex expression. Moreover, if I change the product within the second norm to x'*s*s'*x
, I get the same error even though the product is strictly real.
Any help is greatly appreciated.