为什么Sympy无法集成1 / \ sqrt {x ^ 2 + x}

时间:2019-12-06 03:59:53

标签: python sympy

我尝试过:

import sympy as sy
from sympy.abc import x
sy.integrate(1/sy.sqrt(x**2+x),x)

但是sympy只是简单地返回了积分的重复,而不是给出SageMath会做的结果。

这应该很容易集成。

1 个答案:

答案 0 :(得分:2)

我不确定发生了什么。如果您知道x是真实而积极的,则可以尝试:

import sympy as sy

x = sy.symbols('x', real=True, positive=True)
sol = sy.integrate(1/sy.sqrt(x**2+x), x)
print(sol)
print(sol.doit())

由于某些原因,只有添加doit()才能提供解决方案。

输出:

Integral(1/(sqrt(x)*sqrt(x + 1)), x)
2*acosh(sqrt(x + 1))