以下是代码:
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
的错误还是其他问题?
编辑:从正无穷积分到正数是完全有效的。就像我在回复@BenT的评论中所写的那样,Mathematica完成了这项工作。