Structures algébriques fondamentales

Introduction

Des éléments aux flèches

Le cours d’algèbre des deux premières années d’études en mathématique s’inspire des opérations utilisées en arithmétique, en géométrie et en analyse pour extraire des cadres abstraits pertinents tels que la notion de groupe, d’anneau ou d’espace vectoriel. Dans ce processus, un point crucial est d’oublier la structure interne des éléments des ensembles étudiés. Par exemple la notion d’espace vectoriel s’applique aussi bien aux points de la géométrie euclidienne d’un plan muni d’un repère et aux fonctions de \(ℝ\) dans \(ℝ\) car on peut oublier la complexité individuelle de chaque fonction lorsqu’on manipule abstraitement des sommes de fonctions, des sous-espaces vectoriels de fonctions etc.

Bien sûr ce processus n’interdit pas de retourner à la structure interne des éléments lors de l’étude d’exemples. Le niveau abstrait est une possibilité supplémentaire. Il permet d’abord de diminuer le nombre d’énoncés à démontrer, car les théorèmes abstraits s’appliquent à tous les exemples concrets. Il permet aussi de penser plus efficacement, en étant délivré des détails concrets qui ne font qu’obscurcir la situation, ne serait-ce qu’au niveau des notations. Un autre élément important de cette étude est la notion d’application compatible avec une structure algébrique, par exemple la notion de morphisme de groupe ou d’application linéaire.

Un des buts de ce cours est d’aller plus loin dans cette direction consistant à se détacher des éléments individuels formant un groupe ou un espace vectoriel par exemple, pour se focaliser sur les sous-objets (sous-groupe, sous-espaces) et surtout sur les applications entre ces objets (morphismes de groupes, applications linéaires). L’aspect le plus visible de cette orientation est l’omniprésence des diagrammes d’applications dans les pages qui suivent. Le diagramme suivant est extrait de l’énoncé du corollaire  3.4.6.

\begin{tikzcd} 
  H \rar["φ"] \dar[swap, "π_H"]        & G  \dar["π_G", swap] \rar["f"] & G' \rar["ψ"] & H' \\
  \Ab{H} \rar["\Ab{φ}"] \ar[rrru, bend right=40, swap, "\overline{ψ ∘ f ∘ φ}"] &  \Ab{G} \ar[ur, swap, "\bar f"] &  &
\end{tikzcd}

Chaque sommet de ce graphe est un groupe et chaque flèche représente un morphisme de groupes. Les éléments de ces groupes ne jouent aucun rôle, toute la discussion tourne autour des morphismes. Là encore, ce mode de pensée est une possibilité qui s’ajoute à l’existant sans interdire quoi que ce soit. La suite naturelle de ce développement est la théorie des catégories, qui n’est pas du tout abordée dans ce cours mais nécessite d’avoir déjà entraîné son esprit à penser ainsi.

Constructions libres et quotients

Les paragraphes précédents se concentraient sur la première partie du sous-titre du cours : les définitions. Le second point est celui des constructions. Loin de se limiter aux exemples ayant inspirés les définitions, l’algèbre introduit de très nombreuses constructions d’ensembles munis de structures algébriques à partir d’autres ensembles munis (ou pas) d’autres structure algébriques. Un premier principe de construction est le passage aux sous-objets (sous-groupes, sous-espaces vectoriels etc.), particulièrement les sous-objets engendrés par une partie. Mais cela ne créé pas vraiment de nouveauté. Il y a deux grands principes de construction véritable, qui travaillent dans des directions opposées : les objets libres et les quotients. Dans les deux cas, la construction s’accompagne d’une porte d’entrée et d’une porte de sortie. La porte d’entrée explique comment fabriquer des éléments de l’objet algébrique construit. En général il n’y a pas tellement de mystère, il s’agit d’utiliser les ingrédients fournis et les opérations algébriques promises par la nouvelle structure. Le point clef est la porte de sortie, appelée propriété universelle, qui explique comment construire des applications qui partent de l’objet construit.

Les objets libres généralisent l’idée de base d’un espace vectoriel. De ce point de vue, les deux caractéristiques principales d’une base \(e\) d’un \(𝕂\)-espace vectoriel \(E\) sont : les éléments \(eᵢ\) de la base et leurs combinaisons linéaires sont dans \(E\) (c’est la porte d’entrée) et, pour tout \(𝕂\)-espace vectoriel \(F\) et toute famille de vecteurs \(vᵢ\) de \(F\), il existe une unique application linéaire de \(E\) dans \(F\) qui envoie chaque \(eᵢ\) sur le \(vᵢ\) correspondant (c’est la propriété universelle). Dans ce cours, cette idée est adaptée à toutes les structures algébriques étudiées mais en ne supposant pas que l’objet ambiant \(E\) est déjà construit. Partant de la collection d’éléments destiné à servir de base, on créé un objet libre accueillant ces éléments et une propriété universelle.

