[Python] Numpy で行列演算
行列の掛け算
numpy.ndarray を 2つ定義して np.matmul() で計算する。
import numpy as np
data1 = np.array(
[
[0, 1, 2],
[3, 4, 5],
[6, 7, 8],
]
)
data2 = np.array(
[
[0, 1, 2],
[3, 4, 5],
[6, 7, 8],
]
)
result = np.matmul(data1, data2)
print(result)
実行結果
[[ 15 18 21]
[ 42 54 66]
[ 69 90 111]]
逆行列を求める
逆行列は np.linalg.inv() を使用する
import numpy as np
data1 = np.array([
[0,1,3],
[3,4,5],
[6,7,8]]
)
data1_inv = np.linalg.inv(data1)
print(data1_inv)
print(np.matmul(data1,data1_inv))
実行結果
[[ 1. -4.33333333 2.33333333]
[-2. 6. -3. ]
[ 1. -2. 1. ]]
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]