[Python] Numpy で行列演算

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA