numpy.arctanh(x)for x> = 1返回NaN,但我想复杂

use*_*028 11 python numpy nan complex-numbers

当我对x> = 1执行numpy.arctanh(x)操作时,它返回nan,这是奇怪的,因为当我在Wolfram | alpha中执行操作时,它返回复数值,这是我的应用程序所需要的.有谁知道我能做些什么来阻止Numpy压制复杂的值?

Pau*_*aul 5

添加+0j到您的实际输入以使它们成为复数.

Numpy正在追随"Garbage in,Garbage out"格言的变化.

漂浮,浮出水面.

>>> import numpy as np
>>> np.sqrt(-1)
__main__:1: RuntimeWarning: invalid value encountered in sqrt
nan
Run Code Online (Sandbox Code Playgroud)

复杂,复杂.

>>> numpy.sqrt(-1+0j)
1j
>>> numpy.arctanh(24+0j)
(0.0416908044695255-1.5707963267948966j)
Run Code Online (Sandbox Code Playgroud)