SymPy 中的错误用三角恒等式简化

Error in SymPy's simplify with trigometric identity

如果我遗漏了一些基本的东西,我深表歉意。我是 SymPy 的新人。 三角恒等式出现问题

$$\sin^3x\cos^3 x = \frac{3\sin 2 x-\sin 6x}{32}$$

使用 Mathematica 的 Simplify

Simplify[Sin[x]^3 Cos[x]^3 == (3 Sin[2 x] - Sin[6 x])/32]  (*returns True*)

使用 SymPy

import sympy as sy
sy.simplify(sy.sin(x)**3*sy.cos(x)**3 == (3*sy.sin(2*x) - sy.sin(6*x))/32)  # returns False

尝试使用 sympy.Eq 而不是 ==:

sy.Eq(sy.sin(x)**3*sy.cos(x)**3, (3*sy.sin(2*x) - sy.sin(6*x))/32)

== 将比较两个符号表示是否相等 on-the-spot,而 sympy.Eq 表示等式。

In [19]: sy.simplify(sy.Eq(sy.sin(x)**3*sy.cos(x)**3, (3*sy.sin(2*x) - sy.sin(6*x))/
    ...: 32))                                                                       
Out[19]: True

我发现以下方法也有效:

sy.simplify(sy.expand(exp2,trig=True))==exp1  #returns True

感谢@ForceBru 指出 == 运算符比较两个表达式的确切结构相等性,而不是代数等价性。我了解到在将表达式与 == 进行比较之前,应该简化或扩展表达式。