Dada una array A m X n y una array B ap X q, su producto de Kronecker es A ⊗ B, también llamado producto directo de su array, es una array (m*p) X (n*q).
A = | (a00) (a01) | | (a10) (a11) | B = | (b00) (b01) | | (b10) (b11) | A ⊗ B = | (a00)*(b00) (a00)*(b01) (a01)*(b00) (a01)*(b00) | | (a00)*(b01) (a00)*(b11) (a01)*(b01) (a01)*(b11) | | (a10)*(b00) (a10)*(b01) (a11)*(b00) (a11)*(b01) | | (a10)*(b10) (a10)*(b11) (a11)*(b10) (a11)*(b11) |
El producto de Kronecker de dos arrays multidimensionales dadas se puede calcular utilizando el método kron() en el módulo NumPy. El método kron() toma dos arrays como argumento y devuelve el producto de Kronecker de esas dos arrays.
Sintaxis:
numpy.kron(array1, array2)
A continuación se muestran algunos programas que representan la implementación del método kron() para calcular el producto de Kronecker de dos arrays:
Ejemplo 1:
Python3
# Importing required modules import numpy # Creating arrays array1 = numpy.array([[1, 2], [3, 4]]) print('Array1:\n', array1) array2 = numpy.array([[5, 6], [7, 8]]) print('\nArray2:\n', array2) # Computing the Kronecker Product kroneckerProduct = numpy.kron(array1, array2) print('\nArray1 ⊗ Array2:') print(kroneckerProduct)
Producción:
Array1: [[1 2] [3 4]] Array2: [[5 6] [7 8]] Array1 ⊗ Array2: [[ 5 6 10 12] [ 7 8 14 16] [15 18 20 24] [21 24 28 32]]
Ejemplo 2:
Python3
# Importing required modules import numpy # Creating arrays array1 = numpy.array([[1, 2, 3]]) print('Array1:\n', array1) array2 = numpy.array([[3, 2, 1]]) print('\nArray2:\n', array2) # Computing the Kronecker Product kroneckerProduct = numpy.kron(array1, array2) print('\nArray1 ⊗ Array2:') print(kroneckerProduct)
Producción:
Array1: [[1 2 3]] Array2: [[3 2 1]] Array1 ⊗ Array2: [[3 2 1 6 4 2 9 6 3]]
Ejemplo 3:
Python3
# Importing required modules import numpy # Creating arrays array1 = numpy.array([[1, 2, 3], [4, 5, 6]]) print('Array1:\n', array1) array2 = numpy.array([[1, 2], [3, 4], [5, 6]]) print('\nArray2:\n', array2) # Computing the Kronecker Product kroneckerProduct = numpy.kron(array1, array2) print('\nArray1 ⊗ Array2:') print(kroneckerProduct)
Producción:
Array1: [[1 2 3] [4 5 6]] Array2: [[1 2] [3 4] [5 6]] Array1 ⊗ Array2: [[ 1 2 2 4 3 6] [ 3 4 6 8 9 12] [ 5 6 10 12 15 18] [ 4 8 5 10 6 12]
Publicación traducida automáticamente
Artículo escrito por riturajsaha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA