为什么以下内容会返回False
?
import sympy as sp
x = sp.Symbol('x')
y = sp.Symbol('y')
sp.log(x*y) == sp.log(x) + sp.log(y)
答案 0 :(得分:4)
这条规则有一个潜在的假设,即您的变量是正数。如果没有指出,SymPy不会(正确地)执行此简化。
为SymPy明确这个假设,
x = sp.Symbol('x', positive=True)
y = sp.Symbol('y', positive=True)
现在read this Q/A on equality in SymPy看到你应该simplify
进行比较。
>>> sp.simplify(sp.log(x*y) - (sp.log(x) + sp.log(y))) == 0
True