sympyには、Piecewiseオブジェクトを返す整数がある。sympyによって返される区分方程式を扱う。
In [2]: from sympy.abc import x,y,z
In [3]: test = exp(-x**2/z**2)
In [4]: itest = integrate(test,(x,0,oo))
In [5]: itest
Out[5]:
⎧ ___
⎪ ╲╱ π ⋅z │ ⎛ 1 ⎞│ π
⎪ ─────── for │periodic_argument⎜──────────────, ∞⎟│ ≤ ─
⎪ 2 │ ⎜ 2 ⎟│ 2
⎪ │ ⎝polar_lift (z) ⎠│
⎪
⎪∞
⎪⌠
⎨⎮ 2
⎪⎮ -x
⎪⎮ ───
⎪⎮ 2
⎪⎮ z
⎪⎮ ℯ dx otherwise
⎪⌡
⎪0
⎩
私はこの区分式のちょうど最初の分岐を抽出したいと思い、他の言葉で、私は単にsqrt(pi)*z/2
を抽出するためにitest.parts(0)
ような何かをできるようにしたいと思います。私はこれを行うための方法を見つけることができないようだが、おそらく私はドキュメントで間違った検索用語を使用しています。何か案は?
編集ビットチャンスをうかがっ
は、私がitest.args[0][0]
をすれば、私はこの表現を抽出することができますを見つけることができました。しかし、これはちょっとしたハックのようだ。より良いアプローチがありますか?