The basic code for my CVX process is listed below:

```
% Optimal solution
% concave-convex procedure optimization
% using slack variable and iteration process
mu_user_old = 1e-5 * ones(Nr, 1);
for iter = 1:maxiter
cvx_begin quiet
cvx_solver SeDuMi
variable mu_user(Nr);
variable t_user(Nr);
variable B(Nt, Nr);
maximize 0.5 * log_det((eye(Nr) + 2 / (pi * exp(1)) * diag(t_user ./ sigma2z)));
subject to
H * B == diag(mu_user);
sum(abs(B), 2) <= delta;
t_user - mu_user_old.^2 - 2 * mu_user_old .* (mu_user - mu_user_old) <= 0;
mu_user >= 0;
cvx_end
mu_user_old = mu_user;
end
mu_opt_all(:, ii) = mu_user;
t_opt_all(:, ii) = t_user;
B_opt_all(:, : ,ii) = B;
sum_rate_max_opt(ii) = 0.5 * log2(det(eye(Nr) + 2 / (pi * exp(1)) * diag(t_user ./ sigma2z)));
```

When I replace the log_det function with more efficient det_rootn, I get different results for sum_rate_max_opt. I wonder what is the reason for my problem. If the reproducible code is needed, please reply to me for the code.