我需要编写一个半定的程序来最小化运算符的跟踪,比如R,受到tr_A(R)^ {Tb}> 0的约束。这意味着R代表一个3比特量子系统,第一个系统上的跟踪为您提供了代表剩余2个量子比特系统的运算符。对其中一个量子比特进行部分转置,得到受限制的2比特量子系统的部分转置量子态。正是这种状态,我想做出积极的半定论。 我正在使用PICOS(编写SDP)和qutip(执行操作)。
select vy.userid
from visitation vx left join
visitation vy
on vx.placeid = vy.placeid and vx.userid <> vy.userid
where vx.userid = 1
group by vy.userid
having count(*) = count(vy.placeid);
问题:我需要让Rho成为Qobj,因为qutip能够理解它,但上面的Rho只是Variable类的一个实例。任何人都知道如何做到这一点?
我也在这里看了http://picos.zib.de/tuto.html#variables,它变得更加混乱,因为这个函数将实例放在字典中,只给你一个键。
答案 0 :(得分:1)
您需要能够输出numpy数组或稀疏矩阵才能转换为Qobj。我在讨论此选项的picos文档中找不到任何内容。
答案 1 :(得分:0)
我很晚才看到这篇文章,但也许我可以提供帮助......我不确定Qobj()正在做什么功能,请你告诉我更多关于它的信息。
否则,PICOS中现在有一个新的partial_transpose()函数(今天发布的版本),希望能够满足您的需求。
最佳, 纪尧姆。