Sie sind auf Seite 1von 55

AAEA

Algorithme d’Euclide
Arithmétique modulaire

Guénaël Renault

SALSA - LIP6/UPMC

25 février 2008
Part I

Bibliographie

UPMC - Licence Math/Info - AAEA - 2007/08 2/31


Bibliographie

⇒ The C Programming Language de Kernighan et Ritchie


⇒ Polycopié du module LM220 de Kraus
⇒ Algorithmique algébrique de Naudin et Quitté
⇒ Modern Computer Algebra de von zur Gathen et Gerhard
⇒ Prime Numbers, A Computational Perspective de Crandall et
Pomerance
⇒ An introduction to mathematical cryptography de Hoffstein,
Pipher et Silverman

UPMC - Licence Math/Info - AAEA - 2007/08 3/31


Part II

Rappels sur l’épisode précédent

UPMC - Licence Math/Info - AAEA - 2007/08 4/31


Rappels sur l’épisode précédent

⇒ A est un anneau commutatif


⇒ Diviseur, irréductible, premier
⇒ Division euclidienne, anneau euclidien (ici euclidien = euclidien
effectif)
⇒ Anneau factoriel, factorisation
⇒ premier = irréductible dans le cas factoriel

UPMC - Licence Math/Info - AAEA - 2007/08 5/31


Part III

Relation d’équivalence, Théorème de Lagrange

UPMC - Licence Math/Info - AAEA - 2007/08 6/31


Relation d’équivalence

Une relation binaire R d’un ensemble E est une relation d’équivalence


lorsqu’elle vérifie les trois propriétés suivantes
R est réflexive : tout élément de E peut être mis en relation avec
lui même (∀x ∈ E, xRx)
R est symétrique : tout élément de E peut être mis en relation
avec les éléments qui lui sont relatifs (∀(x, y ) ∈ E 2 , xRy ⇒ y Rx)
R est transitive : une relation d’une relation est une relation
(∀(x, y , z) ∈ E 3 , xRy ∧ yRz ⇒ xRz)
Deux éléments de E qui sont mis en relation par R sont dits associés
ou équivalents pour cette relation. Soit x un élément de E, le sous
ensemble de E formé des éléments de E qui sont associés pour R est
appelé classe d’équivalence.

UPMC - Licence Math/Info - AAEA - 2007/08 7/31


Relation d’équivalence

Exemples :

Soit a, b ∈ A un anneau commutatif. aRb ⇔ aA = bA


aA = aA clair
aA = bA ⇒ bA = aA clair
aA = bA et bA = cA ⇒ aA = cA clair
Provient du fait que = est une relation d’équivalence. On peut
montrer que aA = bA est équivalent à l’assertion : ∃u inversible
dans A tq a = ub.
H < G des groupes. RH définit pour x, y ∈ G par
xRH y ⇔ xy −1 ∈ H
...

UPMC - Licence Math/Info - AAEA - 2007/08 8/31


Relation d’équivalence

Propriété de partitionnement
Soit E un ensemble et R une relation d’équivalence sur E. L’ensemble
des classes d’équivalence pour R forme une partition de E.

⇒Preuve laissée en exercice. Idée imagée :

b∈E b∈E b∈E


E = tq ∪ tq ∪ · · ·∪ tq ···
a1 Rb a2 Rb ak Rb

UPMC - Licence Math/Info - AAEA - 2007/08 9/31


Relation d’équivalence : application au théorème de
Lagrange

Théorème de Lagrange
Soit G un groupe fini et H un sous-groupe de G. Alors le cardinal de H
est un diviseur du cardinal de G. (Le cardinal d’un groupe est aussi
appelé ordre.)

Mathématicien Français de la fin du 18ème


siècle. Il développe les idées sur les
groupes (sans que la définition soit
clairement établie) de permutations pour
étudier les solutions des équations
polynomiales.

UPMC - Licence Math/Info - AAEA - 2007/08 10/31


Relation d’équivalence : application au théorème de
Lagrange
Théorème de Lagrange
Soit G un groupe fini et H un sous-groupe de G. Alors le cardinal de H
est un diviseur du cardinal de G. (Le cardinal d’un groupe est aussi
appelé ordre.)

