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.]]