Algèbre Année 2007-2008 ENS Cachan
Vincent Beck
Variations autour du théorème de Wilson
Le théorème de Wilson a été découvert à la fin du dixième siècle par le mathématicien arabe Ibn al-Haytham
qu’on nomme aussi Alhazen. Le résultat ressurgit, sans démonstration, à la fin du dix-huitième siècle dans les
écrits de Edward Waring qui l’attribue en 1770 à son élève John Wilson. L’année suivante, Lagrange en donne
deux démonstrations dans son article [LAG]. En fait, Leibniz (1646-1716) connaissait déjà le résultat et sa
démonstration mais ne les avait pas publiés (voir [RAS] pour de plus amples considérations historiques).
Dans cette note consacrée au théorème de Wilson, on propose dans une première partie trois démonstrations
de ce résultat. La deuxième partie étudie la réciproque du théorème de Wilson, quelques variantes autour de
ce théorème ainsi que leurs applications à des tests de primalité (voir aussi [DMZ, exercice 2.16 et 2.19]). Dans
une troisième partie, on donne une généralisation du théorème de Wilson due à Gauss. Enfin, la dernière partie
étudie quelques propriétés de congruence pour les coefficients binomiaux (dont l’une peut s’obtenir comme
conséquence du théorème de Wilson).
Remarquons que les tests de primalité qui se déduisent du théorème de Wilson reposent peu ou prou sur le
calcul d’un factoriel et sont donc inefficaces en pratique. Ainsi le théorème de Wilson est plutôt anecdotique.
Notation 1 Nombre premier. On note Pl’ensemble des nombres premiers.
Théorème de Wilson.
Lemme 2 Théorème de Wilson. Si pPalors
(p1)! = 1 [p].
Preuve. On va donner trois démonstrations de ce résultat de Wilson. L’idée directrice des deux premières
démonstrations est de remplacer ce calcul de congruence par un calcul dans Fpce qui va permettre d’utiliser les
propriétés d’un corps. L’idée de la troisième démonstration est d’utiliser les théorèmes de Sylow dans le groupe
symétrique Sp.
Notation pour les deux premières démonstrations. On note π:ZFpla surjection canonique. On a
π((p1)!) = Q
xFp×
x
Il s’agit donc de calculer le produit des éléments du groupe multiplicatif Fp×.
Première démonstration : théorème de Lagrange et relation coefficients-racines. Le théorème de
Lagrange appliqué au groupe multiplicatif Fp×montre que xp1= 1 pour tout xFp×. Ainsi tous les éléments
de Fp×sont racines de Xp11Fp[X]. On en déduit que
Q
xFp×
(X x)|(Xp11) .
Par raison de degré, on a Q
xFp×
(X x) = Xp11.
Les relation coefficient-racines donnent alors
Q
xFp×
x= (1)p1·(1) = 1.
Attention au cas p= 2 dans la dernière égalité du calcul précédent.
Deuxième démonstration : produit des éléments d’un groupe abélien fini et nombre de racines
d’un polynôme à coefficients dans un corps. Montrons au préalable le résultat suivant. Soit Gun groupe
abélien fini noté multiplicativement et G2l’ensemble de ses éléments d’ordre 2. On a
Q
xG
x=Q
xG2
x.()
En distinguant dans le membre de gauche les éléments de Gvérifiant x6=x1, on obtient
Q
xG
x=Q
x=x1
x Q
x6=x1
x.
En regroupant dans le facteur de droite, un élément et son inverse (ce qu’on peut bien faire puisqu’ils sont
distincts), il reste
Q
xG
x=Q
x=x1
x.
Or x=x1si et seulement si xG2⊔ {1}. Comme le facteur 1ne compte pas dans le produit, on obtient
l’égalité ().
Lorsqu’on applique ce calcul au groupe multiplicatif Fp×, on obtient
Q
xFp×
x=Q
x2=1,x6=1
x.
Il s’agit donc de calculer les racines de X21distinctes de 1dans Fp. Lorsque p= 2, on a X21 = (X 1)2.
Ainsi, il n’y a pas de racines de X21distinctes de 1. Le produit est donc égal à 1 = 1. Lorsque pest impair,
les éléments 1et 1sont distincts et racines de X21. Comme un polynôme de degré nà coefficients dans un
corps (en fait un anneau intègre) a au plus nracines dans ce corps, on en déduit que les seuls racines de X21
dans Fpsont {−1,1}. Finalement
Q
xFp×
x=Q
x2=1,x6=1
x=1.
Troisième démonstration : théorème de Sylow et groupe de permutations. Étudions les p-Sylow
du groupe symétrique Sp(à propos des théorèmes de Sylow, on pourra consulter [PER, Chapitre 1.5]). Comme
|Sp|=p! = p(p1)! avec p(p1)!, les p-Sylow de Spsont d’ordre pet donc cycliques. De plus, ils sont
engendrés par n’importe lequel de leurs éléments non trivial qui est alors un élément d’ordre p. Réciproquement,
si xest un élément d’ordre pde Spalors hxiest d’ordre pet donc un p-Sylow de G. Les p-Sylow de Spsont
donc les groupes engendrés par un élément d’ordre pde Sp.
Déterminons à présent les éléments d’ordre pde Sp. Pour calculer l’ordre d’un élément de Sp, on utilise sa
décomposition en cycles à support disjoint : l’ordre est le ppcm des longueurs des cycles de cette décomposition.
Ainsi si σest d’ordre p, les cycles intervenant dans sa décomposition en cycle à support disjoint sont de longueur
un diviseur de pc’est-à-dire 1ou p. De plus, s’ils sont tous de longueur 1alors σ= id[[ 1 , p ]] n’est pas d’ordre p.
Il existe donc dans la décomposition en cycles à support disjoint de σun cycle de longueur p. Comme la somme
des longueurs des cycles qui interviennent dans la décomposition de σest p, il n’y a pas d’autres cycles et σest
un cycle d’ordre p. Finalement les éléments d’ordre pde Spsont les p-cycles.
Or, il y a (p1)! p-cycles dans Sppuisqu’il s’agit de choisir l’image de 1(qui doit être différente de 1)
puis l’image de l’image de 1(qui doit être différente des deux premiers éléments) et ainsi de suite. Par ailleurs,
si S1et S2sont deux p-Sylow de Spdistincts alors S1S2={1}(ce résultat n’est pas vrai en général, ici il
est vrai parce que les p-Sylow sont d’ordre p). En effet, comme S16= S2, on peut supposer (quitte à échanger
S1et S2) qu’il existe xS1tel que x /S2. Ainsi S1S2est un sous-groupe de S1ne contenant pas x. C’est
donc un sous-groupe strict de S1. L’ordre de S1S2est donc un diviseur strict de |S1|=p. Ainsi |S1S2|= 1
et S1S2={1}. Finalement, tout élément xd’ordre pde Spappartient à un unique p-Sylow de Spqui est
hxi. Comme chaque p-Sylow est cyclique d’ordre p, il contient exactement p1éléments d’ordre p. Ainsi le
nombre spde p-Sylow de Spvérifie sp(p1) = npnpest le nombre d’élément d’ordre pde Sp. Finalement
sp= (p1)!/(p1) = (p2)!.
Comme le nombre de p-Sylow d’un groupe est congru à 1modulo p, on en déduit que
(p2)! 1 [p].
En multipliant par p1≡ −1 [p], on obtient le théorème de Wilson.
Réciproque du théorème de Wilson et test de primalité.
Dans cette partie, on montre la réciproque du théorème de Wilson pour obtenir ainsi une caractérisation
des nombres premiers. On obtient ainsi un test de primalité qui s’avère inefficace puisque nécessitant le calcul
d’une factorielle (voir la remarque 4). On donne ensuite quelques généralisations du théorème de Wilson et de
son critère de primalité (voir les corollaires 5 et 7 et la remarque 6).
Remarque 3 Réciproque du théorème de Wilson. Soit nun entier non premier. Montrons que
(n1)! = 0 [n]si n6= 4 et (n1)! = 2 [n]si n= 4 .
Si on peut écrire n=ddavec 1< d < net 1< d< n et d6=dalors les facteurs det dapparaissent dans
(n1)!. Ainsi n=dd|(n1)! c’est-à-dire (n1)! = 0 [n]. Or tout entier non premier qui n’est pas le carré
d’un nombre premier peut s’écrire sous une telle forme. En effet,
si la décomposition en facteur premier de nfait intervenir plusieurs nombres premiers :
n=p1α1···pkαkavec αi>0, piP, k > 1et pi6=pjsi i6=j,
on choisit d=p1et d=n/d 6=d;
sinon n=pαavec α>3et on choisit d=pet d=pα16=d
Il reste à étudier le cas n=p2avec pP. Si p > 2alors 1< p < n et 1<2p < p2=net p6= 2p. Ainsi les
facteurs pet 2papparaissent dans (n1)! et donc n=p2|(n1)! c’est-à-dire (n1)! = 0 [n]. Enfin, le cas
p= 2 aboutit à n= 4 et donc (n1)! = 6 = 2 [4].
Finalement, on a la disjonction de cas
(n1)! =
1 [n]si nP
2 [n]si n= 4
0 [n]sinon
Comme 26=1[4], on en déduit ainsi la caractérisation suivante de la primalité : soit nun entier supérieur ou
égal à 2alors
nP(n1)! = 1 [n].
Cette caractérisation fournit alors un test de primalité de la façon suivante : soit nNl’entier dont on cherche
à déterminer la primalité, calculer (n1)! modulo n. Si on trouve 1alors nest premier ; sinon nn’est pas
premier.
Remarque 4 Intérêt du test de primalité de Wilson. En pratique pour déterminer la primalité d’un
nombre, le test de Wilson est inefficace : le calcul du factoriel étant beaucoup trop long (c’est un temps de calcul
exponentiel) alors qu’on dispose d’algorithme de primalité en temps polynomial (par exemple l’algorithme AKS,
voir [BOR]) ou encore d’algorithmes probabilistes extrèmement rapides (par exemple les tests de Miller-Rabin
ou Solovay-Strassen [DMZ, 5.3.4]).
Par ailleurs, si on souhaite quand même mettre en place le test de Wilson, on effectuera toutes les multipli-
cations modulo n(c’est-à-dire dans Z/nZ) plutôt que de calculer l’entier (n1)! et de considérer ensuite son
résidu modulo n. Cela permet de borner à l’avance la taille des nombres manipulés.
Corollaire 5 Soit pPet 16n6p. On a
(n1)!(pn)! = (1)n[p]
Preuve. Pour n= 1 et n=p, il s’agit du théorème de Wilson. Supposons le résultat vrai pour nvérifiant
16n < p 1et montrons qu’il est vrai pour n+ 1. Dans Z, on a
n!(pn1)!(pn) = n(n1)!(pn)!
En réduisant cette égalité modulo p, on a
n!(pn1)!(n) = n(n1)!(pn)! [p].
Comme 16n < p 1, l’entier nest inversible modulo pet donc
n!(pn1)!(1) = (n1)!(pn)! [p].
Ainsi n!(pn1)! = (1)(n1)!(pn)! = (1)n+1 [p].
Remarque 6 Une autre caractérisation de la primalité. Soit nN r {0,1}. On a
m[[ 1 , n ]],(m1)!(nm)! = (1)m[n]nP.
()
()
()Si m= 1 alors (n1)! = 1 [n]. La remarque 3 assure que nest premier.
()
()
()Il s’agit du corollaire 5.
Corollaire 7 Soit nun entier impair supérieur ou égal à 3. On a
nPn1
2!2
= (1)n+1
2.
Preuve. L’entier nest impair, on peut donc écrire n= 2m+ 1 c’est-à-dire m= (n1)/2. On a donc
(n1)! = 1 ···(m1) ·m·(m+ 1) ·(m+ 2) ···(2m).
Or m+ 1 = m[n], m + 2 = (m1) [n], ..., 2m=1 [n].
On a donc (n1)! = 1 ···(m1) ·m·(m)·((m1)) ···(1) = (1)m(m!)2.
Comme 1est inversible dans Z/nZ, on en déduit que
n1
2!2
= (1)n+1
2[n](1)n1
2(n1)! = (1)n+1
2[n](n1)! = 1 [n].
La remarque 4 permet de conclure.
Remarque 8 On aurait pu montrer le sens direct du corollaire 7 en appliquant le corollaire 5 pour n= (p+1)/2.
Par ailleurs, le corollaire 7 montre que si pest un nombre premier congru à 1modulo 4alors 1est un carré
modulo ppuisque
p1
2!2
= (1)p+1
2=1 [p].
Un résultat de Gauss.
Dans cette partie, on aborde une généralisation, due à Gauss, du théorème de Wilson bien différente de celles
qui précèdent. Avant d’aborder ce résultat de Gauss, on va affiner l’égalité ()sur le produit des éléments d’un
groupe abélien fini . On commence pour cela par un calcul dans un F2-espace vectoriel de dimension finie.
Lemme 9 F2
F2
F2-espace vectoriel de dimension finie. Soit Vun F2-espace vectoriel de dimension finie. Si
dimF2V6= 1 alors
P
xV
x= 0 .
Si dimF2V = 1 alors P
xV
xest l’unique vecteur non nul de V.
Preuve. Si dim V = 0, le résultat est évident. On suppose à présent dim V >1. Commençons par le cas où
V = F2n. On a donc
P
xV
x=P
(ε1,...,εn)F2n
(ε1,...,εn).
Lorsque x= (ε1,...,εn)décrit F2n, les valeurs 0et 1apparaissent 2n1fois sur chacune des ncomposantes,
(les solutions de l’équation εi= 0 (resp. εi= 1) forment un hyperplan vectoriel (resp. affine) de F2n). Ainsi si
n>2alors 2n1est pair et la iecomposante de la somme est nulle. Si n= 1 alors
P
xV
x=P
xF2
x= 0 + 1 = 1
qui est le seul vecteur non nul de F2.
Considérons à présent le cas général. Il existe un isomorphisme (de F2-espace vectoriel) f:F2nV. Comme
fest bijective, on a
P
xV
x=P
yF2n
f(y).
Par ailleurs, comme fest linéaire, on a
P
xV
x=f P
yF2n
y!.
Ainsi, si dim V >2, on obtient bien une somme nulle. Si dim V = 1 alors, par linéarité et bijectivité, fenvoie
le seul vecteur non nul de F2sur le seul vecteur non nul de Vet on obtient le résultat souhaité.
Comme la structure de F2-espace vectoriel est automatique sur un groupe abélien dont les éléments sont
d’ordre 1 ou 2 (voir l’exemple 6.29 de [BPM]), le résultat du lemme 9 s’étend de la façon suivante à un groupe
abélien fini.
Corollaire 10 Somme des éléments d’un groupe abélien fini. Soit Gun groupe abélien fini (noté additi-
vement). Si Gadmet un unique élément d’ordre 2alors
P
xG
x=y.
Dans le cas contraire, on a P
xG
x= 0 .
Preuve. D’après la relation (), on a
P
xG
x=P
xG2
x=P
xG2⊔{0}
x
Montrons que G2⊔ {0}est un sous-groupe de Gdont tous les éléments (sauf 0) est d’ordre 2. La deuxième
propriété est évident par définition de G2. Il s’agit donc de montrer que G2{0}est un groupe. On a 0G2{0}.
De plus, si xG2⊔ {0}alors x=xG2⊔ {0}. Enfin, pour x, y G2⊔ {0}, on a 2(x+y) = 2x+ 2y= 0
(puisque Gest abélien). Ainsi x+yG2⊔ {0}.
L’exemple 6.29 de [BPM] assure alors que G2⊔ {0}est un F2-espace vectoriel (de dimension finie puisque G
est fini). Le lemme 9 donne alors le résultat puisque dimF2(G2⊔ {0}) = 1 si et seulement si G2est réduit à un
singleton.
On peut à présent énoncer et démontrer la généralisation du théorème de Wilson due à Gauss. Sa démons-
tration repose de façon essentielle sur la structure des groupes (Z/pαZ)×(où pest premier et αN).
Corollaire 11 Un résultat de Gauss. Soit nN. On a alors
Q
16x < n
xn= 1
x=1 [n]si n∈ {4, pα,2pα,pPr{2}et αN}
1 [n]sinon .
Preuve. On note π:ZZ/nZla surjection canonique. Comme un élément x[[ 1 , n1 ]] vérifie xn= 1 si et
seulement si π(x)est inversible dans Z/nZet que tout élément non nul de Z/nZadmet un unique représentant
dans [[ 1 , n 1 ]] (voir [PER, proposition 7.1]), il s’agit en fait de calculer
Q
x(Z/nZ)×
x .
Commençons par les cas n∈ {1,2}. Dans chacun des deux cas, (Z/nZ)×est réduit au singleton {1}. Le résultat
est alors évident. Considérons à présent n /∈ {1,2}. Dans ce cas, 1est un élément d’ordre 2de (Z/nZ)×puisque
(1)2= 1 et 16= 1 (si n∈ {1,2}, on a 1 = 1). D’après le corollaire 10, il suffit de montrer que 1est le seul
élément d’ordre 2de (Z/nZ)×si et seulement si n∈ {4, pα,2pα,pPr{2}et αN}. Cela va résulter
de la structure des groupes (Z/nZ)×(voir [PER, proposition 7.4 à 7.11]).
Dans un premier temps, on va montrer que si (Z/nZ)×a un unique élément d’ordre 2alors
n∈ {2α, pα,2pα,pPr{2}, α Net β>3}.
Cette implication nécessite très peu de résultats sur la structure du groupe (Z/nZ)×: on utilise juste le
théorème chinois (voir [BPM, Théorème 5.29]) et le cardinal de (Z/pαZ)×pour ppremier et αN. L’impli-
cation réciproque, quant à elle, nécessite l’étude précise de la structure des (Z/pαZ)×pour ppremier et αN
et permettra d’éliminer les cas 2βavec β>3
On suppose donc que (Z/nZ)×a un unique élément d’ordre 2. On considère la décomposition de nen nombre
premier
n=p1α1···psαsavec piP, pi6=pjsi i6=jet αiN.
Grâce au théorème chinois, on obtient que
(Z/nZ)×= (Z/p1α1Z)×× · · · × (Z/psαsZ)×
Supposons qu’il existe deux nombres premiers impairs pi6=pjqui apparaissent dans la décomposition de
nen facteur premier. Dans ce cas, (Z/piαiZ)×et (Z/pjαjZ)×sont deux groupes abéliens d’ordre respectif
piαi1(pi1) et pjαj1(pj1) qui sont des nombres pairs. En particulier, ils contiennent chacun un élément
d’ordre deux (qu’on note respectivement uet v). Le produit
(Z/piαiZ)××(Z/pjαjZ)×
contient donc au moins trois éléments d’ordre 2(les couples (1, v)et (u, 1) et (u, v)) et donc (Z/nZ)×aussi. On
aboutit à une contradiction. On en déduit que n= 2βpαavec β, α Net pnombre premier impair. Supposons
alors β>2et α>1. Dans ce cas, (Z/2βZ)×et (Z/pαZ)×sont deux groupes abéliens d’ordre respectif 2β1
et pα1(p1) qui sont des nombres pairs (puisque β>2). En particulier, ils contiennent chacun un élément
d’ordre deux. Comme ci-dessus, on en déduit que (Z/nZ)×contient au moins trois éléments d’ordre 2. On en
déduit que nest de la forme 2β(cas α= 0) ou pαou 2pα(cas β < 2) avec β>2(on a éliminé le cas n= 2), p
nombre premier impair et α>1.
Étudions à présent la réciproque. Supposons que n=pαavec pnombre premier impair et α>1. D’après
la proposition 7.6 de [PER], (Z/pαZ)×est cyclique d’ordre pα1(p1) qui est pair. Ainsi (Z/pαZ)×admet un
unique élément d’ordre 2. Supposons que n= 2pαavec pnombre premier impair et α>1. D’après le théorème
chinois, on a (Z/nZ)×= (Z/2Z)××(Z/pαZ)×= (Z/pαZ)×qui est cyclique d’ordre pair (comme on vient de le
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !