# Producto de Kronecker

En matemáticas, se llama producto de Kronecker, denotado con $\otimes$, a una operación sobre dos matrices de tamaño arbitrario que da como resultado una matriz bloque. Es un caso especial del producto tensorial. El producto de Kronecker no debería confundirse con el producto de matrices habitual, que es una operación totalmente diferente. Debe su nombre al matemático alemán Leopold Kronecker.

## Definición

Si $A$ es una matriz $m\times n$ y $B$ es una matriz $p\times q$, entonces el producto de Kronecker $A\otimes B$ es la matriz bloque $mp\times nq$.
    $A\otimes B={\begin{bmatrix}a_{11}B&\cdots &a_{1n}B\\\vdots &\ddots &\vdots \\a_{m1}B&\cdots &a_{mn}B\end{bmatrix}}.$
Más explícitamente, tenemos
    $A\otimes B={\begin{pmatrix}a_{11}b_{11}&a_{11}b_{12}&\cdots &a_{11}b_{1q}&\cdots &\cdots &a_{1n}b_{11}&a_{1n}b_{12}&\cdots &a_{1n}b_{1q}\\a_{11}b_{21}&a_{11}b_{22}&\cdots &a_{11}b_{2q}&\dots &\cdots &a_{1n}b_{21}&a_{1n}b_{22}&\dots &a_{1n}b_{2q}\\\vdots &\vdots &\ddots &\vdots &&&\vdots &\vdots &\dots &\vdots \\a_{11}b_{p1}&a_{11}b_{p2}&\cdots &a_{11}b_{pq}&\cdots &\cdots &a_{1n}b_{p1}&a_{1n}b_{p2}&\cdots &a_{1n}b_{pq}\\\vdots &\vdots &&\vdots &\ddots &&\vdots &\vdots &&\vdots \\\vdots &\vdots &&\vdots &&\ddots &\vdots &\vdots &&\vdots \\a_{m1}b_{11}&a_{m1}b_{12}&\cdots &a_{m1}b_{1q}&\cdots &\cdots &a_{mn}b_{11}&a_{mn}b_{12}&\cdots &a_{mn}b_{1q}\\a_{m1}b_{21}&a_{m1}b_{22}&\cdots &a_{m1}b_{2q}&\cdots &\cdots &a_{mn}b_{21}&a_{mn}b_{22}&\cdots &a_{mn}b_{2q}\\\vdots &\vdots &\ddots &\vdots &&&\vdots &\vdots &\ddots &\vdots \\a_{m1}b_{p1}&a_{m1}b_{p2}&\cdots &a_{m1}b_{pq}&\cdots &\cdots &a_{mn}b_{p1}&a_{mn}b_{p2}&\cdots &a_{mn}b_{pq}\end{pmatrix}}.$

### Ejemplos

    ${\begin{bmatrix}1&2\\3&1\\\end{bmatrix}}\otimes {\begin{bmatrix}0&3\\2&1\\\end{bmatrix}}={\begin{bmatrix}1\cdot 0&1\cdot 3&2\cdot 0&2\cdot 3\\1\cdot 2&1\cdot 1&2\cdot 2&2\cdot 1\\3\cdot 0&3\cdot 3&1\cdot 0&1\cdot 3\\3\cdot 2&3\cdot 1&1\cdot 2&1\cdot 1\\\end{bmatrix}}={\begin{bmatrix}0&3&0&6\\2&1&4&2\\0&9&0&3\\6&3&2&1\end{bmatrix}}$.
    ${\begin{bmatrix}a_{11}&a_{12}\\a_{21}&a_{22}\\a_{31}&a_{32}\end{bmatrix}}\otimes {\begin{bmatrix}b_{11}&b_{12}&b_{13}\\b_{21}&b_{22}&b_{23}\end{bmatrix}}={\begin{bmatrix}a_{11}b_{11}&a_{11}b_{12}&a_{11}b_{13}&a_{12}b_{11}&a_{12}b_{12}&a_{12}b_{13}\\a_{11}b_{21}&a_{11}b_{22}&a_{11}b_{23}&a_{12}b_{21}&a_{12}b_{22}&a_{12}b_{23}\\a_{21}b_{11}&a_{21}b_{12}&a_{21}b_{13}&a_{22}b_{11}&a_{22}b_{12}&a_{22}b_{13}\\a_{21}b_{21}&a_{21}b_{22}&a_{21}b_{23}&a_{22}b_{21}&a_{22}b_{22}&a_{22}b_{23}\\a_{31}b_{11}&a_{31}b_{12}&a_{31}b_{13}&a_{32}b_{11}&a_{32}b_{12}&a_{32}b_{13}\\a_{31}b_{21}&a_{31}b_{22}&a_{31}b_{23}&a_{32}b_{21}&a_{32}b_{22}&a_{32}b_{23}\end{bmatrix}}$.

## Propiedades
### Bilinealidad

