我有一个ladder operator-满足这个commutator relation和它自己的伴随:
[â, â⁺] = 1
我写了这段代码:
import sympy
from sympy import *
from sympy.physics.quantum import *
a = Operator('a')
ad = Dagger(a)
ccr = Eq( Commutator(a, ad), 1 )
现在我需要扩展和简化这样一个表达式:
(â⁺ + â)⁴
如果我只使用((ad + a)**4).expand()
,sympy不使用换向器关系。在使用正则换向器关系时,如何简化表达式?你知道吗
我找不到任何内在的方法来实现它,所以我为它编写了一个非常基本的算法。它的用法如下:
结果
是的。你知道吗
有一个名为
reverse
的可选参数,它将首先将表达式的范围重新设置为a
,然后将表达式的范围重新设置为a⁺
。这对于克服sympy的限制是必要的,sympy不允许您以不同的顺序指定[source]。你知道吗这是
apply_ccr
的实现:(No rights reserved.)
相关问题 更多 >
编程相关推荐