Hello everyone,

I’m trying to solve a basic problem with complex matrix through cvx, the model can be described as follows:

min u’ * M * u

s.t. |ui| = 1, for i = 1~N

and what i write in matlab is (try when N=2):

M = [0.1146 + 0.0191i -0.0591 - 0.0328i

0.0526 + 0.0788i 0.0181 - 0.0813i];

cvx_begin sdp quiet

variable u(2,1);

minimize (real(u’*M*u));

subject to

norms(u) = 2;

cvx_end

and the error i get is:

Error using * (line 258)

Disciplined convex programming error:

Invalid quadratic form: product is complex.

Error in testcvx (line 5)

minimize (real(u’*M*u));

Is that because of the refuse of complex target function in cvx? If not, could anyone help to show how to correct it?

Thanks in advance.