Perhaps your existing code will result in successfully solving your original problem, but I don’t know.
Here are steps to take to improve your prospects
- Use Mosek as solver if available.
- Improve the numerical scaling of your problem, at least for the first iteration. Optimal objective value around 1e7 is huge, and may present numerical challenges, including resulting in naccurate solved. I don’t know what the magnitudes of the optimal variable values are, but very large magnitude is not good. Ideally you should try to choose units in the problem so that all non-zero input data is within a small number of orders of magnitude of 1, and so that the magnitude of the optimal objective value is not larger than 1 e3 or 1e4.
- If you don’t have Mosek as solver, it might help to follow the advice in CVXQUAD: How to use CVXQUAD's Pade Approximant instead of CVX's unreliable Successive Approximation for GP mode, log, exp, entr, rel_entr, kl_div, log_det, det_rootn, exponential cone. CVXQUAD's Quantum (Matrix) Entropy & Matrix Log related functions . But even if you do, it might not necessarily improve things in your case.
4.Unsafeguarded SCA is unreliable, and it may be that successive iterates get wilder and wilder, although that is not necessarily evident in the initial iterations you showed. But it may be that even if numerical scaling is good in the first iteration, it could get bad in later iterations.