La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Relation Bezout: au+bv= ab Calcul de u et v

Présentations similaires


Présentation au sujet: "Relation Bezout: au+bv= ab Calcul de u et v"— Transcription de la présentation:

1 Relation Bezout: au+bv= ab Calcul de u et v
Algorithme Relation Bezout: au+bv= ab Calcul de u et v

2 Bezout :  (u,v)² / a u + b v = ab - Théorie
Le calcul du PGCD de 2 nombres a et b par la méthode d’Euclide: On pose r(0) = a, r(1) = b et r(k) la suite des restes dans les divisions euclidiennes qui aboutira à 0: EXEMPLE: 142 = 38 × = 28 × = 10 × = 8 × = 2 × r(0) = r(1) × q(1) + r(2) avec 0 ≤ r(2) < r(1) r(1) = r(2) × q(2) + r(3) avec 0 ≤ r(3) < r(2) …. r(k-1) = r(k) × q(k) + r(k+1) avec 0 ≤ r(k+1) < r(k) k q r - 142 1 3 38 2 28 10 4 8 5 n =  38 = 2 r(n-2) = r(n-1) × q(n-1) + r(n) avec 0 ≤ r(n) < r(n-1) r(n-1) = r(n) × q(n) + 0

3 On a donc u = - 4 et v = 15 et 142  (-4) + 38  15 = 142  38 = 2
Bezout :  (u,v)² / a u + b v = ab Théorie On cherche les entiers u et v tels que u × r(0) + v × r(1) = r(n) : Voyons cela empiriquement… On cherche u et v tels que 142×u + 38×v = 2 EXEMPLE: 142 = 38 × = 28 × = 10 × = 8 × = 2 × 10 = 8 × donc × × 1 = 2 28 = 10 × donc × 2 = 8 = 2 donc 10 – ( ×2) = c’est-à-dire 28 × (-1) + 10 × 3 = 2 38 = 28 × donc × 1 = 10 28 × (-1) + 10 × 3 = 2 donc ( ×1) ×3 = c’est-à-dire 38 × × (-4) = 2 k q r - 142 1 3 38 2 28 10 4 8 5 n =  38 = 2 142 = 38 × donc × 3 = 28 38 × × (-4) = 2 donc 38 × 3 + ( ×3) ×(-4) = c’est-à-dire × (-4) + 38 × 15 = 2 (142 × (-4) = et 38 × 15 = 570) On a donc u = - 4 et v = 15 et  (-4) + 38  15 = 142  38 = 2

4 Bezout :  (u,v)² / a u + b v = ab - Théorie
On cherche les entiers u et v tels que u × r(0) + v × r(1) = r(n) (PGCD): Démonstration On considère les suites u(k) et v(k) tels que: v(n-1) = - q(n-1) et u(n-1) = 1 Pour tout entier k de {1;2;… n-1}, v(k-1) = - v(k) × q(k-1) + u(k) u(k-1) = v(k) Par une récurrence descendante, on va montrer que Pour tout entier k de {1;2;… n-1}, r(k-1) × u(k) + r(k) × v(k) = r(n) Dans ce cas on aura pour k =1 : r(0) × u(1) + r(1) × v(1) = r(n) Les u et v cherchés seront donc u(1) et v(1)

5 Bezout :  (u,v)² / a u + b v = ab - Théorie
On considère les suites u(k) et v(k) tels que u(n-1) = 1 et v(n-1) = - q(n-1) et pour tout entier k de {1;2;… n-1}, v(k-1) = - v(k) × q(k-1) + u(k) et u(k-1) = v(k) On va démontrer par récurrence que pour tout entier k de {1;2;… n-1}, r(k-1) × u(k) + r(k) × v(k) = r(n) Initialisation: Voyons si cela est vrai au rang n-1 c’est-à-dire que r(n-2) × u(n-1) + r(n-1) × v(n-1) = r(n) On sait que r(n-2) = r(n-1) × q(n-1) + r(n) Donc : 1 × r(n-2) - q(n-1) × r(n-1) = r(n) C’est-à-dire, avec u(n-1) et v(n-1): u(n-1) × r(n-2) + v(n-1) × r(n-1) = r(n) CQFD Suite des divisions euclidiennes r(0) = r(1) × q(1) + r(2) r(1) = r(2) × q(2) + r(3) … r(k-1) = r(k) × q(k) + r(k+1) … r(n-2) = r(n-1) × q(n-1) + r(n) r(n-1) = r(n) × q(n) + 0

