ウェブサイト検索

NumPy sqrt() - 行列要素の平方根


PythonのNumPyモジュールは、多次元配列や行列操作に使用されます。NumPyのsqrt()関数を使用して、行列要素の平方根を取得することができます。

Python NumPy sqrt() の例

import numpy

array_2d = numpy.array([[1, 4], [9, 16]], dtype=numpy.float)

print(array_2d)

array_2d_sqrt = numpy.sqrt(array_2d)

print(array_2d_sqrt)

出力 :

[[ 1.  4.]
 [ 9. 16.]]
[[1. 2.]
 [3. 4.]]

Python Numpy sqrt() の例

整数の平方でない行列要素の別の例を見てみましょう。今回はPythonインタープリターを使用します。

>>> import numpy
>>> 
>>> array = numpy.array([[1, 3], [5, 7]], dtype=numpy.float)
>>> 
>>> print(array)
[[1. 3.]
 [5. 7.]]
>>> 
>>> array_sqrt = numpy.sqrt(array)
>>> 
>>> print(array_sqrt)
[[1.         1.73205081]
 [2.23606798 2.64575131]]
>>> 

NumPy sqrt() 無限大の例

無限大を行列要素として持った場合に何が起こるか見てみましょう。

>>> array = numpy.array([1, numpy.inf])
>>> 
>>> numpy.sqrt(array)
array([ 1., inf])
>>> 

複素数

>>> array = numpy.array([1 + 2j, -3 + 4j], dtype=numpy.complex)
>>> 
>>> numpy.sqrt(array)
array([1.27201965+0.78615138j, 1.        +2.j        ])
>>> 

Numpyの複素数の平方根

負の数

>>> array = numpy.array([4, -4])
>>> 
>>> numpy.sqrt(array)
__main__:1: RuntimeWarning: invalid value encountered in sqrt
array([ 2., nan])
>>> 

負の数を含む行列の平方根はRuntimeWarningを発生させ、要素の平方根はnanとして返されます。参照:NumPyドキュメント

関連記事: