配列 ベクトル 行列 統計

NumPyで零行列と単位行列を定義する(zerosとeye)

最終更新日 2023.02.18

NumPy の行列は array で表します。零行列は zeros、単位行列は eye で表します。

初めて NumPy を使う方へ:NumPy は numpy をインポートし、import numpy as np のように np という名前で使います。

NumPy の零行列

零行列は zeros で表します。引数に (m, n) を指定すると、すべての要素が 0 の (m, n) 行列ができます。

import numpy as np

A = np.zeros((1, 1))
B = np.zeros((2, 2))
C = np.zeros((3, 4))

print(A)
# [[0.]]

print(B)
# [[0. 0.]
#  [0. 0.]]

print(C)
# [[0. 0. 0. 0.]
#  [0. 0. 0. 0.]
#  [0. 0. 0. 0.]]

NumPy の単位行列

単位行列は eye で表します。引数は次元を意味します。

import numpy as np

A = np.eye(1)
B = np.eye(2)
C = np.eye(3)

print(A)
# [[1.]]

print(B)
# [[1. 0.]
#  [0. 1.]]

print(C)
# [[1. 0. 0.]
#  [0. 1. 0.]
#  [0. 0. 1.]]

零行列や単位行列を他の行列とかけてみる

零行列と行列をかけると零行列になります。

import numpy as np

O = np.zeros((2, 2))
A = np.array([[1, 2],
              [3, 4]])

print(O)
# [[0. 0.]
#  [0. 0.]]

B = np.dot(A, O)
C = np.dot(O, A)

print(B)
# [[0. 0.]
#  [0. 0.]]

print(C)
# [[0. 0.]
#  [0. 0.]]

単位行列と行列をかけるとその行列になります。

import numpy as np

I = np.eye(3)
A = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]])

print(I)
# [[1. 0. 0.]
#  [0. 1. 0.]
#  [0. 0. 1.]]

B = np.dot(A, I)
C = np.dot(I, A)

print(B)
# [[1. 2. 3.]
#  [4. 5. 6.]
#  [7. 8. 9.]]

print(C)
# [[1. 2. 3.]
#  [4. 5. 6.]
#  [7. 8. 9.]]