python~numpyで固有値,固有ベクトル
はじめに
こんにちは,Keymaleです.今回Pythonで固有値,固有ベクトルの算出の仕方を説明します.手計算でやるとめんどくさいですが,Pythonなら一瞬です.
固有値,固有ベクトル
numpyのlinalgというモジュールを用います.サンプルコードは以下になります.
import numpy as np
import numpy.linalg as LA
a = np.array([[1,5],[3,7]])
b = np.array([[1,5,4],[3,7,2],[17,4,2]])
aeig_val, aeig_vec = LA.eig(a)
beig_val, beig_vec = LA.eig(b)
if __name__ == '__main__':
print(aeig_val)
print(aeig_vec)
print(beig_val)
print(beig_vec)
LA.eigの引数にnumpyの行列を入れるだけです.第一戻り値に固有値,第二戻り値に固有ベクトルが返ります.
実行すると,
print(aeig_val)
>>> [-0.89897949 8.89897949]
print(aeig_vec)
>>>[[-0.93484692 -0.53484692]
[ 0.35505103 -0.84494897]]
print(beig_val)
>>>[-6.63933547 13.49100615 3.14832933]
print(beig_vec)
>>>[[ 0.44664809 -0.4290092 0.18693557]
[ 0.03286579 -0.44115261 -0.56345552]
[-0.89410588 -0.78824836 0.80471919]]
こんな感じで計算できているのが確認できるかと思います.
今回は以上です.
-
前の記事
python~ハノイの塔と再帰関数 2020.09.02
-
次の記事
python~線形探索と二分探索 2020.09.10
コメントを書く