Modules#

La théorie des modules est l’algèbre linéaire affranchie de la contrainte d’être sur un corps.

David Eisenbud

Introduction#

Les modules généralisent simultanément les espaces vectoriels (lorsque l’anneau de scalaires est un corps) et les groupes abéliens (lorsque l’anneau est \(\mathbb{Z}\)). Cette généralisation, apparemment anodine, révèle une richesse considérable : les idéaux d’un anneau deviennent des modules, les matrices agissent sur des modules libres, et le théorème de structure des modules de type fini sur un anneau principal unifie la réduction des endomorphismes (formes de Jordan et de Frobenius) et la classification des groupes abéliens finis.

Hide code cell source

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import seaborn as sns

sns.set_theme(style="whitegrid", palette="muted", font_scale=1.1)

fig, axes = plt.subplots(2, 1, figsize=(10, 12))

# --- Diagramme hiérarchique des structures ---
ax = axes[0]
ax.set_xlim(0, 10)
ax.set_ylim(0, 10)
ax.axis('off')
ax.set_title('Hiérarchie des structures de module', fontsize=12, fontweight='bold')

boites = [
    (5, 9.0, '$A$-module\n(anneau $A$ quelconque)', 'lightsteelblue'),
    (2.5, 7.0, 'Espace vectoriel\n($A = K$ corps)', 'steelblue'),
    (7.5, 7.0, r'Groupe abélien' '\n' '($A = \\mathbb{Z}$)', 'mediumseagreen'),
    (2.5, 5.0, 'Module libre\n(admet une base)', 'cornflowerblue'),
    (7.5, 5.0, 'Idéal de $A$\n(sous-$A$-module de $A$)', 'mediumaquamarine'),
    (5, 3.0, r'Module de type fini' '\n' r'sur un DIP' '\n' '($\\cong A^r \\oplus A/(d_1) \\oplus \\cdots$)', 'salmon'),
]

for (x, y, label, couleur) in boites:
    ax.text(x, y, label, ha='center', va='center', fontsize=8.5,
            bbox=dict(boxstyle='round,pad=0.5', fc=couleur, alpha=0.75, ec='gray', lw=1.2))

fleches = [
    (5, 8.55, 2.5, 7.45),
    (5, 8.55, 7.5, 7.45),
    (2.5, 6.55, 2.5, 5.45),
    (7.5, 6.55, 7.5, 5.45),
    (2.5, 4.55, 5, 3.6),
    (7.5, 4.55, 5, 3.6),
]
for (x1, y1, x2, y2) in fleches:
    ax.annotate('', xy=(x2, y2), xytext=(x1, y1),
                arrowprops=dict(arrowstyle='->', color='dimgray', lw=1.3))

# Exemples sur la droite
exemples = [
    (9.5, 9.0, '$\\mathbb{K}^n,\\, \\mathbb{K}[X]$'),
    (9.5, 7.0, '$\\mathbb{K}^n$'),
    (9.5, 5.0, '$n\\mathbb{Z}$, $(X)$'),
]
for (x, y, label) in exemples:
    ax.text(x, y, label, ha='center', va='center', fontsize=7.5, color='gray')

# --- Réseau Z^2 comme Z-module dans R^2 ---
ax2 = axes[1]
ax2.set_title('Réseau $\\mathbb{Z}^2$ comme $\\mathbb{Z}$-module dans $\\mathbb{R}^2$',
              fontsize=12, fontweight='bold')

grille = np.arange(-3, 4)
xs_grille, ys_grille = np.meshgrid(grille, grille)
ax2.scatter(xs_grille.ravel(), ys_grille.ravel(),
            s=60, color='steelblue', zorder=5, alpha=0.8, label='Points de $\\mathbb{Z}^2$')

# Vecteurs de base
ax2.annotate('', xy=(1, 0), xytext=(0, 0),
             arrowprops=dict(arrowstyle='->', color='tomato', lw=2.5))
ax2.annotate('', xy=(0, 1), xytext=(0, 0),
             arrowprops=dict(arrowstyle='->', color='darkorange', lw=2.5))
ax2.text(1.1, -0.3, '$e_1 = (1,0)$', color='tomato', fontsize=9)
ax2.text(0.1, 1.1, '$e_2 = (0,1)$', color='darkorange', fontsize=9)

