• Aucun résultat trouvé

Algorithmique algébrique

N/A
N/A
Protected

Academic year: 2022

Partager "Algorithmique algébrique"

Copied!
2
0
0

Texte intégral

(1)

Licence de mathématiques et informatique - 2010-2011

Algorithmique algébrique

FEUILLE D’EXERCICES N 8

====================

1 Évaluation par adaptation des coefficients.

Soit K un corps commutatif. Soit P un polynôme de K[X] unitaire de degré 4: P =X4+a3X3+a2X2+a1X+a0.

On veut évaluer P en k éléments distincts de K.

1. Calculer le coût d’un tel calcul, si l’on utilise k fois l’algorithme de Horner. On détaillera le nombre d’additions et de multiplications.

2. Soit x ∈K. Déterminer quatre éléments αi ∈ K, 0 ≤i ≤ 3, ne dépendant que de P, tels que si y= (x+α0)x+α1 alors P(x) = (y+x+α2)y+α3.

3. Calculer le coût de cette nouvelle procédure appliquée à l’évaluation deP enk éléments de K.

Comparer avec le résultat du 1.

2 Toom-Cook (Algorithme de Andrei Toom et Stephen Cook).

1. Soit R un polynôme de degré inférieur ou égal à 4. Combien de valeurs de R faut-il connaître pour être capable de reconstituer R?

2. On note R=a4X4+a3X3+a2X2+a1X+a0, et R(∞) =a4. (a) Montrer l’égalité

1 0 0 0 0

0 0 0 0 1

1 1 1 1 1

1 −1 1 −1 1 16 8 4 2 1

 a4 a3 a2 a1 a0

=

 R(∞)

R(0) R(1) R(−1)

R(2)

 .

(b) En déduire l’égalité

 a4 a3

a2 a1 a0

=

1 0 0 0 0

−2 121216 16

−1 −1 12 12 0 2 −12 1 −1316

0 1 0 0 0

 R(∞)

R(0) R(1) R(−1)

R(2)

 .

(c) Soient P = 3X2 +X −1, Q = X2 −2X+ 1 et R = P Q. Calculer R(∞), R(0), R(1), R(−1) etR(2), puis reconstituer R en utilisant la question précédente.

3. Il aurait été plus simple de calculer R en multipliant P et Q de façon classique, mais un traitement récursif de cette méthode donne un algorithme plus efficace quand les degrés de P et de Q sont grands.

On suppose que P et Q sont des polynômes de C[X]de degrés strictement inférieur à n= 3r. On note

P =

n−1

X

i=0

aiXi etQ=

n−1

X

i=0

biXi. Expliquer ce que fait l’algorithme Toom-Cook suivant.

Dans cet algorithme, on note Interp(z1, . . . , z5, Y)le polynôme R en la variable Y de degré in- férieur ou égal à4dont les valeurs eny1 =∞,y2 = 0,y3 = 1,y4 =−1ety5 = 2sont(z1, . . . , z5).

Toom-Cook(P, Q, n) :

(2)

(a) Sin = 1, retourner P Q.

(b) Écrire P etQ sous la forme

P = (Xn/3)2P2+Xn/3P1+P0 et Q= (Xn/3)2Q2+ (Xn/3)2Q1+Q0, où les Pi et les Qj sont des polynômes de degrés inférieurs strictement à n/3.

(c) Soient les polynômes de C[X][Y]

A=Y2P2 +Y P1+P0 et B =Y2Q2+Y Q1+Q0.

(d) Pour i de1 à 5, faire zi =Toom-Cook(A(yi), B(yi), n/3) (les zi sont alors des polynômes enX).

(e) P roduit=Interp(z1, z2, z3, z4, z5, Y).

(f) Retourner R =P roduit(Xn/3) 4. Expliquer comment se fait le pas (b).

5. Y a-t-il un lien entre cet algorithme et l’algorithme de Karatsuba ? 6. Quelle est la complexité de l’algorithme Toom-Cook ?

3 FFT (Fast Fourier Transformation).

Pour multiplier des polynômes, dans l’algorithme Toom-Cook, on a utilisé des évaluations et interpolations de polynômes en certains points. On peut choisir les points d’évaluation de façon plus astucieuse. Ici, on prendra des racines primitives nèmes de l’unité, où n est une puissance de 2.

1. Soitn un entier naturel non nul, et soit w une racine primitive nème de l’unité dans C (c’est- à-dire : wn = 1 et wl 6= 1 pour tout l tel que 0 < l < n, par exemple : w = e2iπn ). On définit

Fn,w : Cn → Cn (al)0≤l≤n−1 7→

n−1

X

k=0

akwkl

!

0≤l≤n−1

(a) Montrer que Fn,w◦ Fn,w−1 =nId Cn.

(b) Soit P = an−1Xn−1 +· · ·+a0 un polynôme de degré strictement inférieur à n. Montrer que

Fn,w(a0, . . . , an−1) = (P(1), P(w), . . . , P(wn−1)).

(c) On suppose quenest pair. On poseP1 =an−2Xn/2−1+· · ·+a2X+a0 etP2 =an−1Xn/2−1+

· · ·+a3X+a1 (c’est-à-dire qu’on sépare les parties paire et impaire de P. Montrer que P(X) =P1(X2) +XP2(X2).

2. On suppose maintenant quen = 2k, où k est un entier naturel. On veut pouvoir calculer F de façon rapide.

Soit A = (a0, . . . , an−1)∈Cn. Expliquer ce que fait l’algorithme F F T suivant.

FFT(n, w, A) :

(a) Sin = 1, retourner A.

(b) Séparer les parties paires et impaires deA:A0 = (a0, a2, . . . , an−2),A1 = (a1, a3, . . . , an−1).

(c) Calculer(b0, b1, . . . , bn/2−1) =FFT(n/2, w2, A0) et(c0, c1, . . . , cn/2−1) =FFT(n/2, w2, A1).

(d) Retourner(bk+wkck)0≤k<n(où l’on a posébn/2+l =bletcn/2+l =cl) pourl ∈ {0, . . . , n/2−

1}.

3. Calculer la complexité de cet algorithme.

4. En utilisant FFT, donner un algorithme de multiplication rapide de deux polynômes à coeffi- cients dans C.

Références

Documents relatifs

Si on essaie le nouvel algorithme d’Euclide sur l’exemple de l’introduction, on s’aper- çoit que les coefficients qui aparaissent sont moins gros que quand on utilise

Il existe un ensemble noté ℂ appelé ensemble des nombres complexes qui possède les propriétés suivantes :.. • ℂ

Beldi G, Wagner M, Bruegger LE et al (2011) Mesh shrinkage and pain in laparoscopic ventral hernia repair: a randomized clinical trial comparing suture versus tack mesh

Définition (suite presque nulle). Transfert d’intégrité si A est intègre. Degré partiel, total. Propriété du degré. Polynômes homogènes, somme. Exemple dur

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

Ce théorème d'interpolation torique a eu entre autres des applications en calcul symbolique-numérique, pour la factorisation des polynômes creux (cf B.4. Weimann,

« Nous appellerons de tels nombres nombres entiers complexes, du moins afin que les nombres réels ne soient opposés aux nombres complexes, mais qu’ils soient considérés comme