• 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

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

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

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

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

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 :.. • ℂ