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

【Python・NumPy】np.linalg.det()で配列の行列式を計算する方法

線形代数において配列の行列式を計算するには、PythonのNumPyが提供する np.linalg.det() 関数を使用します。第1引数 a は、行列式を求める対象となる入力配列です。この関数は、計算された行列式の値を返します。

なお、行列式とは正方行列に対して定義されるスカラー値であり、連立一次方程式の解の存在判定や逆行列の計算など、線形代数のさまざまな場面で重要な役割を果たします。

手順

まず、必要なライブラリをインポートします。

import numpy as np

配列を作成します。

arr = np.array([[ 5, 10], [12, 18]])

配列を表示します。

print("Our Array...\n",arr)

次元数を確認します。

print("\nDimensions of our Array...\n",arr.ndim)

データ型を取得します。

print("\nDatatype of our Array object...\n",arr.dtype)

形状(シェイプ)を取得します。

print("\nShape of our Array object...\n",arr.shape)

配列の行列式を計算するには、NumPyの np.linalg.det() を使用します。

print("\nResult (determinant)...\n",np.linalg.det(arr))

サンプルコード

import numpy as np

# 配列を作成
arr = np.array([[ 5, 10], [12, 18]])

# 配列を表示
print("Our Array...\n",arr)

# 次元数を確認
print("\nDimensions of our Array...\n",arr.ndim)

# データ型を取得
print("\nDatatype of our Array object...\n",arr.dtype)

# 形状を取得
print("\nShape of our Array object...\n",arr.shape)

# np.linalg.det() で行列式を計算
print("\nResult (determinant)...\n",np.linalg.det(arr))

実行結果

Our Array...
[[ 5 10]
[12 18]]

Dimensions of our Array...
2

Datatype of our Array object...
int64

Shape of our Array object...
(2, 2)

Result (determinant)...
-30.000000000000014

実行結果から、2×2の正方配列に対して行列式「-30」が返されていることがわかります。値が浮動小数点数(例:-30.000000000000014)で表示されるのは、np.linalg.det() が内部的にLU分解などの浮動小数点演算を用いて計算を行うためです。厳密な整数値が必要な場合は、結果を丸める(round() など)ことで対応できます。

  1. Python NumPyのlinalg.norm()で行列・ベクトルのノルムを計算する方法

    線形代数において行列またはベクトルのノルム(Norm)を返すには、Python NumPyのnumpy.linalg.norm()メソッドを使用します。この記事では、LA.norm()メソッドの基本的な使い方と各パラメータの意味を、実際のコード例とともにわかりやすく解説します。numpy.linalg.norm()メソッドのパラメータ第1引数:xノルムを計算する対象となる入力配列です。axisがNoneの場合、xは1次元または2次元である必要があります(ordがNoneの場合を除く)。axisとordがどちらもNoneの場合は、x.ravel()の2-ノルムが返されます。第2引数:ordノルム

  2. 【Python入門】numpy.linalg.cholesky()でコレスキー分解を求める方法

    線形代数におけるコレスキー分解(Cholesky decomposition)とは、エルミート行列かつ正定値である正方行列 a を、下三角行列 L とその共役転置 LH の積「L * LH」に分解する手法です。NumPyでは numpy.linalg.cholesky() メソッドを使うことで、この分解を簡単に求めることができます。numpy.linalg.cholesky()メソッドの概要numpy.linalg.cholesky() は、引数として渡された正方行列のコレスキー分解を計算し、下三角行列 L を返します。このメソッドには以下のような特徴があります。前提条件: 入力行列 a はエ