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

Pythonのアインシュタインの縮約記法で行列のトレースを取得する


einsum()メソッドは、オペランドのアインシュタインの縮約記法を評価します。アインシュタインの縮約記法を使用すると、多くの一般的な多次元線形代数配列演算を簡単な方法で表すことができます。暗黙モードでは、einsumはこれらの値を計算します。

明示的モードでは、einsumは、指定された添え字ラベルに対して合計を無効にするか、強制することにより、従来のEinstein合計操作とは見なされない可能性のある他の配列操作を計算するためのさらなる柔軟性を提供します。

アインシュタインの縮約記法を使用して行列のトレースを取得するには、Pythonでnumpy.einsum()メソッドを使用します。最初のパラメーターは添え字です。これは、合計の添え字を添え字ラベルの連結リストとして指定します。 2番目のパラメーターはオペランドです。これらは操作用の配列です。

ステップ

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

import numpy as np

arange()およびreshape()メソッドを使用してnumpy配列を作成する-

arr = np.arange(16).reshape(4,4)

配列を表示する-

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)

アインシュタインの縮約記法を使用して行列のトレースを取得するには、Pythonでnumpy.einsum()メソッドを使用します-

print("\nResult (trace)...\n",np.einsum('ii', arr))

import numpy as np

# Creating a numpy array using the arange() and reshape() method
arr = np.arange(16).reshape(4,4)

# 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)

# To get the trace of a matrix with Einstein summation convention, use the numpy.einsum() method in Python.
print("\nResult (trace)...\n",np.einsum('ii', arr))

出力

Our Array...
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]
[12 13 14 15]]

Dimensions of our Array...
2

Datatype of our Array object...
int64

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

Result (trace)...
30

  1. Pythonでmatrix()を使用して行列オブジェクトの逆数を計算します

    matrix()を使用して行列オブジェクトの逆数を計算するには、Pythonでnumpy.linalg.inv()メソッドを使用します。正方行列aが与えられた場合、dot(a、ainv)=dot(ainv、a)=eye(a.shape [0])。を満たす行列ainvを返します。 このメソッドは、行列aの(乗法)逆行列を返します。最初のパラメーターaは、反転される行列です。 ステップ まず、必要なライブラリをインポートします- import numpy as np from numpy.linalg import invをインポートします 配列を作成する- arr = np.array([

  2. Pythonで行列の逆数を計算する

    行列の(乗法)逆数を計算するには、Pythonでnumpy.linalg.inv()メソッドを使用します。正方行列aが与えられた場合、行列 ainvを返します。 dot(a、ainv)=dot(ainv、a)=eye(a.shape [0])を満たす。このメソッドは、行列aの(乗法)逆行列を返します。最初のパラメーターaは、反転される行列です。 ステップ まず、必要なライブラリをインポートします- import numpy as np from numpy.linalg import invをインポートします 配列を作成する- arr = np.array([[ 5, 10], [ 15,