In cvx 2.2, if I use the 9.1.9 mosek solver, do I need to use rel _ entr _ quad for the logarithm function? Or just use rel _ entr.

With CVX 2.2 and Mosek 9.x or 10.x as solver, just use `log`

’ for logarithm.

If not using Mosek as solver, install CVXQUAD with its `exponential.m`

replacement and use `-rel_entr(1,x)`

in place of `log(x)`

. Or you can use `-rel_entr_quad(1,x)`

in place of `log(x)`

. But there is no need to ever use `rel_entr_quad`

, which from a user prespective is identical to `rel_entr`

, but which requires CVXQUAD, or it will not run at all).

If Mosek is used, there is only a need or benefit to use CVXQUAD if its quantum, i.e., matrix level, functions are needed. I.e., `quantum_entr(X), quantum_rel_entr(X,Y), trace_logm(X,C), trace_mpower(X,t,C), lieb_ando(X,Y,K,t)`

For addtional details, see 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 .

it is better to use the latest (stable) Mosek version, currently 10.0.46, than to use Mosek 9.1.9, which is bundled with CVX 2.2. Or you could use Mosek 10.1, currently in beta, downloadable at Mosek - Latest: MOSEK 10.1 .

To make sure you don’t wind up using Mosek 9.1.9 which is bundled with CVX 2.2:

First download latest Mosek and install under MATLAB. Make sure mosekdiag succeeds. Then reinstall CVX so it will find the new solver.

Either delete or rename the mosek directory under CVX (before reinstalling CVX)

or

`cvx_solver`

shows all the versions of all the solvers available to CVX. Choose the Mosek 10.x version, which might be called something like Mosek_2, then use `cvx_solver Mosek_2`

to get that version, and you can `save_prefs`

.

In any event, `cvx_solver`

will show all the versions available to CVX.

Follow the instructions to dump the Mosek task file from CVX as shown at 1 Technical Issues — MOSEK FAQ 10.0.46

`cvx_solver_settings('write', 'dump.task.gz')`

and send the resulting file to Mosek support.

Also, perhaps you can show your CVX program here? Even better if it is reproducible with all input data.

Most likely your data is unusual and hence it triggers a corner case i.e. a bug.

In order to make a robust I strongly recommend you follow the advice of @mark_l_stone.