以前在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为什么这样做,我将保留此公开。
答案 0 :(得分:0)
使用Qobj.data
是,您将获得代表状态或运算符的矩阵。
因此A.data * B.data
允许您将它们相乘。完成后,可以将其包含在Qobj(A.data * B.data)
中以使其成为量子对象。