我正在尝试进行一个在 log (base-e) 函数中包含负值的计算。 Python的numpy包有
log
函数,MWE如下:
from numpy import exp, log
z = 1j*log(-1.1)
print(exp(-1j*z))
但它给出了错误消息:
RuntimeWarning: invalid value encountered in log
z = 1j*log(-1.1)
正确答案是
-1.1
,我们可以在 WolframAlpha 上轻松验证。 是否有可以处理负值的替代 numpy log 函数? 如果没有,我可以使用简单的解决方法或公式吗?
据我所知,
log
的真实版本仅定义为(0,inf)。要使用复数版本,需要传入复数:
z = log(-1.1 + 0j)