Démonstration
Considérer la relation d’équivalence xRH y ⇔ xy −1 ∈ H
On partitionne le groupe G selon les classes de RH
On établie une application bijective entre les classes
d’équivalence.
Pour le dernier point, il suffit de voir que la classe de x est donnée par
Hx et que la bijection de G dans G définie par y 7→ yx −1 envoie les
éléments de H, la classe de e, sur les éléments de la classe de x.
UPMC - Licence Math/Info - AAEA - 2007/08 10/31
Relation d’équivalence : application au théorème de
Lagrange

Théorème de Lagrange
Soit G un groupe fini et H un sous-groupe de G. Alors le cardinal de H
est un diviseur du cardinal de G. (Le cardinal d’un groupe est aussi
appelé ordre.)

Corollaire
Tout groupe G d’ordre un nombre premier est cyclique, c’est-à-dire
engendré par un unique élément g :

G = hgi := {g k : k ∈ N}

UPMC - Licence Math/Info - AAEA - 2007/08 11/31


Part IV

PGCD

UPMC - Licence Math/Info - AAEA - 2007/08 12/31


Valuation p-adic

Soit A un anneau factoriel et P un ensemble de représentants pour


chacune des classes d’irréductibles de A selon la relation
d’équivalence x† ⇔ ∃u ∈ A× tq x = uy (relation d’association).

Décomposition unique
Pour a ∈ A non nul on a
Y
a=u pvp (a)
p∈P

où u est un inversible et les vp (a) des entiers positifs différents de 0


pour un nombre fini d’entre eux (on dit presque tous nuls).

Par exemple pour A = Z et a = 453750 :

UPMC - Licence Math/Info - AAEA - 2007/08 13/31


Valuation p-adic
Soit A un anneau factoriel et P un ensemble de représentants pour
chacune des classes d’irréductibles de A selon la relation
d’équivalence x† ⇔ ∃u ∈ A× tq x = uy (relation d’association).

Décomposition unique
Pour a ∈ A non nul on a
Y
a=u pvp (a)
p∈P

où u est un inversible et les vp (a) des entiers positifs différents de 0


pour un nombre fini d’entre eux (on dit presque tous nuls).

Par exemple pour A = Z et a = 453750 :

453750 = 226875 × 2

UPMC - Licence Math/Info - AAEA - 2007/08 13/31


Valuation p-adic
Soit A un anneau factoriel et P un ensemble de représentants pour
chacune des classes d’irréductibles de A selon la relation
d’équivalence x† ⇔ ∃u ∈ A× tq x = uy (relation d’association).

Décomposition unique
Pour a ∈ A non nul on a
Y
a=u pvp (a)
p∈P

où u est un inversible et les vp (a) des entiers positifs différents de 0


pour un nombre fini d’entre eux (on dit presque tous nuls).

Par exemple pour A = Z et a = 453750 :

453750 = 45375 × 5 × 2

UPMC - Licence Math/Info - AAEA - 2007/08 13/31


Valuation p-adic
Soit A un anneau factoriel et P un ensemble de représentants pour
chacune des classes d’irréductibles de A selon la relation
d’équivalence x† ⇔ ∃u ∈ A× tq x = uy (relation d’association).

Décomposition unique
Pour a ∈ A non nul on a
Y
a=u pvp (a)
p∈P

où u est un inversible et les vp (a) des entiers positifs différents de 0


pour un nombre fini d’entre eux (on dit presque tous nuls).

Par exemple pour A = Z et a = 453750 :

453750 = 9075 × 5 × 5 × 2

UPMC - Licence Math/Info - AAEA - 2007/08 13/31


Valuation p-adic
Soit A un anneau factoriel et P un ensemble de représentants pour
chacune des classes d’irréductibles de A selon la relation
d’équivalence x† ⇔ ∃u ∈ A× tq x = uy (relation d’association).

Décomposition unique
Pour a ∈ A non nul on a
Y
a=u pvp (a)
p∈P

où u est un inversible et les vp (a) des entiers positifs différents de 0


pour un nombre fini d’entre eux (on dit presque tous nuls).

Par exemple pour A = Z et a = 453750 :

