AppDividend
Latest Code Tutorials

np.kron: What is Numpy kron() Function in Python

What is the Kronecker product? Suppose we have two lists: A [a0,a1,a2] and B [ b0, b1, b2] . If we want to calculate the Kronecker product of these two lists, the answer will be:

[a0*b1, a1*b0, a2*b0, a0*b1, a1*b1, a2*b1, a0*b2, a1*b2, a2*b2]

np.kron

To calculate the Kronecker product in Python, use the np.kron() function. Numpy kron() method is used to get the Kronecker product of two given lists.

The kron() function computes the Kronecker product, a composite array made of blocks of the second array scaled by the first. The numpy kron() method takes two lists as arguments.

Syntax

np.kron(list1, list2)

Parameters

The kron() function takes two main parameters:

list1: This is the first list.

list2: This is the second list with which we want to calculate the Kronecker product.

Return Value

The kron() function returns a vector of size ( shape|list1| * shape |list2| ) which contains the Kronecker product.

Programming Example

Finding Kronecker product when two lists are 1D

# Finding Kronecker product when two lists are 1D
import numpy as np

# Declaring the first array
arr1 = np.array([-2, -1, 0, 1, 2, 3])
arr2 = np.array([0, 1, 2, 3, 4, 5])

print("First array is :\n", arr1)
print("Second array is :\n", arr2)

# Calculating the Kronecker product
ans = np.kron(arr1, arr2)

print("Kronecker product of these arrays are:\n", ans)

Output

First array is :
[-2 -1  0  1  2  3]
Second array is :
[0 1 2 3 4 5]
Kronecker product of these arrays are:
[  0  -2  -4  -6  -8 -10   0  -1  -2  -3  -4  -5   0   0   0   0   0   0
0   1   2   3   4   5   0   2   4   6   8  10   0   3   6   9  12  15]

Explanation

First, we have created two arrays of one-dimensional. Then we have printed those two arrays. Then we have called numpy.kron() to get the Kronecker vector product.

Finding a Kronecker product when one of the lists is 2D and the other is 1D.

See the following code.

# Finding Kronecker product when two lists are 2D
import numpy as np

# Declaring the first array
arr1 = np.array([[-2, -1, 0], [1, 2, 3]])
arr2 = np.array([[0, 1, 2], [3, 4, 5]])

print("First array is :\n", arr1)
print("Second array is :\n", arr2)

# Calculating the Kronecker product
ans = np.kron(arr1, arr2)

print("Kronecker product of these arrays are:\n", ans)

Output

First array is :
[[-2 -1  0]
[ 1  2  3]]
Second array is :
[[0 1 2]
[3 4 5]]
Kronecker product of these arrays are:
[[  0  -2  -4   0  -1  -2   0   0   0]
[ -6  -8 -10  -3  -4  -5   0   0   0]
[  0   1   2   0   2   4   0   3   6]
[  3   4   5   6   8  10   9  12  15]]

Explanation

First, we have created two arrays of two-dimensional. Then we have printed those two arrays. Then we have called numpy.kron() to get the Kronecker vector product.

That is it for the numpy kron() function.