SDP use cvx must berealand nsupport norm or abs in aim function

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(V
R))
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?

R is symmetric, not Hermitian. By what theory should trace(V*R) be real?

With R as constructed, trace(V^R) is complex affine, which means that real(trace(V^R)) or abs(trace(V^R)) can be minimized in CVX. But abs(trace(V^R)) can’t be maximized in CVX because it is convex.

Which, if any, of these. makes sense for your problem is for you to determine, because it’s your problem. Do you really intend R to be hermitian rather than symmetric, but you constructed the simulated input data incorrectly? Note that transpose(...) is non-conjugate transpose, not the (more usual) conjugate transpose.

Thank you very much, I wrote conjugate transpose as transpose, and the objective function is real.