453750 = 1815 × 5 × 5 × 5 × 2

UPMC - Licence Math/Info - AAEA - 2007/08 13/31


Valuation p-adic
Soit A un anneau factoriel et P un ensemble de représentants pour
chacune des classes d’irréductibles de A selon la relation
d’équivalence x† ⇔ ∃u ∈ A× tq x = uy (relation d’association).

Décomposition unique
Pour a ∈ A non nul on a
Y
a=u pvp (a)
p∈P

où u est un inversible et les vp (a) des entiers positifs différents de 0


pour un nombre fini d’entre eux (on dit presque tous nuls).

Par exemple pour A = Z et a = 453750 :

453750 = 363 × 5 × 5 × 5 × 5 × 2

UPMC - Licence Math/Info - AAEA - 2007/08 13/31


Valuation p-adic
Soit A un anneau factoriel et P un ensemble de représentants pour
chacune des classes d’irréductibles de A selon la relation
d’équivalence x† ⇔ ∃u ∈ A× tq x = uy (relation d’association).

Décomposition unique
Pour a ∈ A non nul on a
Y
a=u pvp (a)
p∈P

où u est un inversible et les vp (a) des entiers positifs différents de 0


pour un nombre fini d’entre eux (on dit presque tous nuls).

Par exemple pour A = Z et a = 453750 :

453750 = 121 × 3 × 5 × 5 × 5 × 5 × 2

UPMC - Licence Math/Info - AAEA - 2007/08 13/31


Valuation p-adic
Soit A un anneau factoriel et P un ensemble de représentants pour
chacune des classes d’irréductibles de A selon la relation
d’équivalence x† ⇔ ∃u ∈ A× tq x = uy (relation d’association).

Décomposition unique
Pour a ∈ A non nul on a
Y
a=u pvp (a)
p∈P

où u est un inversible et les vp (a) des entiers positifs différents de 0


pour un nombre fini d’entre eux (on dit presque tous nuls).

Par exemple pour A = Z et a = 453750 :

453750 = 11 × 11 × 3 × 5 × 5 × 5 × 5 × 2

UPMC - Licence Math/Info - AAEA - 2007/08 13/31


Valuation p-adic
Soit A un anneau factoriel et P un ensemble de représentants pour
chacune des classes d’irréductibles de A selon la relation
d’équivalence x† ⇔ ∃u ∈ A× tq x = uy (relation d’association).

Décomposition unique
Pour a ∈ A non nul on a
Y
a=u pvp (a)
p∈P

où u est un inversible et les vp (a) des entiers positifs différents de 0


pour un nombre fini d’entre eux (on dit presque tous nuls).

Par exemple pour A = Z et a = 453750 :

453750 = 112 × 3 × 54 × 2

UPMC - Licence Math/Info - AAEA - 2007/08 13/31


Valuation p-adic

Y
a=u pvp (a)
p∈P

Définition
A tout élément p ∈ P d’un anneau factoriel A est associé une fonction
vp : A 7→ N ∪ {∞} définie comme suit : Pour a 6= 0 l’entier vp (a) est
égal à la puissance de p dans la décomposition de a si p divise a et
pour a = 0 on aura par convention vp (a) = ∞. L’entier vp (a) est la
valuation p-adic de a.

UPMC - Licence Math/Info - AAEA - 2007/08 14/31


Valuation p-adic
Définition
A tout élément p ∈ P d’un anneau factoriel A est associé une fonction
vp : A 7→ N ∪ {∞} définie comme suit : Pour a 6= 0 l’entier vp (a) est
égal à la puissance de p dans la décomposition de a si p divise a et
pour a = 0 on aura par convention vp (a) = ∞. L’entier vp (a) est la
valuation p-adic de a.

Par exemple pour A = Z et a = 453750 :

453750 = 11 × 11 × 3 × 5 × 5 × 5 × 5 × 2
v2 (a) = 1
v3 (a) = 1
v5 (a) = 4
v11 (a) = 2
vp (a) = 0 pour tout autre premier p
⇒ vp (0) = ∞ a un sens
UPMC - Licence Math/Info - AAEA - 2007/08 15/31
Valuation p-adic : propriétés