L’exemple le plus familier d’une construction d’objet libre est l’algèbre \(𝕂[X]\) des polynômes à coefficients dans un corps \(𝕂\). On veut construire une \(𝕂\)-algèbre commutative (c’est à dire un ensemble muni d’une structure de \(𝕂\)-espace vectoriel et d’une structure d’anneau commutatif qui cohabitent en bonne entente) qui contient un élément distingué \(X\) et tout ce qu’il faut pour faire une algèbre commutative sans rien imposer d’autre que la présence de \(X\) et les axiomes d’algèbre commutative. En particulier \(𝕂[X]\) doit contenir en plus de \(X\) des éléments \(0\) et \(1\) comme tout anneau, et les résultats de toutes les opérations d’addition, de multiplication et de multiplication par un scalaire, comme par exemple \(X + 1\) ou \((X + 1)X\), mais on n’impose pas d’idée préconçue sur la construction de \(0\), \(1\) ou des opérations. La précision « sans rien imposer d’autre » est vague. Sa version précise est exactement la propriété universelle de la construction : pour toute \(𝕂\)-algèbre \(B\) et tout élément \(b₀\) de \(B\), il existe un unique morphisme de \(𝕂\)-algèbre de \(𝕂[X]\) dans \(B\) qui envoie \(X\) sur \(b₀\). Si on avait imposé plus que la présence de \(X\) et les axiomes, il faudrait mettre des restrictions sur l’élément \(b₀\) sur lequel on désire envoyer \(X\). La propriété universelle joue aussi son rôle général d’expliquer comment sortir de \(𝕂[X]\). Par exemple si \(B = \operatorname{End}(E)\), l’algèbre des endomorphismes d’un \(𝕂\)-espace vectoriel \(E\) alors la propriété universelle de \(𝕂[X]\) construit, pour chaque endomorphisme \(u\), l’application qui envoie un polynôme \(P\) sur l’endomorphisme \(P(u)\). Remarquons enfin qu’en général on ne peut pas tricher en construisant l’algèbre \(𝕂[X]\) comme sous-algèbre de l’algèbre des fonctions de \(𝕂\) dans \(𝕂\). Par exemple pour \(𝕂 = ℤ/2ℤ\), le polynôme \(X² + X\) est non nul mais la fonction polynomiale correspondante est identiquement nulle puisqu’elle s’annule sur les deux seuls éléments de \(𝕂\).

