UPMC 2M220 Arithmétique et algèbre 2017-2018
TD complémentaire no6 - Corps finis
Exercice 1. Algorithme de Berlekamp. L’objectif de cet exercice est de présenter un algorithme permettant de factoriser un polynôme sur un corps fini. Soientpun nombre premier etn∈N∗. On poseq = pn.
1) SoitR∈Fq[X]. On pose
SR : Fq[X]/(R) −→ Fq[X]/(R) Q(X) 7→ Q(Xq)
.
Montrer que SR est bien défini, et est un morphisme d’anneaux coïncidant avec l’élévation à la puissance q dans l’anneau quotientFq[X]/(R).
Soit maintenantP ∈Fq[X]de degrémsans facteur carré. On note π : Fq[X] −→ Fq[X]/(P) la projection canonique, et on posex = π(X).
2) Montrer que la familleB =
1, x, . . . , xm−1 est uneFq-base deFq[X]/(P).
3) On va dans cette question calculer le nombrerde facteurs irréductibles deP.
a) Montrer que Fq[X]/(P)est isomorphe en tant queFq-algèbre à un produit dercorpsKi. b) Montrer que l’on ar = dim (ker (SP−id)).
4) On suppose dans cette question que l’on a r > 1. Soit V ∈ ker (SP −id) non congru modulo P à une constante. On note(α1, . . . , αr)l’image deV dansK1× · · · ×Kr. Soitα∈Fq. Montrer que l’on a
pgcd (P, V −α) = Q
{i, α=αi}
Pi .
5) En déduire que l’on a
P = Q
α∈Fq
pgcd (P, V −α) .
Le principe de l’algorithme est alors le suivant. On part d’un polynôme P à coefficients dans Fq. Si P est constant, on a fini. Sinon, on calcule le pgcd deP etP0, notéU. Plusieurs cas se présentent alors.
• SiU = 1, alorsP n’a pas de facteur carré. On détermine sa factorisation en lui appliquant les questions2 à 5un nombre fini de fois.
• Si U = P, on calculeR tel que l’on aitRp = P, et on applique l’algorithme àR.
• Sinon, on pose V = P/U. Alors U et V sont des facteurs non triviaux de P, auxquels on applique l’algorithme.
Exercice 2. Algorithme de Cantor-Zassenhaus.L’algorithme qui suit a également pour but de factoriser un polynôme sur un corps fini. Il est plus efficace que l’algorithme de Berlekamp, mais est probabiliste. Soientpun nombre premier impair etn∈N∗. On poseq = pn. SoitP ∈Fq[X]sans facteur carré.
1) Soientretmdeux entiers naturels non nuls. Montrer queqr−1 diviseqm−1si et seulement sirdivisem.
2) Soitmun entier naturel non nul. Montrer que, dansFq[X], le produit des polynômes irréductibles unitaires de degré divisant mest égal àXqm−X.
3) Montrer que le pgcd deP et deXqr −X dans Fq[X]est le produit des facteurs irréductibles deP dont le degré diviser. En déduire une façon de calculer le produit des facteurs irréductibles deP de degrém.
On suppose à présent que tous les facteurs irréductibles de P sont de degrém.
4) SoitU ∈Fq[X]. Montrer queXqm−X diviseUqm−U dansFq[X].
5) En déduire l’identité suivante
P = pgcd (P, U)·pgcd
P, Uqm−12 −1
·pgcd
Uqm2−1 + 1 .
6) Montrer que, siP est réductible, la proportion de polynômesU ∈Fq[X]unitaires de degré au plus 2m−1 tels que la décomposition ci-dessus soit triviale est inférieure à 12.
Le principe de l’algorithme est alors le suivant. Comme pour l’algorithme de Berlekamp, on peut se ramener au cas oùP n’a pas de facteur carré. En utilisant la question 3, on se ramène au cas où tous les facteurs irréductibles deP sont de même degré.
On tire alors U au hasard. Si la décomposition de la question5 est triviale, on a au plus une chance sur deux queP soit irréductible. Sinon, elle fournit une factorisation non triviale, à laquelle on peut appliquer l’algorithme. En faisant plusieurs essais sur U, on peut obtenir une probabilité d’erreur plus petite.