This constraint is non-convex in CVX. Could you please tell me how to transform it into a convex one?

for n=1:K
           right=0;
           e_k=0;
           for j=1:K
               e_k=e_k+pow_abs(Hru(:,n)'*diag(phi),2)*deta_v+deta;  
               g_ij3=[Hru(:,n)'*diag(G*w_j(:,j)),Hu(n,:)*w_j(:,j)];
              right=right+2*real(phi_10'*g_ij3'*g_ij3*phi_1)-...
                  real(phi_10'*g_ij3'*g_ij3*phi_10);
           end
           g_rtheta=[hrt'*diag(G*w_theta),0];
           2*real(phi_10'*g_rtheta'*g_rtheta*phi_1)-...
                  real(phi_10'*g_rtheta'*g_rtheta*phi_10)>=real(r_th_sita*(right+e_k));
       end

You haven’t shown the complete program. Forum readers don’t know what is input data, CVX variables, CVX expressions.

In any event, CVX is not appropriate for all problems. You might get help on this forum reformulating a convex constraint, or a constraint which is exactly convertible into a convex constraint, to a form which CVX will accept.

But if the constraint is non-convex, there is no exact convex reformulation, and it is up to the user to decided whether there is some alternative constraint which is convex, and still acceptable to the user. That is something you should not expect forum readers to do.

sorry,i forget to show the CVX variables.
cvx_begin
% cvx_solver sdpt3
variable phi(N) complex
variable phi_1(N+1) complex
variable tao(1,K)
variable l(1,K)
variable detai(1,K)
variable f(1,K)
variable h
maximize -real(phi’Aphi) - real(phi’tf)
subject to
phi_1==[phi’,1]';
%添加约束(1)
for i=1:K
2
real(phi_10’*g_itheta(i,:)‘*g_itheta(i,:)*phi_1)-…
real(phi_10’*g_itheta(i,:)‘*g_itheta(i,:)*phi_10)>=square_abs(phi_1’g_iK(i,:)');
for j=1:i-1
2
real(phi_10’*g_ii(j+1,:)‘*g_ii(j+1,:)*phi_1)-…
real(phi_10’*g_ii(j+1,:)‘*g_ii(j+1,:)*phi_10) >= …
square_abs(phi_1’*g_ii(j,:)‘);
end
end
%添加约束(2)对于每一个信号n来说,在信道i(i<=k)处,解码信号n的速度要大于等于rth
for n=1:K
right=0;
e_i=0;
for i=1:n
for j=1:n-1
g_ij=[Hru(:,i)‘diag(Gw_j(:,j)),Hu(i,:slight_smile:w_j(:,j)];
right=right+2
real(phi_10’*g_ij’g_ijphi_1)-…
real(phi_10’*g_ij’g_ijphi_10);
end
g_in=[Hru(:,i)'diag(Gw_j(:,n)),Hu(i,:)*w_j(:,n)];
e_i = e_i + pow_abs(Hru(:,n)‘diag(phi), 2) * deta_v + deta;
2
real(phi_10’*g_in’g_inphi_1)-…
real(phi_10’g_in’g_inphi_10)>=r_threal((right+e_i));
end
end

Perhaps you should re-read my previous post, in its entirety, including the link.

ok!I will read them.Thank you so much!