10

-1 の平方根を取ると、エラーが発生します。

sqrt で無効な値が検出されました

どうすれば修正できますか?

from numpy import sqrt
arr = sqrt(-1)
print(arr)
4

5 に答える 5

32

警告/エラーを回避するinvalid valueには、numpy のsqrt関数の引数を複雑にする必要があります。

In [8]: import numpy as np

In [9]: np.sqrt(-1+0j)
Out[9]: 1j

@AshwiniChaudhary がコメントで指摘したように、cmath標準ライブラリを使用することもできます。

In [10]: cmath.sqrt(-1)
Out[10]: 1j
于 2013-07-20T21:54:59.750 に答える
18

sqrt documentationnumpy.lib.scimath.sqrtで説明されている便利な関数を発見しました。次のように使用します。

>>> from numpy.lib.scimath import sqrt as csqrt
>>> csqrt(-1)
1j
于 2014-02-06T12:47:02.143 に答える
12

cmathモジュール (標準ライブラリの一部)の sqrt を使用する必要があります。

>>> import cmath
>>> cmath.sqrt(-1)
1j
于 2013-07-20T22:33:23.833 に答える