为了帮助理解,
sympy.concrete
提供了一些高效的工具来处理符号和。如果要将这些工具应用于符号积,则需要取对数。然而,简单地取对数并不能自动给出转换结果:import sympy as sp
sp.init_printing() # display math as latex
z = sp.Symbol('z')
j,k = sp.symbols('j,k')
Prod = sp.Product( (z + sp.sqrt(1-4*j*z**2))**(-1), (j,1,k) )
sp.log(Prod)
提供
以所有可能的变化方式:
sp.log(Prod)
sp.log(Prod).expand()
sp.log(Prod).simplify()
sp.expand_log(sp.log(Prod),force=True)
问题:如何将其转换为对数的和?
z
和j
不可交换怎么办?如果z
是四元数呢?默认情况下总是假定z
是复数,但我怀疑人类默认会假定一个变量是实数,并指定一个标志is_complex = True
。好吧,这只是实现的细节,我必须习惯它。谢谢你的提醒。 - Sergey Dovgalforce
选项的expand_log
也失败了。 - Sergey Dovgala
和b
是复数,那么log(ab)
作为多元函数是等于log(a) + log(b)
的,不是吗?;) 好吧,也许不是主分支,但仍然... - Sergey Dovgal