159. ALGORITHME D’EUCLIDE. CALCUL DE PGCD ET DE COEFFICIENTS DE BÉZOUT. APPLICATIONS. I.

publicité
159.
ALGORITHME D’EUCLIDE.
CALCUL DE PGCD ET DE COEFFICIENTS DE BÉZOUT. APPLICATIONS.
Prérequis : anneaux, anneaux principaux, divisibilité
I.
Anneaux euclidiens
[Skandalis algèbre p.18]
DÉF-1. Un anneau 𝐴 commutatif et intègre est euclidien s’il existe une application 𝑠 de 𝐴\{0} dans ℕ
tel que pour tout 𝑎 de 𝐴, et pour tout 𝑏 de 𝐴\{0}, il existe 𝑞 et 𝑟 dans 𝐴 tels que 𝑎 = 𝑏𝑞 + 𝑟
avec 𝑟 = 0 ou 𝑠(𝑟) < 𝑠(𝑏).
DÉF-2. L’application 𝑠 est appelée stathme de l’anneau euclidien 𝐴.
DÉF-3. L’égalité 𝑎 = 𝑏𝑞 + 𝑟 est appelée division euclidienne de 𝑎 par 𝑏 dans 𝐴.
EX-4. Les anneaux ℤ, 𝕂[𝑋] et ℤ[𝑖] sont euclidiens de stathmes respectifs la valeur absolue, le degré
et le module.
PROP-5. Tout anneau euclidien est principal (ie tout idéal de cet anneau est principal).
COR-6. Dans l’anneau ℤ[𝑋], il n’y a pas de division euclidienne.
Par commodité, les définitions et algorithmes seront présentés par la suite dans l’anneau ℤ.
II.
PGCD et algorithme d’Euclide
[Skandalis algèbre p.2]
DÉF-7. Soit (𝑎, 𝑏) ∈ ℤ²\{(0; 0)}. On appelle PGCD de 𝑎 et 𝑏 le générateur de 𝑎ℤ + 𝑏ℤ, noté 𝑎 ∧ 𝑏.
LEM-8. Soit (𝑎, 𝑏) ∈ ℤ²\{(0; 0)}.
Alors 𝑎 ∧ 𝑏 = 𝑏 ∧ 𝑟 où 𝑟 est le reste de la division euclidienne de 𝑎 par 𝑏.
ALGO-9. (D’EUCLIDE) Soit (𝑎, 𝑏) ∈ ℤ²\{(0; 0)}.
 Si 𝑎 = 0 alors 𝑎 ∧ 𝑏 = 𝑏.
 Si 𝑏 = 0 alors 𝑎 ∧ 𝑏 = 𝑎.
 Si 𝑎 = 𝑏 alors 𝑎 ∧ 𝑏 = 𝑎 = 𝑏.
 Si 𝑎 ≠ 0 et 𝑏 ≠ 0, supposons |𝑎| > |𝑏| > 0. On définit la suite (rn) par : 𝑟0 = 𝑎 ; 𝑟1 = 𝑏 ;
et ∀𝑛 ≥ 2, tant que cela a un sens :
𝑟𝑛 est le reste de la division de 𝑟𝑛−2 par 𝑟𝑛−1 .
Alors il existe un rang 𝑁 pour lequel 𝑟𝑁+1 = 0 et on a : 𝑎 ∧ 𝑏 = 𝑟𝑁 .
EX-10. Montrer que 213 et 13 sont premiers entre eux à l’aide de l’algorithme d’Euclide.
EX-11. Calculer les PGCD de 𝑋 3 − 1 et de 𝑋 2 − 3𝑋 + 2 dans l’anneau ℝ[𝑋].
EX-12. Calculer les PGCD de 4 + 12𝑖 et 9 + 3𝑖 dans l’anneau ℤ[𝑖].
THM-13. (DE LAMÉ) Le nombre d’étapes de l’algorithme d’Euclide ne dépasse pas 5𝑘 où 𝑘 est le
nombre de chiffres de 𝑏 en base 10.
III.
Coefficients de Bézout et algorithme d’Euclide étendu
THM-14. (DE BACHET-BÉZOUT)
Pour tout (𝑎, 𝑏) ∈ ℤ²\{(0; 0)}, il existe des entiers 𝑢 et 𝑣 tels que 𝑎𝑢 + 𝑏𝑣 = 𝑎 ∧ 𝑏.
THM-15. (DE BÉZOUT)
Dans le cas 𝑑 = 1, l’implication ci-dessus est en fait une équivalence :
𝑎 ∧ 𝑏 = 1 si et seulement s’il existe des entiers 𝑢 et 𝑣 tels que 𝑎𝑢 + 𝑏𝑣 = 1.
Pour calculer les coefficients 𝑢 et 𝑣 de Bézout, il suffit de « remonter » l’algorithme d’Euclide, ce qui
est assez fastidieux. On préfère donc les calculer en introduisant de nouvelles suites dans l’algorithme.
ALGO-16. (D’EUCLIDE ÉTENDU)
On définit conjointement à la suite (𝑟𝑛 ) des restes celle (𝑞𝑛 ) des quotients (à partir de 𝑛 = 2), ainsi
que :
 (𝑢𝑛 ) définie par :