# Sous-module 2Z^2
xs_sub = [x for x in grille if x % 2 == 0]
ys_sub = [y for y in grille if y % 2 == 0]
xs_m, ys_m = np.meshgrid(xs_sub, ys_sub)
ax2.scatter(xs_m.ravel(), ys_m.ravel(),
            s=150, color='tomato', zorder=4, alpha=0.5,
            label='Sous-module $2\\mathbb{Z}^2$', marker='s')

ax2.set_xlim(-3.5, 3.5)
ax2.set_ylim(-3.5, 3.5)
ax2.set_aspect('equal')
ax2.axhline(0, color='k', lw=0.5, alpha=0.4)
ax2.axvline(0, color='k', lw=0.5, alpha=0.4)
ax2.legend(fontsize=9, loc='upper right')
ax2.set_xlabel('$x$')
ax2.set_ylabel('$y$')

plt.show()
_images/de32277a44ed86e098d10c28b7fe3f1027b8111ba4069ebcd4cbfa86a8802d02.png

Définition et exemples#

Définition 15 (\(A\)-module à gauche)

Soient \(A\) un anneau (unitaire) et \((M, +)\) un groupe abélien. On dit que \(M\) est un \(A\)-module à gauche s’il existe une loi d’action externe

\[A \times M \longrightarrow M, \qquad (a, m) \longmapsto a \cdot m\]

vérifiant les quatre axiomes suivants pour tous \(a, b \in A\) et \(m, n \in M\) :

  1. \(a \cdot (m + n) = a \cdot m + a \cdot n\) (distributivité à gauche sur \(M\))

  2. \((a + b) \cdot m = a \cdot m + b \cdot m\) (distributivité à droite sur \(A\))

  3. \((ab) \cdot m = a \cdot (b \cdot m)\) (associativité mixte)

  4. \(1_A \cdot m = m\) (action de l’unité)

De façon symétrique, un \(A\)-module à droite utilise une action \(M \times A \to M\). Si \(A\) est commutatif, les deux notions coïncident et l’on parle simplement de \(A\)-module.

Remarque 7

La condition \(1_A \cdot m = m\) interdit les actions triviales. On déduit immédiatement que \(0_A \cdot m = 0_M\) et \(a \cdot 0_M = 0_M\) pour tous \(a \in A\), \(m \in M\), en développant \(0_A \cdot m = (0_A + 0_A) \cdot m\) et \(a \cdot 0_M = a \cdot (0_M + 0_M)\).

Exemple 12 (Exemples fondamentaux de modules)

  • Espaces vectoriels. Si \(K\) est un corps, tout \(K\)-espace vectoriel est un \(K\)-module. Les modules sur un corps sont exactement les espaces vectoriels.

  • Groupes abéliens. Tout groupe abélien \((M, +)\) est un \(\mathbb{Z}\)-module de façon unique : \(n \cdot m = m + \cdots + m\) (\(n\) fois) pour \(n > 0\), et \(n \cdot m = -((-n) \cdot m)\) pour \(n < 0\).

  • Idéaux. Tout idéal \(I\) d’un anneau commutatif \(A\) est un \(A\)-module (sous-module de \(A\)).

  • Module des polynômes. \(A[X]\) est un \(A\)-module pour la multiplication par les constantes.

  • Module libre standard. \(A^n = A \times \cdots \times A\) est un \(A\)-module pour les opérations coordonnée par coordonnée.

  • Action d’un anneau de matrices. Si \(\varphi : A \to \mathcal{M}_n(\mathbb{K})\) est un morphisme d’anneaux, alors \(\mathbb{K}^n\) devient un \(A\)-module via \(a \cdot v = \varphi(a) \cdot v\).

Sous-modules et morphismes#

Définition 16 (Sous-module)

Soit \(M\) un \(A\)-module. Un sous-ensemble \(N \subseteq M\) est un sous-module de \(M\) si :

  1. \(N \neq \varnothing\) (ou de façon équivalente, \(0_M \in N\))

  2. \(\forall x, y \in N,\ x + y \in N\) (stabilité par addition)

  3. \(\forall a \in A,\ \forall x \in N,\ a \cdot x \in N\) (stabilité par l’action)

On note \(N \leq M\).

