[NumPy]単位行列を作成する(eye関数、identity関数)

[NumPy]単位行列を作成する (eye関数、identity関数)

NumPyで単位行列(identity matrix)を作成する2つの方法について解説します。

NumPyには、単位行列を作成する方法が2つ用意されています。

  • eye関数(numpy.eye) – N×Mの単位行列を作成する
  • identity関数(numpy.identity) – 正方行列の単位行列を作成する
目次

N×Mの単位行列を作成するeye関数

単位行列を作成する関数としてよく見かけるのがeye関数です。以下のように書くことで単位行列を作成することができます。

# 3x3の単位行列を作成する
E = np.eye(3)
print(E)

この例では引数に3を指定することで、3×3の単位行列を作成していますが、引数をもう一つ指定することで、正方行列以外の単位行列を作ることもできます。

以下の例では引数に3と4を指定することで、3×4の単位行列を作成しています。

# 3x4の単位行列を作成する
E = np.eye(3, 4)
print(E)
[[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]]

正方行列の単位行列を作成するidentity関数

eye関数に比べると知名度はありませんが、正方行列の単位行列を作成することができる、identity関数も用意されています。

先ほどと同様に3×3の単位行列を作成する場合は、以下のように書きます。

# 3x3の単位行列を作成する
E = np.identity(3)
print(E)
[[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]

どのように使い分けるのか

結論からいうと、使い分ける必要はありません。これまでどおりeye関数だけを使用していただいても、eye関数とidentity関数を使い分けても構いません。とりあえず、2つの方法があることだけは覚えておいてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次