𝑢0 = 1 et 𝑢1 = 0
∀𝑛 ≥ 2, 𝑢𝑛 = 𝑢𝑛−2 − 𝑞𝑛 𝑢𝑛−1
 (𝑣𝑛 ) définie par :
𝑣0 = 0 et 𝑣1 = 1
∀𝑛 ≥ 2, 𝑣𝑛 = 𝑣𝑛−2 − 𝑞𝑛 𝑣𝑛−1
Alors on obtient des coefficients de Bézout au rang N :
𝑎 𝑢𝑁 + 𝑏 𝑣𝑁 = 𝑟𝑁 = 𝑎 ∧ 𝑏
EX-17. Calculer des coefficients de Bézout pour les entiers 213 et 13.
𝑛
𝑎𝑛 =
𝑏𝑛
×
𝑞𝑛
+
𝑟𝑛
𝑢𝑛
𝑣𝑛
𝑎 𝑢𝑛 + 𝑏 𝑣𝑛 = 𝑟𝑛
0
213
1
0
213 = 213 × 1 + 13 × 0
1
13
0
1
13 = 213 × 0 + 13 × 1
2
213
13
16
5
1
–16
3
13
5
2
3
–2
33
5 = 213 × 1 + 13 × (−16)
3 = 213 × (−2) + 13 × 33
4
5
3
1
2
3
–49
2 = 213 × 3 + 13 × (−49)
5
3
2
1
1
–5
82
1 = 213 × (−5) + 13 × 82
6
2
1
2
0
13
–213
0 = 213 × 13 + 13 × (−213)
IV.
Applications
1) Applications directes
EX-18. Résoudre l’équation diophantienne 37𝑥 − 27𝑦 = 4.
EX-19. Pour défiler à Rome, un centurion demande à ses soldats :



