N=4;
Nr=1;
hr=(randn(N,Nr)+1i*randn(N,Nr))/sqrt(2);
hd=(randn(M,Nr)+1i*randn(M,Nr))/sqrt(2);
G=(randn(N,M)+1i*randn(N,M))/sqrt(2);
Phi=diag(hr.')*G;
R=[Phi*transpose(Phi),Phi*hd;transpose(hd)*transpose(Phi),0];
cvx_begin sdp quiet
variable V(N+1,N+1) Hermitian;
minimize trace(V*R)
subject to
for j=1:N+1
V(j,j)==1;
end
V.'==hermitian_semidefinite(N+1);
cvx_end
Expressions in objective functions must be real
maximize trace(VR)
if we write maximize abs(trace(VR))
it said: Wrong use of type; Insufficient number of input parameters.
The variable V must be complex value.
Is this because my CVX version is wrong?