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

SciPyを使用してPythonで逆行列を計算するにはどうすればよいですか?


場合によっては、行列の逆行列を数学的に計算し、演算の結果を他の目的に使用する必要があります。以下は、行列の逆行列を手動で見つける手順です。

「未成年者」の価値を計算する

この計算では、現在の行と列の値は無視され、残りの値の行列式が検出されます。計算された未成年者はマトリックスに保存されます。

次のステップは、補因子を見つけることです。ここで、「マイナー」マトリックスの値の代替符号が「+」から「-」に、またはその逆に変更されます。

次に、行列が転置されます。つまり、行が列に変換され、列が行に変換されます。

元の行列の行列式が見つかり、以前に計算された行列のすべての要素が行列式で除算されます。結果の行列は、元の行列の逆になります。

計算を使用して手動で行列の逆行列を見つけることは、時間のかかるプロセスです。ここで、「SciPy」ライブラリにある「inv」関数が機能します。

「inv」関数の構文

scipy.linalg.inv(matrix)

「マトリックス」は、その逆値を見つけるために「inv」関数に渡されるパラメーターです。

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

出力

The inverse of the matrix is :
[[-0.03319502 0.0373444 ]
[ 0.13692946 -0.02904564]]

説明

  • 必要なライブラリがインポートされます。
  • マトリックスは、特定の値を使用して定義されます。
  • パラメータは、行列の逆行列を計算する「inv」関数に渡されます。
  • 関数が呼び出されます。
  • この出力はコンソールに表示されます。

  1. SciPyを使用してPythonで行列の行列式の値を計算するにはどうすればよいですか?

    行列式の値は、行列または複数の次元を持つ配列で計算できます。 マリックス/アレイをよりよく理解する必要がある場合があります。これは、行列式操作が必要になる場所です。 SciPyは、「線形代数」の略である「linalg」クラスに存在する「det」という名前の関数を提供します。 「det」関数の構文 scipy.linalg.det(matrix) 「行列」は、行列式の値を見つけるために「det」関数に渡されるパラメーターです。 この関数は、行列/配列を引数として渡すことで呼び出すことができます。 上の図では、「a」、「b」、「c」、および「d」が行列の数値であると想定していま

  2. SciPyを使用して、Pythonで行列の固有値と固有ベクトルを計算するにはどうすればよいですか?

    固有ベクトルと固有値は、多くの状況で使用されます。ドイツ語で「Eigen」という言葉は、「自分自身」または「典型的」を意味します。固有ベクトルは「特性ベクトル」とも呼ばれます。データセットに対して何らかの変換を実行する必要があるが、データセット内のデータの方向が変更されてはならないという条件が与えられたとします。これは、固有ベクトルと固有値を使用できる場合です。 正方行列(行数が列数に等しい行列)が与えられると、固有値と固有ベクトルは次の方程式を満たします。 固有ベクトルは、固有値を見つけた後に計算されます。 注 −固有値は3次元以上でもうまく機能します。 SciPyは、これらの