Théorème des facteurs invariants

Infos
En mathématiques, le théorème des facteurs invariants porte sur les modules de type fini sur les anneaux principaux. Les facteurs invariants sont des obstructions à l'inversibilité des matrices qui n'apparaissent pas dans la théorie des espaces vectoriels. Leur calcul a de nombreuses applications : par exemple trouver la classe d'isomorphie d'un groupe abélien de type fini à partir d'une présentation de celui-ci. Dans un cadre précis, le théorème des facteurs invaria
Théorème des facteurs invariants

En mathématiques, le théorème des facteurs invariants porte sur les modules de type fini sur les anneaux principaux. Les facteurs invariants sont des obstructions à l'inversibilité des matrices qui n'apparaissent pas dans la théorie des espaces vectoriels. Leur calcul a de nombreuses applications : par exemple trouver la classe d'isomorphie d'un groupe abélien de type fini à partir d'une présentation de celui-ci. Dans un cadre précis, le théorème des facteurs invariants se particularise en théorèmes de réduction d'endomorphisme. Il permet alors notamment de calculer les invariants de similitude d'un endomorphisme sur un espace vectoriel. L'approche présentée ici est effective dans le cadre d'un anneau euclidien. Le premier algorithme, dit d'échelonnement, est une généralisation du procédé d'élimination de Gauss-Jordan, de la décomposition LU : il permet de calculer des rangs et déterminants de matrices, et des noyaux et des images de morphismes de modules, ainsi que de résoudre des systèmes linéaires dans ce cadre. Le second algorithme, qui permet d'obtenir les applications annoncées est essentiellement un algorithme d'échelonnement simultané en lignes et en colonnes.

Rappel sur la décomposition LU

