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

Pythonでのアインシュタインの縮約記法によるスカラー乗法


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

einsum()メソッドは、オペランドのアインシュタインの縮約記法を評価します。アインシュタインの縮約記法を使用すると、多くの一般的な多次元線形代数配列演算を簡単な方法で表すことができます。暗黙モードでは、einsumはこれらの値を計算します。明示モードでは、einsumは、指定された添え字ラベルに対して合計を無効にするか、強制することにより、従来のEinstein合計操作とは見なされない可能性のある他の配列操作を計算するためのさらなる柔軟性を提供します。

ステップ

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

import numpy as np

numpy.arange()とreshape()を使用して配列を作成します-

arr = np.arange(6).reshape(2,3)

valはスカラーです-

val = 2

配列を表示する-

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)

アインシュタインの縮約記法でスカラー乗法を実行するには、numpy.einsum()メソッド-

を使用します。
print("\nResult (scalar multiplication)...\n",np.einsum('..., ...', val, arr))

import numpy as np

# Create an array using the numpy.arange() and reshape()
arr = np.arange(6).reshape(2,3)

# The val is the scalar
val = 2

# Display the array
print("Array...\n",arr)

# Check the datatype
print("\nDatatype of Array...\n",arr.dtype)

# Check the Dimension
print("\nDimensions of Array...\n",arr.ndim)

# Check the Shape
print("\nShape of Array...\n",arr.shape)

# To perform scalar multiplication with Einstein summation convention, use the numpy.einsum() method in Python.
print("\nResult (scalar multiplication)...\n",np.einsum('..., ...', val, arr))

出力

Array...
[[0 1 2]
[3 4 5]]

Datatype of Array...
int64

Dimensions of Array...
2

Shape of Array...
(2, 3)

Result (scalar multiplication)...
[[ 0 2 4]
[ 6 8 10]]

  1. Pythonで日時の配列をUTCタイムゾーンの文字列の配列に変換します

    日時の配列を文字列の配列に変換するには、Python Numpyのnumpy.datetime_as_string()メソッドを使用します。このメソッドは、入力配列と同じ形状の文字列の配列を返します。最初のパラメーターは、フォーマットするUTCタイムスタンプの配列です。 2番目のパラメーターは、日時を表示するときに使用するタイムゾーン情報である「タイムゾーン」です。 「UTC」の場合は、Zで終了してUTC時刻を示します。 ステップ まず、必要なライブラリをインポートします- import numpy as np 日時の配列を作成します。 Mタイプは日時を指定します- arr = np.ar

  2. PythonでのNumPy配列を使用したブロードキャスト

    アレイのサイズが同じで、特定のサイズが必要な場合、異なるアレイ間の算術演算が毎月行われることがわかっています。ただし、サイズが等しくない場合でも、形状に「1」が前に付いた小さいndimを配列に入力して配列のいずれかを拡張することにより、それらに算術演算を適用できるシナリオがあります。つまり、基本的にブロードキャストとアレイとは、その形状を必要な形状に変更することを意味します。 配列Boradcastingのルール ndimが他の配列よりも小さい配列には、その形状に「1」が付加されます。 出力形状の各次元のサイズは、その次元の入力サイズの最大値です。 特定の次元のサイズが出力サ