Hello every one,
I am trying to solve a basic SDP problem with complex matrices and get some problem regarding the solution. Here is the problem:
Given two (2x2) hermitian matrices Z1, Z2:
maximise(trace(Z1 E1) + trace(Z2 E2))
with E1 + E2= II (identity), trace(E1)<=1, trace(E2)<= 1, and E1 E2 hermitian semidefinite.
Here is the code:
clc; clear all; close all;
Z1 = [0.0206 + 0.0000i 0.0000 + 0.0347i;
0.0000 - 0.0347i -0.0205 + 0.0000i];
Z2 = [-0.0206 + 0.0000i 0.0000 - 0.0347i;
0.0000 + 0.0347i 0.0205 + 0.0000i];
%Solving via CVX:
cvx_begin sdp quiet
variables E1(2,2) E2(2,2);
subject to E1+E2==II; trace(E1)<=1.; trace(E2)<=1.;
The output is:
So the minimal solution is not reached by CVX. I found out that E1, E2 are both “real” in the solution. Could that be the reason? Or do I misunderstand CVX somehow?
Thank you for your help and comments!