Une matrice A étant donnée, on souhaite la transformer en matrice triangulaire supérieure par opérations élémentaires sur les lignes (c'est-à-dire multiplication à gauche par des matrices de transvection, et des matrices de permutation). Par exemple, pour la matrice : :A=\begin 2 & 4 & 3\\ 1 & 5 & 0\\ 3 & 8 & 2\\ \end=\beginL_1\\L_2\\L_3\end. on multiplie à gauche successivement par les matrices : :T_1=\begin 1 & 0 & 0\\ -1/2 & 1 & 0\\ 0 & 0 & 1\\ \end, T_2=\begin 1 & 0 & 0\\ 0 & 1 & 0\\ -3/2 & 0 & 1\\ \end. La première multiplication matricielle revient à remplacer la deuxième ligne de la matrice A par L_2-\fracL_1 ; puis la seconde multiplication revient à remplacer la troisième ligne par L_3-\fracL_1. On obtient ainsi une égalité matricielle : :T_2T_1A=\begin&L_1&\\0&
-&
-\\0&
-&
-\\ \end. c'est-à-dire qu'on a annulé les coefficients sous-diagonaux de la première colonne de A, par multiplication par des matrices T_i de transvection, en se servant de la ligne L_1 comme pivot. En itérant le procédé, on peut annuler tous les coefficients sous-diagonaux de A, sous réserve toutefois de ne jamais tomber sur un pivot nul.

Échelonnement des matrices à coefficients dans un anneau euclidien

Quelle obstruction rencontre-t-on dans le cas d'une matrice à coefficients dans un anneau euclidien? La principale est que la non nullité d'un coefficient n'assure pas qu'on puisse s'en servir comme pivot pour des opérations de transvection : dans l'exemple précédent, on s'est servi de 2 comme pivot, et on a été amenés à faire des calculs avec son inverse ; ce faisant, on est sorti du cadre initial d'une matrice à coefficients entiers.

Échelonnement des matrices lignes et colonnes

Il existe un palliatif. Regardons pour une matrice de taille 2\times 1 à coefficients dans un anneau euclidien : :A=\begina\\b\\ \end Dans le cas où a et b sont non nuls, soit p un plus grand diviseur commun de a et b. On considère alors la matrice : :T=\begin\alpha&\beta\\-\frac&\frac\\ \end avec la relation det(T)=\alpha \frac+\beta \frac=1 (voir identité de Bezout). Le fait de se placer dans un anneau principal assure l'existence des coefficients \alpha et \beta, et le fait de se placer dans un anneau euclidien donne l'algorithme d'Euclide pour les calculer. On constate l'égalité : :TA=\beginp\\0\\ \end on s'est ainsi ramené à une matrice colonne avec un coefficient nul, par une opération sur les lignes de la matrice A ; on peut voir cette opération comme une généralisation de la transvection. Remarquons que la matrice de transvection généralisée T est inversible puisque de déterminant (égal à 1) inversible dans l'anneau considéré. Dans la cas où b est nul, on prend T=Id, dans le cas où a est nul, on prend T=\begin0&-1\\-1&0\\ \end. On voit en particulier que les matrices de transvection généralisées qu'on considère ne comprennent pas les matrices de permutation qui apparaissaient dans la décomposition LU ; c'est dû au choix restrictif de se limiter à des matrices de déterminant 1 ; leur absence est toutefois facilement palliée, comme on l'a vu ci-dessus. Pour traiter le cas d'une matrice colonne de taille quelconque, il suffit d'effectuer d'abord une opération entre la première et la deuxième ligne, pour annuler le deuxième coefficient, puis entre la première et la troisième pour annuler le troisième, etc. Ainsi, pour A=\begina_1\\a_2\\ \vdots\\a_n\\ \end, il existe T produit de matrices de transvection généralisées telle que TA=\beginp\\0\\ \vdots\\0\\ \end, où p est le pgcd des coefficients a_i. Le cas d'une matrice ligne s'en déduit par transposition.

Matrices de transvection généralisées, et opérations élémentaires

On s'intéresse maintenant à des matrices de taille n\times m, éventuellement rectangulaires, toujours à coefficients dans un anneau euclidien. Les matrices de transvection généralisées codant les opérations sur les lignes seront donc des matrices carrées de taille n, et celles codant les opérations sur les colonnes des matrices carrées de taille m. Pour faire une opération entre les rangées i et j, il faut donc considérer les matrices : :T_i, j, \alpha, \beta, \gamma, \delta=\begin 1&&& & & & &&&0\\ &\ddots&&& & & &&&\\ &&1& & & & &&&\\ &&&\alpha&\dots&\dots&\beta&&&\\ &&&\vdots&1&0&\vdots&&&\\ &&&\vdots&0&1&\vdots&&&\\ &&&\gamma&\dots&\dots&\delta&&&\\ &&& & & & &1&&\\ &&& & & & &&\ddots&\\ 0&&& & & & &&&1\\ \end avec \alpha\delta-\beta\gamma=1, où les coefficients \alpha, \beta apparaissent sur la ligne i, et \gamma, \delta sur la ligne j. On remarque la relation suivante : T_i, j, \alpha, \beta, \gamma, \delta^=T_i, j, \delta, -\beta, -\gamma, \alpha. Multiplier une matrice A, dont les lignes sont L_i, à gauche par une telle matrice, c'est remplacer la ième ligne L_i de A par \alpha L_i+\beta L_j, et la ième ligne par \gamma L_i+\delta L_j. Pour obtenir une opération sur les colonnes, il faut effectuer une multiplication à droite par une matrice de transvection généralisée. Dans le cas où \alpha=\delta=1, et où un des deux coefficients \beta ou \gamma est nul, on retrouve une matrice de transvection proprement dite ; dans le cas où \alpha=\delta=0, et \beta=-\gamma=+-1, on trouve une matrice qui va jouer le rôle de matrice de transposition ; convenons d'appeler anti-transposition l'opération correspondante.

Algorithme d'échelonnement pour les matrices de taille quelconque

Commençons à décrire l'algorithme. Pour une matrice : :A=\begin a_&\dots&a_\\ \vdots&&\vdots\\ a_&\dots&a_\end on commence par multiplier à gauche par des matrices de type T_, pour j allant de 2 à n ; on effectue ces opérations en considérant seulement leur effet sur le premier vecteur colonne de la matrice A. D'après ce qu'on a vu pour les opérations sur les lignes d'un vecteur colonne, on parvient ainsi à annuler tous les coefficients sous-diagonaux de la première colonne de A, et le premier coefficient de la nouvelle matrice est précisément un pgcd des coefficients de la première colonne de A : :T_1A=\beginp&
-&
-\\0&
-&
-\\0&
-&
-\\ \end On veut ensuite multiplier par des matrices de type T_, pour j>2, pour annuler tous les coefficients sous-diagonaux de la deuxième colonne ; de telles opérations ne font pas intervenir la première ligne ; tous les coefficients de la première colonne, autre que celui en position (1, 1), qui seront ainsi obtenus seront donc combinaison linéaire des coefficients nuls de la première colonne : ils seront nuls. Il faut ensuite multiplier par des matrices de type T_, pour annuler les coefficients sous-diagonaux de la troisième colonne, etc. On obtient en définitive une égalité avec une matrice de la forme : TA=\begin p_1&
-&&&&&
-\\ 0&\dots&0&p_2&
-&&
-\\ 0&&\dots&&0&p_3&
-\\ &&&\dots&&&\\ \end où les coefficients p_i sont non nuls. La matrice obtenue est dite sous forme échelonnée en lignes, voir matrice échelonnée. L'échelonnement en colonnes s'en déduit par transposition.

Théorème d'échelonnement

Soit \mathcal un anneau principal, et A une matrice de M_(\mathcal). Alors, il existe une matrice T\in Sl(\mathcal) (c'est-à-dire inversible et de déterminant 1), produit de matrices de transvection généralisées, telle que la matrice TA\in M_(\mathcal) soit sous forme échelonnée en lignes. Si, de plus, l'anneau \mathcal est euclidien, on dispose d'un algorithme pour calculer la matrice T, dont la complexité est polynômiale en la taille de la matrice A et la taille de ses coefficients.

Conséquences

L'algorithme d'échelonnement est suffisant pour bon nombre de calculs : le rang de la matrice A est égal au nombre de lignes non nulles de sa forme échelonnée ; le déterminant, dans le cas d'une matrice carrée de rang maximal, sera le produit des coefficients p_i de la matrice échelonnée. On peut aussi en déduire des équations et paramétrisations des noyaux et images des matrices, vues comme applications linéaires ; par exemple, pour A\in M_(\mathcal), vue comme application linéaire de \mathcal^m dans \mathcal^n, et T\in Sl_m(\mathcal) telle que AT soit échelonnée en colonnes, les éléments du noyau de AT sont de la forme \begin0\\\vdots\\0\\ a_ \\ \vdots \\ a_m \end, où les r premières lignes sont nulles, pour r le rang de A, et donc le nombre de colonnes non nulles de AT ; et donc les éléments du noyau de A sont engendrés par les m-r derniers vecteurs colonnes de T^.

Théorème des facteurs invariants

Pour obtenir les conséquences théoriques annoncées, il faut aller plus loin ; on veut essentiellement obtenir une matrice qui soit à la fois échelonnée en lignes et en colonnes. Le théorème s'énonce ainsi :

Théorème

Soit \mathcal un anneau euclidien, et A\in M_(\mathcal). Alors, il existe des matrices T\in Sl_n(\mathcal) et U\in Sl_m(\mathcal), produits de matrices de transvection généralisées, telles que TAU soit échelonnée en lignes et en colonnes ; c'est-à-dire de la forme : :\beginp_1&0&&\\0&\ddots&&\\&&p_r&\\&&&0\\ \end avec de plus la relation de divisibilité p_1\mid p_2\mid\dots\mid p_r Les coefficients p_i forment un système de facteurs invariants pour la matrice A. Les facteurs invariants sont définis de façon unique, à multiplication par inversibles près. La suite des facteurs invariants caractérise les matrices à équivalence près.

Corollaire et remarque

Notons le résultat suivant, corollaire de l'existence d'une mise sous forme diagonale :
Les matrices de Sl_n(\mathcal) peuvent s'écrire comme produit d'un nombre fini de matrices de transvection généralisées. boîte déroulante|align=left|titre=Démonstration|contenu= En effet, pour A\in Sl_n(\mathcal), il existe d'après le théorème U_1 et U_2 produit de matrices de transvection généralisées telles que : :U_1AU_2=\begin\epsilon_1&&\\&\ddots&\\&&\epsilon_n\end Le déterminant de TAU est 1, et donc le produit des \epsilon_i. On multiplie chaque membre à gauche par le produit de matrices de transvection généralisées T_n-1, n, \epsilon_n, 0, 0, \epsilon_1\dots\epsilon_\dots T_2, 3, \epsilon_3\dots\epsilon_n, 0, 0, \epsilon_1\epsilon_2T_1, 2, \epsilon_2\dots\epsilon_n, 0, 0, \epsilon_1 et on obtient la matrice identité au membre de droite. C'est-à-dire A=U_1^T^U_2^, ce qui est bien une écriture de A comme produit de matrices de transvection généralisées. L'algorithme concerne donc les classes d'équivalence pour la relation A\sim_1 B si et seulement s'il existe U, T\in Sl(\mathcal) telles que A=TBU. Les facteurs invariants, définis à inversibles de \mathcal près, caractérisent en fait les classes pour la relation d'équivalence moins précise A\sim_2 B si et seulement s'il existe U, T\in Gl(\mathcal) telles que A=TBU. Pour trouver les invariants pour la relation \sim_1, il ne faut plus s'autoriser toutes les multiplications des facteurs invariants par des inversibles. On rappelle que dans le cas d'un espace vectoriel, les classes d'équivalence de matrice étaient caractérisées par le rang. La situation est ici plus compliquée. Le rang apparaît notamment (comme le nombre de facteurs invariants), mais il ne suffit pas pour classifier ; en particulier, une matrice carrée de rang maximal peut ne pas être inversible : il suffit qu'un de ses facteurs invariants ne soit pas inversible.

Algorithme

Il ne suffit pas d'effectuer d'abord un échelonnement en lignes puis un échelonnement en colonnes. On peut procéder comme suit ; on va utiliser le stathme sur l'anneau \mathcal :
-On se ramène d'abord (si c'est possible! c'est-à-dire si A est non nulle) au cas où le coefficient en position (1, 1) est non nul, et ce par permutations sur les lignes et les colonnes.
-On multiplie à gauche par des matrices de transvection (non généralisées), de façon à remplacer chaque coefficient a_, j\geq 2 par son reste par la division euclidienne par a_.
-On multiplie à droite par des matrices de transvection (non généralisées), de façon à remplacer chaque coefficient a_ par son reste par la division euclidienne par a_.
-Si jamais il y a un (et s'il y en a plusieurs, il est bon de choisir celui de stathme minimal, pour améliorer la vitesse de l'algorithme) coefficient non nul sur la première ligne ou la première colonne ailleurs qu'en position (1, 1), il est de stathme inférieur à celui du coefficient en position (1, 1), d'après les deux étapes précédentes. On effectue une (anti)-transposition sur les lignes ou sur les colonnes suivant le cas pour le mettre en position (1, 1). On itère ces trois dernières étapes. A chaque passage, le stathme du coefficient a_ diminue ; et le seul cas de stagnation est celui où tous les restes obtenus sont nuls : c'est-à-dire qu'on obtient une matrice dont la première ligne et la première colonne sont nulles, excepté le coefficient (1, 1). Puisque notre stathme est à valeurs dans les entiers naturels, on finit par tomber sur ce cas. On a donc écrit T_1AU_1=\begina_&0\\0&A_1\\ \end ; par récurrence sur les dimensions des matrices considérées, on obtient l'écriture souhaitée. Il reste à voir qu'on peut avoir la relation de divisibilité annoncée. Il suffit pour cela de faire la constatation suivante. A partir de la matrice \beginp_1&0\\0&p_2\\ \end, on fait les opérations :
-Muliplier à droite par la matrice de transvection \begin1&0\\1&1\\ \end on obtient \beginp_1&0\\p_2&p_2\\ \end
-Multiplier à gauche par la matrice de transvection généralisée \begin\alpha&\beta\\-\frac&\frac\\ \end, où p_1\alpha+p_2\beta=p=pgcd(p_1, p_2) pour obtenir :\beginp&\beta p_2\\0&\frac\\ \end.
-Multiplier à droite par la matrice de transvection \begin1&-\beta\frac\\0&1\\ \end(\beta\frac\in\mathcal car p\mid p_2), et on obtient : \beginp&0\\0&\frac\\ \end, et p\mid\frac. Ainsi, par multiplication à droite et à gauche par des transvections généralisées, on peut remplacer une matrice diagonale par une matrice diagonale avec relations de divisibilité. Dans le cas général de notre matrice doublement échelonnée, on se ramène successivement à p_1\mid p_2, puis p_1\mid p_3, en conservant la relation précédente, jusqu'à avoir p_1\mid p_i pour tout i ; puis on s'occupe de p_2, etc.

\mathcal-modules de type fini

Soit \mathcal un anneau euclidien, et M un \mathcal-module de type fini ; alors, il existe un unique ensemble \left\(r, t), d_1, \dots, d_t\right\ tel que r\in\mathbb soit le rang de la partie libre du module M, t soit le cardinal d'un système minimal de générateurs de la partie de torsion, et d_1\mid d_2\mid\dots\mid d_t soient des éléments de \mathcal définis à inversibles près, et tel que : :M\simeq \mathcal^r\oplus\mathcal/d_1\mathcal\oplus\dots\oplus\mathcal/d_t\mathcal boîte déroulante|align=left|titre=Démonstration|contenu= Pour déduire ce théorème des facteurs invariants sur les modules de celui sur les matrices, choisissons un système générateur fini du module M à n éléments ; il existe alors une surjection de \mathcal^n dans M ; le noyau N de cette surjection est un sous-\mathcal-module de \mathcal^n tel que M\simeq\mathcal^n/N ; la noethérianité de l'anneau \mathcal assure que ce noyau est à nouveau de type fini. Il admet un système de m générateurs ; et le module \mathcal^m se surjecte donc dessus. On obtient ainsi par composition un morphisme entre \mathcal^m et \mathcal^n. Soit A la matrice de ce morphisme, dans la base canonique ; on trouve donc M\simeq\mathcal^n/A\mathcal^m. Il suffit alors d'écrire A=TEU pour des matrices T, U inversibles, et une matrice E doublement échelonnée ; on obtient A\mathcal^m\simeq E\mathcal^m et donc M\simeq\mathcal^n/E\mathcal^m\simeq\mathcal^r\oplus\mathcal/d_\mathcal\oplus\dots\oplus\mathcal/d_\mathcal, pour E=\begind_1&&&&&&0\\&\ddots&&&&&\\&&d_r&&&&\\&&&d_&&&\\&&&&\ddots&&\\&&&&&d_&\\0&&&&&& \end avec d_1, \dots, d_r inversibles. Ce théorème s'applique en particulier aux \mathbb-modules de type fini, c'est-à-dire aux groupes abéliens de type fini. On dispose d'une part d'un théorème de classification, et d'autre part d'un algorithme pour calculer la classe d'un groupe dont on connaît un système de générateurs ainsi qu'une famille de relations entre ces générateurs, qui engendre l'ensemble des relations.

Application aux invariants de similitude

Soit \mathbb un corps commutatif, E, un \mathbb-espace vectoriel de dimension finie, et u\in\mathcal(E) un endomorphisme de E. Cette donnée de u est en fait équivalente à la donnée d'une structure de \mathbb-module sur E : si P est un polynôme de \mathbb, et x un élément de E, alors P agit sur x par : :P.x=P(u)(x) L'anneau \mathbb étant euclidien, le théorème des facteurs invariants assure l'existence d'un isomorphisme de \mathbb-modules : :E\simeq \mathbb/(P_1)\oplus\dots\oplus\mathbb/(P_t) avec P_1\mid\dots\mid P_t. On remarque qu'il ne peut y avoir de partie \mathbb-libre, puisque l'espace E est de \mathbb-dimension finie. Notons pour chaque i : d_i=deg(P_i). Soit (x_1, \dots, x_t) la \mathbb-base de E déduite par l'isomorphisme précédent de la \mathbb-base canonique du module de droite : x_i correspond à (0, \dots, 1, \dots, 0), où le coefficient 1 apparaît sur la ième composante. Alors, la famille : :(x_1, u(x_1), \dots, u^(x_1), x_2, \dots, u^(x_2), \dots, x_t, \dots, u^(x_t)) constitue une \mathbb-base de E. La matrice de l'endomorphisme u dans cette base est : :\begin\mathcal_&&\\&\ddots&\\&&\mathcal_\\\end où chaque \mathcal_ est la matrice compagnon du polynôme P_i. La particularisation du théorème des facteurs invariants dans ce cadre est parfois appelé théorème de Frobenius. Cette décomposition permet de trouver des polynômes annulateurs de l'endomorphisme u ; en effet, pour tout i, P_i(u)(x_i)=0 ; et donc, par la relation de divisibilité : P_t(u)=0. Par ailleurs, la famille (x_t, \dots, u^(x_t)) étant \mathbb-libre, aucun polynôme de degré inférieur à d_t ne peut annuler u. Ainsi, le polynôme P_t est le polynôme minimal de u ; et le polynôme P_1\dots P_t est son polynôme caractéristique.

Théorème

La suite P_1, \dots, P_t (avec relations de divisibilité, polynômes choisis unitaires) caractérise la classe de similitude d'un endomorphisme (ou d'une matrice). On l'appelle suite des invariants de similitude de l'endomorphisme (ou d'une matrice).''

Calcul des invariants de similitude

En pratique, la suite des invariants de similitude d'une matrice A\in M_n(\mathbb) se calcule en remarquant qu'elle se déduit de la suite des facteurs invariants de la matrice A-X.Id\in M_n(\mathbb), en enlevant de celle-ci les facteurs invariants inversibles (c'est-à-dire les polynômes constants). boîte déroulante |align=left|titre=Démonstration |contenu = En effet, la matrice A étant semblable, dans M_n(\mathbb), à la matrice C=\begin\mathcal_&&\\&\ddots&\\&&\mathcal_\\\end, où les P_1, \dots, P_t sont les invariants de similitude de A, les matrices A-X.Id et C-X.Id sont a fortiori semblables dans M_n(\mathbb), et a fortiori équivalentes dans cet espace. Par opérations élémentaires, on vérifie que chaque bloc diagonal \mathcal_-X.Id de C-X.Id est équivalent dans M_(\mathbb) à la matrice diagonale \beginP_i&&&\\&1&&\\&&\ddots&\\&&&1\\\end ; ainsi C-X.Id et donc A-X.Id ont pour facteurs invariants non inversibles dans \mathcal P_1, \dots, P_t.

Réduction de Jordan

Références

-
-
- catégorie:matrice catégorie:Théorie des anneaux Facteur en:invariant factor
Sujets connexes
Algorithme d'Euclide   Anneau euclidien   Anneau noethérien   Anneau principal   Calculabilité   Corps (mathématiques)   Décomposition LU   Déterminant (mathématiques)   Espace vectoriel   Groupe abélien de type fini   Invariants de similitude   Isomorphisme   Mathématiques   Matrice compagnon   Matrice échelonnée   Module sur un anneau   Morphisme   Noyau (algèbre)   Permutation   Plus grand commun diviseur   Polynôme caractéristique   Polynôme minimal   Rang (mathématiques)   Réduction d'endomorphisme   Système d'équations linéaires   Transvection  
#
Accident de Beaune   Amélie Mauresmo   Anisocytose   C3H6O   CA Paris   Carole Richert   Catherinettes   Chaleur massique   Championnat de Tunisie de football D2   Classement mondial des entreprises leader par secteur   Col du Bonhomme (Vosges)   De viris illustribus (Lhomond)   Dolcett   EGP  
^