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

Pythonで異なる次元の配列のテンソル内積を計算します


2つのテンソルaとb、および2つのarray_likeオブジェクト(a_axes、b_axes)を含むarray_likeオブジェクトが与えられた場合、a_axesとb_axesで指定された軸上のaとbの要素(コンポーネント)の積を合計します。 3番目の引数は、単一の非負のinteger_likeスカラーNにすることができます。そのような場合、aの最後のN次元とbの最初のN次元が合計されます。

異なる次元の配列のテンソル内積を計算するには、numpy.tensordot()メソッドを使用します。 a、bパラメ​​ータは、「ドット」へのテンソルです。 axisパラメーターinteger_likeintNの場合、aの最後のN軸とbの最初のN軸を順番に合計します。対応する軸のサイズは一致する必要があります。

ステップ

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

import numpy as np

array()メソッドを使用して次元の異なる2つのnumpy配列を作成する-

arr1 = np.array(range(1, 9))
arr1.shape = (2, 2, 2)
arr2 = np.array(('p', 'q', 'r', 's'), dtype=object)
arr2.shape = (2, 2)

配列を表示する-

print("Array1...\n",arr1)
print("\nArray2...\n",arr2)

両方のアレイの寸法を確認してください-

print("\nDimensions of Array1...\n",arr1.ndim)
print("\nDimensions of Array2...\n",arr2.ndim)

両方のアレイの形状を確認してください-

print("\nShape of Array1...\n",arr1.shape)
print("\nShape of Array2...\n",arr2.shape)

異なる次元の配列のテンソル内積を計算するには、Pythonでnumpy.tensordot()メソッドを使用します-

print("\nTensor dot product...\n", np.tensordot(arr1, arr2))

import numpy as np

# Creating two numpy arrays with different dimensions using the array() method
arr1 = np.array(range(1, 9))
arr1.shape = (2, 2, 2)
arr2 = np.array(('p', 'q', 'r', 's'), dtype=object)
arr2.shape = (2, 2)

# Display the arrays
print("Array1...\n",arr1)
print("\nArray2...\n",arr2)

# Check the Dimensions of both the arrays
print("\nDimensions of Array1...\n",arr1.ndim)
print("\nDimensions of Array2...\n",arr2.ndim)

# Check the Shape of both the arrays
print("\nShape of Array1...\n",arr1.shape)
print("\nShape of Array2...\n",arr2.shape)

# To compute the tensor dot product for arrays with different dimensions, use the numpy.tensordot() method in Python
print("\nTensor dot product...\n", np.tensordot(arr1, arr2))
のnumpy.tensordot()メソッドを使用します。

出力

Array1...
[[[1 2]
[3 4]]

[[5 6]
[7 8]]]

Array2...
[['p' 'q']
['r' 's']]

Dimensions of Array1...
3

Dimensions of Array2...
2

Shape of Array1...
(2, 2, 2)

Shape of Array2...
(2, 2)

Tensor dot product...
['pqqrrrssss' 'pppppqqqqqqrrrrrrrssssssss']

  1. Pythonで2つの多次元配列の内積を取得します

    2つの多次元配列の内積を取得するには、Pythonでnumpy.inner()メソッドを使用します。 1次元配列のベクトルの通常の内積。高次元では、最後の軸の合計積。パラメータは1とb、2つのベクトルです。 aとbが非スカラーの場合、それらの最後の寸法は一致する必要があります。 ステップ まず、必要なライブラリをインポートします- import numpy as np array()メソッドを使用して2つのnumpy2次元配列を作成する- arr1 = np.array([[5, 10], [15, 20]]) arr2 = np.array([[6, 12], [18, 24]]) 配

  2. Pythonで4Dおよび3D次元の配列のクロネッカー積を入手する

    4Dと3Dの次元配列のクロネッカー積を取得するには、Python Numpyのnumpy.kron()メソッドを使用します。最初の配列によってスケーリングされた2番目の配列のブロックで構成される複合配列であるクロネッカー積を計算します この関数は、aとbの次元数が同じであると想定し、必要に応じて最小の次元の前に1を追加します。 a.shape =(r0、r1、..、rN)およびb.shape =(s0、s1、...、sN)の場合、クロネッカー積は形状(r0 * s0、r1 * s1、...、 rN * SN)。要素は、aとbの要素の積であり、-によって明示的に編成されています。 kron(a