【リファレンス】行列式の求め方【Python】

こつこつPython

この記事の執筆・監修

キノコード
キノコード    

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

numpy.linalg.det(行列)

行列式を求めるにはlinalgのdet関数を使います。

in

import numpy

arr = numpy.array([[1, 2, 3], [8, 9, 4], [7, 6, 5]])
print(numpy.linalg.det(arr))

out

48

サンプルコードで解説

サンプルデータ作成

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

in

import numpy

arr = numpy.array([[1, 2, 3] , [4, 5, 6] , [7, 8, 9]])

 

arrを表示してみる。

in

print(arr)

 

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

out

[[ 1 2 3]
 [ 4 5 6]
 [ 7 8 9]]

 

さっそく、行列式を求めてみる。

in

print(numpy.linalg.det(arr))

行列式を求めることができた

in

-48

補足

・linalgとは、「linear algebra(線形代数)」のモジュール

・detは、「determinant(行列式)」を求める関数

・行列式は、行と列の次元数が同じ「正方行列」じゃなければ求めることができない。

行列式と機械学習

行列式は、主成分分析という機械学習をする時に使います。

少し遠回りになってしまいますが、

・行列式は、逆行列を求めるのに使い、

・逆行列は、固有値を求めるのに使い、

・固有値を主成分分析の時に使います。

 

数学の復習

工事中

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

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

キノクエスト