以下代码
from sympy import *
r = Symbol('r', real=True, positive=True)
a = Symbol('a', real=True, positive=True)
Integral(1/r**2,(r,oo,a)).doit()
导致错误
TypeError: bad operand type for unary -: 'tuple'
,而
-Integral(1/r**2,(r,a,oo)).doit()
,这是上面积分的等效公式,给出了正确的结果:-1/a
。
此外,降低a
r = Symbol('r', real=True, positive=True)
a = Symbol('a')
Integral(1/r**2,(r,oo,a)).doit()
也给出了正确的结果。
这是sympy
中的错误还是这里出了什么问题?
编辑:从Infinity集成到正值完全有效。正如我在给@BenT的评论中写的那样,Mathematica的工作正确。
答案 0 :(得分:1)
我可以确认这是sympy
中的错误。
我在他们的github(https://github.com/sympy/sympy/issues/13536)中打开了一个问题,很快就会解决。