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...\n",np.einsum('ij->i', 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)

# For Array axis summations (sum over an axis) with Einstein summation convention, use the numpy.einsum() method in Python.
print("\nResult...\n",np.einsum('ij->i', 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...
[ 6 22 38 54]

  1. Pythonの特定の軸上で多次元係数を使用して多項式を微分する

    多項式を区別するには、Python Numpyのpolynomial.polyder()メソッドを使用します。軸に沿ってm回微分された多項式係数cを返します。各反復で、結果にsclが乗算されます(スケーリング係数は変数の線形変化で使用するためのものです)。引数cは、各軸に沿った低次から高次までの係数の配列です。たとえば、[1,2,3]は多項式1 + 2 * x + 3 * x ** 2を表し、[[1,2]、[1 、2]]は、axis =0がxで、axis =1がyの場合、1 + 1 * x + 2 * y + 2 * x*yを表します。 このメソッドは、導関数の多項式係数を返します。最初のパ

  2. Python deg2rad()を使用して、角度を度からラジアンに変換します

    度配列をラジアンに変換するには、Python Numpyのnumpy.deg2rad()メソッドを使用します。このメソッドは、対応する角度をラジアンで返します。 xがスカラーの場合、これはスカラーです。最初のパラメーターは、度単位の入力角度です。 2番目と3番目のパラメーターはオプションです。 2番目のパラメーターは、結果が格納される場所であるndarrayです。提供される場合、入力がブロードキャストされる形状を持っている必要があります。指定しない場合またはなしの場合、新しく割り当てられた配列が返されます。 3番目のパラメーターは、条件が入力を介してブロードキャストされることです。条件がT