Inside the cvx_begin, can I use log2(det(*)) in an equation instead of log_det(*)/log(2), if ****** contains something matrices or constants (not optimizing variables) ? OR Inside the cvx_begin, even can I write equations as usual as written outside the cvx_begin (without following built-in functions of CVX) if that equation doesnot contain optimizing variables ?

Actually, inside the cvx_begin, I used log2(det(***** )) in an equation instead of log_det(*****)/log(2), if ****** contains something matrices or constants ( but not optimizing variables), then also code is working fine. But my query is whether both will give same answers only or final result may vary??

If all the arguments are floating point and do not involve CVX variables or expressions, you can use any MATLAB functions which return double precision values. You must follow CVX’s rules and use only 'allowed" functions if any of the arguments are CVX variables or expressions.

When applied to double precision arguments, `log2(det(x))`

should be the same, other than due to roundoff, as `log_det(x)/log(2)`

.