
cvx_begin
variable y(3,1) complex
minimize (quad_form(y,RU))
subject to
y’y==N
cvx_end
y is a 31 complex vector,RU is a 3*3 comlpex matrix.N is a constant。
Error using cvxprob/newcnstr (line 192)
Disciplined convex programming error:
Invalid constraint: {convex} == {real constant}
Error in cvx/eq (line 12)
b = newcnstr( evalin( ‘caller’, ‘cvx_problem’, ‘[]’ ), x, y, ‘==’ );
Error in chonggouxiugai2017 (line 94)
y’*y==N
The constraint
y’*y==N
is obviously nonconvex. Most likely you can do
y’*y \leq N
If I do as you say,the restriction will change
And I try it ,the result y is close to 0
Obviously,that’s not i want
Please read Why isn't CVX accepting my model? READ THIS FIRST! and supply a proof that your model is convex. Then we can help you.
Note
y^2 = 1
obviously is a nonconvex set.
Well, you have a non-convex problem. If the convex relaxation y^Hy <= N does not produce an acceptable solution, then you will need to use a non-convex solver, and CVX can not be used.
Edit. Erling posted seconds before me. Anyhow, you will not be able to prove your model is convex, because it is not*
*unless N = 0, in which case the problem is rather trivial