要するに、p1
、p2
、q1
およびの間の乗算を含む式があり、式を対称形式にするためにをq2
使用したいと思います。[qi,pi]=ii*hb
i={1,2}
(pi^a*qi^b+qi^b*pi^a)/2
たとえば、単純化といくつかの置換を使用しますp2*q2*p2^2
。しかし、ルールを指定し、1 と 2 の変数が通勤することを指定しましたが、(p2*q2^3+q2^3*p2)/2 + 1/2*ii*p2^2*hb
単純化することはできません。q2*q1^2*p2
q2*p2-> (p2*q2+q2*p2)/2 +ii/2*hb
詳細については、Mathematica のコードを次に示します ( quantum パッケージを使用しています)。
このコードは、インデックスが 1 または 2 の場合は機能しますが、両方のインデックスが使用されている場合は機能しません。
p2*q2*q1*q2
はさらに単純化できますが、 があるp2*q1*q2^2
のでMathematica はそれをしません。p2*q2*q2
q1
さらに詳しく:この論文の付録 (式 A2) の方程式を取得できる Mathematica コードを作成しようとしていますが 、これは私が使用しているコードです。後者のファイルのコードは、上記のコードも実行できなかったため、上記のコードとは少し異なりますが、理想的です。
最後に、4 乗またはそれ以上の他の種類のハミルトニアンの最終的なコードを使用したいと思います。
的を絞った単純化を行うことができるパッケージの書き方を学ぶ方法についてアドバイスをいただければ幸いです。