Here is my code:
cvx_quiet(false);
cvx_begin
variable U_k(K,K*L) complex
variable gamma_k
expression penalty
expression y2(K,L)
penalty=norm(U_k-U_n_sum,'fro');
for k=1:K
for l=1:L
y2(k,l)=2*real(conj(mu_opt(k,l))*U_k(:,(k-1)*L+l)'*w(:,k))-abs(mu_opt(k,l))^2*sigma;
for i=1:K
if i~=k
y2(k,l)=y2(k,l)-abs(mu_opt(k,l))^2*pow_pos(abs(U_k(:,(k-1)*L+l)'*w(:,i)),2);
end
end
end
end
maximize gamma_k-1/rho*penalty
subject to
min(min(y2))>=gamma_k;
cvx_end