Exemple 13 (Sous-modules usuels)

  • Les sous-modules de \(A\) (en tant que \(A\)-module sur lui-même) sont exactement les idéaux de \(A\).

  • Les sous-modules de \(\mathbb{Z}^n\) sont les réseaux \(d_1\mathbb{Z} \times \cdots \times d_n\mathbb{Z}\) (et bien d’autres).

  • Si \(M = \mathbb{K}^n\) (\(K\) corps), les sous-modules sont les sous-espaces vectoriels.

  • Le noyau et l’image d’un morphisme de \(A\)-modules sont des sous-modules (voir ci-dessous).

Définition 17 (Morphisme de \(A\)-modules (\(A\)-linéaire))

Soient \(M\) et \(N\) deux \(A\)-modules. Une application \(f : M \to N\) est un morphisme de \(A\)-modules (ou application \(A\)-linéaire) si :

\[f(a \cdot x + b \cdot y) = a \cdot f(x) + b \cdot f(y) \qquad \forall a, b \in A,\ \forall x, y \in M\]

Le noyau et l”image de \(f\) sont définis par \(\ker f = f^{-1}(\{0\})\) et \(\mathrm{Im}\, f = f(M)\).

Proposition 5 (Noyau et image)

Soit \(f : M \to N\) un morphisme de \(A\)-modules. Alors \(\ker f\) est un sous-module de \(M\) et \(\mathrm{Im}\, f\) est un sous-module de \(N\). De plus, \(f\) est injective si et seulement si \(\ker f = \{0\}\).

Proof. Noyau : \(0 \in \ker f\) car \(f(0) = 0\). Si \(x, y \in \ker f\) et \(a, b \in A\), alors \(f(ax + by) = af(x) + bf(y) = 0\), donc \(ax + by \in \ker f\).

Image : \(0 = f(0) \in \mathrm{Im}\, f\). Si \(f(x), f(y) \in \mathrm{Im}\, f\), alors \(af(x) + bf(y) = f(ax + by) \in \mathrm{Im}\, f\).

Injectivité : Si \(\ker f = \{0\}\) et \(f(x) = f(y)\), alors \(f(x - y) = 0\), donc \(x - y = 0\).

Théorème 15 (Premier théorème d’isomorphisme pour les modules)

Soit \(f : M \to N\) un morphisme de \(A\)-modules. Il existe un unique isomorphisme de \(A\)-modules

\[\bar{f} : M / \ker f \xrightarrow{\;\sim\;} \mathrm{Im}\, f, \qquad \bar{m} \longmapsto f(m)\]

En particulier, si \(f\) est surjective, \(M / \ker f \cong N\).

Proof. \(\bar{f}\) est bien définie car si \(\bar{x} = \bar{y}\), i.e. \(x - y \in \ker f\), alors \(f(x) = f(y)\). Elle est injective par construction, surjective sur \(\mathrm{Im}\, f\), et \(A\)-linéaire car \(f\) l’est.

Module quotient#

Définition 18 (Module quotient)

Soit \(N\) un sous-module d’un \(A\)-module \(M\). L’ensemble des classes \(M/N = \{\bar{m} = m + N : m \in M\}\) est muni des opérations

\[\bar{x} + \bar{y} = \overline{x + y}, \qquad a \cdot \bar{x} = \overline{a \cdot x}\]

Ces opérations sont bien définies (indépendantes du choix du représentant) et font de \(M/N\) un \(A\)-module, appelé module quotient. La projection canonique \(\pi : M \to M/N\), \(m \mapsto \bar{m}\) est un morphisme surjectif de noyau \(N\).

Remarque 8

Tout sous-module \(N\) joue le rôle d’un sous-groupe distingué dans \((M, +)\) (ce qui est automatique puisque \(M\) est abélien). C’est pourquoi la construction du quotient est plus simple que pour les groupes non abéliens.

Exemple 14 (Quotients concrets)

  • \(\mathbb{Z}/n\mathbb{Z}\) est le quotient du \(\mathbb{Z}\)-module \(\mathbb{Z}\) par le sous-module \(n\mathbb{Z}\).

  • \(\mathbb{K}[X]/(P)\) est le quotient du \(\mathbb{K}[X]\)-module \(\mathbb{K}[X]\) par l’idéal \((P)\).

  • Si \(V = \mathbb{R}^3\) et \(D\) est un sous-espace de dimension 1, alors \(V/D \cong \mathbb{R}^2\) (plan quotient).

Modules libres#

Définition 19 (Famille libre, base, module libre)