6 Donc r(k-2) × u(k-1) + r(k-1) × v(k-1) = r(n) CQFD
Bezout :  (u,v)² / a u + b v = ab Théorie On considère les suites u(k) et v(k) tels que v(n-1) = - q(n-1) et u(n-1) = 1 et pour tout entier k de {1;2;… n-1}, v(k-1) = - v(k) × q(k-1) + u(k) et u(k-1) = v(k) Démonstration de: Pour tout entier k de {1;2;… n-1}, r(k-1) × u(k) + r(k) × v(k) = r(n) Récurrence descendante: On suppose que c’est vrai au rang k: r(k-1) × u(k) + r(k) × v(k) = r(n) On veut que ce soit vrai au rang k-1: r(k-2) × u(k-1) + r(k-1) × v(k-1) = r(n) On sait que r(k-2) = r(k-1) × q(k-1) + r(k) et r(k-1) × u(k) + r(k) × v(k) = r(n) Donc : r(k-2) - q(k-1) × r(k-1) = r(k) qu’on injecte dans la 2ème égalité: r(k-1) × u(k) + (r(k-2) - q(k-1) × r(k-1))× v(k) = r(n) C’est-à-dire, en regroupant les r(k-1): r(k-1) × [ u(k) - q(k-1) × v(k) ] + r(k-2) × v(k) = r(n) Or v(k-1) = - v(k) × q(k-1) + u(k) et u(k-1) = v(k) Donc r(k-2) × u(k-1) + r(k-1) × v(k-1) = r(n) CQFD Suite des divisions euclidiennes r(0) = r(1) × q(1) + r(2) r(1) = r(2) × q(2) + r(3) … r(k-2) = r(k-1) × q(k-1) + r(k) r(k-1) = r(k) × q(k) + r(k+1) … r(n-2) = r(n-1) × q(n-1) + r(n) r(n-1) = r(n) × q(n) + 0

7 Il reste à écrire l’algorithme servant à calculer u et v.
Bezout :  (u,v)² / a u + b v = ab Théorie On vient de démontrer que les suites u(k) et v(k) tels que v(n-1) = - q(n-1) et u(n-1) = 1 et k{1;2;… n-1}, v(k-1) = -v(k)×q(k-1)+u(k) et u(k-1) = v(k) vérifient : k{1;2;… n-1}, r(k-1) × u(k) + r(k) × v(k) = r(n) Et donc en particulier, pour k = 1: r(0) × u(1) + r(1) × v(1) = r(n) Ce qui permet de trouver les coefficient u et v tel que a.u + b.v = ab: u = u(1) et v = v(1) Pour cela on pose r(0) = a, r(1)=b et on trouve les restes dans les divisions euclidiennes successives: r(0) = r(1) × q(1) + r(2) r(1) = r(2) × q(2) + r(3) … r(k-2) = r(k-1) × q(k-1) + r(k) r(k-1) = r(k) × q(k) + r(k+1) … r(n-2) = r(n-1) × q(n-1) + r(n) r(n-1) = r(n) × q(n) On a alors r(n) = ab Il reste à écrire l’algorithme servant à calculer u et v.

8 Fin Tant que ‘ Calcul des u et v
Bezout :  (u,v)² / a u + b v = ab Algorithme de calcul de u et v Variables a, b, k, n: nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme v(n-1) = - q(n-1) et u(n-1) = 1 k{1;2;… n-1}, u(k-1) = v(k) et v(k-1) = -v(k)×q(k-1)+u(k) a b k n r q u v

9 Fin Tant que ‘ Calcul des u et v
Bezout :  (u,v)² / a u + b v = ab Algorithme de calcul de u et v Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme v(n-1) = - q(n-1) et u(n-1) = 1 k{1;2;… n-1}, u(k-1) = v(k) et v(k-1) = -v(k)×q(k-1)+u(k) a b k n 142 38 1 r q u v 1 2 3 4 5 6 142 38

