variable M(k,k) herimitian semidefinite

variable b(k,1) complex

there is a constraint that

M == bb*

I want to relax this above constraint to get a convex constraint in CVX.

So I express that

square (sum_square_abs(b) - trace(M)) <= tol

I get a feedback from CVX that

a invalid operator: square{convex}

How can I convert this inequality into a valid operation?

Use Schur Complement to express the relaxation M \succeq b b'

In SDP mode (.i,e, if use `cvx_begin sdp`

)

`[M b;b' 1] >= 0`

Thanks for your answer. The CVX works. But I get the solutions M and b. The bb’ isn’t equal M.

In the inequality [M b; b’ 1] >= 0, the dimension of “1” is 1. While the dimension of M is k*k.

The formulation I provided is a convex relaxation, which is what you requested. Equality, i.e., rank 1 solution, is not guaranteed to hold at the optimum of the relaxed problem (although it might). If you insist on equality holding, that would be a non-convex problem, and can not be solved by CVX.

I believe the dimensions of the formulation I provided are correct and consistent.

yes, yes, you are right. Maybe my program isn’t right or need more constraints.