配列 ベクトル 行列 統計

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 の最初のベクトルに対応しています。