2024-05-13 10:11:56 发布
网友
为什么log(xy) = log(x) + log(y)在SymPy中不起作用?你知道吗
我试过这个:
from sympy import * var('x y') print(simplify(log(x*y))) print(expand(log(x*y))) print(collect(log(x*y),x)) print(solve(log(x*y),x)) # log(x*y) # log(x*y) # log(x*y) # [1/y]
log(xy)=log(x)+log(y)并不总是保持不变。更具体地说,如果x和y都是负的或在复域中,这可能会导致问题。你给出的Wolfram Alpha链接也表示“假设x和y为正的替代形式”
要在同形中看到这种关系,必须将符号x和y标记为正,例如:
x
y
from sympy import symbols,log x,y = symbols("x,y",positive=True) expr = log(x*y) expr.expand()
或者(正如user6655984所暗示的那样),您可以使用force提示让SymPy假设一切都是最大良性的:
force
from sympy import log from sympy.abc import x,y expr = log(x*y) expr.expand(force=True)
log(xy)=log(x)+log(y)并不总是保持不变。更具体地说,如果x和y都是负的或在复域中,这可能会导致问题。你给出的Wolfram Alpha链接也表示“假设x和y为正的替代形式”
要在同形中看到这种关系,必须将符号
x
和y
标记为正,例如:或者(正如user6655984所暗示的那样),您可以使用
force
提示让SymPy假设一切都是最大良性的:相关问题 更多 >
编程相关推荐