Soit \(M\) un \(A\)-module et \((e_i)_{i \in I}\) une famille d’éléments de \(M\).

  • La famille est libre (ou linéairement indépendante) si \(\sum_{i} a_i e_i = 0 \implies a_i = 0\) pour tout \(i\) (somme finie).

  • Elle est génératrice si tout élément de \(M\) s’écrit \(\sum_i a_i e_i\).

  • Elle est une base si elle est à la fois libre et génératrice.

\(M\) est un module libre s’il admet une base. Si cette base est finie de cardinal \(n\), on dit que \(M\) est libre de rang \(n\).

Exemple 15 (Module libre standard)

Le module \(A^n\) est libre de rang \(n\) : la famille canonique \((e_1, \ldots, e_n)\), avec \(e_i = (0, \ldots, 1, \ldots, 0)\) (le \(1\) en position \(i\)), est une base. Tout module libre de rang \(n\) est isomorphe à \(A^n\).

Proposition 6 (Morphismes entre modules libres et matrices)

Soient \(M = A^m\) et \(N = A^n\) des modules libres de rangs respectifs \(m\) et \(n\). Il existe une bijection canonique entre les morphismes de \(A\)-modules \(f : A^m \to A^n\) et les matrices de \(\mathcal{M}_{n,m}(A)\), donnée par la matrice des images de la base canonique.

Proof. Un morphisme \(f : A^m \to A^n\) est entièrement déterminé par les images \(f(e_1), \ldots, f(e_m) \in A^n\). En écrivant chaque \(f(e_j) = \sum_i a_{ij} e_i\), on associe à \(f\) la matrice \([a_{ij}] \in \mathcal{M}_{n,m}(A)\). Cette correspondance est un isomorphisme de \(A\)-modules entre \(\mathrm{Hom}_A(A^m, A^n)\) et \(\mathcal{M}_{n,m}(A)\). La composition des morphismes correspond au produit matriciel.

Remarque 9

Attention : sur un anneau non commutatif, la correspondance dépend de la convention (matrices colonnes ou lignes). Sur un anneau commutatif, la théorie est analogue à l’algèbre linéaire classique, mais le déterminant d’une matrice à coefficients dans \(A\) ne définit pas toujours un inverse.

Modules de type fini et théorème de structure#

Définition 20 (Module de type fini)

Un \(A\)-module \(M\) est de type fini s’il existe \(m_1, \ldots, m_k \in M\) tels que tout élément de \(M\) s’écrit \(\sum_{i=1}^k a_i m_i\) avec \(a_i \in A\). Autrement dit, \(M = Am_1 + \cdots + Am_k\).

Exemple 16 (Exemples et contre-exemples)

  • \(A^n\) est de type fini (engendré par les \(n\) vecteurs canoniques).

  • \(\mathbb{Z}/n\mathbb{Z}\) est de type fini comme \(\mathbb{Z}\)-module (engendré par \(\bar{1}\)).

  • \(\mathbb{Q}\) n’est pas de type fini comme \(\mathbb{Z}\)-module : si \(\frac{p_1}{q_1}, \ldots, \frac{p_k}{q_k}\) engendrent \(M\), alors \(\frac{1}{q_1 \cdots q_k + 1}\) n’est pas dans leur enveloppe \(\mathbb{Z}\)-linéaire.

Théorème 16 (Théorème de structure (modules de type fini sur un DIP))

Soit \(A\) un anneau principal (domaine d’intégrité principal, DIP) et \(M\) un \(A\)-module de type fini. Alors \(M\) est isomorphe à un module de la forme

\[M \cong A^r \oplus \frac{A}{(d_1)} \oplus \frac{A}{(d_2)} \oplus \cdots \oplus \frac{A}{(d_k)}\]

\(r \geq 0\) est le rang libre (ou rang de torsion libre) et \(d_1, d_2, \ldots, d_k\) sont des éléments non nuls et non inversibles de \(A\) vérifiant la chaîne de divisibilité

\[d_1 \mid d_2 \mid \cdots \mid d_k\]

De plus, cette décomposition est unique à isomorphisme près (le rang \(r\) et les facteurs invariants \(d_i\) sont uniquement déterminés).

Remarque 10

Les éléments \(d_1, \ldots, d_k\) sont appelés facteurs invariants de \(M\). Le sous-module \(\mathrm{Tor}(M) = \{m \in M : \exists a \neq 0,\ a \cdot m = 0\}\) est le sous-module de torsion ; il est isomorphe à \(A/(d_1) \oplus \cdots \oplus A/(d_k)\). Le quotient \(M/\mathrm{Tor}(M) \cong A^r\) est le sous-module libre (à torsion nulle).

