从SymPy文档
==表示精确的结构相等性测试。这里的“精确”表示两个表达式仅在结构上完全相等时才将它们与==进行比较。在此,(x + 1)^ 2和x ^ 2 +
2x + 1在符号上不同。一个是两个项相加的乘方,另一个是三个项的相加。事实证明,将SymPy用作库时,
==测试精确的符号相等性比使它表示符号相等性或测试数学相等性要有用得多。但是,作为新用户,您可能会更关心后两者。我们已经看到了用符号表示等式的另一种方法。为了测试两个事物是否相等,最好回顾一下一个基本事实:如果a
= b,则ab = 0。因此,检查a =
b的最佳方法是采用ab并将其简化,然后看它是否变为0。稍后我们将学习执行此操作的函数simplify。该方法不是绝对可靠的-
实际上,从理论上可以证明,不可能确定两个符号表达式在总体上是否相等,但是对于大多数常见表达式而言,它工作得很好。
作为针对特定问题的演示,我们可以使用等价表达式的减法,然后像这样与0进行比较
>>> from sympy import simplify>>> from sympy.abc import x,y>>> vers1 = (x+y)**2>>> vers2 = x**2 + 2*x*y + y**2>>> simplify(vers1-vers2) == 0True>>> simplify(vers1+vers2) == 0False



