Math

1378 mots 6 pages
Licence de Mathématiques Algèbre effective

Université de Nice-Sophia Antipolis 2012-2013

TP2 : Relations de Bézout et Applications
N'oubliez pas d'exécuter (valider avec la touche Entrée) les commandes Maple (texte en rouge) avant de les utiliser. Les exercices en petits caractères sont facultatifs.

Calcul des coefficients de Bézout
On peut modifier les fonctions de calcul de pgcd précédemment programmées : Commençons par la version itérative > BezoutIter:=proc(a0,b0) local q,r,a,b,u0,v0,u1,v1,u,v; a:=a0;b:=b0;u0:=1;v0:=0;u1:=0;v1:=1; while b0 do q:=iquo(a,b);r:=irem(a,b); u:=u0-q*u1;v:=v0-q*v1; a:=b;b:=r;u0:=u1;v0:=v1;u1:=u;v1:=v od; a,u0,v0 end: > BezoutIter(456,123); 3, 17, -63 La version récursive est plus délicate puisqu'il faut lui donner toute l'initialisation dans les paramètres : > BezoutRec:=proc(a,b,u0,v0,u1,v1) local q; if b=0 then a,u0,v0 else q:=iquo(a,b);BezoutRec(b,irem(a,b),u1,v1,u0-q*u1,v0-q*v1) fi end: > BezoutRec(456,123,1,0,0,1); 3, 17, -63 C'est un peu désagréable et source d'erreur si l'utilisateur se trompe dans l'initialisation. On peut contourner le problème en écrivant une fonction qui appelle la fonction récursive correctement initialisée : > Bezout:=proc(a,b) BezoutRec(a,b,1,0,0,1) end: > Bezout(456,123); 3, 17, -63 On peut aussi utiliser la fonction igcdex de Maple : > igcdex(456,123,'u','v');
Page 1

3

qui rend le pgcd mais en plus > u,v,u*456+v*123; 17, -63, 3 met des coefficients de Bézout dans les variables dont les noms sont donnés entre apostrophes. Exercice 1 : écrire une fonction qui prenne en entrée les deux entiers a, b et rende le pgcd et la famille des coefficients de Bézout > Bezouts(456,123); 3, 17 + 41 l, -63 - 152 l Comparez avec les solutions données par isolve (?isolve). Solution > Bezouts:=proc(a,b) local d,u,v; d:=igcdex(a,b,'u','v'); d,u+`k`*iquo(b,d),v-`k`*iquo(a,d) end: > Bezouts(456,123); 3, 17 + 41 k, -63 - 152 k > isolve(456*us+123*vs=igcd(456,123)); { vs = -63 - 152 _N1, us = 17 + 41 _N1 }

en relation

  • Math
    1717 mots | 7 pages
  • Math
    1270 mots | 6 pages
  • Math
    764 mots | 4 pages
  • Math
    477 mots | 2 pages
  • Math
    808 mots | 4 pages
  • Math
    301 mots | 2 pages
  • Math
    1008 mots | 5 pages
  • Math
    881 mots | 4 pages
  • Math
    18048 mots | 73 pages
  • Math
    257 mots | 2 pages
  • Math
    644 mots | 3 pages
  • Math
    309 mots | 2 pages
  • Math
    766 mots | 4 pages
  • Math
    250 mots | 1 page
  • Math
    727 mots | 3 pages