行列式は行列の特徴を表す指標の一つです。この記事では行列式の計算方法について理解し、行列式が持つ意味について理解を深めたいと思います。
また、最後には行列式を計算するPythonプログラムを紹介し、プログラム上で行列式を計算してみます。
行列式は英語で determinant と呼ばれ、ある行列Aの行列式を表記する方法としては、det(A)や絶対値記号を用いて|A|と表記します。また、行列式は 2×2や3×3などの正方行列にのみ定義されることに注意しましょう。
まずは行列式を簡単に理解するために、2次元における行列式の計算方法を説明しましょう。2次元の計算方法は非常に簡単です。
ある2×2の正方行列
が与えられるとき、行列式は
で計算されます。
以下の2×2の行列Aの行列式を計算してみます。
以下のように「(左上)×(右下)ー(右上)×(左下)」で計算することができます。この場合の行列式は「-2」となります。
次に 3 次元における行列式の計算方法を説明します。ある3×3の正方行列Aが以下のように与えられるとします。
このとき,行列式は
で与えられます。これを「サラスの公式」と呼びます。
このサラスの公式の覚え方ですが、以下のように正方行列Aを横に二つ並べます。その後、斜め右下がりにa,b,cの成分を一つずつ選んで積を取った項をプラス、斜め左下がりにa,b,cの成分を一つずつ選んで積を取った項をマイナスとして、合算した値として計算されます。
以下の3×3の行列Aの行列式を計算してみます。
サラスの公式によると、以下のように計算を行うことができます。
最終的な行列式は「0」になります。
今回PythonとNumpyを用いて行列式を計算するプログラムを書いてみました。
Numpyのnp.linalg.det()関数を用いることで行列の行列式を計算することができます。ここまでの記事で扱った2つの行列(2×2及び3×3の正方行列)について、プログラムで計算し、結果をコンソールに表示します。
計算した結果は以下の通りとなりました。若干の誤差はあるようですが、かなりの精度で計算ができているようです。