La deuxième grande idée de construction est celle de quotient. Alors que les objets libres sont plus gros que les ingrédients qu’ils ont ingérés, les quotients sont des objets plus petits obtenus en collant entre eux certains éléments des ingrédients. L’exemple le plus connu, qui donne son nom à la procédure, est celui des nombres rationnels. L’ensemble \(ℚ\) est obtenu à partir de l’ensemble \(ℤ × ℕ^*\) des fractions en collant \((p, q)\) et \((p', q')\) lorsque \(pq' = p'q\). Dans le monde des ensembles sans structure algébrique, la construction d’un quotient ne nécessite que deux ingrédients : un ensemble \(X\) et une relation d’équivalence sur \(X\). Le résultat est un ensemble \(Y\) muni d’une application \(π \! :X → Y\). La porte d’entrée est simple : tous les éléments de \(Y\) proviennent de \(X\), c’est à dire que \(π\) est surjective. La propriété universelle explique comment sortir de \(Y\) à partir d’une fonction \(f\) définie sur \(X\) vérifiant une condition de compatibilité avec la relation d’équivalence : \(∀ x\, x',\, x ∼ x' ⇒ f(x) = f(x')\). En particulier si \(X\) est muni d’opérations algébriques on peut espérer construire ainsi des opérations algébriques sur \(Y\). C’est par exemple ce que l’on fait pour construire une structure de corps sur \(ℚ\) ou une structure d’anneau sur \(ℤ/nℤ\). Chaque structure algébrique possède ses propres contraintes pour construire des quotients héritant d’une structure algébrique.

La combinaison des deux idées de construction, objets libres et quotients, est universelle : tout objet est quotient d’un objet libre. Cette observation est réconfortante mais assez tautologique. La démonstration consiste à partir d’un objet \(E\), considérer l’immense objet librement engendré par l’ensemble de tous les éléments de \(E\), oubliant ainsi toutes les relations entre ces éléments, puis quotienter pour recoller tous les éléments qui doivent l’être et retrouver ainsi \(E\). Le cas intéressant est donc bien de partir d’un objet peu structuré, construire un objet libre plus structuré mais sans relation intéressante et enfin quotienter pour obtenir un objet structuré intéressant.

Prenons un exemple familier en analyse. Partant du corps \(ℝ\) des nombres réels, on veut créer un corps contenant \(ℝ\) et un élément \(i\) vérifiant \(i² = -1\). En particulier ce corps doit être une \(ℝ\)-algèbre. On part d’un ensemble à un élément noté \(X\) et on construit la \(ℝ\)-algèbre librement engendré par \(X\). Comme expliqué ci-dessus, il s’agit tout simplement de \(ℝ[X]\). Dans cette \(ℝ\)-algèbre, \(X\) ne vérifie aucune relation hormis celles imposées par la définition d’un anneau. Ensuite on quotiente pour imposer la relation \(X² = -1\). On note \(ℂ\) le quotient obtenu et \(i\) l’image de \(X\) dans le quotient.

Prenons maintenant un exemple en topologie et théorie des groupes. Soit \(n\) un entier strictement positif. On appelle tresse à \(n\) brins un diagramme de la forme suivante (ici \(n = 3\))

\begin{tikzpicture} 
\pic[rotate=90, braid/width=.5cm, braid/height=.5cm, everystrand/.style={ultrathick}]
{braid={s_1 s_2^{-1} s_1 s_2^{-1}}};
\end{tikzpicture}

modulo l’opération de déformation à extrémités fixées. Par exemple

\begin{tikzpicture} 
\pic[braid/.cd, rotate=90, width=.5cm, height=.5cm,
everystrand/.style={ultrathick}, name prefix=braid] at (0, 0)
{braid={s_1 s_2 s_1}};
\node[font=\large] at (.5, .45) {$=$} ;
\pic[rotate=90, braid/.cd, width=.5cm, height=.5cm,
everystrand/.style={ultrathick}]  at (3, 0) {braid={s_2 s_1 s_2}};
\end{tikzpicture}

Le produit de deux tresses à \(n\) brins est simplement obtenu en juxtaposant les deux dessins. On obtient ainsi un groupe (l’inverse d’une tresse est obtenue en prenant son image dans un miroir vertical). Il existe différentes façons de rendre cette « définition » rigoureuse. La voie algébrique est de commencer par remarquer que la brique de base est un croisement élémentaire. On note \(σᵢ\) le croisement du \(i\)-ème et du \((i+1)\)-ème brin (c’est juste un symbole). On forme le groupe libre engendré par ces \(n-1\) symboles puis on impose par quotient les relations \(σᵢσⱼ = σⱼσᵢ\) lorsque \(|i - j| ≥ 2\) (les croisements sans brin commun commutent) et \(σᵢσᵢ₊₁σᵢ = σᵢ₊₁σᵢσᵢ₊₁\) pour tout \(i\) (c’est la relation correspondant au dessin ci-dessus). On obtient ainsi un groupe \(B_n\) parfaitement bien défini une fois compris le chapitre 3. Bien sûr il faut réfléchir un peu pour voir que les relations imposées suffisent à encoder toute l’intuition géométrique de départ. La porte d’entrée est donnée par les symboles \(σᵢ\) devenus éléments du groupe. La propriété universelle affirme que, pour tout groupe \(G\) et toute collection d’éléments \(g₁, \dots , gₙ\) vérifiant les relations imposées aux \(σᵢ\) ci-dessus, il existe un unique morphisme de groupes de \(Bₙ\) dans \(G\) qui envoie chaque \(σᵢ\) sur le \(gᵢ\) correspondant. Ainsi, on peut construire un morphisme vers le groupes de permutations \(𝔖ₙ\) qui ne retient que le point d’arrivée de chaque brin (par exemple la tresse dessinée ci-dessus correspond à une permutation cyclique). Pour cela il suffit de vérifier que les transposition \(τ_{i, i+1}\) vérifient les relations imposées pour obtenir un morphisme qui envoie \(σᵢ\) sur \(τ_{i, i+1}\).

Encapsulation et fondements

Dans tout ce programme de construction, il est crucial de veiller à respecter l’encapsulation : on ne retourne pas voir les détails d’une construction terminée. La porte d’entrée (et ses éventuelles propriétés) et la propriété universelle doivent rester les seuls accès. Sans cela la complexité des constructions s’empile et devient ingérable. Prenons l’exemple des polynômes. On construit \(𝕂[X₁, \dots , Xₙ]\) comme étant l’ensemble des fonctions à support fini sur l’ensemble des fonctions sur \(\{ 1, \dots , n\} \) à valeurs dans \(ℕ\) à valeurs dans \(𝕂\). Oui, la phrase précédente est pénible à lire et non, il n’y a pas de problème de copier-coller ayant mal tourné. Et ce niveau d’offuscation est atteint sans même se demander comment a été construit le corps \(𝕂\) ou même le monoïde \(ℕ\) des entiers naturels.

Ce dernier point permet de mentionner en passant que, en plus du problème de la complexité par empilement il y a un risque de s’approcher trop près des fondements et de devoir s’y confronter. Comme presque toute la pratique mathématique, ce cours est indépendant des fondements, tout en prétendant très vaguement reposer sur les deux étages de fondements fournis par la logique du premier ordre avec égalité et la théorie des ensembles, disons de Zermelo-Fraenkel+choix (ZFC). Si cette prétention était sérieuse, il faudrait construire \(ℕ\). Or ZFC est une théorie complètement amorphe, il n’y a qu’un seul type d’objets, les ensembles, et qu’une relation, l’appartenance. L’encodage le plus fréquent des entiers naturels consiste en l’ensemble \(\{ ∅, \{ ∅\} , \{ ∅, \{ ∅\} \} , \{ ∅, \{ ∅\} , \{ ∅, \{ ∅\} \} \} , \dots \} \) (et inutile de dire que les points de suspension ne forment pas une méthode de construction encouragée donc il y a du travail à faire pour construire \(ℕ\) dans ZFC). Pire, les fonctions ne sont pas une notion primitive dans ZFC. Il faut passer par l’idée de graphe d’une fonction : une fonction de \(A\) dans \(B\) est une partie \(f\) de \(A × B\) telle que \(∀ a ∈ A, ∃! b ∈ B, (a, b) ∈ f\). Hélas la notion de produit de deux ensembles n’est pas non plus une notion primitive. Par exemple on peut définir \(A × B\) comme l’ensemble des ensembles de la forme \(\{ \{ a\} , \{ a, b\} \} \) pour \(a ∈ A\) et \(b ∈ B\). Munis de ces préliminaires (et d’un corps \(𝕂\)…), on peut retourner achever de rendre impossible à lire la définition de \(𝕂[X₁, \dots , Xₙ]\).

Il faut noter qu’on dispose maintenant de fondements alternatifs bien plus sympathiques que ZFC, comme les diverses variantes de la théorie des types dépendants mais en creusant suffisamment on fini toujours par se perdre. Bref, dans ce cours on suppose que \(ℕ\) est déjà connu mais on construit \(ℤ\) et \(ℚ\) dans le chapitre 4 (l’apparition très tardive de la construction de \(ℤ\) est une simple commodité pédagogique qui n’introduit pas problème de cohérence, on peut lire le début de la section 4.4 entre les chapitres 2 et 3).

Théorèmes de structure et de classification

L’essentiel de ce cours élémentaire est consacré aux constructions. Une fois compris l’état d’esprit général il n’y a pas de difficulté majeure, et le mot théorème n’apparait presque jamais, il n’y a que de nombreux lemmes et quelques propositions. Mais l’algèbre est aussi faite de problème difficiles où il faut faire la route dans l’autre sens et comprendre un objet inconnu. Les théorèmes correspondants sont les théorèmes de structure (pas vraiment dans le même sens que dans « structure algébrique »…) ou, dans les cas les plus favorables, les théorèmes de classification. Par exemple en algèbre linéaire, le théorème de la base incomplète affirme que tout espace vectoriel est libre (autrement dit il peut être construit comme objet libre). C’est un théorème de structure très fort. Le théorème de la dimension affirme en plus que deux espaces vectoriels sur un même corps sont isomorphes si et seulement si leurs bases ont même cardinal, c’est un théorème de classification. La théorie de la réduction des endomorphismes quant à elle étudie la structure des \(𝕂[X]\)-algèbres (ce point de vue sera abordé en M1).

Dans cette direction, les résultats principaux du cours se trouvent dans le chapitre 3 et ses exercices avec les théorèmes de Sylow qui permettent en particulier de classifier les groupes finis de petit cardinal, dans le chapitre 5 avec un théorème de structure grossier pour les modules sur un anneau principal et la classification complète des groupes abéliens de type fini, et dans le chapitre 7 avec un théorème de structure pour le corps des nombres constructibles à la règle et au compas et la classification des corps finis.