Soit a et b deux éléments d’un anneau factoriel A et P un ensemble de


représentants des irréductibles de A.
vp (ab) = vp (a) + vp (b)
vp (a + b) > min(vp (a), vp (b)) avec égalité lorsque les valuations
sont différentes
a est un diviseur de b ssi ∀p ∈ P : vp (a) 6 vp (b)

Exemples : A = Z, a = 112 × 5, b = 112 × 3 × 2, c = 112 × 5 × 3

UPMC - Licence Math/Info - AAEA - 2007/08 16/31


Valuation p-adic : propriétés

Soit a et b deux éléments d’un anneau factoriel A et P un ensemble de


représentants des irréductibles de A.
vp (ab) = vp (a) + vp (b)
vp (a + b) > min(vp (a), vp (b)) avec égalité lorsque les valuations
sont différentes
a est un diviseur de b ssi ∀p ∈ P : vp (a) 6 vp (b)

Exemples : A = Z, a = 112 × 5, b = 112 × 3 × 2, c = 112 × 5 × 3

v11 (ab) = 4, v5 (ab) = 1, v3 (ab) = 1

UPMC - Licence Math/Info - AAEA - 2007/08 16/31


Valuation p-adic : propriétés

Soit a et b deux éléments d’un anneau factoriel A et P un ensemble de


représentants des irréductibles de A.
vp (ab) = vp (a) + vp (b)
vp (a + b) > min(vp (a), vp (b)) avec égalité lorsque les valuations
sont différentes
a est un diviseur de b ssi ∀p ∈ P : vp (a) 6 vp (b)

Exemples : A = Z, a = 112 × 5, b = 112 × 3 × 2, c = 112 × 5 × 3

v11 (a + b) = v11 (112 (5 + 2 × 3)) = v11 (112 (11)) = 3


v11 (a + c) = v11 (112 (5 + 5 × 3)) = v11 (112 (20)) = 2

UPMC - Licence Math/Info - AAEA - 2007/08 16/31


Valuation p-adic : propriétés

Soit a et b deux éléments d’un anneau factoriel A et P un ensemble de


représentants des irréductibles de A.
vp (ab) = vp (a) + vp (b)
vp (a + b) > min(vp (a), vp (b)) avec égalité lorsque les valuations
sont différentes
a est un diviseur de b ssi ∀p ∈ P : vp (a) 6 vp (b)

Exemples : A = Z, a = 112 × 5, b = 112 × 3 × 2, c = 112 × 5 × 3

v11 (ab) = 4, v5 (ab) = 1, v3 (ab) = 1

c | ab

UPMC - Licence Math/Info - AAEA - 2007/08 16/31


PGCD

Soit a et b deux éléments d’un anneau factoriel A et P un ensemble


représentant les irréductibles de A.

Définition
Le plus grand diviseur commun de a et b est l’élément d définit par
Y
d := pmin(vp (a)vp (b))
p∈P
et est noté pgcd(a, b).

Exemples : A = Z, a = 112 × 5, b = 112 × 3 × 2, c = 112 × 5 × 3

UPMC - Licence Math/Info - AAEA - 2007/08 17/31


PGCD
Soit a et b deux éléments d’un anneau factoriel A et P un ensemble
représentant les irréductibles de A.

Définition
Le plus grand diviseur commun de a et b est l’élément d définit par
Y
d := pmin(vp (a)vp (b))
p∈P
et est noté pgcd(a, b).

Exemples : A = Z, a = 112 × 5, b = 112 × 3 × 2, c = 112 × 5 × 3

pgcd(ab) = 112

UPMC - Licence Math/Info - AAEA - 2007/08 17/31


PGCD
Soit a et b deux éléments d’un anneau factoriel A et P un ensemble
représentant les irréductibles de A.

Définition
Le plus grand diviseur commun de a et b est l’élément d définit par
Y
d := pmin(vp (a)vp (b))
p∈P
et est noté pgcd(a, b).

Exemples : A = Z, a = 112 × 5, b = 112 × 3 × 2, c = 112 × 5 × 3

pgcd(ac) = a

UPMC - Licence Math/Info - AAEA - 2007/08 17/31


