Travaux pratiques
P = x 5 + 2 obtenue à la question précédente, et la méthode échoue. On y remédie en introduisant la transformée de Tschirnhausen de P .
L’idée est la suivante : Soit a de polynôme minimal P et b = Q(a), où
Q ∈ Z[x] est de degré inférieur strictement au degré de P . On a vu au TP.XI
que le polynôme minimal de b est la partie sans facteur carré du résultant
P 1 = Res y (P (y), x − Q(y)) qui est de même degré (en x) que P . Donc si P 1
est sans facteur carré, alors b est un élément primitif de Q(a)/Q, de polynôme
minimal P 1 ∈ Z[x]. On remplace alors P par P 1 , ce qui ne change pas le corps
de décomposition, puisque ce dernier est la clôture galoisienne de Q(a) dans C
et Q(a) = Q(b). C’est ce que l’on appelle une transformée de Tschirnhausen.
On peut démontrer (mais nous ne le ferons pas, l’essentiel étant de prouver
l’exactitude de la méthode, ce qui vient d’être dit) qu’il existe des choix de
Q qui conviennent. En pratique, nous verrons que la méthode aboutit très
rapidement, avec Q pris au hasard.
Écrire une procédure tschirn:=proc(P) effectuant une transformation de Tschirnhausen. On tirera Q au hasard par une commande
randpoly(x,degree=d), d étant lui-même pris au hasard (commande
d:=rand(0..degree(P)-1)()). Faire un essai avec P = x 4 + 1 et en déduire
le groupe de Galois Gal(P ) en appliquant test_resolvante2.
Poursuivre et écrire une procédure tschirnR:=proc(P,G,N) renvoyant
la résolvante d’une transformée de Tschirnhausen de P , calculée via
resolvante3P. Oberserver la résultante obtenue sur l’exemple précédent :
il y a explosion de la taille des coefficients. Enfin, écrire une procédure
test_resolvante4:=proc(P,G,N), utilisant tschirnR, décidant à tous les
coups si Gal(P ) est un sous-groupe d’un conjugué de G.
Qu’obtient-on avec P = x 5 + 2 et G = M 20 ? Comparer avec le résultat de la
commande galois. Comprenez-vous ce qui se passe ? ! (Afficher la résolvante.)
Essayer d’y remédier en augmentant la précision N des calculs (vous risquez
de dépasser les capacités de Maple).
Il s’agit de travailler, sur ce cas particulier, avec une meilleure résolvante.
Prendre f = x 2
1 (x 2 x 5 + x 3 x 4 ) (après avoir vérifié) et calculer la résolvante
générale R via resolvante, puis la M 20 -résolvante de P correspondante. On
pourra écrire une dernière procédure resolvante5P:=proc(P,G,R,N) calculant la G-résolvante de P correspondant à la résolvante générale R à l’aide des
approximations numériques des racines. Conclure.
Remarque. Il est donc possible de calculer les groupes de Galois de polynômes de
petits degrés en utilisant uniquement des résolvantes. Le lecteur trouvera dans [9]
427
P = x 5 + 2 obtenue à la question précédente, et la méthode échoue. On y remédie en introduisant la transformée de Tschirnhausen de P .
L’idée est la suivante : Soit a de polynôme minimal P et b = Q(a), où
Q ∈ Z[x] est de degré inférieur strictement au degré de P . On a vu au TP.XI
que le polynôme minimal de b est la partie sans facteur carré du résultant
P 1 = Res y (P (y), x − Q(y)) qui est de même degré (en x) que P . Donc si P 1
est sans facteur carré, alors b est un élément primitif de Q(a)/Q, de polynôme
minimal P 1 ∈ Z[x]. On remplace alors P par P 1 , ce qui ne change pas le corps
de décomposition, puisque ce dernier est la clôture galoisienne de Q(a) dans C
et Q(a) = Q(b). C’est ce que l’on appelle une transformée de Tschirnhausen.
On peut démontrer (mais nous ne le ferons pas, l’essentiel étant de prouver
l’exactitude de la méthode, ce qui vient d’être dit) qu’il existe des choix de
Q qui conviennent. En pratique, nous verrons que la méthode aboutit très
rapidement, avec Q pris au hasard.
Écrire une procédure tschirn:=proc(P) effectuant une transformation de Tschirnhausen. On tirera Q au hasard par une commande
randpoly(x,degree=d), d étant lui-même pris au hasard (commande
d:=rand(0..degree(P)-1)()). Faire un essai avec P = x 4 + 1 et en déduire
le groupe de Galois Gal(P ) en appliquant test_resolvante2.
Poursuivre et écrire une procédure tschirnR:=proc(P,G,N) renvoyant
la résolvante d’une transformée de Tschirnhausen de P , calculée via
resolvante3P. Oberserver la résultante obtenue sur l’exemple précédent :
il y a explosion de la taille des coefficients. Enfin, écrire une procédure
test_resolvante4:=proc(P,G,N), utilisant tschirnR, décidant à tous les
coups si Gal(P ) est un sous-groupe d’un conjugué de G.
Qu’obtient-on avec P = x 5 + 2 et G = M 20 ? Comparer avec le résultat de la
commande galois. Comprenez-vous ce qui se passe ? ! (Afficher la résolvante.)
Essayer d’y remédier en augmentant la précision N des calculs (vous risquez
de dépasser les capacités de Maple).
Il s’agit de travailler, sur ce cas particulier, avec une meilleure résolvante.
Prendre f = x 2
1 (x 2 x 5 + x 3 x 4 ) (après avoir vérifié) et calculer la résolvante
générale R via resolvante, puis la M 20 -résolvante de P correspondante. On
pourra écrire une dernière procédure resolvante5P:=proc(P,G,R,N) calculant la G-résolvante de P correspondant à la résolvante générale R à l’aide des
approximations numériques des racines. Conclure.
Remarque. Il est donc possible de calculer les groupes de Galois de polynômes de
petits degrés en utilisant uniquement des résolvantes. Le lecteur trouvera dans [9]
427
