Để nhận sản phẩm Kronecker của hai mảng có kích thước khác nhau, hãy sử dụng phương thức numpy.kron () trong Python Numpy. Tính toán sản phẩm Kronecker, một mảng tổng hợp được tạo thành từ các khối của mảng thứ hai được chia tỷ lệ bởi mảng đầu tiên
Hàm giả định rằng số kích thước của a và b là như nhau, nếu cần, ưu tiên kích thước nhỏ nhất bằng các kích thước. Nếu a.shape =(r0, r1, .., rN) và b.shape =(s0, s1, ..., sN), sản phẩm Kronecker có hình dạng (r0 * s0, r1 * s1, ..., rN * SN). Các phần tử là sản phẩm của các phần tử froma và b, được tổ chức một cách rõ ràng bởi -
# kron(a,b)[k0,k1,...,kN] = a[i0,i1,...,iN] * b[j0,j1,...,jN]
Các bước
Đầu tiên, hãy nhập các thư viện được yêu cầu -
import numpy as np
Tạo hai mảng numpy với các kích thước khác nhau bằng phương thức arange () và reshape () -
arr1 = np.arange(20).reshape((2,5,2)) arr2 = np.arange(6).reshape((2,3))
Hiển thị các mảng -
print("Array1...\n",arr1) print("\nArray2...\n",arr2)
Kiểm tra Kích thước của cả hai mảng -
print("\nDimensions of Array1...\n",arr1.ndim) print("\nDimensions of Array2...\n",arr2.ndim)
Kiểm tra Hình dạng của cả hai mảng -
print("\nShape of Array1...\n",arr1.shape) print("\nShape of Array2...\n",arr2.shape)
Để nhận sản phẩm Kronecker của hai mảng, hãy sử dụng phương thức numpy.kron () trong Python -
print("\nResult (Kronecker product)...\n",np.kron(arr1, arr2))
Ví dụ
import numpy as np # Creating two numpy arrays with different dimensions using the arange() and reshape() method arr1 = np.arange(20).reshape((2,5,2)) arr2 = np.arange(6).reshape((2,3)) # Display the arrays print("Array1...\n",arr1) print("\nArray2...\n",arr2) # Check the Dimensions of both the array print("\nDimensions of Array1...\n",arr1.ndim) print("\nDimensions of Array2...\n",arr2.ndim) # Check the Shape of both the array print("\nShape of Array1...\n",arr1.shape) print("\nShape of Array2...\n",arr2.shape) # To get the Kronecker product of two arrays, use the numpy.kron() method in Python Numpy print("\nResult (Kronecker product)...\n",np.kron(arr1, arr2))
Đầu ra
Array1... [[[ 0 1] [ 2 3] [ 4 5] [ 6 7] [ 8 9]] [[10 11] [12 13] [14 15] [16 17] [18 19]]] Array2... [[0 1 2] [3 4 5]] Dimensions of Array1... 3 Dimensions of Array2... 2 Shape of Array1... (2, 5, 2) Shape of Array2... (2, 3) Result (Kronecker product)... [[[ 0 0 0 0 1 2] [ 0 0 0 3 4 5] [ 0 2 4 0 3 6] [ 6 8 10 9 12 15] [ 0 4 8 0 5 10] [12 16 20 15 20 25] [ 0 6 12 0 7 14] [18 24 30 21 28 35] [ 0 8 16 0 9 18] [24 32 40 27 36 45]] [[ 0 10 20 0 11 22] [30 40 50 33 44 55] [ 0 12 24 0 13 26] [36 48 60 39 52 65] [ 0 14 28 0 15 30] [42 56 70 45 60 75] [ 0 16 32 0 17 34] [48 64 80 51 68 85] [ 0 18 36 0 19 38] [54 72 90 57 76 95]]]