NumPyで行列の固有値と固有ベクトルを計算する
2023.02.18
linalg の eig 関数は、行列の固有値と固有ベクトルを返します。そのままの形は扱いにくいので、次のように固有値と固有ベクトルを分けます。
import numpy as np
A = np.array([[1, 2], [3, 4]])
values, vectors = np.linalg.eig(A)
print(values)
# [-0.37228132 5.37228132]
print(vectors)
# [[-0.82456484 -0.41597356]
# [ 0.56576746 -0.90937671]]
2 次の行列は最大で 2 個の固有値と 2 個の固有ベクトルを持ちます。
固有値は 1 次元の配列、固有ベクトルは 2 次元の配列となっています。values の最初の数が、vectors の最初のベクトルに対応しています。