Pythonで行列のスタックの対数行列式を計算する
行列のスタックの対数行列式を計算するには、Pythonでnumpy.linalg.slogdet()メソッドを使用します。最初のパラメーターsは入力配列であり、正方形の2次元配列である必要があります。符号付きのメソッドは、行列式の符号を表す数値を返します。実際の行列の場合、これは1、0、または-1です。複素行列の場合、これは絶対値が1、または0の複素数です。
logdetを使用するメソッドは、行列式の絶対値の自然対数を返します。行列式がゼロの場合、signは0になり、logdetは-Infになります。すべての場合において、行列式はsign * np.exp(logdet)に等しくなります。
ステップ
まず、必要なライブラリをインポートします-
import numpy as np
配列を作成する-
arr = np.array([ [[1, 2], [3, 4]], [[1, 2], [2, 1]], [[1, 3], [3, 1]] ])
配列を表示する-
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)
線形代数の配列の行列式-
print("\nDeterminant...\n",np.linalg.det(arr))
行列のスタックの対数行列式を計算するには、numpy.linalg.slogdet()メソッドを使用します。行列式がゼロの場合、signは0になり、logdetは-Infになります。すべての場合において、行列式はsign * np.exp(logdet)-
に等しくなります。(sign, logdet) = np.linalg.slogdet(arr) print("\nResult....\n",(sign, logdet))
例
import numpy as np # Create an array arr = np.array([ [[1, 2], [3, 4]], [[1, 2], [2, 1]], [[1, 3], [3, 1]]]) # Display the array print("Our Array...\n",arr) # Check the Dimensions print("\nDimensions of our Array...\n",arr.ndim) # Get the Datatype print("\nDatatype of our Array object...\n",arr.dtype) # Get the Shape print("\nShape of our Array object...\n",arr.shape) # The determinant of an array in linear algebra print("\nDeterminant...\n",np.linalg.det(arr)) # To compute log-determinants for a stack of matrices, use the numpy.linalg.slogdet() method in Python (sign, logdet) = np.linalg.slogdet(arr) print("\nResult....\n",(sign, logdet))
出力
Our Array... [[[1 2] [3 4]] [[1 2] [2 1]] [[1 3] [3 1]]] Dimensions of our Array... 3 Datatype of our Array object... int64 Shape of our Array object... (3, 2, 2) Determinant... [-2. -3. -8.] Result.... (array([-1., -1., -1.]), array([0.69314718, 1.09861229, 2.07944154]))
-
ソートをカウントするためのPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列が与えられたので、カウントソートの概念を使用して配列をソートする必要があります。 ソートのカウントは、特定の範囲のキーを処理する手法です。これには、異なるキーと値を持つオブジェクトの数を数えることが含まれます。最後に、算術計算を行って各オブジェクトの位置を取得し、出力を表示します。 次に、以下の実装のソリューションを見てみましょう- 例 def countSort(arr): # The output character array that will have sorte
-
配列ローテーション用のPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −テキストとパターンが与えられた場合、パターンのすべての出現とその順列(またはアナグラム)をテキストで印刷する必要があります。 次に、以下の実装のソリューションを見てみましょう- 例 # maximum value MAX = 300 # compare def compare(arr1, arr2): for i in range(MAX): if arr1[i] != arr2[i]: &nbs