使用SymPy的新假设

1 投票
1 回答
547 浏览
提问于 2025-04-18 00:35

我在使用SymPy的时候遇到了一些问题。你可以看看这个讨论帖。里面有个提示说可以使用assume模块(参考这里)。

我尝试计算这个极限:$\lim_{x \to \infty} \frac{\ln{x}}{x^k}$。我想要评估这个极限,当$k > 0$的时候。

所以我试了这个:

 with assuming(k>0):
     limit((log(x))/(x**k),x,oo)

我还试了这个:

eval(limit((log(x))/(x**k),x,oo),k>0)

但是无论如何,我都收到了这个错误:

NotImplementedError: Result depends on the sign of -sign(k)

在这种情况下:

with assume(k>0):
    limit((log(x))/(x**k),x,oo)

我收到了这个错误:

TypeError: 'module' object is not callable

有没有人知道我哪里做错了?

1 个回答

1

这看起来是有效的。你提到的那个讨论帖中的第一个回答说:“SymPy的假设系统现在有点乱。”我不确定自那以后是否有所改变。

k = Symbol('k', positive=True)
print limit((log(x))/(x**k),x,oo)

撰写回答