私は、多くのシンボリック統合を含むプロジェクトを行っています。sympyでシンボリックな統合をすばやく行う方法
この関数は、エルラン確率分布関数のようなものです。
次に、タスクの簡単な例を示します。
https://s18.postimg.org/gd7t4bv95/gif_latex.gif
ここでは上記の課題のためのコードである:ここで
import sympy as sym
t=sym.Symbol('t')
t1=sym.Symbol('t1')
t2=sym.Symbol('t2')
###integration for t2
expr=(1-sym.exp(-(t-t2)))*(1-sym.exp(-(t-t2)))*sym.exp(-t2)
expr=sym.integrate(expr,(t2,0,t))
###substitution and integration for t1
expr=expr.subs(t,t-t1) * (1-sym.exp(-(t-t1)))*sym.exp(-t1)
expr=sym.integrate(expr,(t1,0,t))
少し複雑な結果である:私が使用し、sympyに実装するため、このよう
https://s11.postimg.org/x9tw8kw8j/untitle.png
は、ほとんどの時間、integrate()とsubs()。
しかし、速度は非常に遅いです。 5つの変数(たとえば、t_1からt_5まで)がある場合、少し待つ必要があります。しかし、私は10の変数を持っているとき、私は計算を完了することはできません。
コードはかなり複雑ですが、私はボトルネックが統合であると確信しています。結局のところ、サンプルの結果から、タスクがどのように要求されるかを想像することができます。
私はsympyで統合を強化する良い方法がありますか?特に、指数の家族のような機能のための
おかげ
あなたのコードは現時点でどのように見えますか? [コード例](http://stackoverflow.com/help/mcve) – mpaskov