Sympy Typeerror: cannot determine truth value of Relational (How to make sure x > 0)

Sympy Typeerror: cannot determine truth value of Relational (How to make sure x > 0)

我想针对 x1 的每个正值检查 6**x1 是否大于 0。我正在使用 sympy。

我做了以下事情:

x1 = sm.symbols('x_1',nonnegative=True)
u = 6**x1
def checker(func):
   if u > 0:
      return True
   else:
      return False

但是,我收到错误消息:

类型错误:无法确定关系的真值

我认为这是因为函数不知道 x1 是正的。但我如何确保它知道这一点?显然,sm.symbols 定义还不够。

斑马板

SymPy 仅让您将可以计算的事物与具有文字 >(和类似)的数字进行比较。如果您想对符号表达式进行查询,请使用 expr.is_positive 或(如果您也希望考虑 oo,则使用 expr.is_extended_positive)。

>>> u.is_positive
True

这也可以是 None 或 False。 None 在无法做出明确决定时返回,例如symbols('x').is_positive is None -> True.