cvx_begin

variable A_cap(N_a,N_a) Complex semidefinite;

minimize 1.1220e-11*trace(A_cap);

subject to

for m=1:M

trace(H_collect(:,:,m)'*A_cap*H_collect(:,:,m)) <= 7.7981e+12;

trace_inv(H_collect(:,:,m)'*A_cap*H_collect(:,:,m)) <= 0.0100;

end

cvx_end

When I am running this code, I am getting A_cap which doesn’t satisfy the criteria 'trace_inv(H_collect(:,:,m)‘*A_cap*H_collect(:,:,m)) <= 0.0100;’ . A_cap is a 15 cross 15 complex symmetric Positive semidefinite matrix. H_collect(:,:,m) is a 15 cross 6 complex matrix with real and imaginary entries drawn from a standard normal distribution.

Numbers such as e-11 and e12 are usually bad things for double precision solvers. Try to rescale the problem so that all non-zero input numbers are within a small number of orders of magnitude of 1.

After you have done that, what happens? Does CVX report the problem has been solved? if not, any results are meaningless. If so, constraints might still be violated, up to a feasibility tolerance. if the numerical scaling is bad, as in your problem, the solver and CVX results can be unreliable, and the feasibility violation could be large in absolute magnitude, even though it might not necessarily be so much in relative magnitude.