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

Pythonのアインシュタインの縮約記法を使用したベクトル外積


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

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

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

ステップ

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

import numpy as np

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

arr = np.arange(5)

配列を表示する-

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()メソッドを使用します。最初のパラメーターは添え字です。これは、合計の添え字を添え字ラベルの連結リストとして指定します。 2番目のパラメーターはオペランドです。これらは操作用の配列です-

print("\nResult (outer product)...\n",np.einsum('i,j', np.arange(2)+1, arr))

import numpy as np

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

# 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 compute outer product of vectors with Einstein summation convention, use the numpy.einsum() method in Python.
print("\nResult (outer product)...\n",np.einsum('i,j', np.arange(2)+1, arr))

出力

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

Dimensions of our Array...
1

Datatype of our Array object...
int64

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

Result (outer product)...
[[0 1 2 3 4]
[0 2 4 6 8]]

  1. Pythonで重複しない部分文字列の出現回数を含む配列を返します

    重複しない部分文字列の出現回数を含む配列を返すには、Python Numpyのthenumpy.char.count()メソッドを使用します。最初のパラメータはサブ、つまり検索するサブストリングです。 numpy.charモジュールは、typenumpy.str _の配列に対する一連のベクトル化された文字列操作を提供します。 ステップ まず、必要なライブラリをインポートします- import numpy as np 文字列の1次元配列を作成する- arr = np.array(['kATIE', 'JOHN', 'KAte', 'Am

  2. 指定された製品のサブ配列がPythonの配列に存在するかどうかを確認します

    numsという配列があり、これに正の数と負の数が含まれているとします。別の値kがあります。積がkであるサブ配列が配列に存在するかどうかを確認する必要があります。 したがって、入力がnums =[-2、-1,1,3,5,8]、k =6のような場合、サブ配列は[-2、-1,3] これを解決するには、次の手順に従います- 最小:=nums [0]、最大:=nums [0] prod_max:=nums [0] 範囲1からnums-1のサイズのiの場合、do nums [i] <0の場合、 最大値と最小値を入れ替える maximum:=最大nums [i]および(maximum