キノカレッジ
キノクエスト
キノクエスト for Biz

【リファレンス】逆行列の求め方【Python】

numpy.linalg.inv(行列)

逆行列を求めるには、numpy.linalg.inv(行列)を使います。

in

import numpy

arr = numpy.array([[1, 1, -1], [2, 3, 0], [0, 1, 3]])


print(arr.shape)

out

[[ 9. -4. 3.]
 [-6. 3. -2.]
 [ 2. -1. 1.]]

サンプルコードで解説

サンプルデータ作成

サンプルデータとして、行が3次元、列が3次元のarray(配列)を作成して、変数arrに代入。

in

arr = numpy.array([[1, 1, -1], [2, 3, 0], [0, 1, 3]])

表示する

in

print(arr)

3×3の配列ができている。

out

[[ 1 1 -1]
 [ 2 3 0]
 [ 0 1 3]]

numpy.linalg.inv(行列)を使って表示させてみる。

in

print(numpy.linalg.inv(arr))

out

[[ 9. -4. 3.]
 [-6. 3. -2.]
 [ 2. -1. 1.]]

念のため、検算。

もとの行列と逆行列をを掛けると単位行列になる。

試してみる。

in

arr_inv=numpy.linalg.inv(arr)

print(numpy.dot(arr,arr_inv))

単位行列が表示された

out

[[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]