# Bilinear problem

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.