Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么log(xy)=log(x)和#x202F+ ;日志(y)在SymPy中不起作用?_Python_Sympy - Fatal编程技术网

Python 为什么log(xy)=log(x)和#x202F+ ;日志(y)在SymPy中不起作用?

Python 为什么log(xy)=log(x)和#x202F+ ;日志(y)在SymPy中不起作用?,python,sympy,Python,Sympy,为什么不在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] 对数(xy)=对数(x)+对数(y)并不总是保持不变。更具体地说,如果x和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]
对数(xy)=对数(x)+对数(y)并不总是保持不变。更具体地说,如果x和y都为负值或在复数域中,这可能会导致问题。您给出的Wolfram Alpha链接还声明“假设x和y为正的替代形式”

要在SymPy中查看此关系,必须将符号
x
y
标记为正,例如:

from sympy import symbols,log
x,y = symbols("x,y",positive=True)
expr = log(x*y)
expr.expand()
或者(如所暗示的),您可以使用
强制
提示,让SymPy假设一切都是最大良性的:

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