Corollaire 4 (Classification des groupes abéliens finis)

Tout groupe abélien fini \(G\) est isomorphe à un produit

\[G \cong \mathbb{Z}/d_1\mathbb{Z} \oplus \mathbb{Z}/d_2\mathbb{Z} \oplus \cdots \oplus \mathbb{Z}/d_k\mathbb{Z}\]

avec \(d_1 \mid d_2 \mid \cdots \mid d_k\), \(d_i \geq 2\). Cette décomposition est unique.

Proof. Un groupe abélien fini est un \(\mathbb{Z}\)-module de type fini et de torsion (tout élément est annulé par l’ordre du groupe). Le rang libre est donc \(r = 0\), et le théorème de structure donne la décomposition voulue. L’unicité des \(d_i\) découle de l’unicité dans le théorème de structure.

Exemple 17 (Groupes abéliens d’ordre \(\leq 16\))

  • Ordre 4 : \(\mathbb{Z}/4\mathbb{Z}\) et \(\mathbb{Z}/2\mathbb{Z} \oplus \mathbb{Z}/2\mathbb{Z}\) (deux groupes non isomorphes).

  • Ordre 6 : \(\mathbb{Z}/6\mathbb{Z}\) seulement (car \(6 = 2 \times 3\) et \(\gcd(2,3)=1\)).

  • Ordre 8 : \(\mathbb{Z}/8\mathbb{Z}\), \(\mathbb{Z}/2\mathbb{Z} \oplus \mathbb{Z}/4\mathbb{Z}\), \((\mathbb{Z}/2\mathbb{Z})^3\) (trois groupes non isomorphes).

  • Ordre 12 : \(\mathbb{Z}/12\mathbb{Z}\), \(\mathbb{Z}/2\mathbb{Z} \oplus \mathbb{Z}/6\mathbb{Z}\) (deux groupes non isomorphes).

Remarque 11 (Application aux formes normales)

Le théorème de structure s’applique à \(M = \mathbb{K}^n\) vu comme module sur \(A = \mathbb{K}[X]\) via un endomorphisme \(u\) (l’action de \(X\) étant \(u\)). On obtient la décomposition de \(\mathbb{K}^n\) en sous-espaces cycliques, ce qui donne :

  • la forme normale de Frobenius (invariants de similitude, décomposition en facteurs invariants de \(\mathbb{K}[X]\)) ;

  • la forme normale de Jordan (décomposition en facteurs primaires \((\lambda - X)^k\) lorsque \(\mathbb{K}\) est algébriquement clos). Ces formes normales se lisent directement sur la structure de \(\mathbb{K}[X]\)-module de \(\mathbb{K}^n\).

Hide code cell source

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import seaborn as sns

sns.set_theme(style="whitegrid", palette="muted", font_scale=1.1)

fig, axes = plt.subplots(2, 1, figsize=(10, 12))

# --- Classification des groupes abéliens finis d'ordre <= 16 ---
ax = axes[0]
ax.set_xlim(0, 10)
ax.set_ylim(0, 11)
ax.axis('off')
ax.set_title('Groupes abéliens finis (ordre $\\leq 16$)', fontsize=11, fontweight='bold')

