【发布时间】:2018-04-01 03:47:35
【问题描述】:
为什么下面会返回False?
import sympy as sp
x = sp.Symbol('x')
y = sp.Symbol('y')
sp.log(x*y) == sp.log(x) + sp.log(y)
【问题讨论】:
为什么下面会返回False?
import sympy as sp
x = sp.Symbol('x')
y = sp.Symbol('y')
sp.log(x*y) == sp.log(x) + sp.log(y)
【问题讨论】:
此规则有一个基本假设,即您的变量是正数。如果未指明,SymPy 将不会(正确地)执行此简化。
为了让 SymPy 清楚这一假设,
x = sp.Symbol('x', positive=True)
y = sp.Symbol('y', positive=True)
现在read this Q/A on equality in SymPy 看看你在比较中应该是simplifying。
>>> sp.simplify(sp.log(x*y) - (sp.log(x) + sp.log(y))) == 0
True
【讨论】: