Les questions [P] utilisent Python. Pour {A=(a_{i,j})\in M_n(\mathbb C)} et {B\in M_p(\mathbb C)} , le produit de Kronecker {A\otimes B\in M_{np}(\mathbb C)} est défini par blocs : son bloc {(i,j)} est {a_{i,j}B} .
1. [P] Soit {A=\begin{pmatrix}4&2\\[4pt]1&3\end{pmatrix}} . Écrire Acroix(B) renvoyant {A\otimes B} . Former {C_1=A\otimes B_1} et {C_2=A\otimes B_2} , où
{B_1=\begin{pmatrix}1&2\\[4pt]2&1\end{pmatrix},\quad B_2=\begin{pmatrix}1&1&1\\[4pt]0&1&1\\[4pt]0&0&1\end{pmatrix}} Les matrices {C_1,C_2} sont-elles diagonalisables ?
Cliquer ici pour voir (ou cacher) la réponse
Pour voir la suite de ce contenu, vous devez :
Pour poursuivre votre exploration, vous pouvez :
2. Montrer que {(A,B)\mapsto A\otimes B} est bilinéaire.
Cliquer ici pour voir (ou cacher) la réponse
Pour voir la suite de ce contenu, vous devez :
Pour poursuivre votre exploration, vous pouvez :
Pour les questions 3 et 4, on pourra illustrer les résultats avec les exemples Python de la question 1.
3. Calculer {\operatorname{tr}(A\otimes B)} .
Cliquer ici pour voir (ou cacher) la réponse
Pour voir la suite de ce contenu, vous devez :
Pour poursuivre votre exploration, vous pouvez :
4. (a) Pour {A,A'\in M_n(\mathbb C)} et {B,B'\in M_p(\mathbb C)} , montrer que {(A\otimes B)(A'\otimes B')=AA'\otimes BB'} .
Cliquer ici pour voir (ou cacher) la réponse
Pour voir la suite de ce contenu, vous devez :
Pour poursuivre votre exploration, vous pouvez :
4. (b) Qu’en déduire si {A} et {B} sont inversibles ?
Cliquer ici pour voir (ou cacher) la réponse
Pour voir la suite de ce contenu, vous devez :
Pour poursuivre votre exploration, vous pouvez :
4. (c) Que dire de {A\otimes B} et {A'\otimes B'} si {A,A'} sont semblables et {B,B'} sont semblables ?
Cliquer ici pour voir (ou cacher) la réponse
Pour voir la suite de ce contenu, vous devez :
Pour poursuivre votre exploration, vous pouvez :
4. (d) Exprimer le rang de {A\otimes B} .
Cliquer ici pour voir (ou cacher) la réponse
Pour voir la suite de ce contenu, vous devez :
Pour poursuivre votre exploration, vous pouvez :
5. Si {A} et {B} sont diagonalisables, montrer que {A\otimes B} l’est.
Cliquer ici pour voir (ou cacher) la réponse
Pour voir la suite de ce contenu, vous devez :
Pour poursuivre votre exploration, vous pouvez :
Réciproquement, on suppose {A,B} non nulles et {A\otimes B} diagonalisable sur {\mathbb C} .
6. (a) Montrer que {B} n’est pas nilpotente.
Cliquer ici pour voir (ou cacher) la réponse
Pour voir la suite de ce contenu, vous devez :
Pour poursuivre votre exploration, vous pouvez :
6. (b) Si {A} est triangulaire, montrer que {B} est diagonalisable.
Cliquer ici pour voir (ou cacher) la réponse
Pour voir la suite de ce contenu, vous devez :
Pour poursuivre votre exploration, vous pouvez :
6. (c) On admet que {A\otimes B} et {B\otimes A} sont semblables. Démontrer le résultat général.
Cliquer ici pour voir (ou cacher) la réponse
Pour voir la suite de ce contenu, vous devez :
Pour poursuivre votre exploration, vous pouvez :
6. (d) Le résultat est-il vrai pour la diagonalisabilité sur {\mathbb R} ?
Cliquer ici pour voir (ou cacher) la réponse
Pour voir la suite de ce contenu, vous devez :
Pour poursuivre votre exploration, vous pouvez :
Compléments du corrigé
7. Calculer {\det(A\otimes B)} .
Cliquer ici pour voir (ou cacher) la réponse
Pour voir la suite de ce contenu, vous devez :
Pour poursuivre votre exploration, vous pouvez :
Une fonction générale, valable aussi pour des matrices rectangulaires, est :
def kron ( A , B ) :
n , p = A . shape
return np . block ( [ [ A [ i , j ] * B for j in range ( p ) ] for i in range ( n ) ] )
Indications Python
np.array forme une matrice et np.block assemble des blocs. np.linalg.eig renvoie les valeurs propres et des vecteurs propres en colonnes ; np.linalg.matrix_rank calcule un rang numérique. np.trace, np.linalg.det et np.linalg.inv donnent trace, déterminant et inverse.