说我想解决参数限制:在下面的示例中,alpha > 0
是参数。
import sympy as sp
x = sp.symbols("x", real=True)
alpha = sp.symbols("alpha", real=True, positive=True, nonzero=True)
expr = (x * sp.exp(x) - sp.exp(2 * sp.sqrt(1 + x**2))) / (sp.exp(alpha * x) + x** alpha)
sp.limit(expr, x, sp.oo)
如果执行代码,我会得到结果-oo
,这可能是错误的。
如果我要手工计算此限制,我将看一下分子,得出的结论是exp(2 * sp.sqrt(1 + x**2))
与exp(2*x)
的阶相同,而x * exp(x)
占主导地位。同样,看分母,我会说exp(alpha * x)
占主导地位x**alpha
。
因此,我可以计算函数-exp((2 - alpha) * x)
的极限。正确的结果是:
-oo for 0 < alpha < 2
-1 for alpha = 2
0 for alpha > 2
是否有easy用sympy达到此结果的方法?
这应被视为SymPy中的错误。我建议打开一个关于它的问题https://github.com/sympy/sympy/issues。
关于您的一般要求,尚未实施。参见https://github.com/sympy/sympy/issues/13312。