Python
 Computer >> コンピューター >  >> プログラミング >> Python

SciPyを使ってPythonで行列の行列式を計算する方法

行列式(determinant)は、行列や多次元配列に対して計算できる重要なスカラー値です。行列や配列の性質をより深く理解したい場合、この行列式の計算が必要になることがあります。

SciPyの「det」関数について

SciPyには、「linalg」モジュール(線形代数:Linear Algebraの略称)の中に「det」という関数が用意されており、これを使うことで行列式を簡単に求めることができます。

det関数の構文

scipy.linalg.det(matrix)

引数「matrix」には、行列式を求めたい行列または配列を渡します。この関数は、行列や配列を引数として渡すだけで呼び出すことができます。

2×2行列の行列式の計算原理

SciPyを使ってPythonで行列の行列式を計算する方法

上の図のように、2×2行列の要素をa、b、c、dとすると、行列式は「ad − bc」で求められます。つまり、対角線上にある要素同士の積(a×d と b×c)の差が行列式の値になります。

それでは、実際のコードで確認してみましょう。

コード例

from scipy import linalg
import numpy as np
two_d_matrix = np.array([ [7, 9], [33, 8] ])
print("The determinant value of the matrix is :")
print(linalg.det(two_d_matrix ))

実行結果

The determinant value of the matrix is :
-241.0

コードの解説

  • 必要なライブラリであるscipy.linalgとnumpyをインポートします。
  • numpyのarray関数を使って、数値を含む2次元の行列を定義します。
  • 定義した行列を引数として「det」関数に渡し、行列式を計算します。
  • 関数を呼び出して計算結果を取得します。
  • 得られた行列式の値がコンソールに出力されます。

この例では、7×8 − 9×33 = 56 − 297 = −241.0 という計算により、行列式が−241.0となることが確認できます。

  1. PythonのSeabornライブラリでcountplotを使ってデータを可視化する方法

    Seabornは、データの可視化を支援するPythonライブラリです。カスタマイズされたテーマと高水準のインターフェースを備えており、美しいグラフを簡単に作成できます。 これまでのプロットでは、データセット全体をグラフ上に描画してきました。一方、棒グラフ(bar plot)を活用すると、データ分布の中心的な傾向(中央傾向)を把握することができます。 barplot関数は、カテゴリ変数と連続変数の関係を表現するのに役立ちます。データは長方形のバーとして描画され、バーの長さがそのカテゴリにおけるデータの割合を示します。 barplotの特殊なケースがcountplotです。countplotは、第

  2. SciPyを使ってPythonで行列の固有値・固有ベクトルを計算する方法

    固有ベクトルと固有値は、さまざまな場面で活用されている重要な概念です。「Eigen(アイゲン)」という言葉はドイツ語で「固有の」「典型的な」を意味し、固有ベクトルは「特性ベクトル」と呼ばれることもあります。たとえば、データセットに何らかの変換を加えたいものの、「データの方向は変えたくない」という条件がある場合、固有ベクトルと固有値が役立ちます。 正方行列(行数と列数が等しい行列)に対して、固有値と固有ベクトルは次の式を満たします。 固有ベクトルは、まず固有値を求めた後に計算されるのが一般的です。 注意 − 固有値は、3次元以上の高次元でも問題なく機能します。 こうした数学的計算を手作業で行