numpy.emath.sqrt#

emath.sqrt(x)[source]#

计算 x 的平方根。

对于负输入元素,返回复数值(与 numpy.sqrt 返回 NaN 不同)。

参数::
xarray_like

输入值。

返回值::
outndarray 或标量

x 的平方根。如果 x 是标量,则 out 也是标量,否则返回数组。

参见

numpy.sqrt

示例

对于实数非负输入,这与 numpy.sqrt 的效果相同

>>> import numpy as np
>>> np.emath.sqrt(1)
1.0
>>> np.emath.sqrt([1, 4])
array([1.,  2.])

但它会自动处理负输入

>>> np.emath.sqrt(-1)
1j
>>> np.emath.sqrt([-1,4])
array([0.+1.j, 2.+0.j])

预期结果不同,因为:浮点 0.0 和 -0.0 是不同的。

为了获得更多控制,请明确使用 complex(),如下所示

>>> np.emath.sqrt(complex(-4.0, 0.0))
2j
>>> np.emath.sqrt(complex(-4.0, -0.0))
-2j