# How can i solve this problem by CVX?

(chenchen) #1

cvx_begin
variable y(3,1) complex
subject to
y’y==N
cvx_end
y is a 3
1 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

(Erling D.Andersen) #2

The constraint

y’*y==N

is obviously nonconvex. Most likely you can do

y’*y \leq N

(chenchen) #3

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

(Erling D.Andersen) #4

Note

y^2 = 1

obviously is a nonconvex set.

(Mark L. Stone) #5

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