如何使用python取-1的平方根?

mar*_*yer 9 python numpy

当我取-1的平方根时,它给出了一个错误:

sqrt中遇到无效值

我该如何解决这个问题?

/////////
arr=sqrt(-1)
print(arr)
OUTPUT
Run Code Online (Sandbox Code Playgroud)

War*_*ser 28

为了避免invalid value警告/错误,numpy sqrt函数的参数必须复杂:

In [8]: import numpy as np

In [9]: np.sqrt(-1+0j)
Out[9]: 1j
Run Code Online (Sandbox Code Playgroud)

正如@AshwiniChaudhary在评论中指出的那样,您也可以使用cmath标准库:

In [10]: cmath.sqrt(-1)
Out[10]: 1j
Run Code Online (Sandbox Code Playgroud)


Dav*_*ker 10

我刚刚发现numpy.lib.scimath.sqrtsqrt文档中解释的便利功能.我用它如下:

>>> from numpy.lib.scimath import sqrt as csqrt
>>> csqrt(-1)
1j
Run Code Online (Sandbox Code Playgroud)


Joh*_*ooy 9

您需要使用cmath模块中的sqrt (标准库的一部分)

>>> import cmath
>>> cmath.sqrt(-1)
1j
Run Code Online (Sandbox Code Playgroud)