gpt4 book ai didi

python - 如何使用 sympy.physics.quantum 换向器?

转载 作者:行者123 更新时间:2023-11-28 18:32:03 27 4
gpt4 key购买 nike

我想进行一些换向器操作,并在 sympy 中找到了这个工具。它似乎按预期工作(但文档实际上不存在,或者至少我发现很少,但请参阅下面 Dalton Bentley 的评论),但我遇到了以下问题。

from sympy.physics.quantum import Commutator as Comm
from sympy.physics.quantum import Operator
A = Operator('A')
B = Operator('B')
C = Comm(Comm(Comm(A,B),A),B)
D = Comm(Comm(Comm(A,B),B),A)
E = (C-D).expand(commutator=true)
E
>>> [[[A,B],A],B] - [[[A,B],B],A]

而不是预期的更简单的结果 0(因为 [[[A,B],A],B] = [[[A,B],B],A])。那么我如何在不评估换向器的情况下强制获得更简单的结果(即不调用 doit() 函数)?注意

simplify(E.doit())
>>> 0

给出了想要的结果。

最佳答案

目前在 SymPy,Commutator._eval_expand_commutator , 不知道这个身份,所以它必须扩展换向器(在您已经确定的 .doit 方法中)以便能够简化表达式。

这个工作需要什么,将特殊情况添加到 Commutator._eval_expand_commutator 方法中,当换向器的参数包含换向器时,然后检查已知身份.

我在这里为此开了一个问题:https://github.com/sympy/sympy/issues/10892

关于python - 如何使用 sympy.physics.quantum 换向器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36095622/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com