为什么SymPy不了解日志产品

时间:2018-03-31 19:33:29

标签: python sympy

为什么以下内容会返回False

import sympy as sp

x = sp.Symbol('x')
y = sp.Symbol('y')

sp.log(x*y) == sp.log(x) + sp.log(y)

1 个答案:

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