Sympy 集成没有给出正确答案

Sympy integrate does not give the right answer

standard logistic function在以下代码中编码为sigma

from sympy import *
x, sigma = symbols("x sigma")
sigma = 1/(1 + exp(-x))
plot(sigma);

当您尝试计算负数曲线下方的面积时 x

integrate(sigma,(x, -oo, 0))  # This gives NaN

如果您需要正确答案,您需要计算以下限制,这给出了 log(2),因为它必须是。

t = symbols("t")
limit(integrate(sigma, (x, -t, 0)), t, oo) # log(2)

为什么 SymPy 没有正确集成 sigma?

这看起来像一个错误,已在 SymPy 开发分支中修复(并将在 SymPy 1.0 中修复,即将发布)。

In [31]: sigma = 1/(1 + exp(-x))

In [32]: integrate(sigma,(x, -oo, 0))
Out[32]: log(2)