# Invalid constraint: {positive convex} >= {0}

I have tried to find the solution of the convex optimization function using CVX tool box in matlab but the error shows that Invalid constraint: {positive convex} >= {0} for the contrain line. Can anyone point out the mistake I am doing.
The code which I wrote is

cvx_begin

``````    variable lambda1(N,1) nonnegative;
x=[lambda1;t] ;
y=x*t;

for i=1:N
u(1:N+1,i)=A(i,:);
U(i)=0;
end

u(1:N+1,N+1)=-b.';
U(N+1)=1;

for i=N+2:2*N+1
u(1:N+1,i)=1;
U(i)=0;
end

for i=2*N+2:3*N+1
u(1:N+1,i)=1*10^5;
U(i)=1;
end
for c=1:N
equ=(beta*I/psi(c))*y(c);
end
minimize (equ);
subject to

for h=1:3*N+1
for k=1:h

(U(k)-u(:,k).'*x)*(U(h)-u(:,h).'*x)>=0;
end
end
cvx_end
``````

The point of that extract is that (U_k - u^T_k x)(U_h - u^T_h x) \ge 0 is a non-convex quadratic constraint. Therefore a change of variables is introduced, y_{ij} = x_ix_j. That constraint needs to be entered into CVX using the y_{ij}, not quadratic x terms, which makes that a linear constraint in the variables y_{ij} and x. The paper does not seem to be artfully written on that point, as evidenced by your confusion. I suppose the paper tells you what to do after the CVX solution is obtained.

Thank you for replying . The other steps are clear but I am confused how to write the constraint in the convex form.

Study Reformulation Linearization Technique (RLT), then re-read the paper carefully. It’s not a good idea to blindly implement things from papers without understanding at all what they’re doing.

I believe you just need to expand out the quadratic term, (u_k^Tx)(u_h^Tx ) and enter it in terms of the y_{ij}. That is a matter of algebra, not of CVX. .

Thank you so much. Yeah sure I will study that.