私は整流子の操作をいくつか試してみたいと思って、このツールをsympyで見つけました。それは期待どおりに動作するようです(しかし、ドキュメントは事実上存在しないか、少なくとも私はほとんど見つけられませんでしたが、以下のDalton Bentleyのコメントを参照してください)。代わり期待単純結果0
のsympy.physics.quantum Commutatorの使い方は?
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]
([[[A、B]、A]、B] = [[[A、B]、B]、A]以降)。では、整流子を評価することなく(つまり、doit()
関数を呼び出すことなく)簡単な結果を強制するにはどうすればよいですか?
simplify(E.doit())
>>> 0
が望ましい結果になることに注意してください。
なぜ呼んでいる 'のdoIt()'問題:
は、私はここで、このために問題を開きましたか?一般的にSymPyは、単純化が非常にコストがかかることがあり(コストは通常、先験的に予測することが難しいため)、自動的に単純化することで控えめです。編集:またはあなたは交換機のアイデンティティについてSymPyを教えたいですか? –
@BjoernDahlgren評価のつかない状況で答えを知りたい、つまり私は整流子式が必要です。未評価の文脈における簡略化は、上記の結果に対してゼロを得るべきである。 – Walter
私は[実装されていない](https://github.com/sympy/sympy/blob/112d6abaf2c777a844d4290db9ecd952053a4a55/sympy/physics/quantum/commutator.py#L121)と言うことができます。問題を開くことができます。 –