gpt4 book ai didi

python - 为什么 log(xy) = log(x)+log(y) 在 SymPy 中不起作用?

转载 作者:行者123 更新时间:2023-11-28 20:32:59 25 4
gpt4 key购买 nike

为什么 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) 并不总是成立。更具体地说,如果 xy 均为负数或在复数域中,这可能会出现问题。您提供的 Wolfram Alpha 链接还指出“假设 x 和 y 为正的替代形式”。

要在 SymPy 中看到这种关系,您必须将符号 xy 标记为正,例如像这样:

from sympy import symbols,log
x,y = symbols("x,y",positive=True)
expr = log(x*y)
expr.expand()

或者(如 user6655984 所提示)您可以使用 force 提示让 SymPy 假设一切都是最大良性的:

from sympy import log
from sympy.abc import x,y
expr = log(x*y)
expr.expand(force=True)

关于python - 为什么 log(xy) = log(x)+log(y) 在 SymPy 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51595399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com