我正在尝试与Sympy进行以下集成:
import sympy as sp
sp.var('a e nu lamb omeg')
r = a*(1.-e**2)/(1. + e*sp.cos(lamb-omeg))
I = sp.integrate(r**2, lamb)
接下来发生的事情是处理器在几分钟内保持100%,我的笔记本电脑变热了,最后我厌倦了等待和放弃。
令人惊讶的是,当我与Maxima进行相同的集成时,我几乎可以立即获得结果。唯一的区别是Maxima问我e**2-1
是正面还是负面。
如何使用Sympy获得相同的功能?为什么这不会自动发生?
答案 0 :(得分:0)
显然,可以通过对常数进行假设来完成,尽管这与Maxima使用的假设不同:
import sympy as sp
sp.var('a e nu lamb omeg', positive=True, real=True)
r = a*(1.-e**2)/(1. + e*sp.cos(lamb-omeg))
I = sp.integrate(r**2, lamb)