en pdf

advertisement
Licence de Mathématiques 2008-2009
L3 Algèbre effective
td 5 : Pgcd de polynômes à une variable
Calcul du pgcd et relation de Bézout de polynômes à une variable
On va constater que le calcul du pgcd et de la relation de Bézout en utilisant le même
algorithme d’Euclide que sur les entiers pose sur les polynômes à une variable des problèmes de
croissance des coefficients.
Exercice 1 : Ecrire deux fonctions, une récursive et une itérative, qui prennent en entrée deux
polynômesa et b en la variable x et rendent le pgcd de a et b , vous aurez besoin de la
fonction rem . Tester sur les polynômes suivants :
> p1:=x^8+randpoly(x);p2:=randpoly(x);
Vous pouvez consulter l’aide sur randpoly pour savoir ce que fait cette fonction et quelles sont
ses options.
Exercice 2 : Ce que les tests nous apprennent est que le pgcd de p1 et p2 est une constante, p1 et
p2 sont premiers entre eux, on pourrait dire pgcd(p1,p2)=1.
Le pgcd de deux polynômes est-il déterminé de manière unique ?
Le moins qu’on puisse dire est que l’algorithme d’Euclide ne rend pas une constante simple !
Pour mieux comprendre ce qui se passe, modifiez vos fonctions pour qu’elles affichent chaque
reste calculé (vous aurez besoin de la fonction print ) et recommencez les tests.
Exercice 3 : Constatez que le dénominateur qui apparaît dans le premier reste est le coefficient du
monôme de tête du premier diviseur à la puissance 4, le nombre d’étapes de cette première
division. Avez-vous une explication ?
On voudrait éviter l’apparition de fractions : les calculs avec des fractions sont plus coûteux que
les calculs sur les entiers (pourquoi ?).
Montrez qu’on peut multiplier les polynômes intervenant dans le calcul par des constantes non
nulles et que l’algorithme calcule toujours un pgcd des polynômes de départ.
A chaque étape de l’algorithme d’Euclide, à chaque division, étant donné un dividende et un
diviseur à coefficients entiers on va multiplier le dividende par une puissance suffisante du
coefficient du monôme de tête du diviseur pour que le reste soit à coefficients entiers. Donnez une
formule pour ce coefficient multiplicateur.
Adaptez vos fonctions en ce sens (vous aurez besoin des fonctions coeff ou lcoeff et degree )
et refaites les tests.
Exercice 4 : Les coefficients restent entiers mais ils deviennent très grands !
Il existe des variantes plus compliquées de l’algorithme d’Euclide qui conservent des
coefficients entiers tout en évitant leur croissance rapide : on peut par exemple extraire le pgcd
des coefficients, c’est ce qui donnera les plus petits coefficients entiers, mais ce calcul est
coûteux.
Remarquez expérimentalement sur plusieurs exemples que le coefficient par lequel on multiplie
le dividende à une étape divise tous les coefficients du reste de l’étape suivante. On peut donc
faire cette division systématiquement.
Adaptez vos fonctions pour qu’elles fassent cette simplification.
Exercice 5 : Estimez la loi de croissance des coefficients dans l’exercice 3 et dans l’exercice 4.
Exercice 6 : Recommencez le travail pour le calcul des coefficients de Bézout : algorithme naïf puis on évite
l’apparition de fractions, puis on évite l’apparition de fractions et on contrôle la croissance des coefficients.
Téléchargement