10 Fin Tant que ‘ Calcul des u et v
Bezout :  (u,v)² / a u + b v = ab Algorithme de calcul de u et v Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme v(n-1) = - q(n-1) et u(n-1) = 1 k{1;2;… n-1}, u(k-1) = v(k) et v(k-1) = -v(k)×q(k-1)+u(k) a b k n 142 38 1 r q u v 142 1 38 2 3 4 5 6 On a : n=1 et r[n] = 38 r[n] >0, donc on entre dans la boucle

11 Fin Tant que ‘ Calcul des u et v
Bezout :  (u,v)² / a u + b v = ab Algorithme de calcul de u et v Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme v(n-1) = - q(n-1) et u(n-1) = 1 k{1;2;… n-1}, u(k-1) = v(k) et v(k-1) = -v(k)×q(k-1)+u(k) a b k n 142 38 1 2 r q u v 142 1 38 2 3 4 5 6 3 28 On a : n=1 et r[n-1] = 142, r[n] = = 38 × Donc q[1] = 3 et r[2] = 28 n+1 = 2

12 Fin Tant que ‘ Calcul des u et v
Bezout :  (u,v)² / a u + b v = ab Algorithme de calcul de u et v Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme v(n-1) = - q(n-1) et u(n-1) = 1 k{1;2;… n-1}, u(k-1) = v(k) et v(k-1) = -v(k)×q(k-1)+u(k) a b k n 142 38 2 r q u v 142 1 38 3 2 28 4 5 6 On a : n=2 et r[n] = 28 r[n] >0, donc on entre dans la boucle

13 Fin Tant que ‘ Calcul des u et v
Bezout :  (u,v)² / a u + b v = ab Algorithme de calcul de u et v Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme v(n-1) = - q(n-1) et u(n-1) = 1 k{1;2;… n-1}, u(k-1) = v(k) et v(k-1) = -v(k)×q(k-1)+u(k) a b k n 142 38 2 3 r q u v 142 1 38 3 2 28 4 5 6 1 10 On a : n=2 et r[n-1] = 38, r[n] = = 28 × Donc q[2] = 1 et r[3] = 10 n+1 = 3

14 Fin Tant que ‘ Calcul des u et v
Bezout :  (u,v)² / a u + b v = ab Algorithme de calcul de u et v Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme v(n-1) = - q(n-1) et u(n-1) = 1 k{1;2;… n-1}, u(k-1) = v(k) et v(k-1) = -v(k)×q(k-1)+u(k) a b k n 142 38 3 r q u v 142 1 38 3 2 28 10 4 5 6 On a : n=3 et r[n] = 10 r[n] >0, donc on entre dans la boucle

15 Fin Tant que ‘ Calcul des u et v
Bezout :  (u,v)² / a u + b v = ab Algorithme de calcul de u et v Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme v(n-1) = - q(n-1) et u(n-1) = 1 k{1;2;… n-1}, u(k-1) = v(k) et v(k-1) = -v(k)×q(k-1)+u(k) a b k n 142 38 3 4 r q u v 142 1 38 3 2 28 10 4 5 6 2 8 On a : n=3 et r[n-1] = 28, r[n] = = 10 × 2 + 8 Donc q[3] = 2 et r[4] = 8 n+1 = 4

16 Fin Tant que ‘ Calcul des u et v
Bezout :  (u,v)² / a u + b v = ab Algorithme de calcul de u et v Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme v(n-1) = - q(n-1) et u(n-1) = 1 k{1;2;… n-1}, u(k-1) = v(k) et v(k-1) = -v(k)×q(k-1)+u(k) a b k n 142 38 4 r q u v 142 1 38 3 2 28 10 4 8 5 6 On a : n=4 et r[n] = 8 r[n] >0, donc on entre dans la boucle

17 Fin Tant que ‘ Calcul des u et v
Bezout :  (u,v)² / a u + b v = ab Algorithme de calcul de u et v Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme v(n-1) = - q(n-1) et u(n-1) = 1 k{1;2;… n-1}, u(k-1) = v(k) et v(k-1) = -v(k)×q(k-1)+u(k) a b k n 142 38 4 5 r q u v 142 1 38 3 2 28 10 4 8 5 6 1 2 On a : n=4 et r[n-1] = 10, r[n] = 8 10 = 8 × 1 + 2 Donc q[4] = 1 et r[5] = 2 n+1 = 5

