私はいくつかの長い数式での作業ではなく、本当に複雑で、私はそれらを簡素化し、「因数分解」するsympyを使用していたのです。しかし、私はいくつかの問題に遭遇しました。Sympyの潜水艦の制限
問題1:ここではいくつかの最小限の例のリストである第二1で何の置換はありませんが対称
from sympy import *
from __future__ import division
a = symbols('a')
b = symbols('b')
expr = 1/12*b + 1
expr.subs(1/12*b, a)
expr.subs(b*1/12, a)
は、最初の行は、予想される結果(すなわちa+1
)を提供します。
問題2:因数分解表現
表現の一部は、因数分解されていると私は表現を展開すると、彼らはこのように置換が不可能、単純化され得ます。例えば
(((x+1)**2-x).expand()).subs(x**2+2*x, y+1)
はx^2+x+1
を与え、私が探していますと、y+2-x
あるでしょう。これらの問題を解決する方法は
質問
ありますか?あるいは、別の記号的な数学的ツールを使うべきでしょうか?どんな提案も歓迎されます。
最初の問題については、私はそこから '_ __future__インポート部門 'があると思いますが、これを追加して試してみました。しかし、なぜ私は理解していない。 2番目の問題については、これは本当に私の問題を解決しません。私がここで与えたことは、最小の例ですが、実際には方程式は実際には長いです。私は本当に結果を「不正にする」ことはできません。そして私は間違いなく値を変更することはできません... お返事ありがとう! – lasofivec
2番目の質問では、おそらく私の質問は「単純化せずに拡張することは可能ですか」です。 – lasofivec