【问题标题】:Why can't sympy integrate this (Mathematica can)为什么 sympy 不能集成这个(Mathematica 可以)
【发布时间】:2018-04-26 10:51:15
【问题描述】:

为什么sympy不能进行这个积分:

import sympy as sp
x = sp.symbols('x', real=True, nonzero=True)
sp.integrate(x**3/(sp.exp(x)-1), (x, 0, sp.oo))

这应该返回 pi^4/15。

【问题讨论】:

  • 您的意思是x**(3/(sp.exp(x)-1)) 还是(x**3) / (sp.exp(x)-1)?什么不起作用?错误?错误的价值? 42 ?
  • 不,如书面:(x**3)/(sp.exp(1)-1)。它不返回结果,只返回sympy.integrals.risch.NonElementaryIntegral 类型的对象。我想要 pi4/15 的符号结果。
  • 有很多积分是 SymPy 找不到而其他软件可以找到的。这是其中之一。在跟踪器中打开issue

标签: python sympy integral calculus


【解决方案1】:

使用Integral,然后使用`evalf'评估函数

import sympy as sp
from sympy import Integral, oo, exp, pi, integrate
from sympy.abc import a, x, y
x = Integral(x**3/(exp(x)-1), (x, 0, oo))
x.evalf()

【讨论】:

  • 这是一个数值积分,我猜?有没有办法获得符号结果?
  • 没有 sympy,我认为任何其他 python 包都不会这样做
  • 我之所以问,是因为 Mathematica 可以做到,并且想知道我是否只是在 sympy 中做错了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-27
  • 2014-03-13
相关资源
最近更新 更多