# Cvx sdp problem with small valued matrices

I am trying to solve the following problem in CVX

cvx_begin sdp quiet
variable X(4Nr,4Nr) hermitian
minimize( trace(E0_TOTX))
subject to
trace(FF1
X)>=1;
trace(FF2*X)>=1;
X>=0;
cvx_end

matrices E0_TOT, FF1 and FF2 are all positive semi-definite matrices. Where

FF1=p1E1-E2;
FF2=p2
E3-E4;

E1 and E2 are matrices with small valued entries in the order of 1e-27 while E2 and E4 have entries in the order of 1e-14. Due to the selected values for the p1 and p2 there is no worries about the feasibility but it seems that CVX cannot solve the problem in enough steps and gives the “infeasible” message.
I tried to play with cvx_precision function but it only works when I set something like cvx_precision([0.65 0.65 0.9]) which gives a result for X which by far violates the constraints.
It would be highly appreciated if you kindly help me with this issue.

Thanks.

You’re going to have to re-scale your problem so that your values are on the order of unity.

Thank you for the comment. But, it makes no difference if I re-scale the problem (I just checked) because I have a 1 in the RHS of the constraints which will be scaled too and does not change the answer.

If you scale FF1, FF2, and E0_TOT by the same amount \alpha, the optimal X will be scaled by \alpha^{-1}. Just do that. Short of that, you’re stuck. None of the solvers can handle that wide dynamic range.

Thank you so much for your help. I did so and it worked.