groupes = [
    (5, 10.0, '$|G|=1$\n$\\{0\\}$', 'lightgray'),
    (2, 8.5, r'$|G|=2$' '\n' '$\\mathbb{Z}/2$', 'lightsteelblue'),
    (5, 8.5, r'$|G|=3$' '\n' '$\\mathbb{Z}/3$', 'lightsteelblue'),
    (8, 8.5, r'$|G|=5$' '\n' '$\\mathbb{Z}/5$', 'lightsteelblue'),
    (1, 6.8, r'$|G|=4$' '\n' '$\\mathbb{Z}/4$', 'steelblue'),
    (3, 6.8, r'$|G|=4$' '\n' '$(\\mathbb{Z}/2)^2$', 'cornflowerblue'),
    (5, 6.8, r'$|G|=6$' '\n' '$\\mathbb{Z}/6$', 'lightsteelblue'),
    (7, 6.8, r'$|G|=7$' '\n' '$\\mathbb{Z}/7$', 'lightsteelblue'),
    (9, 6.8, r'$|G|=9$' '\n' '$\\mathbb{Z}/9$' '\n' 'ou $(\\mathbb{Z}/3)^2$', 'steelblue'),
    (1, 5.0, r'$|G|=8$' '\n' '$\\mathbb{Z}/8$', 'cornflowerblue'),
    (3, 5.0, r'$|G|=8$' '\n' '$\\mathbb{Z}/2{\\oplus}\\mathbb{Z}/4$', 'cornflowerblue'),
    (5, 5.0, r'$|G|=8$' '\n' '$(\\mathbb{Z}/2)^3$', 'cornflowerblue'),
    (7, 5.0, r'$|G|=12$' '\n' '$\\mathbb{Z}/12$', 'steelblue'),
    (9, 5.0, r'$|G|=12$' '\n' '$\\mathbb{Z}/2{\\oplus}\\mathbb{Z}/6$', 'steelblue'),
    (5, 3.2, r'$|G|=16$ : 5 groupes' '\n' '$\\mathbb{Z}/16$, $\\mathbb{Z}/2{\\oplus}\\mathbb{Z}/8$,' '\n' '$(\\mathbb{Z}/4)^2$, $\\mathbb{Z}/2{\\oplus}\\mathbb{Z}/2{\\oplus}\\mathbb{Z}/4$, $(\\mathbb{Z}/2)^4$', 'salmon'),
]

for (x, y, label, couleur) in groupes:
    fontsize = 7.5 if '16' in label else 8
    ax.text(x, y, label, ha='center', va='center', fontsize=fontsize,
            bbox=dict(boxstyle='round,pad=0.35', fc=couleur, alpha=0.75, ec='gray', lw=0.8))

legende = [
    mpatches.Patch(color='lightsteelblue', label='Cyclique (unique)'),
    mpatches.Patch(color='cornflowerblue', label='Plusieurs groupes'),
    mpatches.Patch(color='salmon', label='5 groupes distincts'),
]
ax.legend(handles=legende, fontsize=8, loc='lower left')

# --- Diagramme d'une suite exacte courte ---
ax2 = axes[1]
ax2.set_xlim(0, 10)
ax2.set_ylim(0, 5)
ax2.axis('off')
ax2.set_title("Suite exacte courte $0 \\to M'\\to M \\to M''\\to 0$",
              fontsize=11, fontweight='bold')

modules = [(1, 2.5), (3, 2.5), (5, 2.5), (7, 2.5), (9, 2.5)]
noms = ["$0$", "$M'$", "$M$", "$M''$", "$0$"]
couleurs_m = ['lightgray', 'steelblue', 'mediumseagreen', 'salmon', 'lightgray']
morphismes = ['', '$i$', '$\\pi$', '', '']
for (x, y), nom, coul in zip(modules, noms, couleurs_m):
    ax2.text(x, y, nom, ha='center', va='center', fontsize=14,
             bbox=dict(boxstyle='round,pad=0.5', fc=coul, alpha=0.7, ec='gray', lw=1.2))

for k in range(len(modules) - 1):
    x1, y1 = modules[k]
    x2, y2 = modules[k+1]
    ax2.annotate('', xy=(x2 - 0.55, y2), xytext=(x1 + 0.55, y1),
                 arrowprops=dict(arrowstyle='->', color='dimgray', lw=2))
    if morphismes[k+1]:
        ax2.text((x1 + x2) / 2, y1 + 0.35, morphismes[k+1],
                 ha='center', fontsize=12, color='dimgray')

ax2.text(5, 4.2, 'Exacte : $\\mathrm{Im}(i) = \\ker(\\pi)$', ha='center', fontsize=10,
         bbox=dict(boxstyle='round', fc='lightyellow', ec='goldenrod', alpha=0.8))
ax2.text(5, 1.2,
         "$M'$ s'injecte dans $M$ ; $M''\\cong M/M'$\n"
         "Suite scindée $\\Leftrightarrow$ $M \\cong M' \\oplus M''$",
         ha='center', fontsize=9, color='dimgray',
         bbox=dict(boxstyle='round', fc='white', ec='lightgray', alpha=0.7))

plt.show()
_images/a41a176e77655ae3a7a2ce4f677f714cdb7ce95fbb719a1ed493fd4a77307c3d.png

Suites exactes#

Définition 21 (Suite exacte)

Une suite de morphismes de \(A\)-modules

