• Aucun résultat trouvé

Modules de type fini

2.2 CALCUL MATRICIEL SUR UN ANNEAU PRINCIPAL

P

f //

f˜

##H

HH HH HH

HH M

π

π1

$$H

HH HH HH HH

P/N f //M/N π1 //M/P

On peut alors appliquer le corollaire 2.5 au morphisme (surjectif)π1. Remarque 2.9. Soit I un idéal de A. Le A-module quotientA/I est alors naturellement muni d’une structure d’anneau propagée par celle deA via le morphisme canoniqueπ :A A/I : six, y ∈A/I, il existeaetbdansA tels queπ(a) = x, π(b) = y. On pose alors xy = π(ab), et il est immédiat de voir que cette multiplication est bien définie et fait deA/I un anneau avec unitéπ(1)(que l’on note aussi1en général).

2.2 CALCUL MATRICIEL SUR UN ANNEAU PRINCIPAL

Dans toute la suite de ce chapitre, A désignera un anneau euclidien pour lequel il existe un algorithme pour la division euclidienne. Nous utiliserons le calcul matriciel seulement pour les anneauxA = Zet au chapitre suivant pourA =K[X],K étant un corps.

Rappelons quelques propriétés d’un tel anneauA.

1. Un élémentp Aest irréductible si et seulement si l’anneau quotientA/(p)est un corps (cf. le corollaire 1.39 pour le casA =Z; la preuve est la même pour tout anneau principal).

2. L’anneauAest contenu dans son corps des fractionsK(A)(définition 1.12).

3. L’anneauAest factoriel (théorème 1.30).

2.2.1. Trigonalisation

La présentation de cette section est inspirée de [3]. On note Mn,m(A) l’ensemble des matrices de taillen×m(nlignes etmcolonnes) à coefficients dansA. On note Mn(A) l’ensemble des matrices de taillen×n à coefficients dansA, SLn(A) le sous-ensemble deMn(A)formé des matrices de déterminant 1.

Lemme 2.10. Une matrice M ∈ Mn(A) est inversible si et seulement si detM A. En particulier M ∈ Mn(Z) est inversible si et seulement si detM =±1.

Démonstration. Si la matriceM est inversible, il est clair que son déterminant aussi (dans l’anneauA). Inversement, on a la formule suivante pour une matrice à coeffi-cients dans un anneau :

tco(M)× M = detM×In

(co(M) est la matrice des cofacteurs, etIn la matrice identité de taille (n, n)). Si En particulier toute matriceM ∈SLn(A)est inversible.

Le lemme suivant est le lemme technique essentiel pour tout ce qui concerne la calcul matriciel surA.

Lemme 2.11. Soient x et y deux éléments de A, z un PGCD de x et y (défini à multiplication par un élément deA près). Il existe alors une matrice :

α β Démonstration. On peut supposer que(x y) = (0 0)(sinon, tout est nul). Il existe alors deux élémentsuetvdansAtels quez=ux+vy(formule (1) du chapitre 1) (si

1. La multiplication à gauche d’une matriceM ∈ Mn,m(A)par un élément deSLn(A)revient à effectuer des manipulations sur les lignes deM. Si on veut manipuler les colonnes, il faut multiplier à droite par un élément de SLm(A), ce que nous ferons au paragraphe suivant ; dans le cas du lemme 2.11, cela donnerait l’égalité suivante (obtenue en transposant (1)) :

x y α γ

©Dunod.Laphotocopienonautorieestunlit.

2.2 Calcul matriciel sur un anneau principal 31

Nous allons utiliser la matrice de taille(n, n)suivante :

Lj,k = Lemme 2.13. La multiplication à gauche d’une matrice M ∈ Mn,m(A) par la matriceLj,k remplacelj etlk par αlj +βlk etγlj +δlk respectivement. De plus, detLj,k=αδ−βγ.

Démonstration. Exercice laissé au lecteur sur la multiplication des matrices.

Proposition 2.14. Soit M ∈ Mn,m(A). Il existe alors une matriceL SLn(A) telle queLM =Msoit triangulaire supérieure (i.e.avec des zéros sous la diagonale principale).

Démonstration. La démonstration consiste à appliquer plusieurs fois les lemmes 2.11 et 2.13 pour faire apparaître des zéros sous la diagonale principale.

a) SoitM = (aij) (1in, 1jm). MultiplionsM à gauche par la matrice

b) On multiplie ensuiteM1 à gauche par une matriceL2 de la formeL1,3 pour faire apparaître un zéro à la place(3,1)(ce qui remplacedpard1tel que(d1) = (d, a31), et ainsi de suite jusqu’à ce que l’on obtienne la matriceMn1 =Ln1· · ·L1M dont la première colonne est de la formet(dn10. . .0),dn1 étant un PGCD de tous les éléments de la première colonne deM.

c) On continue de même avec la seconde colonne, en commençant par multiplier à gauche par une matrice L2,3 de façon à laisser la première ligne inchangée et de ne

« manipuler » que les lignesl2, . . . , ln, ce qui implique aussi que la première colonne des nouvelles matrices reste égale à t(dn10. . .0) (les coefficients de L2,3 étant choisis pour faire apparaître un zéro à la place(3,2)).

d) Une récurrence immédiate achève la preuve.

