标识运算符无法正确操作伴随运算符



我定义了一个抽象运算符 A 和恒等运算符 I。不出所料,A*I = I*A =*A.但是,如果我考虑 A 的伴随,则标识运算符似乎没有正常运行,即Dagger(A)*I没有简化为Dagger(A)(请参阅下面的代码(。 如何定义作用于同时作用于运算符及其伴随的标识运算符?

from sympy.physics.quantum.dagger import Dagger
from sympy.physics.quantum.operator import Operator
from sympy.physics.quantum import IdentityOperator
A = Operators('A')
Identity = IdentityOperator()
A * Identity #This gives A, correctly
B = Dagger(A)
B * Identity #This returns A^dagger I . so it does not remove the identity operator

您可以使用qapply来规范化结果:

In [9]: from sympy.physics.quantum import qapply                                                                                               
In [10]: B*Identity                                                                                                                            
Out[10]: 
†  
A ⋅I
In [11]: qapply(B*Identity)                                                                                                                    
Out[11]: 
†
A 

最新更新