I am trying to solve the SDP problem given in eq 53. of this paper: https://www.nature.com/articles/srep26018
The value given in the paper is -1.576, but the value I get is -0.325788. Any idea where the error is?
This is my code,
cvx_begin
variable x(32,32);
minimize ( trace(LxWswitch));
subject to;
PartialTrace(x,4,[2,2,2,2,2]) >= 0;
PartialTrace(x,2,[2,2,2,2,2]) >= 0;
trace(Lx(0.25*eye(32))) == 1;
cvx_end
where,
W = kron(kron(kron(kron(kron(ket([1 0]),ket([1 0])),ket([1 0])),ket([1 0])),ket([1 0])),ket([1 0]))+kron(kron(kron(kron(kron(ket([1 0]),ket([1 0])),ket([1 0])),ket([0 1])),ket([0 1])),ket([1 0]))+kron(kron(kron(kron(kron(ket([1 0]),ket([0 1])),ket([0 1])),ket([1 0])),ket([1 0])),ket([1 0]))+kron(kron(kron(kron(kron(ket([1 0]),ket([0 1])),ket([0 1])),ket([0 1])),ket([0 1])),ket([1 0]))+kron(kron(kron(kron(kron(ket([1 0]),ket([1 0])),ket([1 0])),ket([1 0])),ket([1 0])),ket([0 1]))+kron(kron(kron(kron(kron(ket([1 0]),ket([0 1])),ket([1 0])),ket([1 0])),ket([1 0])),ket([0 1]))+kron(kron(kron(kron(kron(ket([0 1]),ket([1 0])),ket([1 0])),ket([0 1])),ket([1 0])),ket([0 1]))+kron(kron(kron(kron(kron(ket([0 1]),ket([0 1])),ket([1 0])),ket([0 1])),ket([0 1])),ket([0 1]))
Wswitch=PartialTrace(ketbra(W),5,[2,2,2,2,2,2])
L= - kron(kron(Id,Id),PartialTrace(Wswitch,[1,2],[2,2,2,2,2])) + kron(kron(kron(Id,Id),Id),PartialTrace(Wswitch,[1,2,4],[2,2,2,2,2])) - kron(kron(Id,Id),PartialTrace(Wswitch,[3,4],[2,2,2,2,2])) + kron(kron(kron(Id,Id),Id),PartialTrace(Wswitch,[3,4,2],[2,2,2,2,2]))+ kron(Id,PartialTrace(Wswitch,4,[2,2,2,2,2]))+ kron(Id,PartialTrace(Wswitch,2,[2,2,2,2,2])) - kron(kron(Id,Id),PartialTrace(Wswitch,[2,4],[2,2,2,2,2]))