Siv := (a1. . . an)est un vecteur ligne, on dit quevest de longueurn−psipest le plus grand entier tel quea1 =· · ·=ap = 0(si tous lesai sont nuls, la longueur dev est 0). On a alors :

Corollaire 2.15. SoitM ∈ Mn,m(A). Il existeL SLn(A)telle que la longueur des lignes de la matriceLMdécroisse strictement (en particulierLMest triangulaire supérieure dans le cas oùn=m).

Démonstration. Par une facile récurrence surm(nombre de colonnes) :

a) si la première colonne n’est pas constituée que de zéros, on applique la méthode précédente pour obtenir une nouvelle matrice dont la première colonne est de la forme

t(x10. . .0),x1 étant un PGCD (donc non nul) des éléments de la première colonne de M. On applique ensuite l’hypothèse de récurrence à la matrice M formée des élémentsaij, aveci2etj2;

b) si la première colonne est nulle, on applique l’hypothèse de récurrence à la matrice Mformée des élémentsaij avecj2(etiquelconque, i.e. toutes les lignes).

2.2.2. Échelonnement

Rappelons que pour deux élémentsaetbdeA, la notationa|bsignifie queadiviseb.

Par convention, tout élément deAdivise 0.

Définition 2.16. SoitM une matrice de taille(n, m)à coefficients entiers. On dit que M est réduite (ou échelonnée) si :

M =

⎜⎜

⎜⎝

a1,1 0 . . . 0 0 a2,2 0 . . . ...

... . ..

an,n . . . 0

⎟⎟

⎟⎠ (5)

avec

ai,i|ai+1,i+1, 1iinf(n, m)1.

Sur la figure, on a représenté une matriceMavecn < m. Il est à noter que les derniers ai,ipeuvent être nuls et que tous les éléments non sur la diagonale sont nuls.

©Dunod.Laphotocopienonautorieestunlit.

2.2 Calcul matriciel sur un anneau principal 33

Théorème 2.17. SoitM une matrice de taille(n, m)à coefficients dansA. Il existe alorsL∈SLnAetR∈SLm(A)telles que :

M =LM R soit réduite.

Remarque 2.18. L’énoncé analogue sur un corps K est que toute matrice M ∈ Mn,m(K)est équivalente à une matriceM de la forme

M =

Ir 0 0 0

,

Ir désignant la matrice identité de taille r, équivalente signifiant que M = LM R avec L GLn(K) et R GLm(K). L’entier r est le rang deM.

Comme pour la proposition 2.14, la démonstration du théorème 2.17 se fait en plu-sieurs étapes, en appliquant à chaque fois le lemme 2.13 pour manipuler les lignes, et en transposant (et multipliant à droite) pour manipuler aussi les colonnes. La démons-tration est présentée comme un algorithme qui utilise des sous-algorithmes que nous appellerons procédures.

Définition 2.19. Soita A,a = 0,a = λp1. . . pk sa décomposition en éléments irréductibles deA∈A)distincts ou non. L’entierks’appelle la longueur deaet se notel(a).

L’entierkest bien déterminé puisque l’écriturea=λp1. . . pkest unique à l’ordre des pi près si l’on prend lespi dans un système représentatif fixéP d’éléments irréduc-tibles (définition 1.14). Par exemple, siA=Z, le nombre120est de longueur 5, car on a120 =23.3.5 =−(2×2×2×3×5).

Décrivons maintenant la première étape de l’algorithme.

Proposition 2.20. SoitM ∈ Mn,m,M = (ai,j). Il existe une matriceL∈SLn(A) telle que dansM =LM la première colonne soit de la forme

c1=

⎜⎜

a1,1

0 ... 0

⎟⎟

avec les conditions suivantes :

1. sia1,1 divise chaqueai,1 (i > 1), la lignel1 deM est inchangée (en particulier a1,1 =a1,1),

2. sinon,l(a1,1)< l(a1,1).

Démonstration. (procédure « ASC » pour « Annulation d’une sous-colonne ») Appliquons l’algorithme de la proposition 2.14 à la matrice colonne :

1. sia1,1 divise tous lesai,1 (i > 1), les matrices de passage successives sont de la

forme :

1 0 γ 1

(remarque 2.12), et donc la lignel1est inchangée ;

2. sinon l’élémenta1,1 est un diviseur strict dea1,1 puisque c’est le PGCD des ai,1 (1in); on a doncl(a1,1)< l(a1,1).

Remarque 2.21. En échangeant les lignes et les colonnes, la même démons-tration définit une procédure « ASL » (annulation d’une sous-ligne) qui an-nule une sous-ligne dans les mêmes conditions que ci-dessus, en multipliant à droite par un élément deSLm(A).

Lemme 2.22. Il existe deux matricesL ∈SLn(A)etR ∈SLm(A)telles que dans la matriceLM R, la colonne d’indice1soit de la forme :

˜

Démonstration. Procédure « ASCSL » ( « Annulation d’une sous-colonne et d’une sous-ligne à la fois »).

On applique la procédure ASL pour obtenir une matrice M avec dans la ligne l1, a1,j = 0pour les indices j > 1, puis la procédure ASC à cette matrice M pour obtenirM= (aij). Alors :

©Dunod.Laphotocopienonautorieestunlit.