Invalid constraint:{complex affine} >= {complex constant}

The problem:


This problem is a convex problem when I fix other variables ,and I use CVX to solve this problem, but appear a error as follow, main error in the code is:
temp_k - temp__k >= sigma_0trace(V(:,i)'Q_aWW’Q_a’V(:,i))+sigma_rftrace(V(:,i)'Q_aQ_a’V(:,i)) +V(:,i)’ R_qqV(:,i);

The error at Matlb:
Disciplined convex programming error:
Invalid constraint: {complex affine} >= {complex constant}

出错 >= (第 21 行)
b = newcnstr( evalin( ‘caller’, ‘cvx_problem’, ‘[]’ ), x, y, ‘>=’ );

出错 FUNCSET>Get_p (第 384 行)
temp_k - temp__k >= sigma_0trace(V(:,i)'Q_aWW’Q_a’V(:,i))+sigma_rftrace(V(:,i)'Q_aQ_a’V(:,i)) +V(:,i)’
R_qq
V(:,i);

The code:
function update_p = Get_p(K,V,Q_a,RF_impair,W,H_BI,IRS_impair,H_r,phi,R_qq,sigma_0,sigma_rf,gama,p_max)
cvx_begin quiet
%cvx_solver Mosek
variable p(K,1)
minimize(sum§)
subject to
for i =1:1:K
temp__k = 0;
G_i = diag(vec(H_r(:,i)));
temp_k = p(i)/gamaV(:,i)'Q_a * RF_impairWH_BIIRS_impairG_iphi(V(:,i)‘Q_a * RF_impairWH_BIIRS_impairG_iphi)’;
for j =1:1:K
if j ~= i
G_j = diag(vec(H_r(:,j)));
temp__k = temp__k + p(j)V(:,j)'Q_a * RF_impairWH_BIIRS_impairG_jphi(V(:,j)‘Q_a * RF_impairWH_BIIRS_impairG_jphi)’;
end
end
temp_k - temp__k >= sigma_0trace(V(:,i)'Q_aWW’Q_a’V(:,i))+sigma_rftrace(V(:,i)'Q_aQ_a’V(:,i)) +V(:,i)’ R_qqV(:,i);
0 <= p(i) <= p_max;
end
cvx_end

Have you solve it? I have the same question with you. I am looking forward to a reply.

CVX requires both sides of an inequality constraint to be real.

If you want each of real and imaginary parts to separately satisfy the inequality, then use separate inequalities for real(LHS) <= real(RHS) and imag(LHS) <= imag(RHS).

If you want the inequality to be just for the real part, then use real(LHS) <= real(RHS) .In some case, there is a “nuisance” roundoff level imaginary term due to roundoff error, in which case, just apply real(...) to eliminate it.