\[\cdots \longrightarrow M_{n-1} \xrightarrow{f_{n-1}} M_n \xrightarrow{f_n} M_{n+1} \longrightarrow \cdots\]

est dite exacte en \(M_n\) si \(\mathrm{Im}\, f_{n-1} = \ker f_n\). Elle est exacte si elle est exacte en chacun de ses termes.

Exemple 18 (Suites exactes courtes)

Une suite exacte courte est une suite de la forme

\[0 \longrightarrow M' \xrightarrow{\;i\;} M \xrightarrow{\;\pi\;} M'' \longrightarrow 0\]

L’exactitude en \(M'\) signifie que \(i\) est injective, l’exactitude en \(M''\) que \(\pi\) est surjective, et l’exactitude en \(M\) que \(\mathrm{Im}\, i = \ker \pi\), c’est-à-dire que \(M''\) est isomorphe au quotient \(M / i(M')\).

Définition 22 (Suite exacte scindée)

Une suite exacte courte \(0 \to M' \xrightarrow{i} M \xrightarrow{\pi} M'' \to 0\) est scindée (à droite) s’il existe un morphisme \(s : M'' \to M\) tel que \(\pi \circ s = \mathrm{id}_{M''}\). Elle est scindée à gauche s’il existe \(r : M \to M'\) tel que \(r \circ i = \mathrm{id}_{M'}\).

Proposition 7 (Caractérisation des suites scindées)

Une suite exacte courte \(0 \to M' \xrightarrow{i} M \xrightarrow{\pi} M'' \to 0\) est scindée (à droite ou à gauche, les deux conditions sont équivalentes) si et seulement si \(M \cong M' \oplus M''\).

Proof. Si \(s : M'' \to M\) est une section de \(\pi\), on définit \(\varphi : M' \oplus M'' \to M\) par \(\varphi(m', m'') = i(m') + s(m'')\). C’est un isomorphisme : l’injectivité vient de celle de \(i\) et de la relation \(\pi(s(m'')) = m''\), la surjectivité de l’exactitude.

Remarque 12 (Lemme du serpent)

Le lemme du serpent est un outil fondamental de l’algèbre homologique : étant donné un diagramme commutatif de suites exactes courtes avec des morphismes verticaux \(f\), \(g\), \(h\), il produit une suite exacte longue reliant les noyaux et conoyaux de \(f\), \(g\), \(h\). Ce lemme est à la base de la cohomologie des groupes, de la \(K\)-théorie, et de la théorie des suites spectrales. Sa démonstration repose sur une poursuite de diagramme (diagram chase) et est laissée en exercice.

Résumé#

Notion

Définition / résultat clé

\(A\)-module

Groupe abélien \(M\) avec action \(A \times M \to M\) vérifiant 4 axiomes

Exemples

Esp. vectoriels (\(A = K\)), groupes abéliens (\(A = \mathbb{Z}\)), idéaux, \(A^n\)

Sous-module

Sous-groupe stable par l’action ; les idéaux sont les sous-modules de \(A\)

Morphisme

Application \(A\)-linéaire ; \(\ker f \leq M\), \(\mathrm{Im}\, f \leq N\)

1er th. d’iso.

\(M/\ker f \cong \mathrm{Im}\, f\)

Module quotient

\(M/N\) bien défini car \(M\) abélien ; \(\pi : M \to M/N\) surjective de noyau \(N\)

Module libre

Admet une base ; \(A^n\) est libre de rang \(n\)

Matrices

\(\mathrm{Hom}_A(A^m, A^n) \cong \mathcal{M}_{n,m}(A)\) (morphismes \(\leftrightarrow\) matrices)

Type fini

Engendré par un nombre fini d’éléments

Th. de structure (DIP)

\(M \cong A^r \oplus A/(d_1) \oplus \cdots \oplus A/(d_k)\) avec \(d_1 \mid \cdots \mid d_k\)

Groupes abéliens finis

\(G \cong \mathbb{Z}/d_1 \oplus \cdots \oplus \mathbb{Z}/d_k\) (classification complète)

Formes normales

Jordan et Frobenius via structure de \(\mathbb{K}[X]\)-module

Suite exacte courte

\(0 \to M' \to M \to M'' \to 0\) ; scindée \(\iff\) \(M \cong M' \oplus M''\)

Lemme du serpent

Relie noyaux et conoyaux dans un diagramme ; base de l’algèbre homologique