第二类不当积分

Improper integral of the second kind

我正在尝试使用 sympy 计算第二类不正确积分的精确值:

from sympy import integrate, log
from sympy.abc import x

print (integrate(log(x) * log(x) /(1+x*x), (x,0,1)))

这段代码return错误很多。可能我需要使用另一种方法吗?我试过 Integral 但一无所获。

我想根据 Dwight 表(863.61 和 863.10)计算这些积分:

我可能会用数值方法计算它们,但我更想用 sympy 得到精确的解。是否有可能通过 sympy 获得第二类不正确积分的精确解?或者这些积分对于 sympy 来说太复杂了?

浮点数是符号计算的毒药,尤其是像符号积分这样复杂的计算。不要把它们放在符号积分中。

另外,这样声明正变量会有很大帮助。

x = symbols('x', positive=True)

int1 = integrate(log(x)**2 / (1 + x**2), (x, 0, 1))
int2 = integrate(log(1/x) / (1 - x), (x, 0, 1))

现在没有错误,但int1只是未评估的原始积分; SymPy 没有成功找到它的价值。好像有点力不从心了

第二个 returns polylog(2, -exp_polar(I*pi))。复数 I*piexp_polar 的存在意味着 SymPy 正在做一些复杂的平面工作,其中围绕原点的缠绕量可能很重要。函数 exp_polarexp 的不同之处在于 exp_polar(2*I*pi) 不像 exp(2*I*pi) 那样化简为 1:它保留了转 360 度和根本不转的区别。

但是如果我们忽略所有这些并在结果中放入 exp

polylog(2, -exp(I*pi))

计算为 pi**2 / 6,第二个积分的正确值。