【リファレンス】行列の固有値の求め方【Python】

こつこつPython

この記事の執筆・監修

キノコード
キノコード    

テクノロジーアンドデザインカンパニー株式会社のCEO。
日本最大級のプログラミング教育のYouTubeチャンネル「キノコード」や、プログラミング学習サービス「キノクエスト」を運営。
著書「あなたの仕事が一瞬で片付くPythonによる自動化仕事術」や、雑誌「日経ソフトウエア」や「シェルスクリプトマガジン」への寄稿など実績多数。

numpy.linalg.eig(行列)

固有値を求めるには、numpy.linalg.eig(行列)を使います。

 

in

import numpy

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

w, v = numpy.linalg.eig(arr)

print(w)

out

[-1. 1. 3.]

サンプルコードで解説

サンプルデータ作成

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

in

import numpy

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

 

arrを表示してみる。

in

print(arr)

 

行が3次元、列が3次元の配列ができている。

out

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

 

固有値を求めてみる。

in

w, v = numpy.linalg.eig(arr)

 

戻り値は2つあって、「w」が固有値、「v」が正規化された固有ベクトル。

固有値のwをプリントしてみると、固有値が求められている。

out

[-1. 1. 3.]

 

未経験からはじめるPython学習「キノクエスト」 キノクエスト
  • スキルアップしたいけど何からはじめればよいかわからない…
  • プログラミングスクールに入りたいけど料金が高い…
  • プログラミングを学んでも業務やキャリアに活かせるか不安…

キノクエストは、このような悩みを持つ方にぴったりのプログラミング学習サービスです。
国内最大級のプログラミング学習系YouTubeチャンネル「キノコード」が提供しているから、未経験者にもわかりやすく質の高い学習体験を実感していただけます。

キノクエスト