PGCD
Soit a et b deux éléments d’un anneau factoriel A et P un ensemble
représentant les irréductibles de A.

Définition
Le plus grand diviseur commun de a et b est l’élément d définit par
Y
d := pmin(vp (a)vp (b))
p∈P
et est noté pgcd(a, b).

Exemples : A = Z, a = 112 × 5, b = 112 × 3 × 2, c = 112 × 5 × 3

pgcd(bc) = 112 × 3

UPMC - Licence Math/Info - AAEA - 2007/08 17/31


PGCD

⇒ Une fois que l’ensemble P des représentants des irréductibles de A


est fixé, le pgcd est unique. (Dans le cas A = Z les représentants sont
positifs, il en sera donc de même pour le pgcd.)

⇒ Le pgcd(a, b) est maximal pour la divisibilité comme l’indique son


nom : max(Div (a) ∩ Div (b)) avec Div (a) l’ensemble (fini) des diviseurs
de a.

Caractérisation
d = pgcd(a, b) si et seulement si l’assertion suivante est vérifiée :

si c divise a et b alors c’est un diviseur de d

UPMC - Licence Math/Info - AAEA - 2007/08 18/31


Part V

Calcul du PGCD : algorithme d’Euclide

UPMC - Licence Math/Info - AAEA - 2007/08 19/31


Calculer le PGCD : Euclide
Mathématicien grec (né vers -325, mort
vers -265 à Alexandrie, Grèce antique),
auteur (supposé) des Éléments, ouvrage
fondateur des mathématiques modernes. Il
était avant tout géomètre, comme tous les
mathématiciens grecs de l’antiquité !

14

UPMC - Licence Math/Info - AAEA - 2007/08 20/31


Calculer le PGCD : Euclide
Mathématicien grec (né vers -325, mort
vers -265 à Alexandrie, Grèce antique),
auteur (supposé) des Éléments, ouvrage
fondateur des mathématiques modernes. Il
était avant tout géomètre, comme tous les
mathématiciens grecs de l’antiquité !

UPMC - Licence Math/Info - AAEA - 2007/08 20/31


Calculer le PGCD : Euclide
Mathématicien grec (né vers -325, mort
vers -265 à Alexandrie, Grèce antique),
auteur (supposé) des Éléments, ouvrage
fondateur des mathématiques modernes. Il
était avant tout géomètre, comme tous les
mathématiciens grecs de l’antiquité !

UPMC - Licence Math/Info - AAEA - 2007/08 20/31


Calculer le PGCD : Euclide

Mathématicien grec (né vers -325, mort


vers -265 à Alexandrie, Grèce antique),
auteur (supposé) des Éléments, ouvrage
fondateur des mathématiques modernes. Il
était avant tout géomètre, comme tous les
mathématiciens grecs de l’antiquité !

UPMC - Licence Math/Info - AAEA - 2007/08 20/31


Calculer le PGCD : Euclide

Mathématicien grec (né vers -325, mort


vers -265 à Alexandrie, Grèce antique),
auteur (supposé) des Éléments, ouvrage
fondateur des mathématiques modernes. Il
était avant tout géomètre, comme tous les
mathématiciens grecs de l’antiquité !

2 pgcd

UPMC - Licence Math/Info - AAEA - 2007/08 20/31


Calculer le PGCD
⇒ Plus d’efficacité : division euclidienne dans l’anneau A à la place de
retrancher
L’anneau A est donc supposé euclidien (de fonction d fixée). Pour
calculer le pgcd de deux éléments a et b tels que d(b) < d(a).

Schéma de calcul d’Euclide


Posant r0 = a et r1 = b on calcule jusqu’à obtenir un reste nul.
1 si r1 6= 0 on a r0 = r1 q1 + r2 avec d(r2 ) < d(r1 )
2 si r2 =6 0 on a r1 = r2 q2 + r3 avec d(r3 ) < d(r2 )
..
.
n si rn−1 6= 0 on a rn−1 =rn qn + rn+1 avec rn+1 = 0 et d(r3 ) < d(r2 )

Algorithme d’Euclide
Le dernier reste non nul rn est égal au pgcd de a et b.
UPMC - Licence Math/Info - AAEA - 2007/08 21/31
Algorithme d’Euclide
Ce schéma se traduit immédiatement en C pour les entiers.
#include<s t d i o . h>
#include<math . h>

