如何在sympy中简化指数的对数?

时间:2017-09-09 09:39:19

标签: python sympy symbolic-math

当我输入

log(e^x)

我获得了

x

而不是{{1}}。我知道"没有保证"关于这个功能。

  

问题。是否有一些特定的简化(通过系列扩展或任何方式)将指数的对数转换为身份函数?

3 个答案:

答案 0 :(得分:2)

您必须将x设置为实际类型,您的代码才能正常运行:

import sympy as sp
x = sp.Symbol('x', real=True)
print(sp.simplify(sp.log(sp.exp(x))))

输出:x

对于复杂的x,此公式的结果并不总是等于x。示例是here

答案 1 :(得分:2)

如果您想强制简化,expand可以提供帮助,因为它提供force关键字,基本上可以为您做出某些假设,而无需将变量声明为真实。但要小心结果 - 当不保证这些假设时,你不会想要使用它。

>>> log(exp(x)).expand(force=True)
x

答案 2 :(得分:1)

您还可以在简化函数中将参数“inverse”设置为“True”:

writeValueWithoutResponse