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(L*x*Wswitch));

subject to;

PartialTrace(x,4,[2,2,2,2,2]) >= 0;

PartialTrace(x,2,[2,2,2,2,2]) >= 0;

trace(L*x*(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]))