18 Fin Tant que ‘ Calcul des u et v
Bezout :  (u,v)² / a u + b v = ab Algorithme de calcul de u et v Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme v(n-1) = - q(n-1) et u(n-1) = 1 k{1;2;… n-1}, u(k-1) = v(k) et v(k-1) = -v(k)×q(k-1)+u(k) a b k n 142 38 5 r q u v 142 1 38 3 2 28 10 4 8 5 6 On a : n=5 et r[n] = 2 r[n] >0, donc on entre dans la boucle

19 Fin Tant que ‘ Calcul des u et v
Bezout :  (u,v)² / a u + b v = ab Algorithme de calcul de u et v Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme v(n-1) = - q(n-1) et u(n-1) = 1 k{1;2;… n-1}, u(k-1) = v(k) et v(k-1) = -v(k)×q(k-1)+u(k) a b k n 142 38 5 6 r q u v 142 1 38 3 2 28 10 4 8 5 6 4 On a : n=5 et r[n-1] = 8, r[n] = 2 8 = 2 × 4 + 0 Donc q[5] = 4 et r[6] = 0 n+1 = 6

20 Fin Tant que ‘ Calcul des u et v
Bezout :  (u,v)² / a u + b v = ab Algorithme de calcul de u et v Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme v(n-1) = - q(n-1) et u(n-1) = 1 k{1;2;… n-1}, u(k-1) = v(k) et v(k-1) = -v(k)×q(k-1)+u(k) a b k n 142 38 6 r q u v 142 1 38 3 2 28 10 4 8 5 6 On a : n=6 et r[n] = 0 donc on sort de la boucle On a: a  b = r[n-1] = 2

21 Fin Tant que ‘ Calcul des u et v
Bezout :  (u,v)² / a u + b v = ab Algorithme de calcul de u et v Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme v(n-1) = - q(n-1) et u(n-1) = 1 k{1;2;… n-1}, u(k-1) = v(k) et v(k-1) = -v(k)×q(k-1)+u(k) a b k n 142 38 6 4 r q u v 142 1 38 3 2 28 10 4 8 5 6 1 -1 n – 2 = 4  k 1  u[k] - q[k] = -4  v[k]

22 Fin Tant que ‘ Calcul des u et v
Bezout :  (u,v)² / a u + b v = ab Algorithme de calcul de u et v Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme v(n-1) = - q(n-1) et u(n-1) = 1 k{1;2;… n-1}, u(k-1) = v(k) et v(k-1) = -v(k)×q(k-1)+u(k) a b k n 142 38 4 6 r q u v 142 1 38 3 2 28 10 4 8 -1 5 6 On a : k = 4 > 1 donc on entre dans la boucle

23 Fin Tant que ‘ Calcul des u et v
Bezout :  (u,v)² / a u + b v = ab Algorithme de calcul de u et v Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme v(n-1) = - q(n-1) et u(n-1) = 1 k{1;2;… n-1}, u(k-1) = v(k) et v(k-1) = -v(k)×q(k-1)+u(k) a b k n 142 38 4 6 3 r q u v 142 1 38 3 2 28 10 4 8 -1 5 6 -1 3 k = 4 –v[k]×q[k-1]+u[k]= 1*2+1 =3  v[k-1] v[k] = -1  u[k-1] k – 1 = 3  k

24 Fin Tant que ‘ Calcul des u et v
Bezout :  (u,v)² / a u + b v = ab Algorithme de calcul de u et v Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme v(n-1) = - q(n-1) et u(n-1) = 1 k{1;2;… n-1}, u(k-1) = v(k) et v(k-1) = -v(k)×q(k-1)+u(k) a b k n 142 38 3 6 r q u v 142 1 38 3 2 28 10 -1 4 8 5 6 On a : k = 3 > 1 donc on entre dans la boucle

