I want to solve the convex optimization as follows: \begin{align} \underset{X_1,X_2}{\min} &\ -\frac{1}{N}\sum_{i=1}^N\log\det\left(I+H_i^HX_2H_i\right)-\log\left[1+h^H(X_1+X_2)h\right]\\ &\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad+ \text{tr}(AX_1)+\text{tr}(BX_2)\\ \text{s.t} &\ \text{tr}(X_1+X_2) \leq 1 \\ &\ X_1 \in S^n_+,X_2 \in S^n_+ \end{align} with $H_i$, $h$, $A$, $B$ are given. $A$ and $B$ are both hermitian matrices. Subscript $H$ stands for the conjugate transpose.
I have utilized CVX to solve this problem, but the performance seems not well. Because Sylvester's determinant identity is used in two CVX codes, we obtain completely different results, which is unreasonable.
If the problem cannot be solved by CVX efficiently, the other toolbox like SDPT3 or SeDuMi could be in sight to tackle the problem? Thank you.
matlab code is shown as follows:
Sample = 10;
H = randn(4,2,Sample)+1i*randn(4,2,Sample);
h = randn(4,1)+1i*randn(4,1);
A = randn(4,4)+1i*randn(4,4); A = A*A';
B = randn(4,4)+1i*randn(4,4); B = B*B';
cvx_begin quiet
variable X1(4,4) semidefinite hermitian
variable X2(4,4) semidefinite hermitian
t = -log(1+quad_form(h,X1+X2))+trace(A*X1)+trace(B*X2);
for i = 1:Sample
t = t - log_det(eye(2) + H(:,:,i)'*X2 *H(:,:,i))/Sample; % Primal constraint
end
minimize(t)
subject to
trace(X1+X2)<=1;
cvx_end
X1
X2
t
cvx_begin quiet
variable X1(4,4) semidefinite hermitian
variable X2(4,4) semidefinite hermitian
t = -log(1+quad_form(h,X1+X2))+trace(A*X1)+trace(B*X2);
for i = 1:Sample
t = t - log_det(eye(4) + X2 *H(:,:,i)*H(:,:,i)')/Sample; % Sylvester's determinant identity is used
end
minimize(t)
subject to
trace(X1+X2)<=1;
cvx_end
X1
X2
t
```