在sympy中进行符号集成的快速方法是什么

sun*_*hex 5 python sympy

我正在做一个涉及很多符号集成的项目。

这些函数类似于erlang概率分布函数。

这是任务的一个简单示例。

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))
Run Code Online (Sandbox Code Playgroud)

这是一个有点复杂的结果:

https://s11.postimg.org/x9tw8kw8j/untitle.png

因此,为了在sympy上实现,我大部分时间都使用tegrate()和subs()。

但是,速度确实很慢。当我有5个变量时(例如,从t_1到t_5),我需要稍等一下。但是当我有10个变量时,我无法完成计算。

代码非常复杂,但是我确定瓶颈在于集成。毕竟,从样本结果中,我们可以想象任务的要求会多么苛刻。

我有什么好的方法可以增强sympy中的集成?尤其适用于指数族等函数

谢谢

asm*_*rer 4

集成速度是 SymPy 中的一个错误。expand(expr)您可以通过调用和集成来解决它。