i n t main ( ) {
i n t a , b , tmp , r0 , r 1 ;
p r i n t f ( ” E n t r e r deux e n t i e r s p o s i t i f s a > b > 0 : ” ) ;
s c a n f ( ”%d ” ,&a ) ;
s c a n f ( ”%d ” ,&b ) ;

r 0 =a ;
r 1 =b ;
while ( r 1 ! = 0 ) {
tmp= r 1 ;
r1=r0 % r1 ;
r 0 =tmp ;
}
p r i n t f ( ” \nLe pgcd de %d e t %d e s t %d\n ” , a , b , r 0 ) ;

return 0;
}

UPMC - Licence Math/Info - AAEA - 2007/08 22/31


Algorithme d’Euclide : démonstration

⇒ Terminaison : c’est immédiat puisque les ri vont en diminuant selon


leur valeur par d.

⇒ Correction : pour montrer la correction nous calculons des pgcd


suivant le schéma précédent :
pgcd(a, b) = pgcd(r0 , r1 ) = pgcd(r1 q1 + r2 , r1 ) = pgcd(r2 , r1 ) = . . .

UPMC - Licence Math/Info - AAEA - 2007/08 23/31


Théorème de Bachet Bézout

⇒ L’algorithme d’Euclide calcule plus que le pgcd

Relation de Bézout
Soit a et b deux éléments d’un anneau euclidien A. Il existe deux
élément u et v tel que

pgcd(a, b) = ua + vb.

⇒ Les coefficients u et v sont appelés les coefficients de Bézout


⇒ Le théorème de Bachet Bézout a de nombreuses applications.

UPMC - Licence Math/Info - AAEA - 2007/08 24/31


Théorème de Bachet Bézout : démonstration

On utilise le schéma d’Euclide.


En construisant des relations linéaires entre ri , a et b pour
26i 6n
Pour i = 2 nous avons r2 = r0 − r1 q1 avec r0 = a et r1 = b et donc

r2 = a − q1 b

On suppose avoir la relation ri = ui a + vi b pour i > 2. On a

ri+1 = ri−1 − qi ri = (ui−1 − qi ui )a + (vi−1 − qi vi )b

On déduit le résultat par le théorème précédent par la correction


de l’algorithme d’Euclide.

UPMC - Licence Math/Info - AAEA - 2007/08 25/31


Algorithme d’Euclide Etendu

La démonstration du théorème de Bachet Bézout permet de déduire


une formule de récurrence pour calculer les coefficient de Bézout de a
et b et le pgcd(a, b). Cette formule se traduit sous la forme d’un
algorithme :

Algorithme d’Euclide étendu



 u0 = 1, v0 = 0, r0 = a
u1 = 0, v1 = 1, r1 = b
ui+1 = ui−1 − qi ui , vi+1 = vi−1 − qi vi , ri+1 = ri−1 − qi ri i >1

⇒Représentation matricielle :
    
u, v , ri+1 −qi 1 u, v , ri
=
u, v , ri 1 0 u, v , ri−1

UPMC - Licence Math/Info - AAEA - 2007/08 26/31


Algorithme Euclide étendu : mise en pratique !

Comment trouver les solutions (x, y ) (si elles existent) de l’équation


diophantienne ?

30003x + 2345y = 15

UPMC - Licence Math/Info - AAEA - 2007/08 27/31


Algorithme Euclide étendu : mise en pratique !

Comment trouver les solutions (x, y ) (si elles existent) de l’équation


diophantienne ?

30003x + 2345y = 15
Calcul pratique du pgcd étendu (à la main):
i ri−1 ri qi ri+1 ui+1 vi+1
1 30003 2345 12 1863 1 -12
2 2345 1863 ? ? ? ?
3 ? ? ? ? ? ?
.. .. .. .. .. .. ..
. . . . . . .

UPMC - Licence Math/Info - AAEA - 2007/08 27/31


Algorithme Euclide étendu : mise en pratique !
Comment trouver les solutions (x, y ) (si elles existent) de l’équation
diophantienne ?

