Calcule el producto de Kronecker de dos arrays NumPy multidimensionales

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *