この記事では、Python言語とNumPyを用いて、行列の固有値・固有ベクトルを求める方法をソースコード付きで解説します。
固有値・固有ベクトル
PythonとNumPyのnumpy.linalg.eigを利用することで、行列の固有値・固有ベクトルを求めることが出来ます。
書式
la, v = numpy.linalg.eig(A)
第1引数(A):固有値・固有ベクトルを求めたい行列
戻り値:固有値(la)と固有ベクトル(v)
固有値に対応する固有ベクトル(v)は、各固有値(la)に対応する位置の列にある。
※固有値は降順ソートされて戻ってきます。
ソースコード
サンプルプログラムのソースコードです。
# -*- coding: utf-8 -*- import numpy as np def main(): A = np.array([[1.,0.] # 行列Aの生成 ,[0.,2.]]) la, v = np.linalg.eig(A) # 行列Aの固有値・固有ベクトル print("固有値:", la) print("固有ベクトル:", v) if __name__ == '__main__': main()
実行結果
サンプルプログラムの実行結果です。
固有値:[ 1. 2.] 固有ベクトル:[[ 1. 0.] [ 0. 1.]]
コメント