假设我有两个符号
x,y=symbols('x y')
Run Code Online (Sandbox Code Playgroud)
我的目标是告诉 Sympy x 总是大于 y (x>y)。有没有办法实现这一目标?
小智 9
没有办法直接做到这一点。假设模块不支持关系,而且它还没有与 SymPy 的其余部分集成,因此它的假设不会帮助您简化积分。
解决方法是引入一个符号来表达两个符号之间的差异,并将其声明为正数。例如,
y = symbols('y')
p = symbols('p', positive=True)
x = y + p
Run Code Online (Sandbox Code Playgroud)
现在 SymPy 知道 x > y:
>>> (x > y).simplify()
True
Run Code Online (Sandbox Code Playgroud)
这在涉及 x 的计算中有多有用取决于这样做是否 .subs(x, y + p)会将其变成简化的东西。
直接用 True 或 False 替换条件通常更容易,就像我在这里所做的那样。