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

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


2つの多次元配列の外積を取得するには、Pythonでnumpy.outer()メソッドを使用します。最初のパラメーターaは、最初の入力ベクトルです。まだ1次元でない場合、入力はフラット化されます。 2番目のパラメーターbは、2番目の入力ベクトルです。まだ1次元でない場合、入力はフラット化されます。 3番目のパラメータoutは、結果が保存される場所です。

2つのベクトルa=[a0、a1、...、aM]とb =[b0、b1、...、bN]が与えられた場合、外積[1]は-

です。
[[a0*b0 a0*b1 ... a0*bN ]
[a1*b0 .
[ ... .
[aM*b0    aM*bN ]]

ステップ

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

import numpy as np

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

arr1 = np.array([[5, 10], [15, 20]])
arr2 = np.array([[6, 12], [18, 24]])

配列を表示する-

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)

2つの多次元配列の外積を取得するには、numpy.outer()メソッド-

を使用します。
print("\nResult (Outer Product)...\n",np.outer(arr1, arr2))

import numpy as np

# Creating two numpy Two-Dimensional array using the array() method
arr1 = np.array([[5, 10], [15, 20]])
arr2 = np.array([[6, 12], [18, 24]])

# 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 get the Outer product of two multi-dimensional arrays, use the numpy.outer() method in Python
print("\nResult (Outer Product)...\n",np.outer(arr1, arr2))

出力

Array1...
[[ 5 10]
[15 20]]

Array2...
[[ 6 12]
[18 24]]

Dimensions of Array1...
2

Dimensions of Array2...
2

Shape of Array1...
(2, 2)

Shape of Array2...
(2, 2)

Result (Outer Product)...
[[ 30 60 90 120]
[ 60 120 180 240]
[ 90 180 270 360]
[120 240 360 480]]

  1. Pythonで2つの配列の要素のk番目に大きい積を見つけるプログラム

    いくつかの整数を含む2つのリストpとqが与えられたと仮定します。これらのリストのすべての値を乗算し、乗算結果からk番目に大きい値を見つける必要があります。 したがって、入力がp =[2、5]、q =[6、8]、k =2の場合、出力は16になります。 乗算の結果は次のとおりです。2*6=12、2 * 8 =16、5 * 6 =30、5 * 8 =40。2番目に大きい要素はis(インデックスは0から始まります)は16です。 これを解決するには、次の手順に従います- リストを並べ替えるp リストを並べ替えるq k:=k + 1 ヒープ:=リスト表現の新しいヒープ qの各要素について、

  2. Pythonでの2つの配列IIの交差

    2つの配列AとBがあるとすると、これらの配列にはいくつかの要素があります。それらの交差点を見つける必要があります。したがって、A =[1、4、5、3、6]、およびB =[2、3、5、7、9]の場合、交点は[3、5]になります。 これを解決するには、次の手順に従います- 2つのアレイAとBを取ります Aの長さがBの長さよりも短い場合は、それらを交換します 配列内の要素の頻度を計算し、それらをmに格納します Bの各要素eについて、eがmに存在し、頻度がゼロ以外の場合、 頻度m[e]を1つ減らします 結果の配列にeを挿入します 結果の配列を返す 例 理解を深めるために、次の実装を見て