25 Fin Tant que ‘ Calcul des u et v
Bezout :  (u,v)² / a u + b v = ab Algorithme de calcul de u et v Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme v(n-1) = - q(n-1) et u(n-1) = 1 k{1;2;… n-1}, u(k-1) = v(k) et v(k-1) = -v(k)×q(k-1)+u(k) a b k n 142 38 3 6 2 r q u v 142 1 38 3 2 28 10 -1 4 8 5 6 3 -4 k = 3 –v[k]×q[k-1]+u[k]= -3*1-1= -4 v[k-1] v[k] = 3  u[k-1] k – 1 = 2  k

26 Fin Tant que ‘ Calcul des u et v
Bezout :  (u,v)² / a u + b v = ab Algorithme de calcul de u et v Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme v(n-1) = - q(n-1) et u(n-1) = 1 k{1;2;… n-1}, u(k-1) = v(k) et v(k-1) = -v(k)×q(k-1)+u(k) a b k n 142 38 2 6 r q u v 142 1 38 3 2 28 -4 10 -1 4 8 5 6 On a : k = 2 > 1 donc on entre dans la boucle

27 Fin Tant que ‘ Calcul des u et v
Bezout :  (u,v)² / a u + b v = ab Algorithme de calcul de u et v Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme v(n-1) = - q(n-1) et u(n-1) = 1 k{1;2;… n-1}, u(k-1) = v(k) et v(k-1) = -v(k)×q(k-1)+u(k) a b k n 142 38 2 6 1 r q u v 142 1 38 3 2 28 -4 10 -1 4 8 5 6 -4 15 k = 2 –v[k]×q[k-1]+u[k]= 4*3+3= 15 v[k-1] v[k] = -4  u[k-1] k – 1 = 1  k

28 Fin Tant que ‘ Calcul des u et v
Bezout :  (u,v)² / a u + b v = ab Algorithme de calcul de u et v Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme v(n-1) = - q(n-1) et u(n-1) = 1 k{1;2;… n-1}, u(k-1) = v(k) et v(k-1) = -v(k)×q(k-1)+u(k) a b k n 142 38 1 6 r q u v 142 1 38 3 -4 15 2 28 10 -1 4 8 5 6 On a : k = 1 n’est pas > 1 donc on sort de la boucle

29 Fin Tant que ‘ Calcul des u et v
Bezout :  (u,v)² / a u + b v = ab Algorithme de calcul de u et v Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme v(n-1) = - q(n-1) et u(n-1) = 1 k{1;2;… n-1}, u(k-1) = v(k) et v(k-1) = -v(k)×q(k-1)+u(k) a b k n 142 38 1 6 r q u v 142 1 38 3 -4 15 2 28 10 -1 4 8 5 6 On affiche : -4 × × 38 = 2 qui est vrai 

30 Fin Tant que ‘ Calcul des u et v
Bezout :  (u,v)² / a u + b v = ab Algorithme de calcul de u et v Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme v(n-1) = - q(n-1) et u(n-1) = 1 k{1;2;… n-1}, u(k-1) = v(k) et v(k-1) = -v(k)×q(k-1)+u(k) a b k n 142 38 1 6 r q u v 142 1 38 3 -4 15 2 28 10 -1 4 8 5 6 C’est fini: a.u+b.v = ab a = 142, b = 38, a  b = 2 u = u[1] = v = v[1] = 15

31 Bezout :  (u,v)² / a u + b v = ab - Mise en œuvre de l’algorithme sur algobox
Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme

32 Bezout :  (u,v)² / a u + b v = ab - Mise en œuvre de l’algorithme sur Excel
Variables a, b, k, n : nombres entiers r, q, u, v: listes de nombres entiers Début d’algorithme Lire a et b 1  n : a  r[0] : b  r[1] ‘ Calcul des r et q Tant que r[n] > 0 quotient de r[n-1] / r[n]  q[n] reste de r[n-1] par r[n]  r[n+1] n+1  n Fin Tant que ‘ Calcul des u et v n-2  k : 1  u[k] : - q[k]  v[k] Tant que k > 1 - v[k] × q[k-1] + u[k]  v[k-1] v[k]  u[k-1] k-1  k Fin Tant que Afficher u[1] «×» a «+» v[1] «×» b «=» r[n-1] Fin d’algorithme


Télécharger ppt "Relation Bezout: au+bv= ab Calcul de u et v"

Présentations similaires


Annonces Google