En mathématiques, le théorème des facteurs invariants porte sur les modules de type fini sur les anneaux principaux. Les facteurs invariants non inversibles 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. Il joue un rôle essentiel dans la résolution de systèmes d'équations différentielles linéaires à coefficients constants. et dans la théorie des systèmes linéaires dynamiques, .. Le résultat du théorème des facteurs invariants est aussi connu sous le nom de forme normale de Smith. Dans le cas non commutatif (voir l'article anneau principal non commutatif) elle s'appelle la forme normale de Jacobson-Teichmüller, Sect. 8.1..
Historique
La forme de Smith et les éléments de sa diagonale, à savoir les facteurs invariants, ont tout d'abord fait leur apparition en théorie des nombres, pour des matrices à coefficients entiers. Vers le milieu du dix-neuvième siècle, Hermite est conduit à utiliser une forme réduite d'une substitution linéaire à coefficients entiers.. Heger parvient à expliciter la forme de Smith en 1858 dans le but de donner la condition qui rend possible de résoudre un système d'équations diophantiennes linéaires dont le rang est égal au nombre d'équations, Chap. VII, p. 71-72 ; .. Enfin, Smith définit en 1861 les facteurs invariants d'une matrice quelconque à coefficients entiers et obtient la forme normale qui porte aujourd'hui son nom.
D'autre part, Gauss, également motivé par des problèmes de théorie des nombres et étudiant pour cela les groupes abéliens de type fini (dont il avait introduit la notion), s'était aperçu que ces groupes n'étaient pas toujours cycliques ; il avait été conduit (sans toutefois établir la structure générale de ces groupes) à établir l'existence d'un élément du groupe dont l'ordre est le ppcm des ordres des éléments du groupe, c'est-à-dire son plus grand facteur invariant, Disquisitiones arithmeticae, vol. 1.. Cette structure générale des groupes abéliens de type fini est établie en 1846 par Dirichlet dans son mémoire sur les unités d'un corps de nombres algébriques.
En 1879, enfin, le lien entre la théorie des groupes abéliens de type fini et le théorème de Smith est reconnu par Frobenius et Stickelberger.. La théorie de la similitude des matrices se construit entre-temps et en 1868, Weierstrass obtient des formes canoniques pour un faisceau non singulier. de matrices carrées U + λV, ce qui le conduit à définir les diviseurs élémentaires d'une matrice carrée à coefficients complexes et à prouver qu'ils caractérisent celle-ci à une similitude près.. Ces résultats ont également été obtenus (probablement de manière indépendante) par Jordan, p. 114-125..
Les notions générales d'anneau, d'idéal et de module ayant déjà fait leur chemin, grâce notamment à Dedekind (en théorie des nombres) et à Kronecker (sur un anneau de polynômes), Frobenius montre en 1879 qu'on peut déduire le théorème de Weierstrass de la théorie de Smith grâce à un simple dictionnaire qui permet de passer des entiers aux polynômes.. L'obtention d'une forme de Smith pour un anneau euclidien va ensuite de soi, par utilisation d’opérations élémentaires sur les lignes et les colonnesDécrivons rapidement les opérations élémentaires sur les lignes, pour fixer les idées. Soit une matrice sur un anneau R et les lignes de . Les trois types d'opérations élémentaires sur les lignes peuvent se ramener à seulement deux types : (i) remplacer par (transvection) et (ii) multiplier par une unité de R. L'anneau R étant euclidien, ces deux opérations (resp. les opérations de type (i)) engendrent (à partir de la matrice identité ) le groupe général linéaire GL(R) (resp. le groupe spécial linéaire SL(R)) .. Cohn a cependant montré en 1966 qu'il existe des anneaux principaux (par exemple l'anneau des entiers de ℚ()) sur lesquels le groupe général linéaire GL(R) ne peut pas être engendré à partir de par des opérations élémentaires dès que n ≥ 2. Pour engendrer GL(R) ou SL(R) à partir de , il est alors nécessaire et suffisant de faire appel à des opérations secondaires. Une opération secondaire sur les lignes , de consiste à multiplier à gauche la sous-matrice constituée de ces deux lignes par une matrice appartenant au groupe général linéaire GL(R). Kaplansky a montré en 1949 qu'il existe une classe d'anneaux bézoutiens mais non nécessairement noethériens sur lesquels on peut mettre toute matrice sous forme normale (qu'on peut encore appeler forme de Smith dans le cas des anneaux intègres et commutatifs envisagé dans cet article) grâce à des opérations élémentaires et secondaires. Il a appelé les anneaux de ce type des anneaux à diviseurs élémentaires (voir infra). Cette appellation est du reste curieuse, car s'il est vrai que sur la forme de Smith on lit (sur la diagonale principale) les facteurs invariants, pour obtenir les diviseurs élémentaires il faut encore décomposer ces facteurs invariants en produit d'éléments extrémaux. Or, un anneau bézoutien factoriel est principal , par conséquent la possibilité d'obtenir des diviseurs élémentaires sur un anneau à diviseurs élémentaires qui n'est pas principal n'est pas sans poser question. Le travail de Kaplansky a été complété par Larsen, Lewis et Shores qui ont explicité en 1974 la structure d'un module de présentation finie sur un anneau à diviseurs élémentaires (voir infra). Il ne semble pas qu'on connaisse aujourd'hui d'exemple d'anneau bézoutien (commutatif et intègre) qui ne soit pas un anneau à diviseurs élémentaires..
Cadre de l'article
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.
Une autre approche classique consiste à passer par la décomposition de Frobenius. (ce n'est pas une autre approche, mais une application)
Rappel sur la décomposition LU
Une matrice é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 :
on multiplie à gauche successivement par les matrices :
La première multiplication matricielle revient à remplacer la deuxième ligne de la matrice par ; puis la seconde multiplication revient à remplacer la troisième ligne par . On obtient ainsi une égalité matricielle :
c'est-à-dire qu'on a annulé les coefficients sous-diagonaux de la première colonne de , par multiplication par des matrices de transvection, en se servant de la ligne comme pivot. En itérant le procédé, on peut annuler tous les coefficients sous-diagonaux de , 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é à 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×1 à coefficients dans un anneau euclidien :
Dans le cas où et sont non nuls, soit un plus grand diviseur commun de et . On considère alors la matrice :
avec la relation . Le fait de se placer dans un anneau principal assure l'existence des coefficients et (voir théorème de Bachet-Bézout), et le fait de se placer dans un anneau euclidien donne l'algorithme d'Euclide pour les calculer. On constate l'égalité :
on s'est ainsi ramené à une matrice colonne avec un coefficient nul, par une opération sur les lignes de la matrice ; on peut voir cette opération comme une généralisation de la transvection. Remarquons que la matrice de transvection généralisée est inversible puisque de déterminant (égal à 1) inversible dans l'anneau considéré. Dans le cas où est nul, on prend , dans le cas où est nul, on prend . 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 , il existe produit de matrices de transvection généralisées telle que , où est le pgcd des coefficients .
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 , é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 , et celles codant les opérations sur les colonnes des matrices carrées de taille . Pour faire une opération entre les rangées et , il faut donc considérer les matrices :
avec , où les coefficients apparaissent sur la ligne , et sur la ligne . On remarque la relation suivante : .
Multiplier une matrice , dont les lignes sont , à gauche par une telle matrice, c'est remplacer la -ième ligne de par , et la -ième ligne par . 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ù et où un des deux coefficients ou est nul, on retrouve une matrice de transvection proprement dite ; dans le cas où et , 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 :
on commence par multiplier à gauche par des matrices de type , pour allant de 2 à ; on effectue ces opérations en considérant seulement leur effet sur le premier vecteur colonne de la matrice . 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 , et le premier coefficient de la nouvelle matrice est précisément un pgcd des coefficients de la première colonne de :