【Python・NumPy】np.linalg.det()で2次元配列の行列式を計算する方法
線形代数において2次元配列(行列)の行列式を計算したい場合は、PythonのNumPyライブラリが提供する np.linalg.det() を使用します。第1引数 a には、行列式を求めたい入力配列を指定します。このメソッドは、指定した配列 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)ここまで確認できたら、np.linalg.det() を使って2次元配列の行列式を計算します。
print("\nResult...\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() を使って2次元配列の行列式を計算
# 第1引数 a は行列式を計算する対象の入力配列
# メソッドは配列 a の行列式を返す
print("\nResult...\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... -30.000000000000014
補足:浮動小数点誤差について
上記の実行結果では -30.000000000000014 と表示されています。数学的には正確な値は -30 ですが、np.linalg.det() は内部でLU分解などの浮動小数点演算を行うため、このような微小な誤差が生じることがあります。厳密な値が必要な場合は、round() や np.round() を使って丸めるか、許容誤差の範囲で比較することをおすすめします。
-
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ノルム
-
【Python入門】numpy.linalg.cholesky()でコレスキー分解を求める方法
線形代数におけるコレスキー分解(Cholesky decomposition)とは、エルミート行列かつ正定値である正方行列 a を、下三角行列 L とその共役転置 LH の積「L * LH」に分解する手法です。NumPyでは numpy.linalg.cholesky() メソッドを使うことで、この分解を簡単に求めることができます。numpy.linalg.cholesky()メソッドの概要numpy.linalg.cholesky() は、引数として渡された正方行列のコレスキー分解を計算し、下三角行列 L を返します。このメソッドには以下のような特徴があります。前提条件: 入力行列 a はエ