# How can I solve this complex quadratic programm by cvx?

Hi everybody,

Lets assume we have a quadratic constrained quadratic programm (QCQP).I need run this code but error?pls help me to solve the program.

``````M=4
Xm= [ 0.347539377224500 - 0.081746918454880i
0.326769939937300 - 0.189685096566200i
0.147353101517000 - 0.370809793783700i
-0.051613306810020 - 0.313641729930000i]

Rin=Xm*Xm'
Ep=1;
cvx_begin
variable a(M,1) complex
subject to
{a, (norm(a,2))^2 -M} == complex_lorentz(M);
{a, (1/Ep)*(norm((a-Xm),2) )^2 } == complex_lorentz(M);
cvx_end

??? Error using ==> cvx.pow_cvx at 142
Disciplined convex programming error:
Illegal operation: {convex} .^ {2}
(Consider POW_P, POW_POS, or POW_ABS instead.)

Error in ==> cvx.power at 55
z = pow_cvx( x, y, 'power' );

Error in ==> cvx.mpower at 9
z = power( x, y );

Error in ==> Rob_fek at 31
{a, (norm(a,2))^2 -M} == complex_lorentz(M);``````

This model cannot be handled by CVX I am afraid. Even if you correct the problem with `norm()^2` by using `sum_square_abs`, your equality constraints are not convex either. I’m not sure why you’re using `complex_lorentz` anyway; my suspicion is that using a more natural `norm` inequality was violating the CVX rules as well.

Please read this section and this section of the users’ guide very carefully. If you do not heed the instructions there you are guaranteed to be frustrated. The bottom line is that your problem is simply not convex as you are formulating it. If you do not know for sure that your model will be accepted by CVX before you type it in, you are not using CVX properly. I say that not to cause you offense, but to spare you unnecessary frustration.