El producto de Kronecker es un caso especial del producto tensorial, así que es bilineal y asociativo
    $A\otimes (B+C)=A\otimes B+A\otimes C\qquad {\mbox{(si }}B{\mbox{ y }}C{\mbox{ son de iguales dimensiones)}},$
    $(A+B)\otimes C=A\otimes C+B\otimes C\qquad {\mbox{(si }}A{\mbox{ y }}B{\mbox{ son de iguales dimensiones)}},$
    $(kA)\otimes B=A\otimes (kB)=k(A\otimes B),$
    $(A\otimes B)\otimes C=A\otimes (B\otimes C),$
donde A, B y C son matrices y k es un escalar.
El producto de Kronecker no es conmutativo: en general, A$\otimes$B y B$\otimes$A son matrices diferentes. Sin embargo, A$\otimes$B y B$\otimes$A son equivalentes en permutación, lo que quiere decir que existen matrices permutación P y Q tales que
    $A\otimes B=P\,(B\otimes A)\,Q.$
Si A y B son matrices cuadradas, entonces A$\otimes$B y B$\otimes$A son incluso de permutación similar, lo que quiere decir que podemos tomar P = Q$^T$.

### La propiedad del producto mixto

Si A, B, C y D son matrices de manera que se puedan formar los productos AC y BD, entonces
    $(A\otimes B)(C\otimes D)=AC\otimes BD.$
A esto se llama la propiedad del producto mixto, porque mezcla el producto ordinario de matrices y el de Kronecker. Se deduce que A $\otimes$ B es inversible si y solo si A y B son inversibles, en cuyo caso la inversa la da
    $(A\otimes B)^{-1}=A^{-1}\otimes B^{-1}.$
También se deduce que
    $(A\otimes B)^{T}=A^{T}\otimes B^{T}$
done la T indica transposición de matrices.

### Espectro

Supongamos que A y B son matrices cuadradas de tamaños respectivos n y q. Sean λ$_1$,..., λ$_n$ los autovalores de A y μ$_1$,..., μ$_q$ los de B (listados de acuerdo a la multiplicidad). Entonces los autovalores de A $\otimes$ B son
    $\lambda _{i}\mu _{j},\qquad i=1,\ldots ,n,\,j=1,\ldots ,q.$
Se deduce que la traza y el determinante de un producto de Kronecker vienen dados por
    $\operatorname {tr} (A\otimes B)=\operatorname {tr} A\,\operatorname {tr} B\quad {\mbox{y}}\quad \det(A\otimes B)=(\det A)^{q}(\det B)^{n}.$

### Valores singulares

Si A y B son matrices rectangulares, entonces se pueden considerar sus valores singulares. Supongamos que A tiene r$_A$ valores singulares no nulos
    $\sigma _{A,i},\qquad i=1,\ldots ,r_{A}.$
De forma similar, denotamos los valores singulares no nulos de B con
    $\sigma _{B,i},\qquad i=1,\ldots ,r_{B}.$
Entonces el producto de Kronecker A $\otimes$ B tiene r$_A$r$_B$ valores singulares no nulos,
    $\sigma _{A,i}\sigma _{B,j},\qquad i=1,\ldots ,r_{A},\,j=1,\ldots ,r_{B}.$
Dado que el rango de una matriz es igual al número de sus valores singulares no nulos, encontramos que
    $\operatorname {rang} (A\otimes B)=\operatorname {rang} A\,\operatorname {rang} B.$

### Relación con el producto tensorial abstracto

El producto de Kronecker de matrices corresponde al producto tensorial abstracto de aplicaciones lineales. Específicamente, si las matrices A y B representan las transformaciones lineales V$_1$ → W$_1$ y V$_2$ → W$_2$, respectivamente, entonces la matriz A $\otimes$ B representa el producto tensorial de las dos aplicaciones, V$_1$ $\otimes$ V$_2$ → W$_1$ $\otimes$ W$_2$.

## Ecuaciones matriciales

Se puede usar el producto de Kronecker para obtener una representación conveniente de algunas ecuaciones matriciales. Consideremos por un momento la ecuación AXB = C, donde A, B y C son matrices dadas y X es la incógnita. Podemos reescribir esta ecuación como
    $(B^{\top }\otimes A)\,\operatorname {vec} X=\operatorname {vec} (AXB)=\operatorname {vec} C.$
Se sigue entonces de las propiedades del producto de Kronecker que la ecuación AXB = C tiene solución única si y sólo si A y B son inversibles.
Aquí, vecX señala el vector formado por los elementos de la matriz X. Específicamente, si X es una matrix m$\times$'n', entonces
    $\operatorname {vec} X=[x_{11},x_{21},\ldots ,x_{m1},x_{12},x_{22},\ldots ,x_{m2},\ldots ,x_{1n},x_{2n},\ldots ,x_{mn}]^{\top }.$

## Historia

El producto de Kronecker debe su nombre a Leopold Kronecker, incluso habiendo poca evidencia de que fuera el primero en definirlo y usarlo. De hecho, en el pasado se le llamaba al producto de Kronecker matriz de Zehfuss, por Johann Georg Zehfuss.