30003x + 2345y = 15
Calcul pratique du pgcd étendu (à la main):
i ri−1 ri qi ri+1 ui+1 vi+1
1 30003 2345 12 1863 1 -12
2 2345 1863 1 482 -1 13
3 1863 482 3 417 4 -51
4 482 417 1 65 -5 64
5 417 65 6 27 34 -435
6 65 27 2 11 -73 934
7 27 11 2 5 180 -2303
8 11 5 2 1 -433 5540
9 5 1 5 0 2345 -30003
UPMC - Licence Math/Info - AAEA - 2007/08 27/31
Algorithme Euclide étendu : mise en pratique !
Comment trouver les solutions (x, y ) (si elles existent) de l’équation
diophantienne ?

30003x + 2345y = 15
Calcul pratique du pgcd étendu (à la main):
i ri−1 ri qi ri+1 ui+1 vi+1
1 30003 2345 12 1863 1 -12
.. .. .. .. .. ..
. . . . . . 2303
8 11 5 2 1 -433 5540
9 5 1 5 0 2345 -30003

⇒On en déduit que −433 × 30003 + 5540 × 2345 = 1


⇒(−433 + 2345k ) × 30003 + (5540 − 30003k) × 2345 = 1 pour tout
k ∈Z
UPMC - Licence Math/Info - AAEA - 2007/08 27/31
Algorithme Euclide étendu : mise en pratique !

Comment trouver les solutions (x, y ) (si elles existent) de l’équation


diophantienne ?

30003x + 2345y = 15

Les solutions sont :


{(15(−433 + 2345k ), 15(5540 − 30003k)) : k ∈ Z}

UPMC - Licence Math/Info - AAEA - 2007/08 27/31


Part VI

Complexité de l’algorithme d’Euclide A = Z

UPMC - Licence Math/Info - AAEA - 2007/08 28/31


Nombre de boucles : le pire cas (pour une taille
donnée) !

⇒Quand on ne peut pas faire mieux qu’utiliser la version simple


d’Euclide (graphique) : dans ce cas la division euclidienne est
remplacée par une soustraction.
Exemple : pour a = 13 et b = 8 :

13 = 1×8+5
8 = 1×5+3
5 = 1×3+2
3 = 1×2+1
2 = 2×1+0

⇒ Le nombre de calcul est maximal car les quotient sont tous (sauf le
dernier) réduit à 1.

UPMC - Licence Math/Info - AAEA - 2007/08 29/31


Nombre de boucles : le pire cas (pour une taille
donnée) !
⇒Quand on ne peut pas faire mieux qu’utiliser la version simple
d’Euclide (graphique) : dans ce cas la division euclidienne est
remplacée par une soustraction.
Plus généralement : cette propriété est vraie pour tout couple
Fn+2 , Fn+1 de nombres de Fibonaci
13

3 2

⇒ Par définition, ces couples sont les pires cas.


UPMC - Licence Math/Info - AAEA - 2007/08 29/31
Nombre de boucles : les nombres de Fibonacci

Définition

 F0 = 0
F1 = 1
Fn+2 = Fn+1 + Fn

Propriétés
√ √
(φn −φ̂n ) 1+ 5 1− 5
Fn = √
5
avec φ = 2 et φ̂ = 2 .
Le calcul de pgcd(Fn+2 , Fn+1 ) par l’algorithme d’Euclide demande
exactement n itérations.
De plus pgcd(Fn+2 , Fn+1 ) = 1

UPMC - Licence Math/Info - AAEA - 2007/08 30/31


Nombre de boucles : le cas général

Théorème
Soit a > b > 0. Si le calcul pgcd(a, b) demande n itérations alors

a > Fn+2 et b > Fn+1

Corollaire (Théorème de Lamé)


n + 2 < O(log(a)) et n + 1 < O(log(b))

⇒ Le théorème de Lamé donne la meilleure constante possible dans


le O (5 dans le cas des chiffres décimaux).
⇒ On se rappellera que le nombre d’itérations est de l’ordre de log(b)
i.e la taille (le nombre de chiffres) de la plus petite opérande.
UPMC - Licence Math/Info - AAEA - 2007/08 31/31

Das könnte Ihnen auch gefallen