如何在Sympy中添加限制条件?

2024-06-26 01:37:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我想补充一些限制条件。
假设0<x<1,那么$$限制{n\到\infty}x^n=0$$

from sympy import *
x = var('x, n')
limit(x**n, n, oo)

但是我得到一个错误NotImplementedError: Result depends on the sign of sign(log(x))。在

辛普森有办法解决这个问题吗?在


Tags: thefromimportonvar错误result条件
1条回答
网友
1楼 · 发布于 2024-06-26 01:37:46

编辑:正如评论中指出的,下面的解决方案失败了,与问题(截至2019年11月)中的相同NotImplementedError,即答案取决于符号(log(x))。这个符号问题似乎不能用assuming来解决,而只能用Symbolpositive参数来解决。因此,解决此问题的一种方法是将0<;x<;1描述为y>;0的exp(-y):

from sympy import *

y = Symbol("y", positive=True)
n = Symbol("n")

print(limit(exp(-y)**n, n, oo)) # outputs 0

假设你可以说:

^{pr2}$

请看这里:http://docs.sympy.org/latest/modules/assumptions/assume.html

在您的情况下:

from sympy import *
from sympy.assumptions import assuming, Q

x, n = symbols("x n")
with assuming(Q.is_true(0 < x), Q.is_true(x <1)):
    print(limit(x**n, n, oo))

相关问题 更多 >