In sympy ho un integrale che restituisce un oggetto a tratti, ad es.Gestione delle equazioni a tratti restituite da sympy integrate
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
⎩
vorrei estrarre solo il primo ramo di questa equazione a tratti, in altre parole, vorrei essere in grado di fare qualcosa di simile itest.parts(0)
per estrarre semplicemente sqrt(pi)*z/2
. Non riesco a trovare alcun modo per farlo, ma forse sto usando i termini di ricerca sbagliati nella documentazione. Qualche idea?
Modifica
Rovistando un po ', sono riuscito a scoprire che se lo faccio itest.args[0][0]
posso estrarre questa espressione. Questo sembra un po 'un trucco, comunque. C'è un approccio migliore?