Python Numpy.sqrt()-平方根

  1. numpy.sqrt() の構文
  2. コード例: numpy.sqrt()
  3. コード例: num.sqrt()out パラメータ
  4. コード例:負の数の numpy.sqrt()
  5. コード例:複素数の numpy.sqrt()

Numpy.sqrt() 関数は、指定された配列内の各要素の平方根を計算します。

Numpy.square() メソッドの逆演算です。

numpy.sqrt() の構文

numpy.sqrt(arr,
          out=None) 

パラメーター

arr 入力配列
out out が指定された場合、結果は out に格納されます。outarr と同じ形状でなければなりません。

戻り値

out が指定されていても、入力配列の各要素の平方根の配列を返します。

コード例: numpy.sqrt()

import numpy as np

arr = [1, 9, 25, 49]

arr_sqrt = np.sqrt(arr)

print(arr_sqrt)

出力:

[1. 3. 5. 7.]

コード例: num.sqrt()out パラメータ

import numpy as np

arr = [1, 9, 25, 49]
out_arr = np.zeros(4)

arr_sqrt = np.sqrt(arr, out_arr)

print(out_arr)
print(arr_sqrt)

出力:

[1. 3. 5. 7.]
[1. 3. 5. 7.]

out_arrarr と同じ形状で、arr の平方根が保存されます。また、numpy.sqrt() メソッドは上記のように平方根配列も返します。

outarr と同じ形状でない場合、ValueError が発生します。

import numpy as np

arr = [1, 9, 25, 49]
out_arr = np.zeros((2, 2))

arr_sqrt = np.sqrt(arr, out_arr)

print(out_arr)
print(arr_sqrt)

出力:

Traceback (most recent call last):
  File "C:\Users\jinku\Downloads\test.py", line 6, in <module>
    arr_sqrt = np.sqrt(arr, out_arr)
ValueError: operands could not be broadcast together with shapes (4,) (2,2) 

コード例:負の数の numpy.sqrt()

import numpy as np

arr = [-1, -9, -25, -49]

arr_sqrt = np.sqrt(arr)

print(arr_sqrt)

出力:

Warning (from warnings module):
  File "..\test.py", line 5
    arr_sqrt = np.sqrt(arr)
RuntimeWarning: invalid value encountered in sqrt
[nan nan nan nan]

入力が負の数の場合、RuntimeWarning をスローし、結果として nan を返します。

コード例:複素数の numpy.sqrt()

import numpy as np

arr = [3+4j, -5+12j, 8-6j, -15-8j]

arr_sqrt = np.sqrt(arr)

print(arr_sqrt)

出力:

[2.+1.j 2.+3.j 3.-1.j 1.-4.j]

複素数には 2つの平方根があります。例えば、

numpy sqrt の例

numpy.sqrt() メソッドは、正の実数を持つ 1つの平方根のみを返します。

comments powered by Disqus