在 sympy 中,我定义了两个 kets 和一个相应的胸罩,当我将胸罩应用于 kets 时......
from sympy import sqrt
from sympy.physics.quantum import Bra,Ket,qapply
superpos = (Ket('Dead')+Ket('Alive'))/sqrt(2)
d = qapply(Bra('Dead')*superpos)
...我得到这个结果:
sqrt(2)*<Dead|Alive>/2 + sqrt(2)*<Dead|Dead>/2
如何将 'Dead' 和 'Alive' 设置为正交状态,以便d.doit()
给出sqrt(2)/2
?
到目前为止,我只能手动替换刹车:
d.subs(Bra('Dead')*Ket('Dead'),1).subs(Bra('Dead')*Ket('Alive'),0)
但是我如何让刹车自动评估呢?为什么InnerProduct
相同刹车的结果不是 1,而具有不同标签的刹车的结果不是 0?