SymPy - 如何检查两个术语是否相同但不相同

时间:2015-01-29 23:31:54

标签: python sympy

对于我最近的项目,如果两个术语相同或相同,我必须使用sympy进行检查。

示例

  • x+2=5 and x+5=8 - 这两个术语相同(等效),但它们不相同
  • x+2=5 and x+2=5 - 这些是相同且相同的

问题

是否可以区分"等于"和#34;相同"?如果是这样 - 我如何实现这一目标?

1 个答案:

答案 0 :(得分:3)

如果您使用==,您将获得结构相同的对象的答案。检查数学相等性涉及某种简化,以使两个表达式在结构上相同。对于您提供的等式,可以执行以下任一操作:

>>> from sympy import *
>>> var('x')
x
>>> a=Eq(x+2,5)
>>> b=Eq(x+5,8)
>>> a.equals(b)
False
>>> solve(a)==solve(b)
True
>>> a.lhs-a.rhs == b.lhs-b.rhs
True
>>> abs(a.lhs-a.rhs) == abs(b.rhs-b.lhs)
True
相关问题