用picos变量制作Qobj

时间:2015-07-06 13:56:34

标签: python numpy math qutip picos-api

我需要编写一个半定的程序来最小化运算符的跟踪,比如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,它变得更加混乱,因为这个函数将实例放在字典中,只给你一个键。

2 个答案:

答案 0 :(得分:1)

您需要能够输出numpy数组或稀疏矩阵才能转换为Qobj。我在讨论此选项的picos文档中找不到任何内容。

答案 1 :(得分:0)

我很晚才看到这篇文章,但也许​​我可以提供帮助......我不确定Qobj()正在做什么功能,请你告诉我更多关于它的信息。

否则,PICOS中现在有一个新的partial_transpose()函数(今天发布的版本),希望能够满足您的需求。

最佳, 纪尧姆。