• Aucun résultat trouvé

Partie I. Algorithme d’Euclide.

N/A
N/A
Protected

Academic year: 2022

Partager "Partie I. Algorithme d’Euclide."

Copied!
2
0
0

Texte intégral

(1)

Informatique 2012-2013 : TP 7 du 04/01 au 16/02 MPSI B Hoche

Partie I. Algorithme d’Euclide.

L’objet de ce TP et d’implémenter l’algorithme d’Euclide ainsi que l’algorithme d’Euclide étendu permettant de résoudre l’équation de Bézout. Voir la section arithmétique du cours.

Fig. 1 – Algorithme d’Euclide

1. Former une procédure euclide1(A,B) dont les paramêtres A et B désignent des polynômes en X et qui renvoie le dernier reste non nul dans l’algorithme d’Euclide présenté en figure 1.

2. Algorithme étendu (présenté en figure 2).

Former une procédure euclide2(A,B) dont les paramètres A et B désignent des polynômes en X et qui renvoie une liste [U,V,R] où R désigne le dernier reste non nul dans l’algorithme d’Euclide et U, V désignent des polynômes tels que

U A + V B = R

Partie II. Algorithme de Kronecker.

Ce TP utilise des polynômes d’interpolation de Lagrange, sa solution nécéssite une fonction permettant d’en générer.

L’algorithme de Kronecker

1

permet de factoriser dans Z [X ] un polynôme P à coefficients entiers.

Il repose sur l’essai exhaustif d’une famille de polynômes d’interpolation formée à partir des diviseurs des valeurs de P en des points entiers donnés ; par exemple 0, 1, −1, 2, −2, · · · . Cet algorithme est simple mais très coûteux.

Supposons Q et R dans Z [X] et vérifiant P = QR. Pour tout x entier, la relation P(x) = e Q(x) ] R(x) est alors une relation de divisibilité dans ] Z .

Supposons par exemple que deg Q = 1. Alors Q(0) est un diviseur de e P e (0) et Q(1) est un diviseur de e P e (1). Il faut supposer évidemment que P e (0) et P e (1) sont non nuls. Mais s’ils sont nuls il y a des diviseurs évidents. Comme l’ensemble des diviseurs d’un entier est fini, le diviseur Q considéré est dans un ensemble fini de polynomes d’interpolation basés sur 0 et 1 et de valeurs tous les couples de diviseurs possibles. On peut tester systématiquement tous les polynômes d’interpolation formés avec ces diviseurs.

Pour chercher un diviseur de degré 2, on considère les diviseurs de P e (−1), P e (0) et P(1) et ainsi de suite. e

1. Ici, n désigne un entier naturel n et U , V deux tableaux de n + 1 nombres indexés de 0 à n. Les U

i

sont deux à deux distincts.

Former une procédure dont l’appel interpoLag(n,U,V) renvoie un polynôme L de degré n en X développé et rangé suivant les puissance de X tel que L(U

i

) = V

i

pour i entre 0 et n. Ce polynôme est donné par la formule

L =

n

X

i=0

V

i

Y

j∈{0,1,···,n}\{i}

X U

j

U

i

U

j

2. Former une procedure ldiv(n) qui renvoie la liste des diviseurs (y compris négatifs) d’un entier désigné par n (utiliser mod). Bien veiller à ce que la procédure fonctionne pour des valeurs négatives du paramètre.

3. Former une procédure divKron1(P) qui renvoie un polynôme de degré 1 à coefficients entiers divisant P s’il en existe un et 0 s’il n’en existe pas.

4. Former des procédures divKron2(P) et divKron3(P) qui renvoient respecti- vement un polynôme de degré 2 ou de degré 3 à coefficients entiers divisant P s’il en existe un et 0 s’il n’en existe pas.

1

d’après Polynomials, V.V. Prasolov (Springer)

Cette création est mise à disposition selon le Contrat

Paternité-Pas d’utilisations commerciale-Partage des Conditions Initiales à l’Identique 2.0 France disponible en ligne http://creativecommons.org/licenses/by-nc-sa/2.0/fr/

1

Rémy Nicolai TP1207

(2)

Informatique 2012-2013 : TP 7 du 04/01 au 16/02 MPSI B Hoche

5. Factoriser en polynômes irréductibles de Z [X] le polynôme P suivant : 15X

9

+ 49X

8

265X

7

620X

6

+ 706X

5

+ 834X

4

+ 6719X

3

11483X

2

1665X + 5950

Vérifier avec un expand ou la fonction Maple factor.

a < - -

a a < - -

a a < > 0

a <-- aa aa <-- aaa

V

F

fin retour a , u , v u < - - 1

u u < - - 0 v < - - 0 v v < - - 1

aaa <-- reste de la division de a par aa q <-- quotient de la division de a par aa

uuu <-- u - q uu vvv <-- v - q vv

u < - - u u u u < - - u u u

v < - - v v v v < - - v v v

Fig. 2 – Algorithme d’Euclide étendu

Cette création est mise à disposition selon le Contrat

Paternité-Pas d’utilisations commerciale-Partage des Conditions Initiales à l’Identique 2.0 France disponible en ligne http://creativecommons.org/licenses/by-nc-sa/2.0/fr/

2

Rémy Nicolai TP1207

Références

Documents relatifs

Un rangement est un procédé qui à chaque paire de chaussettes associe un tiroir, c’est donc un application de l’ensemble des chaussettes dans l’ensemble des tiroirs.. Si CardF ă

Combien de menus différents composés d’une entrée, d’un plat et d’un dessert peut-on constituerb. Même question si le dessert est une tarte aux

Un espace affine sur K est un ensemble E muni d’une action libre et transitive du groupe additif d’un K-espace vectoriel E.. Si on note GA(E) le groupe des transformations affines de

Un espace affine sur K est un ensemble E muni d’une action libre et transitive du groupe additif d’un K-espace vectoriel E.. Si on note GA(E) le groupe des transformations affines de

Un espace affine sur K est un ensemble E muni d’une action libre et transitive du groupe additif d’un K-espace vectoriel E.. Si on note GA(E) le groupe des transformations affines de

Comme l’ensemble des diviseurs d’un entier est fini, le diviseur Q considéré est dans un ensemble fini de polynomes d’interpolation basés sur 0 et 1 et de valeurs tous les couples

On peut définir une loi de probabilité telle que les probabilités des chiffres impairs soient toutes égales et que la probabilité d’un chiffre pair soit le double de la

Pour les deux autres, on aura intérêt à fixer le cardinal d’une intersection (ou d’une union) et dénombrer les configurations correspondantes pour, dans un deuxième temps,