
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Get the Kronecker Product of Two Arrays with Different Dimensions in Python
To get the Kronecker product of two arrays with different dimensionas, use the numpy.kron() method in Python Numpy. Compute the Kronecker product, a composite array made of blocks of the second array scaled by the first
The function assumes that the number of dimensions of a and b are the same, if necessary, prepending the smallest with ones. If a.shape = (r0,r1,..,rN) and b.shape = (s0,s1,...,sN), the Kronecker product has shape (r0*s0, r1*s1, ..., rN*SN). The elements are products of elements from a and b, organized explicitly by −
# kron(a,b)[k0,k1,...,kN] = a[i0,i1,...,iN] * b[j0,j1,...,jN]
Steps
At first, import the required libraries −
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 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 Kronecker product of two arrays, use the numpy.kron() method in Python −
print("\nResult (Kronecker product)...\n",np.kron(arr1, arr2))
Example
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))
Output
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]]]