# Produit de Kronecker

En mathématiques, le produit de Kronecker est une opération portant sur les matrices. Il s'agit d'un cas particulier du produit tensoriel. Il est ainsi dénommé en hommage au mathématicien allemand Leopold Kronecker.

## Définition formelle

Soient A une matrice de taille m x n et B une matrice de taille p x q. Leur produit tensoriel est la matrice A ⊗ B de taille mp par nq, définie par blocs successifs de taille p x q, le bloc d'indice i,j valant a$_{i,j}$ B
En d'autres termes
    $A\otimes B={\begin{pmatrix}a_{11}B&\cdots &a_{1n}B\\\vdots &\ddots &\vdots \\a_{m1}B&\cdots &a_{mn}B\end{pmatrix}}$
Ou encore, en détaillant les coefficients,
    $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}&\cdots &\cdots &a_{1n}b_{21}&a_{1n}b_{22}&\cdots &a_{1n}b_{2q}\\\vdots &\vdots &\ddots &\vdots &&&\vdots &\vdots &\ddots &\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}}$

### Exemple

Comme le montre l'exemple ci-dessous, le produit de Kronecker de deux matrices consiste à recopier plusieurs fois la deuxième matrice, en la multipliant par le coefficient correspondant à un terme de la première matrice.
    ${\begin{pmatrix}1&3&2\\1&0&0\\1&2&2\end{pmatrix}}\otimes {\begin{pmatrix}0&5\\5&0\\1&1\end{pmatrix}}={\begin{pmatrix}1\cdot {\begin{pmatrix}0&5\\5&0\\1&1\end{pmatrix}}&3\cdot {\begin{pmatrix}0&5\\5&0\\1&1\end{pmatrix}}&2\cdot {\begin{pmatrix}0&5\\5&0\\1&1\end{pmatrix}}\\1\cdot {\begin{pmatrix}0&5\\5&0\\1&1\end{pmatrix}}&0\cdot {\begin{pmatrix}0&5\\5&0\\1&1\end{pmatrix}}&0\cdot {\begin{pmatrix}0&5\\5&0\\1&1\end{pmatrix}}\\1\cdot {\begin{pmatrix}0&5\\5&0\\1&1\end{pmatrix}}&2\cdot {\begin{pmatrix}0&5\\5&0\\1&1\end{pmatrix}}&2\cdot {\begin{pmatrix}0&5\\5&0\\1&1\end{pmatrix}}\end{pmatrix}}={\begin{pmatrix}0&5&0&15&0&10\\5&0&15&0&10&0\\1&1&3&3&2&2\\0&5&0&0&0&0\\5&0&0&0&0&0\\1&1&0&0&0&0\\0&5&0&10&0&10\\5&0&10&0&10&0\\1&1&2&2&2&2\end{pmatrix}}$

## Propriétés
### Bilinéarité, associativité

Le produit de Kronecker est bilinéaire et associatif : sous réserve de compatibilité des tailles pour A, B et C, on a les équations suivantes :
    $A\otimes (B+\lambda \ \cdot C)=(A\otimes B)+\lambda (A\otimes C)$
    $(A+\lambda \ \cdot B)\otimes C=(A\otimes C)+\lambda (B\otimes C)$
    $A\otimes (B\otimes C)=(A\otimes B)\otimes C$
Le produit de Kronecker n'est pas commutatif ; cependant pour toutes A et B il existe deux matrices de permutation P et Q telles que A ⊗ B = P (B ⊗ A) Q. Si de plus A et B sont carrées et de même taille, alors A ⊗ B et B ⊗ A sont semblables par permutation sur les vecteurs de la base :
    $A\otimes B=P^{-1}(B\otimes A)P=^{t}\!P(B\otimes A)P$
où P est une matrice de permutation.

### Propriétés sur le produit usuel

La propriété suivante mélange les aspects liés au produit matriciel usuel et au produit de Kronecker lorsque les tailles des matrices sont telles qu'il est possible de former les produits AC et BD :
    $(A\otimes B)(C\otimes D)=(AC)\otimes (BD)$
On peut en déduire que A ⊗ B est inversible si et seulement si A et B sont inversibles, auquel cas :
    $(A\otimes B)^{-1}=A^{-1}\otimes B^{-1}$

### Spectre

En utilisant la propriété précédente on déduit que si X et Y sont des vecteurs propres de A et B : $AX=\lambda \ X$ et $BY=\mu \ Y$, alors :
    $(A\otimes B)(X\otimes Y)=\lambda \mu (X\otimes Y)$
Donc si $\lambda _{1},...,\lambda _{n}$ et $\mu _{1},...,\mu _{m}$ sont les valeurs propres de A et B, alors $\lbrace \lambda _{i}\cdot \mu _{j},i=1...n,j=1...m\rbrace$ sont les valeurs propres de A ⊗ B, en comptant la multiplicité.
En particulier :
    $\operatorname {Tr} (A\otimes B)=\operatorname {Tr} (A)\operatorname {Tr} (B)$
    $\operatorname {det} (A\otimes B)=\operatorname {det} (A)^{m}\operatorname {det} (B)^{n}$
    $\operatorname {rg} (A\otimes B)=\operatorname {rg} (A)\operatorname {rg} (B)$
où Tr désigne la trace, det le déterminant et rg le rang de la matrice.

### Transposition

On a la propriété suivante sur la transposée :
    $^{t}\!(A\otimes B)=^{t}\!A\otimes^{t}\!B$

## Lien externe

(en) Eric W. Weisstein, « Kronecker Product », sur MathWorld