TP Maple 7 Arithmétique dans Z
L’Arithmétique (des entiers et des polynômes) est à la base de nom-
breuses applications en cryptographie. Nous commencerons par
exposé les commandes usuelles de Maple avant de revenir sur
les algorithmes fondamentaux de l’arithmétique dans Z(Euclide,
Euclide étendu, etc.) et de les traduire en procédures. Une excel-
lente référence pour cette seconde partie du TP est le Cours d’Al-
gèbre (primalité, divisibilité, codes) de Michel Demazure paru
aux éditions Cassini.
1 Principales commandes d’arithmétique ........... 1
2 Les algorithmes fondamentaux de l’arithmétique . . 4
2.1 La division euclidienne ..................... 4
2.2 Les algorithmes d’Euclide .................. 4
2.3 L’écriture en base bdes entiers naturels . . . . . 6
2.4 Le calcul rapide des puissances ............. 8
1. Principales commandes d’arithmétique
Maple peut manipuler des nombres comportant un très grand nombre de chiffres mais néan-
moins limité. Le nombre maximal de chiffres, maxdigits, dépend du matétiel utilisé. On y aura
accès par la commande kernelopts(maxdigits).
> kernelopts(maxdigits);
268435448
Voici un aperçu des différentes opérations possibles sur les nombres entiers :
ÏLa fonction factorielle : pour tout nN,n! se calcule au moyen de la commande factorial ou à
l’aide du symbole !.
> factorial(12), 12!;
479001600,479001600
TP Maple 7— Arithmétique dans ZLycée Janson-de-Sailly MPSI42010 - 2011
ÏDivision euclidienne : rappelons rapidement le principe de la division euclidienne : pour tous
entiers naturels net m6= 0, il existe un unique couple d’entiers naturels (q,r) vérifiant n=mq +
r et 0É |r| < |m|. On dit que qet rsont respectivement le quotient et le reste dans la division
euclidienne de npar m. On utilise les commandes irem et iquo pour calculer le reste et le quotient
de la division euclidienne 1.
> irem(23,3);
2
> irem(-3,2);
1
> -3 mod 2;
1
> iquo(23,3);
7
ÏTest de primalité : la fonction isprime permet de tester si un entier est premier 2ou non.
> isprime(23);
true
ÏDécomposition en produit de facteurs premiers 3: la fonction ifactor calcule la décomposition
en produit de facteur(s) premier(s) d’un entier donné.
> ifactor(561);
(3)(11)(17)
On a donc 561 =3×11 ×17.
1. irem et iquo sont les abréviations respectives de integer remainder et integer quotient.
2. Un nombre entier est dit premier s’il est ditinct de 1et si ses seuls diviseurs sont 1et lui-même.
3. Il s’agit du théorème fondamental de l’Arithmétique : tout nombre entier distinct de 1se décompose en produit de facteurs premiers.
http://lkcz.free.fr 2
TP Maple 7— Arithmétique dans ZLycée Janson-de-Sailly MPSI42010 - 2011
On rappelle rapidement les principales fonctions arithmétiques offertes par Maple.
Arithmétique élémentaire sous Maple
Ïirem(n,m) : renvoie un reste de ndans la division euclidienne par m.
Ïiquo(n,m) : renvoie un quotient de ndans la division euclidienne par m.
Ïigcd(n,m) : renvoie pgcd(n,m).
Ïigcdex(a,b,’u,’v’) : affecte aux variables uet vdeux entiers relatifs vérifiant ab=u·a+v·b.
Ïilcm(n,m) : renvoie ppcm(n,m).
Ïithprime(n) : renvoie le n-ième nombre premier.
Ïisprime(n) : renvoie true si nest premier, false sinon.
Ïifactor(n) : renvoie la décomposition en produit de facteur(s) premier(s) de n.
Exercice 1.
On note
S3(Z)=(xZ¯¯(x1,x2,x3)Z3,x=
3
X
k=1
x2
k)
1. Ecrire un programme renvoyant la liste des 15 plus petits éléments (au sens de la relation
d’ordre É) de S3(Z). En déduire que S3(Z) n’est pas stable par le produit.
2. Soit a,b,cet dquatre entiers relatifs tels que
a2+b2+c2+d20[8 ]
Vérifier qu’ils sont tous pairs.
3. Soit nun entier tel que n≡ −1[8 ]. Montrer que n6∈ S3(Z).
http://lkcz.free.fr 3
TP Maple 7— Arithmétique dans ZLycée Janson-de-Sailly MPSI42010 - 2011
2. Les algorithmes fondamentaux de l’arithmétique
Cette partie expose les algorithmes élémentaires de l’arithmétique. On n’utilisera pas les com-
mandes de Maple telles que igcd,irem,iquo, etc. Le principe est de redéfinir ces procédures au
moyen des algorithmes.
2.1. La division euclidienne
Rappelons le théorème de la division euclidienne :
La division euclidienne dans N
Soient aet bdeux entiers naturels tels que 0 <b. Il existe un unique couple d’entiers naturels
(q,r) tel que
a=b·q+ret 0 Ér<b
appelés respectivement quotient et reste dans la division euclidienne de apar b. On dit aussi
que ret qsont respectivement le reste et le quotient de a modulo b.
L’algorithme de la division euclidienne de apar ble plus élémentaire est fondé sur des sous-
tractions successives de bau nombre a.
Algorithme de la division euclidienne
Initialisation ½ra
q0
Tant que rÊbfaire ½rrb
qq+1
Renvoyer qet r.
A la sortie de la boucle Tant que, les entiers qet rsont respectivement égaux au quotient et au
reste dans la division euclidienne de apar b.
Exercice 2. Division euclidienne
Ecrire une procédure DivEuclide(a,b) d’arguments aNet bNrenvoyant sous forme d’une
liste [q,r] le quotient et le reste dans la division euclidienne de apar b.
2.2. Les algorithmes d’Euclide
L’algorithme d’Euclide de calcul du pgcd de deux entiers naturels aet best fondé sur la division
euclidienne. On notera able pgcd des entiers aet b. En voici le principe :
On note r0=aet r1=b. Si b=0, r0r1=a. Sinons, on effectue en cascade des divisions eucli-
diennes :
http://lkcz.free.fr 4
TP Maple 7— Arithmétique dans ZLycée Janson-de-Sailly MPSI42010 - 2011
r0=r1·q2+r2r2<r1
r1=r2·q3+r3r3<r2<r1
.
.
..
.
..
.
..
.
..
.
.
ri=ri+1·qi+2+ri+2 0 <ri+2<ri+1<ri< ··· < r1
.
.
..
.
..
.
..
.
..
.
.
rn02=rn01·qn0+rn0 0 =rn0<rn01< ·· · < r2<r1
Le processus s’arrête car les restes riforment une séquence strictement décroissante d’entiers na-
turels : il existe n0Ntel que rn0=0.
Venons-en à la remarque fondamentale : pour tout 0 ÉiÉn02, l’ensemble des diviseurs de ri
et ri+1étant égal à l’ensemble des diviseurs de ri+1et ri+2, on a
ab=r0r1=r1r2= ·· · = rn01rn0=rn01
On retiendra que le pgcd de aet best égal au dernier reste non nul dans l’algorithme d’Euclide.
Algorithme d’Euclide
Initialisation :½r0=a
r1=b
Tant que r16= 0faire
xr0
r0r1
r1reste dans la division euclidienne de xpar r0
Renvoyer r0
Exercice 3. Algorithme d’Euclide
Ecrire une procédure Euclide(a,b) d’arguments aet bdans Net renvoyant abpar l’algo-
rithme d’Euclide.
Une variante de cet algorithme permet, au-delà du calcul du pgcd dde aet b, d’obtenir les
coefficients (u,v) dans Zd’une relation de Bezout :
u·a+v·b=d
En voici le principe en reprenant les notations précédentes. On prouve par une récurrence facile
que, pour tout 0 ÉnÉn0, il existe (un,vn)Z2tel que
rn=un·a+vn·b
En effet si cette propriété est vérifiée pour tout kÉn, on a
½rn=un·a+vn·b
rn+1=un+1·a+vn+1·bet rn+2=rnqn+2·rn+1
ainsi
http://lkcz.free.fr 5
1 / 9 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 !