de se ranger par lignes de 3 mais il en reste 2 ;
de se ranger par lignes de 5, mais il en reste 2 une nouvelle fois ;
de se ranger par lignes de 8, mais il en reste 7.
Combien sont-ils ?
2) Développement d’un rationnel en fraction continue
PROP-20.
Un nombre est rationnel si et seulement si son développement en fraction continue est fini.
𝑎
= 𝑞2 +
𝑏
𝑞3 +
1
1
…+
= [𝑞2 , 𝑞3 , … , 𝑞𝑁 , 𝑞𝑁+1 ]
1
𝑞𝑁 +
1
𝑞𝑁+1
EX-21. Donner le développement en fraction continue de
213
13
.
213
5
1
1
1
1
= 16 +
= 16 +
= 16 +
= 16 +
= 16 +
= [16,2,1,1,2]
13
3
1
1
13
13
2
+
2
+
2
+
2
1
5
5
1+3
1+
1
1+2
EX-22. Montrer à l’aide des fractions continues que √2 n’est pas rationnel.
3) Version matricielle de l’algorithme
ALGO-23. En gardant les mêmes notations, on peut mettre l’algorithme sous forme matricielle.
𝑎
𝑞
( )=( 2
𝑏
1
1 𝑏
)( )
0 𝑟2
𝑎
𝑞
( )=( 2
𝑏
1
1 𝑞3
)(
0 1
On remarque que :
puis on réitère :
1 𝑟2
𝑞
) (𝑟 ) = ( 2
3
0
1
{
1 𝑞3
)(
0 1
𝑎 =𝑥×𝑑
𝑏 =𝑤×𝑑
𝑥
1 𝑟𝑁
)( ) = (
0
𝑤
0
1
𝑞
) … ( 𝑁+1
0
1
et :
|
𝑥
𝑤
𝑣 𝑑
)( )
𝑢 0
𝑣
| = 𝑥𝑢 − 𝑤𝑣 = (−1)𝑁
𝑢
donc :
𝑥𝑑𝑢 − 𝑤𝑑𝑣 = (−1)𝑁 𝑑
donc :
𝑎𝑢 − 𝑏𝑣 = (−1)𝑁 𝑑
on a trouvé une relation de Bézout
EX-24. Construire un exercice à donner aux élèves :


7
(
1
utilisant 4 divisions euclidiennes ayant pour quotients successifs 7, 4, 2 puis 5 ;
donnant un PGCD de 3.
1 4 1 2 1 5 1
)(
)(
)(
) = (354
0 1 0 1 0 1 0
49
65)
9
puis :
𝑎 = 354 × 3 = 1 062
𝑏 = 49 × 3 = 147
et
9𝑎 − 65𝑏 = 3
DÉVELOPPEMENT : THÉORÈME DE LAMÉ
[Skandalis algèbre p.2]
Le nombre d’étapes de l’algorithme d’Euclide ne dépasse pas 5𝑘 où 𝑘 est le nombre de chiffres de
l’écriture en base 10 de 𝑏. Autrement dit, si 𝑏 < 10𝑘 alors on fera moins de 5𝑘 divisions euclidiennes.
Quelques notations & résultats préliminaires
1) On note 𝐹𝑛 les termes de la suite de Fibonacci tels que :
2) Rappels sur le nombre d’or : 𝜑 =
1+√5
2
𝐹0 = 0 et 𝐹1 = 1
∀𝑛 ≥ 2, 𝐹𝑛 = 𝐹𝑛−1 + 𝐹𝑛−2
solution de 𝑥² − 𝑥 − 1 = 0 donc :
𝜑² = 𝜑 + 1
1
𝜑 = 1+𝜑
3) On montre par récurrence que ∀𝑛 > 0 on a :
𝐹𝑛 ≥ 𝜑𝑛−2
Démonstration
1) À toute étape de l’algorithme on a :
𝑟𝑛+2 = 𝑟𝑛 − 𝑞𝑛+2 𝑟𝑛+1
et
𝑞𝑛+2 ≥ 1
donc : 𝑟𝑛+1 + 𝑟𝑛+2 = 𝑟𝑛+1 + 𝑟𝑛 − 𝑞𝑛+2 𝑟𝑛+1 = 𝑟𝑛 − 𝑟𝑛+1 (𝑞𝑛+2 − 1) ≤ 𝑟𝑛
2) On note 𝑁 le nombre d’étapes de l’algorithme, comme 𝑟0 et 𝑟1 ne sont pas obtenus par
division, on le termine avec :
𝑟𝑁−1 = 𝑟𝑁 × 𝑞 + 0
avec 𝑞 ≥ 2
𝑟𝑁+1 = 0
𝑟𝑁 ≥ 1
= 𝐹2
𝑟𝑁−1 ≥ 2𝑟𝑁 ≥ 2
= 𝐹3
𝑟𝑁−2 ≥ 𝑟𝑁−1 + 𝑟𝑁 ≥ 𝐹2 + 𝐹3 = 𝐹4
𝑟𝑁−3 ≥ 𝑟𝑁−2 + 𝑟𝑁−1 ≥ 𝐹3 + 𝐹4 = 𝐹5
…
𝑏 = 𝑟1 = 𝑟𝑁−(𝑁−1) ≥ 𝐹𝑁+1
On vient de montrer que 𝑏 majore le nombre 𝑁 de divisions euclidiennes, par l’intermédiaire
de la suite de Fibonacci. Par exemple, si on cherche le PGCD de 𝑎 et de 𝑏 < 10 000, on sait
que 𝐹𝑁+1 ne peut pas dépasser 10 000 et il suffit de chercher dans la suite de Fibonacci
l’indice maximal possible : 𝐹20 = 6765 et 𝐹21 = 10946 donc il y aura au maximum 19 étapes.
3) Résumons dans le cas où 𝑏 s’écrit avec 𝑘 chiffres :
10𝑘 > 𝑏 ≥ 𝐹𝑁+1 ≥ 𝜑𝑁−1
log(10𝑘 ) > log(𝜑𝑁−1 )
𝑘 > (𝑁 − 1)log(𝜑) >
𝑁−1
5
𝑁 < 5𝑘 − 1 ≤ 5𝑘
Efficacité de la majoration
Si on cherche par exemple le PGCD de 𝐹20 (4 chiffres) et 𝐹21 , on a besoin de 19 divisions (on est dans
le « pire » cas où 𝑞 = 1 à chaque étape). On a quasiment le maximum prévu par Lamé : 4 × 5 = 20.
Téléchargement