와 양자 표현을 단순화 :파이썬 sympy으로 sympy.physics.quantum
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
은 어떻게 설정합니까 '죽은'그 때문에, 직교 상태로 '살아' d.doit()을 제공합니다
sqrt(2)/2
(나는 할 만 할 수 있었다 :
,
d.subs(Bra('Dead')*Ket('Dead'),1).subs(Bra('Dead')*Ket('Alive'),0)
하지만 난 더 나은 방법)
그것뿐입니다! 내가 OrthogonalBra/OrthogonalKet로 이름을 변경하고 '데프 _eval_innerproduct_OrthogonalBra에 innerproduct 변경 boson.py/붙여 넣기 복사 (자기, 브래지어, ** 힌트) : 경우 self.n == bra.n : 1 다른 반환 : 반환 0 ' – user4624500