I am using CVX for minimizing a function of the form Trace(AX)+real(a^H x) over X \in C^{N \times N} and x \in C^{N \times 1} (A and b have the same size as X and x, respectively). The following constraint is one of the constraints on X and x: X \geq xx^H

I thought because xx^H is a convex expression, CVX can handle this constraint, but I get the error Only scalar quadratic forms can be specified in CVX.

Is there anyway I can formulate the mentioned constraint in CVX?

Thanks a lot for your reply Mark. It was very helpful. Just one quick question. What is the sdp mode? I always define semidefinite functions as â€ś==semidefiniteâ€ť. In what cases can I use â€ś>=0â€ť?

I have not picked the problem from a paper. It is the problem I am working on for my own paper. The original problem is to minimize x^HAx + real(a^H x) subject to some constraints. I have reformulated the objective function as Trace(AX)+real(a^H x), where X=xx^H. I also solved the problem in its original form because the problem is convex anyway even without defining X=xx^H. However, the final solution for x involved inversion of (A+ some N \times N matrix) and I couldnâ€™t prove the mentioned matrix is always invertible.

Thanks Mark. Indeed, it seems there is no guarantee that the obtained X is rank one and this is exactly my main problem. If X=xx^H does not hold, the obtained solution for x is not completely accurate.