python - SymPy - 如何检查两项是否相等但不相同

标签 python sympy

对于我最近的项目,我必须使用 sympy 检查两个术语是否相等或相同。

示例:

  • x+2=5 和 x+5=8 - 这两项相等(等价),但不相同
  • x+2=5 和 x+2=5 - 它们是相等且相同的

问题:

是否可以区分“相等”和“相同”?如果是这样 - 我该如何实现这一目标?

最佳答案

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

>>> 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

关于python - SymPy - 如何检查两项是否相等但不相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28226684/

相关文章:

python - 使用分区计算 Pandas 中条目之间的增量

javascript - 通过 Ajax 从 Django 连续获取图像

python - 试图找到 g(x) 函数的最小值和该最小值处的 x 值

python - sympy - 有没有办法区分抽象变量?

python - SymPy 根据另一个表达变量

python - 何时在 Python 中使用 "while"或 "for"

python - Django 休息框架 : How to initialise & use custom exception handler?

python - 对 GPIO 使用 wiringPi2-python(非根)段错误捕获

python - 如何将字符串列表转换为 sympy 变量?

python - 使用 numpy 或 scipy 的 sympy 代码的运行时优化