QuTiP:解决不一致的Qobj形状

时间:2018-11-12 19:06:43

标签: python qutip

以前在QuTiP TypeError: Incompatible Qobj shapes with tensor product中曾对此进行过探讨,但我不确定那里的答案。

假设我定义了A = tensor(qeye(2), qeye(2))B = qeye(4),因为对象形状不一致,所以我不能将它们相乘。

但是,矩阵的维数相同,我想“展平” A以使其乘以B。如果我将可分离的运算符和不可分离的运算符结合使用,如何将它们一起使用?换句话说,B无法进一步简化,所以我应该对A做些什么以允许它们相乘?

编辑:外观笨拙的Qobj(A.data.toarray())可以工作,但是如果有人有更好的主意或理解QuTiP为什么这样做,我将保留此公开。

1 个答案:

答案 0 :(得分:0)

使用Qobj.data是,您将获得代表状态或运算符的矩阵。

因此A.data * B.data允许您将它们相乘。完成后,可以将其包含在Qobj(A.data * B.data)中以使其成为量子对象。