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次元が合計されます。
ステップ
まず、必要なライブラリをインポートします-
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)
異なる次元の配列のテンソル内積を計算するには、numpy.tensordot()メソッド-
を使用します。print("\nTensor dot product...\n", np.tensordot(arr1, arr2, ((0, 1), (0, 1))))
例
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, ((0, 1), (0, 1))))
出力
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... ['pqqqrrrrrsssssss' 'ppqqqqrrrrrrssssssss']
-
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]]) 配
-
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