Hi. I get the error when the function is sum_log. Below is the MATLAB code and error messages.
There would be no error if the function is replaced by other concave function such as -norm(t).
clear
close all
clc
K = 2;
F = [2 1; 1 2];
cvx_begin
cvx_solver mosek
variable Z(K, K) complex
variable t(K, 1)
maximize sum_log(t+1)
% maximize -norm(t)
subject to
Z == hermitian_semidefinite(K);
for kk = 1:K
Z(kk, kk) == 1;
end
for kk = 1:K
[Z + F(:, 1:kk ) * F(:, 1:kk)', F(:, kk); F(:, kk)', t(kk)] == hermitian_semidefinite(K + 1);
end
cvx_end
Error using *
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of rows in
the second matrix. To perform elementwise multiplication, use ‘.*’.Error in cvxprob/eliminate (line 137)
P = P * cvx_invert_structure( xR );Error in cvxprob/solve (line 18)
[ At, cones, sgn, Q, P, dualized ] = eliminate( prob, true, shim.dualize );Error in cvx_end (line 88)
solve( prob );Error in run (line 28)
cvx_end