Vous êtes sur la page 1sur 329

Algorithmes Ecaces en Calcul Formel

En cours de rdaction
Notes du cours 2-22 du MPRI, anne 20102011
Version du 12 octobre 2011
Alin Bostan
Frdric Chyzak
Marc Giusti
Romain Lebreton
Bruno Salvy
ric Schost
Table des matires
Les chapitres ou sections indiqus par peuvent tre omis en premire lecture.
Ils ne sont gnralement pas traits dans le cours oral.
Introduction 1
Chapitre 1. Calcul Formel et Complexit 3
1. Dcider, calculer 3
2. Calculer rapidement 8
Avertissement 13
Notes 13
Bibliographie 14
Premire partie. Algorithmes Fondamentaux 15
Chapitre 2. Multiplication rapide 17
1. Introduction, rsultats principaux 17
2. Algorithme naf 19
3. Algorithme de Karatsuba 20
4. Transforme de Fourier rapide 22
5. Lalgorithme de Schnhage et Strassen 26
6. Algorithmes pour les entiers 27
7. Un concept important : les fonctions de multiplication 28
Exercices 29
Notes 30
Bibliographie 31
Chapitre 3. Algbre linaire dense : de Gauss Strassen 35
1. Introduction 35
2. Multiplication de matrices 37
3. Autres problmes dalgbre linaire 44
Exercices 49
Notes 52
Bibliographie 55
Chapitre 4. Calculs rapides sur les sries 59
1. Sries formelles 60
2. La mthode de Newton pour le calcul dinverses 62
3. Itration de Newton formelle et applications 64
4. La composition des sries 69
Exercices 72
Notes 72
Bibliographie 73
Chapitre 5. Division euclidienne, fractions rationnelles et rcurrences linaires
coecients constants 75
iii
iv TABLE DES MATIRES
1. Introduction 75
2. Division de polynmes 75
3. Suites rcurrentes linaires coecients constants 77
4. Dveloppement de fractions rationnelles 80
5. Applications 81
Notes 82
Bibliographie 83
Chapitre 6. Calculs modulaires, valuation et interpolation 85
1. Introduction 85
2. Prsentation, rsultats 86
3. Interpolation de Lagrange 87
4. Algorithmes rapides 88
Exercices 93
Notes 94
Bibliographie 95
Chapitre 7. Pgcd et rsultant 97
1. Algorithme dEuclide 97
2. Rsultant 101
3. Algorithme dEuclide rapide 109
Exercices 113
Notes 114
Bibliographie 115
Chapitre 8. Algorithmique des sries D-nies 117
1. quations direntielles et rcurrences 117
2. Proprits de clture 121
3. Sries algbriques 123
4. Au-del 124
Exercices 125
Notes 126
Bibliographie 127
Chapitre 9. Approximants de Pad et de Pad-Hermite 129
1. Reconstruction rationnelle 129
2. Approximants de Pad-Hermite 134
Notes 139
Bibliographie 140
Chapitre 10. Algbre linaire creuse : algorithme de Wiedemann 143
1. Introduction 143
2. Polynme minimal et rsolution de systmes 143
3. Calcul du polynme minimal 144
4. Calcul du dterminant 145
5. Calcul du rang 145
Exercices 145
Notes 146
Bibliographie 146
Chapitre 11. Algbre linaire structure 147
1. Introduction 147
2. Le cas quasi-Toeplitz 151
Exercices 155
TABLE DES MATIRES v
Notes 155
Bibliographie 156
Chapitre 12. Principe de transposition de Tellegen 157
1. Introduction 157
2. La version en termes de graphes du principe de Tellegen 158
3. Principe de Tellegen pour les programmes linaires 160
4. Applications 162
Notes 167
Bibliographie 169
Chapitre 13. Rcurrences linaires coecients polynomiaux : N-ime terme,
N premiers termes 171
1. Calcul naf de N! et de suites P-rcursives 171
2. Pas de bbs et pas de gants 173
3. Scindage binaire 174
Exercices 176
Notes 177
Bibliographie 177
Chapitre 14. Solutions rationnelles de systmes linaires coecients
polynomiaux 179
1. Des sries aux solutions rationnelles 179
2. Dveloppement comme une fraction rationnelle 180
3. Lalgorithme de Storjohann 181
Notes 182
Bibliographie 183
Chapitre 15. Solutions sries dquations direntielles 185
1. quations direntielles dordre 1 185
2. quations direntielles linaires dordre suprieur et systmes dordre 1187
3. Cas particuliers 191
4. Extensions 191
Notes 193
Bibliographie 193
Deuxime partie. Systmes Polynomiaux 195
Chapitre 16. Bases standard 197
1. Lien entre algbre et gomtrie 198
2. Ordres totaux admissibles sur le monode des monmes 200
3. Filtrations, exposants privilgis et escaliers 202
4. Noethrianit du monode des monmes 203
5. Divisions 204
Chapitre 17. Syzygies et construction de bases standard 207
1. Lalgorithme naf 207
2. Polynme de syzygie 208
3. Lalgorithme de construction de Buchberger 208
4. Lalgorithme de construction en ane 209
5. Proprits des bases standards pour quelques ordres 210
Exercices 211
Bibliographie 211
Chapitre 18. Triangularisation des idaux, Nullstellensatz 213
vi TABLE DES MATIRES
1. Le lemme de spcialisation 213
2. Triangulation des idaux 214
3. Le Nullstellensatz 215
Bibliographie 220
Chapitre 19. Fonction et polynme de Hilbert, dimension, degr 221
1. Dnitions 221
2. Dmonstration du thorme et dune borne suprieure de la rgularit 222
3. Optimalit de la borne sur le degr de rgularit 222
4. Le cas des suites rgulires 223
5. Thorie de la dimension 223
6. Remarque sur la calculabilit de la dimension 225
Bibliographie 225
Chapitre 20. Le lemme de normalisation de Noether 227
1. La situation linaire 227
2. La situation gnrale 228
Notes 229
Bibliographie 230
Chapitre 21. Qute dune meilleure complexit 231
1. Test zro, ensembles questeurs 231
2. Structures de donnes pour les polynmes multivaris 232
3. Quelques algorithmes utilisant des SLP 233
Bibliographie 233
Chapitre 22. Rsolution gomtrique 235
Troisime partie. Sommation et intgration de suites et fonctions
spciales 237
Chapitre 23. Rsolution dquations direntielles linaires 239
1. Systme et quation 239
2. Solutions sries et singularits 240
3. Solutions polynomiales 241
4. Solutions rationnelles 242
Notes 242
Bibliographie 243
Chapitre 24. Solutions rationnelles de rcurrences et sommation
hypergomtrique indnie 245
1. Solutions polynomiales 245
2. Solutions rationnelles : Algorithme dAbramov 247
3. quations inhomognes 248
4. Sommation hypergomtrique indnie. Algorithme de Gosper 249
Notes 252
Bibliographie 252
Chapitre 25. Solutions hypergomtriques de rcurrences et sommation
hypergomtrique dnie 253
1. Sommation hypergomtrique dnie. Algorithme de Zeilberger 253
2. Solutions hypergomtriques. Algorithme de Petkovek 255
Notes 257
Bibliographie 257
TABLE DES MATIRES vii
Chapitre 26. quations fonctionnelles linaires et polynmes tordus 259
1. Des polynmes non commutatifs pour calculer avec des oprateurs
linaires 259
2. Cltures par morphismes entre anneaux de polynmes tordus 261
3. Division euclidienne 263
4. Recherche de solutions et factorisation doprateurs 265
5. Algorithme dEuclide 266
6. Relations de contigut 267
Notes 269
Bibliographie 270
Chapitre 27. Algorithmes pour les fonctions spciales dans les algbres de Ore 271
1. Algbres de Ore rationnelles 271
2. Idal annulateur et module quotient 271
3. Bases de Grbner pour les idaux gauche 273
4. Module quotient et dimension de lespace des solutions 274
5. Les fonctions -nies et leurs cltures 277
Notes 281
Bibliographie 281
Chapitre 28. Sommation et intgration symboliques des fonctions spciales 283
1. Expression du tlescopage cratif en termes dalgbres de Ore
rationnelles 283
2. Lalgorithme sur lexemple
1
2
J
0
(x)
2
+J
1
(x)
2
+J
2
(x)
2
+ =
1
2
285
3. Bases de Grbner de modules et dcouplage de systmes 287
Bibliographie 288
Quatrime partie. Complments 289
Chapitre 29. Rduction de rseaux et algorithme LLL 291
1. Rseaux, vecteurs courts et rsultats principaux 291
2. Applications 292
3. Le procd dorthogonalisation de GramSchmidt 294
4. Lalgorithme LLL 295
5. Preuve de lalgorithme LLL 296
Chapitre 30. Factorisation des polynmes 299
1. Introduction 299
2. Corps nis, quelques rappels 299
3. Partie sans carr et dcomposition sans carr 301
4. Algorithme de Berlekamp 304
Exercices 306
Chapitre 31. Exercices rcapitulatifs 309
Notes 320
Bibliographie 320
Introduction
Le calcul formel calcule des objets mathmatiques exacts. Ce cours Algo-
rithmes ecaces en calcul formel explore deux directions : la calculabilit et la
complexit. La calculabilit tudie les classes dobjets mathmatiques sur lesquelles
des rponses peuvent tre obtenues algorithmiquement. La complexit donne en-
suite des outils pour comparer des algorithmes du point de vue de leur ecacit.
La premire partie de ce cours passe en revue lalgorithmique ecace sur les
objets fondamentaux que sont les entiers, les polynmes, les matrices, les sries et les
solutions dquations direntielles ou de rcurrences linaires. On y montre que de
nombreuses questions portant sur ces objets admettent une rponse en complexit
(quasi-)optimale, en insistant sur les principes gnraux de conception dalgorithmes
ecaces.
La deuxime partie aborde les systmes polynomiaux. Il sagit de montrer com-
ment rpondre des questions de nature gomtrique poses sur les solutions de
ces systmes, tant par des approches base de rcriture (bases standard ou de
Grbner) que plus directement lies la structure de lensemble dcrit (rsolution
gomtrique).
La troisime et dernire partie du cours traite de lintgration et de la som-
mation dnie. De nombreux calculs dintgrales et de sommes de fonctions ou de
suites spciales de la combinatoire ou de la physique mathmatique peuvent tre
abords algorithmiquement. Une trs grande partie de lalgorithmique du calcul
formel savre ncessaire, et pratiquement tous les algorithmes abords au cours
des deux premires parties sont requis.
Quelques thmes classiques du calcul formel ne sont pas traits dans ce cours.
Certains sont donns dans une partie intitule Complments (LLL, factorisation) ;
nous les avons enseigns certaines annes. Dautres comme la recherche de primitives
(algorithme de Risch) ou de solutions liouvilliennes dquations direntielles ne
sont pas abords du tout. Nous prfrons en eet privilgier un point de vue o ce
sont les quations qui sont les structures de donnes les plus utiles.
1
CHAPITRE 1
Calcul Formel et Complexit
Rsum
Ce chapitre introductif prsente rapidement le calcul formel et les no-
tions de complexit, tels quils seront dvelopps dans lensemble du
cours.
1. Dcider, calculer
1.1. Fondements logiques. Dune certaine manire, le calcul formel est fon-
d sur une contrainte dorigine logique.
Thorme 1 (Richardson-Matiyasevich). Dans la classe des expressions ob-
tenues partir dune variable X et de la constante 1 par les oprations danneau
+, , et la composition avec les fonctions sin et la valeur absolue [ [, le test
dquivalence 0 est indcidable.
Autrement dit, il nexiste pas dalgorithme permettant pour toute expression
de cette classe de dterminer en temps ni si elle vaut 0 ou non. Plus gnralement
tout test dgalit peut bien entendu se ramener tester lgalit zro ds que
la soustraction existe. Cette limitation de nature thorique explique la dicult
et parfois la frustration que rencontrent les utilisateurs dbutants des systmes
de calcul formel face des fonctions de simplication , qui ne peuvent tre
quheuristiques.
Pour eectuer un calcul, il est pourtant souvent crucial de dterminer si des ex-
pressions reprsentent 0 ou non, en particulier pour valuer une fonction qui possde
des singularits (comme la division). Lapproche du calculateur formel expriment
consiste se ramener autant que faire se peut des oprations dun domaine dans
lequel le test zro est dcidable. Le calcul formel repose ainsi de manire natu-
relle sur des constructions algbriques qui prservent la dcidabilit du test 0. En
particulier, les oprations courantes sur les vecteurs, matrices, polynmes, fractions
rationnelles, ne ncessitent pas dautre test 0 que celui des coecients. La notion
deectivit permet de prciser ce point de vue.
Definition 1. Une structure algbrique (groupe, anneau, corps, espace vecto-
riel,. . .) est dite eective si lon dispose :
dune structure de donnes pour en reprsenter les lments ;
dalgorithmes pour en eectuer les oprations et pour y tester lgalit.
Par exemple, dans un anneau eectif, outre lgalit, les oprations requises
sont laddition, la soustraction et la multiplication.
1.2. Structures et constructions de base. Les objets les plus fondamen-
taux sont assez faciles reprsenter en machine de manire exacte. Nous considrons
tour tour les plus importants dentre eux, en commenant par les plus basiques.
Ils sassemblent ensuite laide de tableaux ou de listes pour en former de plus
complexes.
3
4 1. CALCUL FORMEL ET COMPLEXIT
Entiers machine. Les entiers fournis par les processeurs sont des entiers modulo
une puissance de 2 (le nombre de bits dun mot machine, typiquement 32 ou 64).
Ils sont appels des entiers machine. Les oprations rendues disponibles par le
processeur sont laddition, la soustraction, la multiplication et parfois la division.
La norme ANSI du langage C fournit au programmeur la division et le modulo pour
ces entiers, cest--dire que le compilateur implante ces oprations si le processeur
ne le fait pas.
Entiers. Pour manipuler des entiers dont la taille dpasse celle dun mot machine,
il est commode de les considrer comme crits dans une base B assez grande :
N = a
0
+a
1
B + +a
k
B
k
.
Lcriture est unique si lon impose 0 a
i
< B. (Le signe est stock sparment.)
Ces nombres peuvent tre stocks dans des tableaux dentiers machine. Les objets
obtenus sont des entiers de taille arbitraire appels parfois bignums.
Laddition et le produit peuvent alors tre rduits des oprations sur des en-
tiers infrieurs B
2
, au prix de quelques oprations de propagation de retenue. Le
choix de B dpend un peu du processeur. Si le processeur dispose dune instruction
eectuant le produit de deux entiers de taille gale celle dun mot machine, ren-
voyant le rsultat dans deux mots machines, alors B pourra tre pris aussi grand
que le plus grand entier tenant dans un mot machine. Sinon, cest la racine carre
de ce nombre qui sera utilise pour B. Quoiquil en soit, nous avons donc.
Lemme 1. Lanneau Z des entiers relatifs est eectif.
Entiers modulaires. Les calculs avec des polynmes, des fractions rationnelles ou
des matrices coecients entiers sourent souvent dune maladie propre au calcul
formel : la croissance des expressions intermdiaires. Les entiers produits comme
coecients des expressions intervenant lors du calcul sont de taille disproportionne
par rapport ceux qui gurent dans lentre et dans la sortie.
Exemple 1. Voici le droulement typique du calcul du plus grand diviseur
commun (pgcd) de deux polynmes coecients entiers par lalgorithme dEuclide :
P
0
= 7X
5
22X
4
+ 55X
3
+ 94X
2
87X + 56,
P
1
= 62X
4
97X
3
+ 73X
2
+ 4X + 83,
P
2
= rem(P
0
, P
1
) =
113293
3844
X
3
+
409605
3844
X
2

183855
1922
X +
272119
3844
,
P
3
= rem(P
1
, P
2
) =
18423282923092
12835303849
X
2

15239170790368
12835303849
X +
10966361258256
12835303849
,
P
4
= rem(P
2
, P
3
) =
216132274653792395448637
44148979404824831944178
X
631179956389122192280133
88297958809649663888356
,
P
5
= rem(P
3
, P
4
) =
20556791167692068695002336923491296504125
3639427682941980248860941972667354081
.
Chaque tape calcule le reste (not rem pour remainder) de la division euclidienne
des deux polynmes prcdents. Les coecients de ces polynmes intermdiaires
font intervenir des entiers qui croissent de manire exponentielle, alors que le rsul-
tat recherch est 1.
Les entiers modulaires remdient ce problme de deux manires. Dune part,
pour un calcul de dcision, de dimension, ou de degr, lexcution de lalgorithme
sur la rduction de lentre modulo un nombre premier donne un algorithme pro-
babiliste rpondant la question. Cette technique peut aussi servir de base un
1. DCIDER, CALCULER 5
algorithme dterministe lorsque les nombres premiers pour lesquels la rponse est
fausse peuvent tre matriss. Cest le cas du pgcd : en vitant les premiers qui
divisent les coecients de tte des deux polynmes, le degr du pgcd modulaire est
le mme que le degr du pgcd exact.
Dautre part, les entiers modulaires sont utiliss dans les algorithmes reposant
sur le thorme des restes chinois. Ce thorme indique quun entier infrieur au
produit de nombres premiers p
1
p
k
peut tre reconstruit partir de ses rduc-
tions modulo p
1
, . . . , p
k
. Lorsquune borne sur la taille du rsultat est disponible,
il sut deectuer le calcul modulo susamment de nombres premiers (choisis en
pratique assez grands pour que leur nombre soit faible et assez petits pour que les
oprations tiennent dans un mot machine), pour ensuite reconstruire le rsultat,
court-circuitant de la sorte toute croissance intermdiaire.
Vecteurs et matrices. Une fois donne une reprsentation exacte pour des coe-
cients, il est facile de construire des vecteurs ou matrices comme des tableaux, ou
plus souvent comme des tableaux de pointeurs sur les coecients. Les oprations
de produit par un scalaire, de produit de matrices ou de produit dune matrice
par un vecteur se rduisent aux oprations daddition et de multiplication sur les
coecients. Il en va de mme pour la recherche de noyau ou dinverse de matrices.
Proposition 1. Si K est un corps eectif, lespace vectoriel K
n
lest aussi,
ainsi que lanneau /
n
(K).
Polynmes. Les polynmes peuvent tre reprsents de plusieurs manires, et la
meilleure reprsentation dpend des oprations que lon souhaite eectuer. Pour un
polynme en une variable, les choix principaux sont :
la reprsentation dense : comme pour les entiers, le polynme est reprsent
comme un tableau de (pointeurs sur les) coecients ;
la reprsentation creuse : le polynme est reprsent comme une liste de
paires (coecient, exposant) gnralement trie par les exposants.
Dans les deux cas, nous avons clairement :
Proposition 2. Si A est un anneau eectif, alors A[X] lest aussi.
Lusage rcursif de cette proposition fournit les polynmes multivaris.
Fractions rationnelles. Les rationnels peuvent tre stocks comme des paires o
numrateur et dnominateur sont des entiers de taille arbitraire. Les oprations
daddition et de multiplication se rduisent aux oprations analogues sur les entiers
et le test dgalit zro se rduit au test dgalit 0 sur le numrateur. De mme,
les fractions rationnelles sont reprsentes par des paires de polynmes. Les opra-
tions daddition, produit, division, se rduisent aux additions et multiplications sur
les coecients. Plus gnralement, nous obtenons :
Proposition 3. Si A est un anneau intgre eectif, alors son corps des frac-
tions est eectif.
Sries tronques. Les sries tronques
N

k=0
a
k
X
k
+O(X
N+1
)
6 1. CALCUL FORMEL ET COMPLEXIT
se reprsentent pratiquement comme des polynmes. La dirence principale appa-
rat lors du produit : les coecients des termes dexposant au moins N + 1 nont
pas besoin dtre calculs, ni stocks.
Proposition 4. Si A est un anneau eectif et N N, alors A[X]/(X
N+1
) est
un anneau eectif.
Cette structure de donnes joue un rle trs important non seulement pour des
calculs dapproximations, mais aussi comme une reprsentation exacte. En voici
trois exemples :
1. Une fraction rationnelle dont les numrateurs et dnominateurs ont degr
born par d peut tre reconstruite partir dun dveloppement en srie
lordre 2d + 1. Cette reprsentation joue ainsi un rle cl dans la manipu-
lation des nombres algbriques (Chapitre 4), et dans le calcul ecace de la
division euclidienne de polynmes, de suites rcurrentes linaires (comme
le calcul rapide du 10 000-ime nombre de Fibonacci au Chapitre 5) et du
polynme minimal dune matrice creuse (Chapitre 10).
2. Il est possible de reconstruire une quation direntielle linaire coe-
cients polynomiaux partir du dveloppement en srie dune solution et
de bornes sur lordre et le degr des coecients. De faon analogue, il est
possible de reconstruire une rcurrence linaire coecients polynomiaux
partir des premires valeurs dune de ses solutions. Loutil algorithmique
pour eectuer ces calculs de devinette (guessing en anglais) est le calcul
rapide dapproximants de Pad-Hermite (Chapitre 9).
3. Un polynme en deux variables peut tre reconstruit partir du dveloppe-
ment en srie dune solution. Lecacit de la factorisation des polynmes
deux variables, ou encore de la rsolution de systmes polynomiaux par
la mthode dite de rsolution gomtrique, aborde au Chapitre 22 repose
de manire cruciale sur cette opration, qui doit tre eectue rapidement.
1.3. quations comme structures de donnes. Une fois construits les ob-
jets de base que sont les polynmes, les sries ou les matrices, il est possible dabor-
der des objets mathmatiques construits implicitement. Ainsi, il est bien connu quil
nest pas possible de reprsenter toutes les solutions de polynmes de haut degr
par radicaux, mais de nombreuses oprations sur ces solutions sont aises en pre-
nant le polynme lui-mme comme structure de donnes. Ce point de vue permet
dtendre le domaine dapplication du calcul formel pourvu que des algorithmes
soient disponibles pour eectuer les oprations souhaites (typiquement addition,
multiplication, multiplication par un scalaire, test dgalit) par manipulation des
quations elles-mmes.
Nombres algbriques. Cest ainsi que lon nomme les solutions de polynmes uni-
varis. Le rsultat est spectaculaire.
Proposition 5. Si K est un corps eectif, alors sa clture algbrique K lest
aussi.
Les oprations daddition et de multiplication peuvent tre eectues laide de
rsultants (Chapitre 7). Ceux-ci peuvent tre calculs ecacement laide de sries
(Chapitre 4). La division sobtient par lalgorithme dEuclide sur les polynmes
(Chapitre 7), et le test zro se dduit du pgcd. Par exemple, il est possible de
prouver assez facilement une identit comme
(1)
sin
2
7
sin
2 3
7

sin

7
sin
2 2
7
+
sin
3
7
sin
2
7
= 2

7
1. DCIDER, CALCULER 7
une fois que lon reconnat quil sagit dune galit entre nombres algbriques.
Systmes polynomiaux. Vu limportance des systmes polynomiaux, une grande
partie du cours leur sera consacre. Un rsultat important de cette partie est le
suivant.
Proposition 6. Si K est un corps eectif, f
1
, . . . , f
p
des polynmes dans
K[X
1
, . . . , X
n
] et J lidal quils engendrent, alors le quotient K[X
1
, . . . , X
p
]/J est
un anneau eectif.
Ce quotient est un outil de base pour rpondre de nombreuses questions
naturelles sur un systme de polynmes, comme lexistence de solutions, la dimen-
sion de lespace des solutions (qui indique sil sagit dune surface, dune courbe,
ou de points isols), le degr, ou le calcul dune paramtrisation de lensemble des
solutions.
Il est galement possible dliminer une ou des variables entre des polynmes.
Cette opration peut sinterprter gomtriquement comme une projection. Dans le
cas le plus simple, elle permet de calculer un polynme sannulant sur les abscisses
des intersections de deux courbes. Une autre application est limplicitisation, qui
permet par exemple de calculer une quation pour une courbe donne sous forme
paramtre.
quations direntielles linaires. Cette structure de donnes permet de repr-
senter de nombreuses fonctions usuelles (exponentielle, fonctions trigonomtriques
et trigonomtriques hyperboliques, leurs rciproques), ainsi que de nombreuses fonc-
tions spciales de la physique mathmatique (fonctions de Bessel, de Struve, dAn-
ger, . . ., fonctions hypergomtriques et hypergomtriques gnralises), ainsi que
bien sr de multiples fonctions auxquelles nest pas attach un nom classique. Les
oprations daddition et de produit sont eectues par des variantes noncommuta-
tives du rsultant qui se ramnent de lalgbre linaire lmentaire (Chapitre 8).
Le test zro se ramne tester lgalit dun nombre ni de conditions initiales.
Une partie de ces rsultats se rsume ainsi :
Proposition 7. Si K est un corps eectif, les sries formelles de K[[X]] qui
sont solution dquations direntielles linaires coecients dans K[X] forment
un anneau eectif.
En dautres termes, des structures de donnes nies permettent de manipuler
ces objets innis et den tester lgalit ou la nullit.
Ainsi, des identits lmentaires comme sin
2
X+cos
2
X = 1 sont non seulement
facilement prouvables algorithmiquement, mais elles sont galement calculables,
cest--dire que le membre droit se calcule partir du membre gauche.
Les relations troites entre quations direntielles linaires et rcurrences li-
naires les sries solutions des unes ont pour coecients les solutions des autres
amnent aux mmes rponses algorithmiques des questions sur des suites. Par
exemple, lidentit de Cassini sur les nombres de Fibonacci
F
n+2
F
n
F
2
n+1
= (1)
n+1
, n 0
est exactement du mme niveau de dicult que sin
2
X + cos
2
X = 1. Le pendant
du rsultat prcdent est donc :
Proposition 8. Si K est un corps eectif, lensemble des suites de K
N
solutions
de rcurrences linaires coecients dans K[n] forme un anneau eectif.
8 1. CALCUL FORMEL ET COMPLEXIT
Systmes dquations direntielles et de rcurrences linaires. Ces systmes sont
aux quations direntielles ou de rcurrences ce que les systmes polynomiaux sont
aux polynmes en une variable. Les mmes oprations sont disponibles. En parti-
culier, llimination stend dans ce cadre en introduisant des algbres doprateurs
adapts (Chapitre 27). Une application trs importante, le tlscopage cratif, per-
met de calculer automatiquement des sommes et des intgrales dnies. Ainsi,
n

k=0
_
_
k

j=0
_
n
j
_
_
_
3
= n2
3n1
+ 2
3n
3n2
n2
_
2n
n
_
,

n=0
H
n
(x)H
n
(y)
u
n
n!
=
exp
_
4u(xyu(x
2
+y
2
))
14u
2
_

1 4u
2
,
1
2
J
0
(x)
2
+J
1
(x)
2
+J
2
(x)
2
+ =
1
2
,
_
+1
1
e
px
T
n
(x)

1 x
2
dx = (1)
n
I
n
(p),
_
+
0
xe
px
2
J
n
(bx)I
n
(cx) dx =
1
2p
exp
_
c
2
b
2
4p
_
J
n
_
bc
2p
_
,
_
+
0
xJ
1
(ax)I
1
(ax)Y
0
(x)K
0
(x) dx =
ln(1 a
4
)
2a
2
,
n

k=0
q
k
2
(q; q)
k
(q; q)
nk
=
n

k=n
(1)
k
q
(5k
2
k)/2
(q; q)
nk
(q; q)
n+k
,
formules qui mettent en jeu diverses fonctions spciales ou polynmes orthogonaux
classiques, peuvent tre prouves automatiquement. Les algorithmes correspondants
seront dcrits au Chapitre 28. Lnonc en termes danneaux eectif est un peu lourd
et omis ici.
En conclusion, les exemples ci-dessus illustrent bien la manire dont le calcul
formel parvient eectuer de nombreux calculs utiles dans les applications malgr
lindcidabilit rvle par le thorme de Richardson.
2. Calculer rapidement
En pratique, la calculabilit nindique que la faisabilit. Il faut disposer dalgo-
rithmes ecaces et dune bonne implantation pour pouvoir eectuer des calculs de
grande taille. La premire partie de ce cours est consacre aux algorithmes ecaces
sur les structures de base du calcul formel. Lecacit sera mesure par la thorie
de la complexit et nous ferons ressortir des principes rcurrents dans la conception
dalgorithmes ecaces.
Exemple 2. Pour donner une ide de ce que veut dire rapidement, voici ce qui
peut tre calcul en une minute avec le systme Magma sur une machine de bureau
daujourdhui
1
, en notant K le corps Z/pZ p lments, p = 67 108 879 tant un
nombre premier de 26 bits (dont le carr tient sur un mot machine) :
1. Entiers :
produit de deux entiers avec 500 000 000 de chires ;
factorielle de 20 000 000 (environ 140 000 000 de chires) ;
factorisation dun entier de 45 chires (150 bits).
1. La machine a un processeur AMD 64 2,2 GHz et une mmoire de 2 Go ; le systme
dexploitation est linux.
2. CALCULER RAPIDEMENT 9
2. Polynmes dans K[X] :
produit de deux polynmes de degr 14 000 000 (plus dun an avec la
mthode nave) ;
pgcd de deux polynmes de degr 600 000 ;
rsultant de deux polynmes de degr 40 000 ;
factorisation dun polynme de degr 4 000.
3. Polynmes dans K[X, Y ] :
rsultant de deux polynmes de degr total 100 (sortie de degr
10 000) ;
produit et somme de deux nombres algbriques de degr 450 (sortie
de degr 200 000) ;
factorisation dun polynme de degr 500 en deux variables.
4. Matrices :
dterminant dune matrice 4 500 4 500 coecients dans K;
polynme caractristique dune matrice 2 000 2 000 coecients
dans K;
dterminant dune matrice 700 700 dont les coecients sont des
entiers 32 bits.
Ces exemples montrent quil est relativement ais de calculer avec des objets de
taille colossale (mais pas avec les algorithmes nafs), et donnent envie dintroduire
une mesure de complexit des dirents algorithmes permettant dexpliquer, voire
de prdire, les dirences entre les tailles atteintes pour ces questions.
2.1. Mesures de complexit. Pour bien dnir la complexit, il faut se
donner : un modle de machine ; les oprations disponibles sur cette machine ; leur
cot unitaire. La complexit en espace mesure la mmoire utilise par lexcution de
lalgorithme, et la complexit en temps, la somme des cots unitaires des oprations
eectues par lalgorithme. Dans ce cours, nous nabordons pas la complexit en
espace.
Machine RAM. Le modle que nous utiliserons est celui de la Random Access
Machine (RAM). Dans ce modle, un programme lit et crit des entiers sur deux
bandes direntes et utilise un nombre arbitraire de registres entiers pour ses calculs
intermdiaires. Les oprations lmentaires (lassembleur de la machine) sont la
lecture, lcriture (sur bande ou en registre), laddition, la soustraction, le produit,
la division et trois instructions de saut : saut inconditionnel, saut si un registre est
nul et saut si un registre est positif. Un point technique est que le programme ne
fait pas partie des donnes, il nest donc pas modiable.
Complexit binaire ou arithmtique. Nous considrerons deux mesures de com-
plexit :
1. Dans la complexit binaire, les bandes dentre et de sortie ainsi que les
registres ne peuvent stocker que des bits (0 ou 1). Les oprations daddition,
soustraction, produit et division oprent galement sur des bits (on parle
doprations binaires). La mesure de complexit des algorithmes oprant
sur une telle machine tient compte de la taille des entiers manipuls et
modlise assez prcisment le temps de calcul.
2. Dans la complexit arithmtique, les oprations sur les entiers ont cot uni-
taire. Cette mesure modlise prcisment le temps de calcul pour des opra-
tions sur des entiers modulaires ou sur les ottants machine. Nous tendrons
cette mesure au cas o les objets manipuls ne sont pas des entiers, mais
10 1. CALCUL FORMEL ET COMPLEXIT
plus gnralement des lments dun anneau A donn et nous mesurerons
alors la complexit en nombre doprations arithmtiques dans A.
Exemple 3. Le calcul de n! par la mthode nave requiert n oprations arith-
mtiques et O(n
2
log
2
n) oprations binaires. Nous verrons au Chapitre 13 quil est
possible dabaisser ce cot seulement O(n
1/2
log n) oprations arithmtiques, et
O(nlog
3
n) oprations binaires. Les algorithmes rapides permettant datteindre ces
complexits fournissent le meilleur algorithme connu de factorisation dterministe
dentiers et des algorithmes trs ecaces pour le calcul de millions de dcimales
de , log 2 et de nombreuses autres constantes. (La notation O() est rappele en
Section 2.2).
Taille. Un algorithme et une structure de donnes sont gnralement dots dune
notion naturelle de taille et il sagit dtudier le cot de lalgorithme en fonction de
cette taille. Pour simplier, il est souvent commode de considrer le comportement
asymptotique de ce cot lorsque la taille tend vers linni. Il est important de
comprendre que la complexit dun problme na de sens quune fois la structure
de donnes xe pour lentre comme pour la sortie.
Par exemple, pour les polynmes, le choix de la reprsentation dense mne
mesurer la complexit par rapport au degr, alors que le choix de la reprsentation
creuse met en avant le nombre de monmes. Pour la factorisation, la complexit est
polynomiale en le degr, mais exponentielle en le nombre de monmes, dans le cas
le pire.
Cas le pire, cas moyen. La complexit dans le cas le pire est le maximum des
complexits pour toutes les entres dune taille donne. Cest celle que nous tudie-
rons. Il est souvent utile de considrer aussi la complexit en moyenne, lorsque lon
peut mettre une mesure sur lensemble des entres de taille borne. Pour la plupart
des algorithmes que nous tudierons dans la premire partie de ce cours, il ny a
pas de dirence importante entre les deux. Ce nest plus le cas en revanche pour
la complexit des algorithmes sur les systmes polynomiaux (o la notion de com-
plexit en moyenne est avantageusement remplace par celle de complexit dans le
cas gnrique).
Bornes infrieures. La recherche de bornes infrieures de complexit est trs dif-
cile. Par exemple, lheure actuelle on ne sait pas prouver que la multiplication
de matrices est ncessairement plus coteuse quun nombre born dadditions. Ds
quil est possible de montrer que tous les bits de lentre doivent tre pris en compte,
la somme de la taille de lentre et de la taille de la sortie est une borne infrieure sur
la complexit. En eet, dans le modle RAM, chacune des critures et des lectures
prend une opration.
Definition 2. Si N est la somme de la taille de lentre et de la taille de
la sortie, un algorithme sera dit quasi-optimal lorsque sa complexit est borne
par O(N log
k
N) pour un k 0 arbitraire.
Lessentiel de la premire partie du cours consistera rechercher des algo-
rithmes quasi-optimaux pour les oprations de base sur les structures de donnes
fondamentales.
2.2. La notation O(). Nous utilisons la notation O() pour exprimer une
borne sur la complexit des algorithmes. La signication prcise de la notation
f(n) = O(g(n)), n
2. CALCULER RAPIDEMENT 11
n
n/p
...
...
... ... ...
n/p n/p
m appels
rcursifs
m appels
rcursifs
2
s s
s
...
Figure 1. Les appels rcursifs dun algorithme diviser pour rgner .
est quil existe K > 0 et A > 0 tels que pour tout n > A, f et g soient lis par
lingalit
[f(n)[ K[g(n)[.
Lorsque plusieurs paramtres interviennent dans lanalyse de la complexit, il faut
absolument prciser lequel tend vers linni pour que cette notation ait un sens.
Si plusieurs dentre eux tendent vers linni, soit ils sont lis par des ingalits qui
seront prcises, soit la dnition ci-dessus stend avec une constante K qui ne
dpend daucun des paramtres.
La notation O() intervient aussi dans ce cours pour reprsenter la troncature
des sries. Lexpression
f(X) := g(X) +O(X
N
)
signiera que le polynme ou la srie g est tronqu aprs son N-ime terme et que
le rsultat, un polynme, est stock dans f.
2.3. Diviser pour rgner. Le principe le plus important de la conception
dalgorithmes ecaces est le paradigme diviser pour rgner . Il consiste rsoudre
un problme en le rduisant un certain nombre m dentres de taille divises par p
(le plus souvent p = 2) puis recombiner les rsultats (voir Figure 1). Le cot de
la recombinaison et ventuellement du dcoupage prliminaire est born par une
fonction T de la taille des entres. Lorsque les entres ont une taille infrieure
p ou susamment petite (s) un autre algorithme de cot indpendant de n est
invoqu. Le cot total obit alors une rcurrence de la forme
(2) C(n)
_
T(n) +mC(,n/p|), si n s( p)
sinon.
La notation ,x| dsigne lentier k tel que k 1 < x k (le plafond de x).
Qualitativement, le cot total de cette approche dpend fortement de la fonc-
tion T. Lorsque T est relativement leve, les premiers niveaux de larbre contri-
buent lessentiel du cot et, une constante prs, le cot est donc domin par
la premire tape de rcursion. Les algorithmes base ditration de Newton du
Chapitre 4 sont de ce type. linverse, pour une fonction T assez faible, le bas de
12 1. CALCUL FORMEL ET COMPLEXIT
larbre domine le cot qui sera proportionnel au nombre de feuilles
2
O((n/s)
log
p
m
).
Lalgorithme de multiplication de polynmes de Karatsuba du Chapitre 2 et lal-
gorithme de Strassen pour la multiplication de matrices (Chapitre 3) rentrent dans
cette catgorie. Enn, il est possible que tous les O(log
p
(n/s)) niveaux de larbre
contribuent de manire assez quilibre, menant un cot en O(T(n) log n). La
transforme de Fourier rapide (Chapitre 2) et le classique algorithme de tri fusion
sont dans cette dernire catgorie.
Un cadre commode pour nos applications est rsum dans la proposition sui-
vante, dont une version simplie que nous utiliserons dans la plupart des cas est
donne ensuite par le thorme 2. Nous commenons par le cas simple o la taille
est une puissance de p, o il est possible de donner des constantes prcises dans les
ingalits.
Proposition 9. Soit C une fonction obissant lingalit (2) avec m > 0,
> 0 et T une fonction telle que
(3) qT(n) T(pn), n N,
avec 1 < q. Alors, si n est une puissance de p,
C(n)
_

_
_
1
m
q
_
1
T(n) +n
log
p
m
si q > m,
T(n) log
p
n +n
log
p
q
si q = m,
n
log
p
m
_
T(n)
n
log
p
q
q
log
p
s
mq
+
_
si q < m.
Dmonstration. Par rcurrence, lingalit (3) entrane dabord q
log
p
n
T(1)
T(n). Ensuite, lutilisation rpte de lingalit sur C donne
C(n) T(n) +mC
_
n
p
_
,
T(n) +mT
_
n
p
_
+ +m
k1
T
_
n
p
k1
_
+m
k
C
_
n
p
k
_
, (4)
T(n)
_
1 +
m
q
+ +
_
m
q
_
k1
_
+m
k
, (5)
o la dernire ligne rsulte de (3) et du choix de k = log
p
n
s
| +1 [log
p
n
s
, log
p
n].
Ce choix entraine la suite dingalits suivante :
m
k
m m
log
p
(n/s)
= n
log
p
m
m
1log
p
s
n
log
p
m
qui permet de borner le deuxime terme de (5).
Si m < q, la somme entre parenthses est majore par la srie gomtrique.
Si m = q, la somme comporte k termes gaux.
Si m > q, rcrire la somme sous la forme
_
m
q
_
k1
_
1 +
q
m
+ +
_
q
m
_
k1
_
montre que le premier terme de (5) est major par
T(n)
_
m
q
_
k
1
mq
.
Ensuite, les ingalits q
k
q
log
p
n/s
= n
log
p
q
q
log
p
s
permettent de conclure.
2. La notation log
p
a reprsente le logarithme en base j de a, cest--dire log a log j. Lidentit
o
log
p
b
= o
log
p
a
sera utile.
NOTES 13
En pratique la rgularit de T est souvent plus forte que celle donne par (3)
et on ne cherche qu comparer des estimations de O(). Le rsultat prend alors une
forme plus simple, et sans restriction sur n.
Thorme 2 (Diviser pour rgner). Soit C une fonction obissant linga-
lit (2) avec m > 0 et > 0, et soit T une fonction croissante telle que
(6) qT(n) T(pn) rT(n), n N,
avec 1 < q r. Alors, lorsque n
C(n) =
_

_
O(T(n)), si q > m,
O(T(n) log n), si q = m,
O
_
n
log
p
m T(n)
n
log
p
q
_
si q < m.
Dmonstration. Soit N la puissance de p telle que n N < pn. En droulant
lingalit (2) on obtient une ingalit similaire (4) o la division par p est rempla-
ce par lopration x ,x/p|. La fonction T tant suppose croissante, toutes ces
valeurs de T sont majores par les valeurs en N/p
i
, i = 0, . . . , k1 et on obtient donc
une majoration (5) o n est remplac par N. Il ne reste plus qu majorer cette ex-
pression. La croissance de T et lhypothse (6) donnent T(N) T(pn) = O(T(n)),
ce qui permet de conclure.
Exemple 4. La complexit de lalgorithme de Karatsuba du Chapitre 2 sob-
tient avec m = 3, p = 2 et T linaire, si bien que q = r = 2, do une complexit
C(n) = O(n
log
2
3
).
Avertissement
Pour toute la suite du cours, et sauf mention contraire, nous faisons les conven-
tions de notation et de terminologie suivantes :
tous les anneaux et corps sont supposs eectifs, commutatifs et unitaires ;
les estimations de complexit sont en nombre doprations arithmtiques dans
lanneau de base ;
le symbole marque la n dune dmonstration ;
les logarithmes sont en base 2, lorsque la base nest pas spcie ;
le lemme diviser pour rgner fait rfrence lnonc de la Proposition 9 ;
le thorme diviser pour rgner fait rfrence lnonc du Thorme 2.
Notes
Les rfrences gnrales sur les algorithmes du calcul formel sont deux livres :
celui de von zur Gathen et Gerhard [13] et celui, plus lmentaire, de Geddes,
Czapor et Labahn [6]. La complexit est galement utilise comme l conducteur
dans le livre plus dicile de Brgisser, Clausen et Shokrollahi [3]. Une bonne in-
troduction la seconde partie du cours, sur les systmes polynomiaux, est le livre
de Cox, Little et OShea [4]. De premiers lments pour aborder la partie 3, sur les
quations direntielles et les rcurrences linaires, sont donns dans le livre A = B
de Petkovek, Wilf et Zeilberger [9].
Le thorme de Richardson-Matiyasevich que nous nonons a ses racines dans
les travaux sur le 10
e
problme de Hilbert sur lexistence dun algorithme permettant
de trouver les racines entires des polynmes multivaris coecients entiers. Une
tape importante dans la rsolution de ce problme est due Davis, Putnam et Ro-
binson [5] qui montrent en 1961 lindcidabilit de ce problme si en plus des poly-
nmes on considre la fonction x 2
x
. Quelques annes plus tard, Richardson [10]
ramne les problmes de racines relles en plusieurs variables ces questions, et,
laide dun codage astucieux par le sinus, y ramne aussi les problmes en une
14 1. CALCUL FORMEL ET COMPLEXIT
variable. Par rapport notre nonc, son thorme fait intervenir la fonction exp et
la constante ln 2 (pour utiliser le rsultat de Davis, Putnam et Robinson), ainsi que
la constante (pour utiliser la nullit du sinus aux multiples entiers de ). Deux
ans plus tard, en 1970, Matiyasevich prouve que la fonction x 2
x
elle-mme peut
sexprimer laide de polynmes, concluant ainsi la preuve de lindcidabilit du
10
e
problme de Hilbert. Le thorme de Richardson peut alors tre simpli, et
cest ce que fait Matiyasevich dans son livre [8], o il montre aussi comment se
dbarrasser de la constante . Il faut noter que par contre, si lon remplace le sinus
par lexponentielle, alors la simplication devient dcidable [11].
Ces thormes sappliquent des fonctions. Pour des constantes, lapproche
la plus rcente rduit le test zro une conjecture de thorie des nombres due
Schanuel qui exprime que les seules relations entre exponentielles et logarithmes
sont celles qui dcoulent des formules daddition et de multiplication. Si lon accepte
cette conjecture de Schanuel, alors un rsultat rcent de Macintyre et Wilkie en
1996 [7] entrane lexistence dun algorithme de reconnaissance de 0 pour la classe
des constantes obtenues partir de 1 par addition, soustraction, multiplication et
exponentielle. Un tel algorithme, base dvaluation numrique et de LLL (voir
Chap. 29) a ensuite t donn en 1997, nouveau par Richardson [12].
Les dirents modles de complexit (machine RAM, straight-line program,
machine de Turing, . . .) sont bien prsents par Aho, Hopcrof et Ullman dans [1].
La jolie identit (1) est tire de [2].
Bibliographie
[1] Aho (Alfred V.), Hopcroft (John E.), and Ullman (Jerey D.). The design and analysis of
computer algorithms. Addison-Wesley Publishing Co., ip, x+470p.
[2] Beck (Matthias), Berndt (Bruce C.), Chan (O-Yeat), and Zaharescu (Alexandru). Deter-
minations of analogues of Gauss sums and other trigonometric sums. Int. J. Number Theory,
vol. 1, n3, oo, pp. 333356.
[3] Brgisser (Peter), Clausen (Michael), and Shokrollahi (M. Amin). Algebraic complexity
theory. Springer-Verlag, Berlin, ipp, Grundlehren Math. Wiss., vol. 315, xxiv+618p.
[4] Cox (David), Little (John), and OShea (Donal). Ideals, varieties, and algorithms.
Springer-Verlag, New York, ipp6, second edition, xiv+536p.
[5] Davis (Martin), Putnam (Hilary), and Robinson (Julia). The decision problem for exponen-
tial diophantine equations. Annals of Mathematics. Second Series, vol. 74, ip6i, pp. 425436.
[6] Geddes (Keith O.), Czapor (Stephen R.), and Labahn (George). Algorithms for Computer
Algebra. Kluwer Academic Publishers, ipp.
[7] Macintyre (Angus) and Wilkie (A. J.). On the decidability of the real exponential eld. In
Kreiseliana, pp. 441467. A K Peters, Wellesley, MA, ipp6.
[8] Matiyasevich (Yuri V.). Hilberts tenth problem. MIT Press, Cambridge, MA, ipp, Foun-
dations of Computing Series, xxiv+264p. Translated from the 1993 Russian original by the
author, With a foreword by Martin Davis.
[9] Petkovek (Marko), Wilf (Herbert S.), and Zeilberger (Doron). = 1. A. K. Peters,
Wellesley, MA, ipp6, xii+212p.
[10] Richardson (Daniel). Some undecidable problems involving elementary functions of a real
variable. Journal of Symbolic Logic, vol. 33, n4, ip6S, pp. 514520.
[11] Richardson (Daniel). Solution of the identity problem for integral exponential functions.
Zeitschrift fur mathematischen Logik und Grundlagen der Mathematik, vol. 15, ip6p, pp. 333
340.
[12] Richardson (Daniel). How to recognize zero. Journal of Symbolic Computation, vol. 24, n6,
ipp, pp. 627645.
[13] von zur Gathen (Joachim) and Gerhard (Jrgen). Modern computer algebra. Cambridge
University Press, New York, ippp, xiv+753p.
Premire partie
Algorithmes Fondamentaux
CHAPITRE 2
Multiplication rapide
Rsum
Les algorithmes rapides de calcul de produit de polynmes et dentiers
sont au cur de lalgorithmique ecace en calcul formel. La plupart
des gains de complexit dans les chapitres ultrieurs reposent sur lef-
cacit de la multiplication. Pour multiplier deux polynmes de degr
n coecients dans un anneau A, la mthode classique requiert O(n
2
)
oprations dans A. De mme, lalgorithme scolaire de multiplication de
deux entiers n chires ncessite un nombre doprations binaires en
O(n
2
). Nous prsentons dans ce chapitre plusieurs algorithmes de multi-
plication rapide, dont celui de Karatsuba, de complexit O(n
1,59
), ainsi
que ceux utilisant la transforme de Fourier rapide, dont la complexit
est essentiellement linaire en n.
1. Introduction, rsultats principaux
Les problmes abords dans ce chapitre concernent la complexit arithmtique
de la multiplication des polynmes une variable et la complexit binaire de la
multiplication des entiers. Au vu de lexemple suivant, il est facile de se convaincre
de la similitude des deux questions :
Polynmes : Soient multiplier 3X
2
+ 2X + 1 et 6X
2
+ 5X + 4 dans Z[X].
(3X
2
+ 2X + 1) (6X
2
+ 5X + 4)
= (3 6)X
4
+ (3 5 + 2 6)X
3
+ (3 4 + 2 5 + 1 6)X
2
+ (2 4 + 1 5)X + (1 4)
= 18X
4
+ 27X
3
+ 28X
2
+ 13X + 4.
Nombres entiers : Soient multiplier 321 et 654 en base 10.
(3 10
2
+ 2 10 + 1) (6 10
2
+ 5 10 + 4)
= (3 6)10
4
+ (3 5 + 2 6)10
3
+ (3 4 + 2 5 + 1 6)10
2
+ (2 4 + 1 5)10 + (1 4)
= 18 10
4
+ 27 10
3
+ 28 10
2
+ 13 10 + 4
= 2 10
5
+ 9 10
3
+ 9 10
2
+ 3 10 + 4 = 209934.
Dans les deux cas, nous avons retranscrit lalgorithme naf, et la suite des calculs
est essentiellement la mme, si ce nest que, dans le cas des entiers, il faut en outre
grer les retenues (dernire galit de lexemple). On ne sera donc pas surpris que
les rsultats obtenus dans les deux cas soient trs semblables.
17
18 2. MULTIPLICATION RAPIDE
Rsultats. Dans toute la suite, (A, +, ) dsignera un anneau (commutatif et uni-
taire). Tout dabord, nous considrons la complexit arithmtique ; il sagit de mi-
nimiser le nombre doprations (+, , ) dans A pour multiplier des polynmes en
degr born. Les premiers rsultats retenir de ce chapitre sont les suivants.
La multiplication des polynmes de degr au plus n dans A[X] requiert :
O(n
2
) oprations dans A par lalgorithme naf ;
O(n
1,59
) oprations dans A par lalgorithme de Karatsuba ;
O(nlog nlog log n), voire dans certains cas O(nlog n) oprations dans A, via
la transforme de Fourier rapide (FFT).
Ainsi, la multiplication des polynmes peut se faire en un cot arithmtique
essentiellement linaire en leur degr.
La multiplication des polynmes est omniprsente : les algorithmes de calcul
de pgcd (plus grand commun diviseur), de pgcd tendu, de factorisation en une
ou plusieurs variables, de composition des sries formelles, dvaluation multipoint,
dinterpolation, font tous intervenir des produits de polynmes.
Lanalogie entre les entiers et les polynmes va trs loin; la plupart des rponses
apportes dans le cadre de la complexit arithmtique trouvent un quivalent en
complexit binaire. Cependant, aucun thorme dquivalence nest connu ; il se
trouve que les mmes ides algorithmiques sadaptent plus ou moins facilement dans
les deux cadres. Ainsi, on dispose des rsultats suivants dans le modle binaire.
On peut multiplier des entiers de n chires binaires par :
lalgorithme naf en O(n
2
) oprations binaires ;
lalgorithme de Karatsuba en O(n
1,59
) oprations binaires ;
lalgorithme de Schnhage-Strassen en O(nlog nlog log n) oprations binaires.
Les preuves de ces rsultats de complexit binaire sont plus dlicates que celles
de leurs analogues polynomiaux, cause des problmes de gestion des retenues.
Ainsi, dans la suite, nous ne traitons dabord en dtail que les versions polynomiales
de ces rsultats, le cas entier tant ensuite brivement pass en revue.
En pratique. Les constantes caches dans les O() sont dterminantes pour leca-
cit pratique de tels algorithmes. Par exemple, lorsque A est un corps ni de taille
raisonnable (typiquement, dont les lments sont reprsents sur quelques mots
machine), pour le produit de polynmes dans les meilleures implantations actuelles
(magma, NTL) :
lalgorithme de Karatsuba bat lalgorithme naf pour des degrs denviron 20 ;
les mthodes base de FFT en O(nlog n) battent limplantation de Karat-
suba pour des degrs de lordre de 100, mais ne peuvent pas tre utilises
pour des degrs arbitrairement grands (vient un moment o on manque de
racines de lunit, voir plus loin) ;
lalgorithme de type FFT en O(nlog nlog log n) est utilis pour des degrs
de lordre de quelques dizaines ou centaines de milliers.
Certains problmes, en cryptologie ou en thorie des nombres, ncessitent de mani-
puler des polynmes de degr de lordre de 100 000, tailles auxquelles les algorithmes
rapides sont indispensables. Plus frquemment, des degrs de lordre de la centaine
ou du millier font partie du quotidien du calculateur formel (au moins dans des
calculs intermdiaires).
Ces algorithmes ne sont pas concurrents, mais complmentaires. Les bonnes im-
plantations passent automatiquement sur lalgorithme le plus ecace en fonction du
2. ALGORITHME NAF 19
0
0.5
1
1.5
2
2.5
500 1000 1500 2000
t
e
m
p
s

d
e

m
u
l
t
i
p
l
i
c
a
t
i
o
n

(
e
n

s
e
c
o
n
d
e
s
)
degre des polynomes multiplies
"MultiplicationRapide.out"
Figure 1. Courbe de complexit pratique de la multiplication
dans A[X], o A = Z/4179340454199820289 Z.
degr. Nous donnons dans la Figure 1 la courbe de complexit pratique
1
de la multi-
plication polynomiale coecients dans le corps ni A=Z/4179340454199820289 Z.
Lallure de cette courbe conrme que les estimations thoriques de complexit
sont respectes en pratique. Le comportement quasi-linaire par morceaux, agr-
ment de sauts entre les puissances successives de 2, est typique des implantations
actuelles de la FFT.
La situation pour les entiers est similaire, mme si limplantation des algo-
rithmes rapides pour les entiers est bien plus dlicate en raison des retenues. Dans
les meilleures implantations actuelles (magma, GMP) :
lalgorithme de Karatsuba bat lalgorithme naf pour des nombres de lordre
de 100 chires binaires ;
les mthodes base de FFT (Schnhage-Strassen) gagnent pour des nombres
denviron 10 000 chires binaires.
nouveau, des entiers de quelques centaines de chires sont courants ds que
lon sort des exemples jouets. Au-del, des problmes venus de la cryptologie ou de
la thorie des nombres demandent de manipuler des nombres de taille colossale (de
lordre de 100 000 000 de chires ; il faut 10 Mo pour stocker un tel nombre). Ceci
justie amplement les eorts dimplantation dalgorithmes rapides.
Notation 1. On travaille avec des polynmes F et G coecients dans un
anneau A, ayant un degr au plus n 1, formellement
F = f
0
+ +f
n1
X
n1
et G = g
0
+ +g
n1
X
n1
;
le problme est alors de calculer (les coecients de)
H = FG = h
0
+ +h
2n2
X
2n2
.
2. Algorithme naf
Cet algorithme consiste dvelopper le produit, cest--dire crire
H = FG =
2n2

i=0
h
i
X
i
avec h
i
=

j+k=i
f
j
g
k
.
Ainsi, calculer tous les h
i
demande O(n
2
) oprations dans A. Cest un algorithme
de complexit arithmtique quadratique.
1. Calculs eectus avec le logiciel Magma, version V2.12-1, sur un Opteron 150 (2,4 GHz).
20 2. MULTIPLICATION RAPIDE
Exercice 1. Montrer que, pour multiplier deux polynmes de degrs m et n,
lalgorithme naf demande au plus (m+ 1) (n + 1) multiplications dans A et mn
additions dans A.
Exercice 2. Montrer que, pour multiplier deux entiers n chires chacun,
lalgorithme naf demande O(n
2
) oprations binaires.
Exercice 3. Estimer la complexit binaire de la mthode nave lorsque les
polynmes ont degr n et des coecients entiers borns en valeur absolue par un
entier H.
Exercice 4. Shigeru Kondo a calcul 25 000 000 000 dcimales de sur un PC
de bureau
2
. Ce type de calcul repose sur la multiplication dentiers. En supposant
que la machine de Kondo tait capable deectuer 10
12
oprations la seconde,
montrer que Kondo na pas utilis lalgorithme naf.
3. Algorithme de Karatsuba
Un premier ranement de lalgorithme naf se base sur la remarque suivante : il
est possible de gagner une multiplication pour le produit des polynmes de degr 1,
parmi les 4 du produit par lalgorithme quadratique. Soient en eet multiplier les
polynmes
F = f
0
+f
1
X et G = g
0
+g
1
X.
Le produit H = FG scrit
H = f
0
g
0
+ (f
0
g
1
+f
1
g
0
)X +f
1
g
1
X
2
.
On vite deectuer les 4 produits f
0
g
0
, f
0
g
1
, f
1
g
0
, f
1
g
1
en remarquant que le coef-
cient de X scrit
f
0
g
1
+f
1
g
0
= (f
0
+f
1
)(g
0
+g
1
) f
0
g
0
f
1
g
1
.
Cette criture mne un algorithme qui eectue au total 3 multiplications et 4 ad-
ditions.
Quelques additions sont perdues par rapport lalgorithme naf, mais le gain
dune multiplication va se transformer en gain dans lexposant de lalgorithme, par
application rcursive.
Passons en eet au cas gnral des degrs quelconques. En sinspirant de lob-
servation prcdente, nous scindons F et G en deux. Nous supposons donc que F
et G sont de degr au plus n 1, et choisissons k = ,n/2|. Posons alors
(1) F = F
(0)
+F
(1)
X
k
, G = G
(0)
+G
(1)
X
k
,
pour des polynmes F
(0)
, F
(1)
, G
(0)
, G
(1)
de degrs au plus k 1. Le produit H =
FG scrit
H = F
(0)
G
(0)
+ (F
(0)
G
(1)
+F
(1)
G
(0)
)X
k
+F
(1)
G
(1)
X
2k
.
Lalgorithme est prsent en Figure 2.
Le thorme qui suit tablit maintenant la complexit de lalgorithme.
Thorme 1. Si n est une puissance de 2, lalgorithme de Karatsuba calcule
le produit de deux polynmes de degr au plus n 1 en au plus 9n
log
2
3
oprations
dans A.
2. Calcul eectu en 2003 ; le record actuel est de 5 10
12
chires, obtenu en aot 2010 par
Alexander J. Yee et Shigeru Kondo http://www.numberworld.org/misc_runs/pi-5t/announce_
en.html.
3. ALGORITHME DE KARATSUBA 21
Algorithme de Karatsuba
Entre : F, G de degr au plus n 1.
Sortie : H = FG.
1. Si n = 1, renvoyer FG.
2. Dcomposer F et G selon lquation (1).
3. Calculer A
1
= F
(0)
G
(0)
et A
2
= F
(1)
G
(1)
rcursivement.
4. Calculer A
3
= F
(0)
+F
(1)
et A
4
= G
(0)
+G
(1)
.
5. Calculer A
5
= A
3
A
4
rcursivement.
6. Calculer A
6
= A
5
A
1
et A
7
= A
6
A
2
.
7. Renvoyer A
1
+A
7
X
k
+A
2
X
2k
.
Figure 2. Multiplication de polynmes par lalgorithme de Karatsuba.
Dmonstration. Un appel en degr < n eectue 3 appels rcursifs en degr
< n/2, plus quelques additions, comptes comme suit : ltape 4 eectue 2 additions
en tailles < n/2 ; ltape 6 eectue 2 additions en tailles < n; quant ltape 7, A
1
et A
2
X
n
sont supports monomiaux distincts, donnant la somme A
1
+A
2
X
n
sans
cot arithmtique, puis la somme totale en 1 addition en taille < n. Le cot K(n)
satisfait donc la rcurrence
K(n) 3K(n/2) + 4n,
o le terme 4n vient compter le nombre dadditions dans A. Le lemme diviser
pour rgner permet alors de conclure avec p = q = s = 2, m = 3, T(n) = 4n, et
= 1 (cot de lalgorithme naf en degr 0).
Le rsultat gnral suivant se dduit pour un degr quelconque.
Corollaire 1. On peut multiplier deux polynmes de degr n (quelconque) en
O(n
log
2
3
) = O(n
1,59
) oprations dans A.
En eet, soit N la plus petite puissance de 2 telle que N > n. Alors, le pro-
duit de F et de G perd au pire un facteur constant par rapport lestimation du
Thorme 1.
Exercice 5. Borner la constante cache dans lestimation asymptotique du
Corollaire 1.
En fonction de la nature de lanneau ou du corps de base, on peut vouloir
arrter les appels rcursifs avant davoir atteint le degr 0. Ce choix dpend des
vitesses relatives de laddition et de la multiplication.
Exercice 6. Soit n une puissance de 2. tablir un algorithme hybride de
multiplication dans A[X], qui fait appel lalgorithme de Karatsuba pour n > 2
d
et lalgorithme naf pour n 2
d
. Montrer que la complexit arithmtique C(n)
de cet algorithme vrie C(n) (d)n
log
2
3
8n pour tout n 2
d
, o (d) est une
fonction qui dpend uniquement de d. Trouver la valeur de d qui minimise (d) et
comparer le rsultat avec celui du Thorme 1.
Exercice 7. Est-il possible de multiplier par un algorithme universel, cest-
-dire indpendant de lanneau de base A, deux polynmes de degr au plus 1 en
utilisant seulement 2 multiplications dans A?
Exercice 8. Soit A un anneau et soient A et B deux polynmes de degr au
plus 3 dans A[X].
22 2. MULTIPLICATION RAPIDE
Multiplication par FFT
Entre : F, G deux polynmes, n un entier, une racine primitive n
e
de 1.
Sortie : H = FG mod X
n
1.
1. Prcalcul. Calculer les puissances
2
, . . . ,
n1
.
2. valuation. Calculer les valeurs :
Ev(F) =
_
F(
0
), . . . , F(
n1
)
_
; Ev(G) =
_
G(
0
), . . . , G(
n1
)
_
.
3. Produit point point.
_
Ev(F), Ev(G)
_
Ev(FG) =
_
FG(
0
), . . . , FG(
n1
)
_
.
4. Interpolation.
Ev(FG) FG.
Figure 3. Multiplication de polynmes par transforme de Fou-
rier discrte.
1. Estimer le nombre de multiplications de A requises par lalgorithme de
Karatsuba pour calculer le produit AB.
2. On suppose que 2, 3 et 5 sont inversibles dans A et que la division dun
lment de A par 2, 3 et 5 est gratuite. Donner un algorithme qui multiplie
A et B en utilisant au plus 7 multiplications dans A.
3. On suppose que 2, 3 et 5 sont inversibles dans A. Donner un algorithme de
multiplication polynomiale dans A[X] de complexit arithmtique O(n
1,4
).
Dans la suite de lexercice, on suppose que lanneau A est de caractristique nulle.
4. Montrer que, pour tout entier 2, il existe un algorithme de multiplica-
tion polynomiale dans A[X] de complexit arithmtique O(n
log

(21)
).
5. Montrer que pour tout > 0, il existe un algorithme de multiplication po-
lynomiale dans A[X] de complexit arithmtique O(n
1+
), o la constante
dans le O() dpend de , mais pas de n.
4. Transforme de Fourier rapide
Les mthodes base de transforme de Fourier rapide (aussi appele FFT
pour Fast Fourier Transform) sont ce que lon sait faire de mieux pour multiplier
les polynmes. Pour simplier la prsentation, on suppose ici que lon cherche
multiplier des polynmes F et G dans A[X], de degrs strictement infrieurs n/2
(ou plus gnralement tels que deg FG < n).
4.1. Ide de lalgorithme. En supposant que lanneau A le permette, lide
gnrale de lalgorithme est prsente en Figure 3. Il sagit dvaluer en des points
bien choisis, de multiplier les valuations, et de reconstruire les coecients du pro-
duit partir de ces valeurs ( condition que cette opration dinterpolation soit pos-
sible, voir ci-dessous). Avec lhypothse deg H < n, les coecients de H mod X
n
1
qui sont renvoys sont bien ceux de H. Le cot des tapes de prcalcul et de produit
point point est linaire en n, et il reste donc voir comment eectuer rapidement
les oprations dvaluation et dinterpolation.
4.2. Racines primitives de lunit.
Definition 1. Llment de A est une racine n
e
de lunit si
n
= 1 ; cest
une racine n
e
primitive de lunit si de plus
t
1 est non diviseur de zro dans A
pour t 1, . . . , n 1 (cest--dire que (
t
1) = 0 implique = 0).
4. TRANSFORME DE FOURIER RAPIDE 23
Exemple 1. Si A est un corps, cette dernire condition revient simplement
dire que les
t
sont distincts pour t 0, . . . , n 1, ou que engendre le groupe
des racines n
es
de lunit. Par exemple, dans C, 1 nest pas une racine 4
e
primitive
de lunit, alors que i lest. Plus gnralement, lorsque A = C, les racines primitives
n
e
de lunit sont de la forme exp(2qi/n), pour q premier avec n.
Exemple 2. Dans A = Z/16Z, 3 et 5 sont racines 4
es
primitives de 1, alors
que 7 ne lest pas.
Les proprits que nous utiliserons sont rsumes dans le lemme suivant.
Lemme 1. Si est racine primitive n
e
de lunit, alors
1.
1
aussi ;
2. si n = pq alors
p
est une racine primitive q
e
de lunit ;
3. pour 1, . . . , n 1,
n1

j=0

j
= 0.
Dmonstration. Tout dabord est bien inversible : lidentit
n
= 1 montre
que
n1
est un inverse de . Ensuite,
1
est une racine de lunit : le produit
de lidentit prcdente par
n
donne 1 =
n
. Enn, elle est primitive : lorsque

t
1 nest pas diviseur de 0, son produit par linversible
t
non plus.
La deuxime proprit est immdiate. Pour la troisime, le produit de la somme
par 1

tlescope les sommants, ce qui donne


(1

)
n1

j=0

j
= 1
n
= 1 (
n
)

= 0.
Comme 1

nest pas diviseur de 0, la somme est bien nulle.


Remarque. Dans la dnition de racine primitive, la condition t diviseur strict
de n sut, elle entrane la proprit pour t 1, . . . , n 1.
En eet, en posant g le pgcd de t et de n, il existe daprs le thorme de
Bzout deux entiers p, q N tels que g = tp +nq. Lgalit (
t
1) = 0 entrane
alors 0 = (
tp
1) = (
gnq
1) = (
g
1), et donc = 0, puisque g est un
diviseur strict de n.
4.3. Transforme de Fourier rapide. Lopration
DFT : F A[X] (F(1), F(), . . . , F(
n1
),
o est une racine primitive n
e
de lunit, sappelle la transforme de Fourier
discrte. Son calcul rapide est eectu par un algorithme de type diviser pour
rgner .
Pour appliquer cette ide, supposons que n est pair, n = 2k. Alors,
k
= 1
puisque
(
k
1)(
k
+ 1) =
n
1 = 0
et le premier facteur nest pas diviseur de 0. Le polynme F est dcompos par
division euclidienne de deux faons :
F = Q
0
(X
k
1) +R
0
et F = Q
1
(X
k
+ 1) +R
1
,
avec deg R
0
< k et deg R
1
< k. Ces dcompositions vont nous permettre le calcul
de F sur les puissances paires et impaires de . En eet, si est pair,
k
= 1 et
donc F(

) = R
0
(

). De mme, si est impair, F(

) = R
1
(

).
Outre lapplication rcursive, le point crucial qui est la source de lecacit de
lalgorithme de transforme de Fourier rapide (Figure 4) et qui conduit au choix de
24 2. MULTIPLICATION RAPIDE
Transforme de Fourier Rapide
Entre : F = f
0
+ + f
n1
X
n1
; les puissances 1, , ,
n1
dune
racine n
e
primitive de lunit , n tant une puissance de 2.
Sortie : F(1), . . . , F(
n1
).
1. Si n = 1, renvoyer f
0
.
2. Sinon, soit k = n/2. Calculer
R
0
(X) =
k1

j=0
(f
j
+f
j+k
)X
j
,

R
1
(X) = R
1
(X) =
k1

j=0
(f
j
f
j+k
)
j
X
j
.
3. Calculer rcursivement R
0
(1), R
0
(
2
), . . . , R
0
_
(
2
)
k1
_
et

R
1
(1),

R
1
(
2
), . . . ,

R
1
_
(
2
)
k1
_
.
4. Renvoyer R
0
(1),

R
1
(1), R
0
(
2
),

R
1
(
2
), . . . , R
0
_
(
2
)
k1
_
,

R
1
_
(
2
)
k1
_
.
Figure 4. La transforme de Fourier rapide (FFT).
racines primitives de lunit, est que le calcul de R
0
et R
1
est trs simple (tape 2).
Le fait que les
2
i
utiliss dans les appels rcursifs sont bien des racines primitives
dcoule du Lemme 1.
Thorme 2. Lalgorithme de Transforme de Fourier Rapide de la Figure 4
requiert au plus
3n
2
log n oprations dans A; les multiplications font toutes intervenir
une puissance de .
Dmonstration. Puisque les puissances de sont connues, le cot de lappel
en degr n est dau plus 2 n/2 additions et soustractions (pour le calcul de R
0
et R
1
) et de n/2 multiplications (pour le calcul de

R
1
), plus 2 appels rcursifs en
degr n/2. Sa complexit F(n) satisfait donc la rcurrence :
F(n)
3n
2
+ 2F
_
n
2
_
et le lemme diviser pour rgner (avec p = q = m = s = 2, T(n) = 3n/2 et
= 0) permet de conclure.
Exercice 9. Montrer que lalgorithme de la Figure 4 requiert nlog n additions
dans A,
1
2
nlog n multiplications dlments de A par des puissances de , mais
aucune autre multiplication dans A.
Remarque. La transforme de Fourier discrte est un morphisme dalgbres
sur A de A[X]/(X
n
1) dans A
n
avec comme multiplication dans A
n
la multi-
plication coordonne par coordonne. Cette observation permet dconomiser des
transformes inverses en eectuant plusieurs calculs directement sur les transfor-
mes.
4.4. Interpolation. En termes matriciels, lopration F Ev(F) est linaire
et sa matrice (pour des polynmes F de degr au plus n1, dans la base monomiale
1, X, . . . , X
n1
) est la matrice de Vandermonde
V

=
_

_
1 1 1
1
n1
.
.
.
.
.
.
1
n1

(n1)
2
_

_
.
Lemme 2. Si A est racine n
e
primitive de lunit, alors V

1V

= nI
n
.
4. TRANSFORME DE FOURIER RAPIDE 25
Dmonstration. Daprs le Lemme 1, est inversible. La matrice V

1 est
donc bien dnie. Le coecient de la i
e
ligne et j
e
colonne du produit scrit
n1

k=0

(i1)k

(j1)k
=
n1

k=0

(ij)k
.
Daprs le Lemme 1, cette dernire somme est nulle pour 0 < ij < n. Par symtrie
des matrices, elle est aussi nulle si 0 < j i < n. Les coecients en dehors de la
diagonale sont donc tous nuls. Sur la diagonale, la somme comporte n termes, tous
gaux 1, do le rsultat.
Autrement dit, linterpolation sur les puissances de se ramne une FFT sur
les puissances de
1
, qui est bien primitive daprs le Lemme 1.
4.5. Conclusion. Les rsultats de cette section sont rsums dans le thorme
suivant.
Thorme 3. Si 2 est inversible dans A et n une puissance de 2, tant donne
une racine primitive n
e
dans A, le produit de deux polynmes dont la somme des
degrs est infrieure n peut tre calcul en
9
2
nlog n + O(n) oprations dans A.
Seuls n des produits sont entre deux lments de A qui ne sont pas des puissances
de .
Dmonstration. La complexit de lalgorithme de multiplication par FFT
(Figure 3) est de 3 FFT en degr n, soit
9
2
nlog n oprations, plus O(n) divisions
par n (ce qui est possible puisque 2 est inversible) et O(n) multiplications pour
calculer les puissances de . Les multiplications de la FFT font intervenir des puis-
sances de , les autres sont celles de ltape de produit point point, au nombre
de n.
Exercice 10. Montrer que sous les hypothses du thorme prcdent, on peut
multiplier ces polynmes en utilisant 3nlog n +O(n) additions dans A,
3
2
nlog n +
O(n) multiplications par des puissances de , n multiplications arbitraires dans A
et n divisions par n.
Exercice 11. Soit n dans N, soit n
0
la plus petite puissance de 2 suprieure
ou gale n, et supposons quil existe dans A une racine n
0
e
primitive de lunit.
Cette racine tant connue, on peut multiplier les polynmes de degr au plus
1
2
n1
en 9nlog n +O(n) oprations dans A.
Exercice 12. Soit n = 2
k
, et supposons quon dispose dune racine n
e
primitive
de lunit A. Soit P et Q deux polynmes dans A[X] de degr au plus n
1. Supposons que les coecients de X
0
, X
1
, . . . , X
n1
du produit R = PQ sont
connus. Montrer que R peut tre calcul en
9
2
nlog n +O(n) oprations dans A.
4.6. Mais o sont nos racines ? Mme dans le cas favorable o A est un
corps, il ny existe pas ncessairement toutes les racines primitives de lunit nces-
saires pour appliquer les techniques des algorithmes prcdents. Dans le cas particu-
lier des corps nis, on sait donner une rponse prcise cette question dexistence.
Proposition 1. Soient F
q
le corps ni q lments et n N. Le corps F
q
contient une racine n
e
primitive de lunit si et seulement si n divise q 1.
Exercice 13. 1. Prouver le thorme prcdent.
2. Montrer que si n divise q 1 et si est un lment primitif de F
q
(i. e. tel
que engendre le groupe multiplicatif (F
q
0, )) alors
(p1)/n
est une
racine n
e
primitive de lunit.
26 2. MULTIPLICATION RAPIDE
Pour pouvoir appliquer le thorme 2 avec n assez grand et q premier, cest-
-dire F
q
= Z/pZ, ce rsultat mne la notion de premiers de Fourier, qui sont
les nombres premiers p tels que p 1 soit divisible par une grande puissance de 2,
cest--dire des nombres premiers de la forme 2
e
+1, avec e susamment grand
(qui est appel lexposant de p). Par exemple,
4179340454199820289 = 29 2
57
+ 1
est un tel nombre premier. Ainsi, dans Z/4179340454199820289 Z, on dispose de
racines primitives 2
57e
de lunit (21 en est une) ; on peut donc y multiplier des
polynmes de degrs colossaux par cet algorithme en O(nlog n) oprations.
Ces premiers sont donc trs utiles pour la FFT sur des corps nis. On peut
montrer quil y a approximativement (x/ log x)/2
e1
premiers de Fourier dexposant
e infrieurs x. Il sensuit quil y a environ 130 corps nis de la forme k = F
p
tel
que p a la taille dun mot machine (32 bits) et tel que dans k on puisse multiplier
par FFT des polynmes de degr de lordre dun million. Les racines de lunit de
k = F
p
peuvent tre calcules partir des lments primitifs. Si on choisit au hasard
un lment de F
p
, la probabilit quil soit primitif tend vers 6/
2
, soit plus de 0, 6.
5. Lalgorithme de Schnhage et Strassen
Quand les racines de lunit font dfaut, il reste possible de faire fonctionner les
ides base de transforme de Fourier. Ceci est ralis par lalgorithme de Schn-
hage et Strassen, qui fait lobjet de cette section. Cet algorithme sapplique quel
que soit lanneau de base, pourvu que 2 y soit inversible ; lide est de rajouter les
racines de lunit qui manquent en tendant lanneau de base de manire judicieuse.
5.1. Racines virtuelles de lunit. Le point de dpart de lalgorithme est
rsum dans le rsultat suivant.
Lemme 3. Si 2 est inversible dans A et n est une puissance de 2, alors =
X mod (X
n
+ 1) est une racine 2n
e
primitive de lunit dans A[X]/(X
n
+ 1).
Dmonstration. Comme
n
= 1, est bien une racine 2n
e
de lunit. Il
reste prouver quelle est primitive. Daprs la remarque en p. 23, il sagit de
montrer que
t
1 nest pas diviseur de 0, quel que soit le diviseur strict t de 2n.
Puisque n est une puissance de 2, lentier t divise n, et donc
t
1 divise llment

n
1 = 2 qui est suppos inversible, ce qui conclut.

5.2. Lalgorithme. Lalgorithme est dcrit en Figure 5. Il calcule le produit


FG modulo X
2n
+ 1 ; ce nest pas une limitation ici, car le produit a un degr
infrieur 2n, et cela a lavantage dassurer la cohrence dans les appels rcursifs.
La premire tape ne demande pas dopration arithmtique, et lvaluation de la
dernire tape se fait en complexit linaire.
Le degr du produit FG tant infrieur 2, son calcul par FFT dans B[Y ]
peut tre eectu avec une racine 2
e
de lunit dans B. Si k est pair, alors = d ;
sinon = 2d. On peut donc utiliser = X
2
qui est une racine primitive de lunit
dordre 2d dans le premier cas, et = X qui est une racine primitive de lunit
dordre 4d dans le second. Daprs le thorme 3, cette multiplication ncessite :
O(d log d) oprations (+, ) dans B, chacune en O(d) oprations dans A;
O(d log d) multiplications par une puissance de dans B, chacune en O(d)
oprations dans A, par simples dcalages des indices et ventuels changements
de signes ;
O(d) divisions par d dans B, chacune en O(d) oprations dans A;
au plus 2 produits dans B.
6. ALGORITHMES POUR LES ENTIERS 27
Schnhage-Strassen sur les polynmes
Entre : F et G de degr < n, o n = 2
k
.
Sortie : FG mod X
2n
+ 1.
1. Soient d = 2
|k/2|
et = n/d. Rcrire F et G sous la forme
F(X, Y ) = F
0
(X) +F
1
(X)Y + +F

(X)Y
1
,
G(X, Y ) = G
0
(X) +G
1
(X)Y + +G

(X)Y
1
,
de sorte que les F
i
et G
i
aient degr < d et F(X) = F(X, X
d
), G(X) =
G(X, X
d
).
2. Calculer H := FG dans B[Y ] par FFT, o B = A[X]/(X
2d
+ 1) et les
produits dans B sont eectus par le mme algorithme.
3. Renvoyer H(X, X
d
).
Figure 5. Lalgorithme de Schnhage-Strassen sur les polynmes.
Le cot C(n) de cet algorithme obit donc lingalit
C(n) Kd log d d + 2C(d)
o K est une constante indpendante de n et de A. En divisant par n = d, cette
ingalit devient
C(n)
n
K
d

log d + 2
C(d)
d
K log n + 2
C(d)
d
.
Posant c(k) = C(2
k
)/2
k
, cette ingalit se rcrit
c(k) Kk + 2c(,k/2|),
do le rsultat nal par application du thorme diviser pour rgner .
Thorme 4. Soit A un anneau dans lequel 2 est inversible (dinverse connu).
On peut multiplier des polynmes de A[X] de degr au plus n en O(nlog nlog log n)
oprations (+, , ) dans A.
Il est possible dtendre cette ide au cas o 3 est inversible (FFT triadique),
et plus gnralement un anneau quelconque. On obtient alors lalgorithme de
complexit O(nlog nlog log n) mentionn dans lintroduction.
6. Algorithmes pour les entiers
Les algorithmes ainsi que les rsultats prsents ci-dessus stendent la mul-
tiplication des entiers
3
. Nous allons brivement prsenter cette problmatique
travers un exemple.
Soient multiplier les entiers 2087271 et 1721967, quon suppose donns en
base 2,
A = 111111101100101100111 et B = 110100100011001101111,
chacun ayant D = 21 chires binaires. On peut ramener leur multiplication un
produit de polynmes. Plus exactement, on associe A et B les polynmes de degr
strictement infrieur D :
P = X
20
+X
19
+X
18
+X
17
+X
16
+X
15
+X
14
+X
12
+X
11
+X
8
+X
6
+X
5
+X
2
+X+1
3. Historiquement, les algorithmes pour la multiplication des entiers ont t introduits avant
leurs homologues polynomiaux, alors que ces derniers sont souvent bien plus simples noncer.
28 2. MULTIPLICATION RAPIDE
et
Q = X
20
+X
19
+X
17
+X
14
+X
10
+X
9
+X
6
+X
5
+X
3
+X
2
+X + 1.
La stratgie est la suivante : on calcule R = PQ dans Z[X] puis on value R
en X = 2. Pour multiplier P et Q dans Z[X], il sut deectuer leur produit
dans A[X] = (Z/p Z)[X], o p est un nombre premier tel que 2D > p > D.
Par le Thorme 4, cette multiplication polynomiale en degr D peut se faire en
O(Dlog Dlog log D) oprations (+, , ) dans A = Z/p Z.
Puisque chaque opration de A ncessite au plus O(log
2
D) oprations binaires,
il sensuit que le cot binaire du calcul de R est de O(Dlog
3
Dlog log D). Ici p = 23
et R (crit en base 2) vaut R = X
40
+10X
39
+10X
38
+11X
37
+11X
36
+11X
35
+
100X
34
+11X
33
+11X
32
+100X
31
+11X
30
+100X
29
+101X
28
+11X
27
+101X
26
+
1000X
25
+101X
24
+101X
23
+1000X
22
+1001X
21
+1010X
20
+1000X
19
+111X
18
+
1000X
17
+ 110X
16
+ 110X
15
+ 110X
14
+ 11X
13
+ 100X
12
+ 110X
11
+ 100X
10
+
11X
9
+100X
8
+100X
7
+100X
6
+11X
5
+10X
4
+11X
3
+11X
2
+10X +1. Enn,
lvaluation de R en 2 revient grer les retenues et cela peut se faire en un cot
ngligeable. Ici AB = R(2) = 110100010011010111101101110110110110101001, ou
encore, en criture dcimale AB = 3594211782057.
Une lgre amlioration est possible si lon choisit pour p un premier de Fourier
suprieur 2D. Dans notre exemple, on peut prendre p = 193 = 3 2
6
+ 1. En
eet, il existe dans A = Z/193 Z une racine primitive = 125, dordre 2
6
= 64,
donc suprieur 2D = 40. Ce choix mne un algorithme de complexit binaire
O(Dlog
3
D).
Une autre approche est de calculer PQ dans Z[X] par DFT en calculant avec des
nombres complexes reprsents par des approximations numriques ottantes. Une
estimation des erreurs numriques montre quil sut de calculer en prcision xe
O(log
2
D). La complexit binaire est donc toujours O(Dlog
3
D) via cette approche.
On peut faire un peu mieux, en remplaant la base 2 par une base B telle que
Blog B soit de lordre de log D et en appliquant lun des raisonnements prcdents ;
on peut aboutir ainsi un algorithme de complexit binaire O(Dlog
2
D). Qui plus
est, en appelant rcursivement lalgorithme pour multiplier les petits entiers, on
peut descendre cette complexit O(Dlog Dlog log Dlog log log D. . .).
Une meilleure solution est cependant dtenue par la version entire, base de
FFT dans des anneaux de type Z/(2
2

+1)Z, de lalgorithme de Schnhage-Strassen,


dont nous nous contentons de mentionner lexistence.
Thorme 5. On peut multiplier deux entiers de D chires binaires en utili-
sant O(Dlog Dlog log D) oprations binaires.
En laborant largement au-del de ces techniques de FFT, la complexit du
produit entier peut tre ramene O
_
nlog n 2
O(log

n)
_
, o log

n est le nombre
ditrations du logarithme pour ramener n en dessous de 1. Par exemple (pour la
base 2), log

256 = 4, car log 256 = 8, log 8 = 3, 1 < log 3 < 2 et enn log log 3 < 1.
7. Un concept important : les fonctions de multiplication
Un bon nombre des rsultats de complexit donns dans la suite du cours
reposent sur la notion de fonction de multiplication. Une fonction M : N N sera
dite fonction de multiplication polynomiale (pour un anneau A) si :
on peut multiplier les polynmes de A[X] de degr au plus n en au plus M(n)
oprations dans A;
M vrie lingalit M(n +n
t
) M(n) + M(n
t
).
Ainsi, on sait daprs ce qui prcde que des fonctions de la forme n
log
2
3
ou
nlog n sont ( des constantes prs) des fonctions de multiplication (respectivement
pour tous les anneaux ou ceux qui permettent la transforme de Fourier). Lintrt
EXERCICES 29
de cette notion est quelle permet dnoncer des rsultats de complexit indpen-
dants du choix de lalgorithme utilis pour multiplier les polynmes (mme si parfois
cela mne des estimations lgrement pessimistes).
La seconde condition est utilise pour carter lhypothse dune fonction qui
crot trop lentement (si M est constante, elle ne vrie pas cette condition). Con-
crtement, elle permettra par exemple dtablir que dans des algorithmes du type
inversion de srie formelle par loprateur de Newton (Chap. 4), le cot total
est essentiellement celui de la dernire tape.
De la mme manire, on est amen introduire la notion de fonction de multipli-
cation pour les entiers. Une fonction M
Z
: N N est une fonction de multiplication
pour les entiers si :
on peut multiplier des entiers de n chires en M
Z
(n) oprations binaires.
M
Z
vrie lingalit M
Z
(n +n
t
) M
Z
(n) + M
Z
(n
t
).
Ce concept est trs proche de son analogue polynomial et les contextes dutilisation
sont souvent les mmes : on utilise la seconde condition pour contrler les cots de
multiplication lors de lanalyse dalgorithmes rcursifs.
Exercices
Exercice 14. Soit A un anneau, soit a A et soit P un polynme de A[X],
de degr au plus n. On se propose de calculer le polynme Q(X) = P(X +a).
1. Donner un algorithme direct pour le calcul de Q et estimer sa complexit
en termes de n;
2. Montrer quil est possible de calculer Q(X) en nutilisant que O
_
M(n) log n
_
oprations (+, , ) dans A.
Exercice 15. Soit A un anneau, soit , n N et soit P un polynme de A[X],
de degr au plus n.
1. Donner un algorithme direct pour le calcul de P(X)

et estimer sa com-
plexit en fonction de et de n;
2. Montrer quil est possible de calculer P(X)

en nutilisant que O
_
M(n)
_
oprations (+, , ) dans A.
Exercice 16 (Produit court). Pour deux polynmes A, B Q[X] de degr
< n, le polynme AB mod X
n
est appel le produit court de A et B. Le but de cet
exercice est de montrer quil est possible de calculer plus ecacement le produit
court que le produit entier AB. Le gain est dun facteur constant.
1. Prouver que tel est le cas avec la multiplication polynomiale nave.
On suppose que lon dispose dun algorithme de multiplication polynomiale qui, en
degr n, utilise M

(n) = Kn

oprations dans Q, avec > 1 et K > 0.


2. Donner un algorithme de type diviser pour rgner pour le calcul du
produit court de A, B.
3. Montrer que la complexit de cet algorithme est
1
2

2
M

(n) +O(nlog n).


En dduire limpact sur la multiplication nave, et celle de Karatsuba.
4. Modier la conception de lalgorithme prcdent, en dcoupant en deux
sous-problmes de tailles n et (1 )n, avec 1/2 1 laiss en
paramtre. Prouver que le nouvel algorithme utilise

1 2(1 )

(n) +O(nlog n)
oprations dans Q.
30 2. MULTIPLICATION RAPIDE
5. Montrer que le minimum de la fonction

12(1)

est atteint en

min
= 1
_
1
2
_ 1
1
et en dduire quon peut calculer le produit court en
C() M

(n) +O(nlog n) oprations dans Q, o


C() =
_
2
1
1
1
_

2

1
2
.
6. En admettant que C(log
2
3) = 0, 8077700579, que peut-on conclure ?
Exercice 17. Soient P
1
, . . . , P
t
des polynmes de A[X], de degrs d
1
, . . . , d
t
.
Montrer que le produit P
1
P
t
peut seectuer en O(M(n) log t) oprations dans A,
o n =

i
d
i
.
Notes
Le mathmaticien russe A. N. Kolmogorov avait conjectur au dbut des annes
1960 quil serait impossible de multiplier deux entiers en un cot binaire sous-
quadratique. En 1962 cette conjecture fut inrme par Karatsuba et Ofman [23].
Une gnralisation de lalgorithme de [23] a t propose peu de temps aprs par
Toom [34] et Cook [8]. Lalgorithme de Toom-Cook a une complexit binaire de
O(n 32

log n
) pour multiplier deux entiers de taille binaire n; ce rsultat peut tre
import dans le monde polynomial (voir Exercice 8 pour une version plus faible).
Lalgorithme FFT a une longue histoire, qui remonte Gauss [21, 10, 12]. Il
sagit dun progrs algorithmique trs clbre : Dongarra et Sullivan [14] le placent
parmi les dix algorithmes qui ont le plus marqu le dveloppement des sciences
de lingnieur du 20
e
sicle. Larticle fondateur de Cooley et Tukey [11] est lun
des plus cits en informatique
4
. La variante de la DFT dcrite dans ce chapitre,
appele decimation-in-frequency en anglais, est due Gentleman et Sande [19] ; il
sagit dune version duale (au sens du principe de transposition de Tellegen voqu
au Chapitre 12) de lalgorithme decimation-in-time de [11]. Les livres [3, 29, 36]
et les articles [15, 1, 16] constituent de bonnes rfrences pour le lecteur dsi-
reux de se familiariser avec la myriade de techniques de type FFT; en particulier,
larticle [16] dcrit lune des implantations les plus ecaces de la transforme de
Fourier complexe (appele FFTW, pour Fastest Fourier Transform in the West.)
Une avance importante a t la dcouverte de Schnhage et Strassen [32] du
rsultat quivalent pour la multiplication des nombres entiers. Pendant longtemps,
on a cru que cet algorithme ne pourrait prsenter quun intrt purement thorique.
ce jour, la plupart des logiciels gnralistes de calcul formel disposent dune
multiplication rapide dentiers : Maple, Mathematica et Sage utilisent la bibliothque
GMP, Magma dispose de sa propre implantation. Il faut noter quune bibliothque
comme GMP est le rsultat dun travail de nombreuses annes, qui comporte une
partie importante de code assembleur consacr la multiplication sur chacun des
processeurs produits dans une priode rcente.
Lanalogue polynomial de lalgorithme de Schnhage-Strassen trait en Sec-
tion 5 a t suggr dans [28]. Le cas particulier de la caractristique 2 est trait
dans larticle [31]. Plus rcemment, Cantor et Kaltofen [5] ont donn un algorithme
qui multiplie des polynmes de degr n sur une algbre A (non ncessairement com-
mutative, ni associative) en O(nlog nlog log n) oprations dans A.
La borne de complexit binaire O
_
nlog n 2
O(log

n)
_
mentionne en n de Sec-
tion 6, pour multiplier des entiers de n chires, a t obtenue dans [17, 18, 13].
ce jour, on ne connat pas de borne analogue pour la complexit arithmtique de
la multiplication polynomiale en degr n.
4. Plus de 2000 citations, daprs la base bibliographique Science Citation Index (SCI R ).
Bibliographie 31
Un problme ouvert est de trouver un algorithme de multiplication polyno-
miale en complexit O(n), ou de prouver quun tel algorithme nexiste pas. Mor-
genstern [26] a donn une premire rponse partielle, en montrant que dans un
modle simpli o A = C et o les seules oprations admises sont les additions et
les multiplications par des nombres complexes de module infrieur 1, au moins
1
2
nlog n oprations sont ncessaires pour calculer une DFT en taille n. Plus rcem-
ment, Brgisser et Lotz [4] ont tendu ce type de borne la multiplication dans
C[X]. Concernant les entiers, Cook et Aanderaa [9] ont prouv une borne infrieure
de la forme cnlog n/(log log n)
2
pour la multiplication en taille binaire n sur une
machine de Turing. Cette borne a t amliore (nlog n) dans [30] pour un
modle restreint (multiplication en ligne).
Malgr la simplicit de leur ide de base, les algorithmes de Karatsuba et de
Toom-Cook soulvent encore des questions dlicates ; les travaux rcents [37, 25,
7, 2] traitent diverses gnralisations (degrs dsquilibrs ou non-puissances, ca-
ractristique positive de lanneau des scalaires). Par exemple, connatre le nombre
minimum de multiplications sm(n) (resp. sm
p
(n)) susantes pour multiplier des
polynmes de degr donn n sur un anneau arbitraire (resp. sur un anneau de ca-
ractristique p) est un problme important et dicile. Pour les premires valeurs
de n, les meilleures bornes connues actuellement, dues [25], sont sm(1) 3,
sm(2) 6, sm(3) 9, sm(4) 13, sm(5) 17 et sm(6) 22. Loptimalit
de ces bornes est un problme dicile. Pour sm
p
(n), on sait par exemple que
sm
2
(1) = 3, sm
2
(2) = 6, sm
2
(3) = 9 [22] et que sm
7
(4) = 10, sm
5
(4) 11 [6].
Une autre question importante est de savoir si les n coecients du produit court
FG mod X
n
de deux polynmes F et G de degr au plus n peuvent tre calculs
plus ecacement que lensemble des 2n coecients du produit FG. Lexercice 16,
inspir de larticle [27], apporte une rponse positive dans le cas o lalgorithme
de multiplication est celui de Karatsuba. Par contre, on ne connat aucun lment
de rponse dans le cas o la multiplication polynomiale repose sur la DFT. Une
question lie, le calcul du produit mdian [20], sera aborde au Chapitre 12.
Une faiblesse de lalgorithme DFT est son comportement quasi-linaire par mor-
ceaux (voir la Figure 1), d aux sauts de complexit entre deux puissances succes-
sives de 2. Rcemment, van der Hoeven [35] a donn un nouvel algorithme, appel
TFT (de Truncated Fourier Transform en anglais), qui concide avec la DFT si n
est une puissance de 2 et a une courbe de complexit plus lisse que la DFT.
Le produit de t polynmes de degrs arbitraires d
1
, . . . , d
t
peut seectuer [33]
en O(M(n)(1 + H(d
1
, . . . , d
t
))) oprations, o H(d
1
, . . . , d
t
) =

i
d
i
n
log
d
i
n
est
lentropie du vecteur (d
1
/n, . . . , d
t
/n). La multiplication des polynmes plusieurs
variables peut se ramener la multiplication univarie grce une technique connue
sous le nom dastuce de Kronecker [24].
Bibliographie
[1] Bernstein (D. J.). Multidigit multiplication for mathematicians. Preprint, available from
http://cr.yp.to/papers.html.
[2] Bodrato (Marco) and Zanoni (Alberto). Integer and polynomial multiplication : towards
optimal Toom-Cook matrices. In ISSAC07, pp. 1724. ACM, New York, oo.
[3] Brigham (E. Oran). The fast Fourier transform. Prentice-Hall, ip, xiii+252p.
[4] Brgisser (Peter) and Lotz (Martin). Lower bounds on the bounded coecient complexity
of bilinear maps. J. ACM, vol. 51, n3, oo, pp. 464482.
[5] Cantor (D. G.) and Kaltofen (E.). On fast multiplication of polynomials over arbitrary
algebras. Acta Informatica, vol. 28, n7, ippi, pp. 693701.
[6] Cenk (M.), Koc (C. K.), and Ozbudak (F.). Polynomial multiplication over nite elds using
eld extensions and interpolation. In ARITH 09. pp. 8491. IEEE Computer Society, oop.
32 2. MULTIPLICATION RAPIDE
[7] Chung (Jaewook) and Hasan (M. Anwar). Asymmetric squaring formulae. In ARITH 07 :
Proc. of the 18th IEEE Symp. on Computer Arithmetic. pp. 113122. IEEE, oo.
[8] Cook (S.). On the minimum computation time of functions. PhD thesis, Harvard Uni-
versity, ip66.
[9] Cook (S. A.) and Aanderaa (S. O.). On the minimum computation time of functions.
Transactions of the American Mathematical Society, vol. 142, ip6p, pp. 291314.
[10] Cooley (James W.). How the FFT gained acceptance. In A history of scientic computing
(Princeton, NJ, 1987), pp. 133140. ACM, New York, ippo.
[11] Cooley (James W.) and Tukey (John W.). An algorithm for the machine calculation of
complex Fourier series. Mathematics of Computation, vol. 19, ip6, pp. 297301.
[12] Cooley (James W.) and Tukey (John W.). On the origin and publication of the FFT paper.
Current Contents, vol. 33, n5152, ipp, pp. 89.
[13] De (A.), Kurur (P. P.), Saha (C.), and Saptharishi (R.). Fast integer multiplication using
modular arithmetic. In STOC08. pp. 499506. ACM, New York, NY, USA, ooS.
[14] Dongarra (J.) and Sullivan (F.). Top ten algorithms. Computing in Science & Engineering,
vol. 2, n1, ooo, pp. 2223.
[15] Duhamel (P.) and Vetterli (M.). Fast Fourier transforms : a tutorial review and a state of
the art. Signal Processing. An Interdisciplinary Journal, vol. 19, n4, ippo, pp. 259299.
[16] Frigo (M.) and Johnson (S. G). The Design and Implementation of FFTW3. Proceedings
of the IEEE, vol. 93, n2, oo, pp. 216231.
[17] Frer (Martin). Faster integer multiplication. In STOC07Proceedings of the 39th Annual
ACM Symposium on Theory of Computing, pp. 5766. ACM, New York, oo.
[18] Frer (Martin). Faster integer multiplication. SIAM J. Comput., vol. 39, n3, oop, pp. 979
1005.
[19] Gentleman (W. M.) and Sande (G.). Fast Fourier Transforms : for fun and prot. In
AFIPS66. pp. 563578. ACM, New York, NY, USA, ip66.
[20] Hanrot (Guillaume), Quercia (Michel), and Zimmermann (Paul). The middle product al-
gorithm I. Appl. Algebra Engrg. Comm. Comput., vol. 14, n6, March oo, pp. 415438.
[21] Heideman (Michael T.), Johnson (Don H.), and Burrus (C. Sidney). Gauss and the history
of the fast Fourier transform. Arch. Hist. Exact Sci., vol. 34, n3, ipS, pp. 265277.
[22] Kaminski (Michael). A lower bound for polynomial multiplication. Theoret. Comput. Sci.,
vol. 40, n2-3, ipS, pp. 319322.
[23] Karatsuba (A.) and Ofman (Y.). Multiplication of multidigit numbers on automata. Soviet
Physics Doklady, vol. 7, ip6, pp. 595596.
[24] Moenck (Robert T.). Another polynomial homomorphism. Acta Informat., vol. 6, n2, ip6,
pp. 153169.
[25] Montgomery (Peter L.). Five, six, and seven-term Karatsuba-like formulae. IEEE Trans.
Comput., vol. 54, n3, oo, pp. 362369.
[26] Morgenstern (Jacques). Note on a lower bound of the linear complexity of the fast Fourier
transform. J. Assoc. Comput. Mach., vol. 20, ip, pp. 305306.
[27] Mulders (Thom). On short multiplications and divisions. Applicable Algebra in Engineering,
Communication and Computing, vol. 11, n1, ooo, pp. 6988.
[28] Nussbaumer (Henri J.). Fast polynomial transform algorithms for digital convolution. Ins-
titute of Electrical and Electronics Engineers. Transactions on Acoustics, Speech, and Signal
Processing, vol. 28, n2, ipSo, pp. 205215.
[29] Nussbaumer (Henri J.). Fast Fourier transform and convolution algorithms. Springer-
Verlag, Berlin, ipSi, Springer Series in Information Sciences, vol. 2, x+248p.
[30] Paterson (M. S.), Fischer (M. J.), and Meyer (A. R.). An improved overlap argument for
on-line multiplication. In Complexity of computation, pp. 97111. AMS, ip.
[31] Schnhage (A.). Schnelle Multiplikation von Polynomen ber Krpern der Charakteristik 2.
Acta Informat., vol. 7, n4, ip6, pp. 395398.
[32] Schnhage (A.) and Strassen (V.). Schnelle Multiplikation groer Zahlen. Computing, vol. 7,
ipi, pp. 281292.
[33] Strassen (V.). The computational complexity of continued fractions. SIAM J. Comput.,
vol. 12, n1, ipS, pp. 127.
Bibliographie 33
[34] Toom (A. L.). The complexity of a scheme of functional elements simulating the multipli-
cation of integers. Doklady Akademii Nauk SSSR, vol. 150, ip6, pp. 496498.
[35] van der Hoeven (Joris). The truncated Fourier transform and applications. In ISSAC04,
pp. 290296. ACM, New York, oo.
[36] Van Loan (Charles). Computational frameworks for the fast Fourier transform. SIAM,
Philadelphia, PA, ipp, Frontiers in Applied Mathematics, vol. 10, xiv+273p.
[37] Weimerskirch (Andr) and Paar (Christof). Generalizations of the Karatsuba algorithm for
ecient implementations, oo6. Cryptology ePrint Archive : Report 2006/224, available at
http://eprint.iacr.org/2006/224.
CHAPITRE 3
Algbre linaire dense : de Gauss Strassen
Rsum
Lalgbre linaire est au cur de nombreux problmes algorithmiques.
La multiplication matricielle usuelle et la mthode du pivot de Gauss
ont une complexit arithmtique cubique en la taille. Dans ce chapitre,
nous montrons que pour la plupart des questions dalgbre linaire dense
multiplication, inversion, dterminant, rsolution de systme il existe
des algorithmes plus ecaces, de complexit strictement sous-cubique.
1. Introduction
En mathmatiques, il est de coutume de considrer quun problme est rendu
trivial lorsquil est ramen une question dalgbre linaire. Du point de vue cal-
culatoire se pose cependant la question de lecacit des oprations matricielles.
1.1. Lalgorithmique des matrices : tentative de classication. Les
problmes algorithmiques en algbre linaire cachent des dicults trs subtiles.
En gnral, les premires questions que lon est amen se poser en rapport avec la
manipulation des matrices concernent le calcul ecace du produit matrice-matrice,
du produit matrice-vecteur, de linverse, ainsi que la rsolution de systmes.
Les rponses ces questions varient fortement selon le type de matrices considres.
Une classication possible est la suivante.
Les matrices denses. Ce sont les matrices quelconques, sans aucune structure par-
ticulire. Nous verrons que lalgorithmique des matrices denses peut se ramener
essentiellement au produit matriciel, dont la complexit est une question extrme-
ment dlicate.
Les matrices creuses. Beaucoup de problmes linaires se formulent en termes de
matrices possdant un nombre important dlments nuls, dites creuses . Dans
ce cas, lalgorithmique dense est inapproprie ; il est possible de tirer parti de la
forme creuse en utilisant des outils mieux adapts, base de rcurrences linaires.
Les matrices structures. Enn, il existe des familles de matrices particulires,
souvent associes des applications linaires entre espaces de polynmes, telles
que les matrices de type Sylvester pour le rsultant, de type Vandermonde pour
lvaluation et linterpolation, de type Toeplitz et Hankel pour lapproximation de
Pad et de Pad-Hermite, etc . . . Pour ces types de matrices clairement identis,
on dveloppe soit une algorithmique ad hoc, soit une thorie unie reposant sur le
concept de rang de dplacement .
Schmatiquement, lalgorithmique des matrices denses est la plus lente, de com-
plexit situe entre O(n
2
) et O(n
3
), en taille n. La complexit du calcul avec les
matrices creuses est de lordre de O(n
2
), alors que celle des matrices structures est
en O(n), des facteurs logarithmiques prs.
35
36 3. ALGBRE LINAIRE DENSE : DE GAUSS STRASSEN
Lalgorithmique des matrices denses constitue lobjet dtude de ce chapitre.
Les matrices creuses seront abordes brivement au Chapitre 10 et les matrices
structures feront lobjet dune tude plus approfondie au Chapitre 11.
Nous allons travailler avec un corps eectif not K et avec lalgbre des matrices
carres /
n
(K) coecients dans K. Signalons toutefois que la plupart des rsultats
de ce chapitre stendent au cas o le corps K est remplac par un anneau eectif A,
et les matrices carres par des matrices rectangulaires coecients dans A.
1.2. Rsultat principal. Les questions qui seront tudies, ou simplement
voques, dans ce chapitre sont celles de la complexit du calcul du produit matri-
ciel dans /
n
(K), de linverse et du dterminant, du polynme caractristique ou
minimal, de la rsolution de systmes linaires, ou encore de la mise sous diverses
formes canoniques (chelon, LUP, compagnon par blocs, . . . )
Pour ces questions, on dispose dune premire famille dalgorithmes nafs ,
reposant sur lapplication directe des dnitions ou des proprits mathmatiques.
Si lalgorithme naf de multiplication a une complexit raisonnable, cubique en la
taille, dans dautres cas lemploi des algorithmes nafs est vivement dconseill.
Par exemple, si A = (a
i,j
)
n
i,j=1
est une matrice de /
n
(K), on nutilisera pas la
dnition
det(A) =

S
n
sgn()
n

i=1
a
i,(i)
pour le calcul de son dterminant ; en eet, cela mnerait un algorithme de com-
plexit O(n n!), donc hyper-exponentielle en la taille de A. De mme, la dnition
du rang dune matrice comme la taille maximale dun mineur non-nul ne se prte
pas directement, via une recherche exhaustive, une algorithmisation ecace. Dans
un registre lgrement dirent, les formules de Cramer pour rsoudre un systme
linaire ne sont pas dune grande utilit pratique (en revanche, elles servent borner
les tailles des solutions, et savrent utiles dans les estimations de complexit).
Une seconde classe dalgorithmes, bass sur la mthode dlimination de Gauss,
permet de rsoudre de manire raisonnablement ecace la plupart des problmes
voqus plus haut. Applique une matrice A de /
n
(K), cette mthode fournit
des algorithmes de complexit O(n
3
) pour le calcul de rg(A), de det(A), de A
1
(si
A est inversible), celui dune forme chelonne et dune dcomposition LUP de A,
ainsi que pour la rsolution dun systme linaire de matrice A.
Le rsultat principal de ce chapitre est que lon peut faire mieux, et quil existe
une constante 2 < 3 (dpendante a priori du corps de base K), qui contrle la
complexit du produit matriciel et de toutes les oprations dalgbre linaire.
Pour formaliser ce point, on associe chacun des problmes son exposant. Dans
le cas du produit, il est dni comme suit.
Definition 1 (Exposant de la multiplication matricielle). On dit que le rel
est un exposant faisable pour la multiplication de matrices sur le corps K sil existe
un algorithme de complexit arithmtique O(n

) pour multiplier deux matrices


arbitraires de /
n
(K). On dnit
mul
= inf [ est un exposant faisable.
A priori, on devrait mettre en indice le corps K pour les exposants et
mul
. Les
rsultats prsents dans la suite sont cependant indpendants de K
1
. Lalgorithme
naf pour le produit est de complexit O(n
3
), donc = 3 est un exposant faisable
et
mul
3. Dun autre ct,
mul
est forcment au moins gal 2 : le nombre
dlments dune matrice est n
2
et il faut bien autant doprations pour lcrire.
1. On peut montrer que la constante
mul
ne dpend que de la caractristique du corps de
base K et il est conjectur quelle est mme entirement indpendante du corps K.
2. MULTIPLICATION DE MATRICES 37
Ensuite, on peut dnir de la mme manire les exposants de tous les autres
problmes, de la forme
inv
,
polcar
,
det
,
LUP
, etc . . . On a alors le rsultat suivant.
Thorme 1. Les exposants
mul
,
inv
,
polcar
,
det
,
LUP
, sont tous gaux,
et infrieurs 2,38 ; on note leur valeur commune. Lexposant correspondant
la rsolution de systmes linaires est infrieur ou gal .
Ce thorme contient deux (familles de) rsultats :
des preuves dquivalence entre problmes,
des bornes suprieures sur leur complexit, cest--dire des algorithmes.
Dans le prsent chapitre, il est impossible de dmontrer ce thorme dans son
intgralit. Nous nous contenterons de prouver (et encore, sous des hypothses
simplicatrices) que le produit et linverse ont le mme exposant, et que celui-ci est
infrieur log
2
(7) < 2,81.
Nous montrerons galement que
det

polcar

mul
=
inv
et laisserons en
exercice (Exercice 11) la preuve de lingalit
inv

det
qui permet de conclure
que cette suite dingalits est en fait une suite dgalits.
1.3. Applications. Les problmes dalgbre linaire mentionns ci-dessus
sont trs frquemment rencontrs en pratique ; les rsultats du Thorme 1 seront in-
voqus plusieurs reprises dans ce cours. Par exemple, lalgorithme de Beckermann-
Labahn (Chapitre 9) pour le calcul dapproximants de Pad-Hermite repose ultime-
ment sur des produits de matrices de polynmes. Cest aussi le cas de lalgorithme
de Storjohann pour la rsolution de systmes linaires coecients polynomiaux
(Chapitre 14), et de lalgorithme de recherche de solutions sries dquations alg-
briques (Chapitre 4) ou direntielles linaires (Chapitre 15).
De nombreux algorithmes de rsolution de systmes polynomiaux reposent aussi
sur de lalgbre linaire : les mthodes de calcul dune base de Grbner (Chapitre 16)
peuvent se ramener des systmes linaires (ventuellement creux) en trs grande
taille ; lalgorithme de rsolution gomtrique (Chapitre 22) utilise une itration
de Newton faisant intervenir des calculs dinverses de matrices de sries formelles.
Dans un contexte dirent, les algorithmes pour les sries D-nies (Chapitre 8) et
les algorithmes de sommation et dintgration (Chapitre 28) font intervenir comme
sous-problme la rsolution dun systme linaire.
De faon similaire, la technique du scindage binaire qui sera utilise au
Chapitre 13 pour le calcul dun terme dune rcurrence, ou encore pour le calcul du
dveloppement dcimal de e, requiert de multiplier des matrices contenant de gros
nombres entiers.
Lalgbre linaire est au cur de nombreux autres problmes algorithmiques
qui ne seront pas abords dans ce cours ; cest le cas de la factorisation des entiers
et des polynmes, ou encore du logarithme discret en cryptanalyse. Mentionnons
enn quune large partie des ordinateurs du monde passent leurs cycles faire des
calculs dalgbre linaire, que ce soit pour faire des calculs doptimisation combi-
natoire (programmation linaire par lalgorithme du simplexe), de la simulation
numrique (mthode des lments nis), ou de la recherche de pages web (le sys-
tme de classement PageRank utilis par le moteur de recherche Google repose sur
la recherche dun vecteur propre dune gigantesque matrice creuse).
2. Multiplication de matrices
Tout comme le produit dentiers et de polynmes, la multiplication matricielle
est une opration fondamentale en calcul formel, dont ltude de complexit savre
tre un problme hautement non trivial.
38 3. ALGBRE LINAIRE DENSE : DE GAUSS STRASSEN
Lalgorithme naf pour eectuer le produit dune matrice de taille mn par un
vecteur utilise O(mn) oprations arithmtiques : mn multiplications et m(n 1)
additions. Un rsultat de Winograd arme quen gnral on ne peut pas faire
mieux : par exemple, pour les matrices relles dont les coecients sont algbrique-
ment indpendants sur Q, lalgorithme naf est optimal. Puisque le produit matriciel
peut sinterprter comme une succession de produits matrice-vecteur, une question
naturelle est de savoir si la multiplication nave de deux matrices est aussi quasi-
optimale.
La rponse cette question, et les rsultats les plus importants de cette section,
classs par ordre chronologique de dcouverte, sont regroups dans le thorme
suivant.
Thorme 2 (La multiplication nave nest pas optimale). Soit K un corps
commutatif. On peut multiplier deux matrices de /
n
(K) en
(a) O(n
3
) oprations dans K, par lalgorithme naf ;
(b) n
2
,
n
2
| + 2n
n
2
|
1
2
n
3
+n
2
multiplications dans K;
(c) n
2
,
n
2
| + (2n 1)
n
2
|
1
2
n
3
+n
2

n
2
multiplications dans K si la caract-
ristique de K est dirente de 2 et si la division par 2 est gratuite ;
(d) O(n
log
2
(7)
) O(n
2,81
) oprations dans K.
Ces rsultats restent valables sur un anneau commutatif A; pour (a) et (d)
lhypothse de commutativit peut mme tre supprime. La partie (b) est due
Winograd et fut historiquement la premire amlioration de lalgorithme naf.
Elle rduit de moiti le nombre de multiplications, en augmentant en revanche le
nombre dadditions. Cela constitue dj un progrs pour une large classe danneaux
A dans lesquels la multiplication est plus coteuse que laddition
2
. Par exemple, la
technique du scindage binaire qui sera utilise au Chapitre 13 pour le calcul
dun terme dune rcurrence, ou encore pour le calcul du dveloppement dcimal
de e, requiert de multiplier des matrices contenant de gros nombres entiers.
Lamlioration (c) a t obtenue par Waksman, et implique quon peut eectuer
le produit de deux matrices 2 2 en 7 multiplications. Linconvnient commun des
algorithmes de Winograd et de Waksman est lutilisation de la commutativit de K,
qui devient un obstacle une application rcursive, ne permettant pas damliorer
(la borne suprieure 3 sur) lexposant
mul
. Beaucoup pensaient que tout rsultat
de type (b) et (c) serait optimal, au sens que
1
2
n
3
multiplications dans K seraient
ncessaires pour le produit dans /
n
(K). Ceci fut contredit par la dcouverte par
Strassen de (d) ; ce rsultat dcoule dun fait dune simplicit dconcertante, mais
dune porte considrable : deux matrices 2 2 peuvent tre multiplies en 7 mul-
tiplications mme si K nest pas commutatif.
La non-optimalit de la multiplication matricielle nave justie lintroduction
de la dnition suivante.
Definition 2 (Fonction de multiplication matricielle). On dit que lapplication
MM : N N est une fonction de multiplication matricielle (pour un corps K) si :
on peut multiplier des matrices de /
n
(K) en au plus MM(n) oprations
dans K;
MM est croissante et vrie lingalit MM(n/2) MM(n)/4 pour n N.
Ainsi, le Thorme 2 montre que les fonctions n n
3
ou n n
log
2
(7)
sont
( des constantes prs) des fonctions de multiplication matricielles. Comme dans
le cas de la fonction de multiplication polynomiale M introduite au Chapitre 2,
2. Cest par exemple le cas de Z et de Z[A], mais pas de Q ou de Q(A).
2. MULTIPLICATION DE MATRICES 39
lintrt de cette notion est quelle permet dnoncer des rsultats de complexit
indpendants du choix de lalgorithme utilis pour multiplier les matrices.
La seconde condition de la Dnition 2 tablit la cohrence avec la Dnition 1 :
si MM(n) = c n

, pour une certaine constante c > 0, alors doit tre suprieur ou


gal 2. Cette condition permettra de montrer que dans des algorithmes de type
diviser pour rgner pour les matrices, le cot total est essentiellement celui du
dernier appel rcursif.
Le reste de cette section est ddi la preuve du Thorme 2.
2.1. Multiplication nave. Commenons par dcrire lalgorithme cu-
bique de multiplication. tant donnes deux matrices A = (a
i,j
)
n
i,j=1
et X =
(x
i,j
)
n
i,j=1
de /
n
(K), leur produit scrit R = AX avec
r
i,k
=
n

j=1
a
i,j
x
j,k
.
Le cot ncessaire pour obtenir un lment de R est donc de n multiplications et
n 1 additions, de sorte que la complexit totale est en O(n
3
).
2.2. Algorithme de Winograd. Il est possible de diviser essentiellement par
deux le nombre de multiplications scalaires susantes pour le calcul du produit AX.
Ceci montre au passage que la multiplication matricielle nave nest pas optimale.
Supposons pour simplier que n est pair, n = 2k. Lalgorithme de Winograd repose
sur lidentit suivante, hritire de celle de Karatsuba : si est un vecteur ligne
[a
1
a
n
] et c est un vecteur colonne
t
[x
1
x
n
], alors le produit scalaire , c
scrit
(1) , c = (a
1
+x
2
)(a
2
+x
1
) + + (a
2k1
+x
2k
)(a
2k
+x
2k1
) () (c),
o () = a
1
a
2
+ +a
2k1
a
2k
et (c) = x
1
x
2
+ +x
2k1
x
2k
. Notons que ()
se calcule en k = n/2 multiplications et k 1 = n/2 1 additions.
Si maintenant
1
, . . . ,
n
sont les lignes de A et c
1
, . . . , c
n
sont les colonnes
de X, llment (i, j) du produit AX vaut
i
, c
j
. Lide est alors de prcalculer
les quantits (
i
) et (c
i
) pour 1 i n; ce prcalcul demande n(
n
2
+
n
2
) = n
2
multiplications et n(
n
2
1 +
n
2
1) = n
2
2n additions. Une fois dtermins les
(
i
) et (c
i
), on peut calculer lensemble des lments (i, j) de AX grce la
formule (1) en n
2

n
2
=
1
2
n
3
multiplications et n
2
(n + (
n
2
1) + 2) =
3
2
n
3
+ n
2
additions. Au total, le cot de la multiplication de lalgorithme de Winograd est de
1
2
n
3
+ n
2
multiplications et
3
2
n
3
+ 2n
2
2n additions. Ainsi, on a essentiellement
transform n
3
/2 multiplications en additions, ce qui est apprciable.
2.3. Algorithme de Waksman. Pour eectuer le produit de matrices 2 2
R =
_
a b
c d
_

_
x y
z t
_
,
lalgorithme de Winograd ci-dessus utilise 8 multiplications, en crivant
R =
_
(a +z)(b +x) ab zx (a +t)(b +y) ab ty
(c +z)(d +x) cd zx (c +t)(d +y) cd ty
_
.
Il napporte donc aucun gain par rapport lalgorithme naf dans cette taille.
Lalgorithme suivant, d Waksman, peut tre vu comme une amlioration de
lalgorithme de Winograd. Il eectue le produit de matrices 2 2 en 7 oprations,
40 3. ALGBRE LINAIRE DENSE : DE GAUSS STRASSEN
ds lors que dans le corps de base K llment 2 est inversible et que la division par
2 y est gratuite. Lide est dcrire la matrice R comme
R =
1
2
_
A
1
A
2
B
1
B
2
C
1
C
2
D
1
D
2
_
,
o
A
1
= (a +z)(b +x), A
2
= (a z)(b x),
B
1
= (a +t)(b +y), B
2
= (a t)(b y),
C
1
= (c +z)(d +x), C
2
= (c z)(d x),
D
1
= (c +t)(d +y), D
2
= (c t)(d y),
et de faire observer que, grce lidentit
(C
1
+C
2
) + (B
1
+B
2
) = (A
1
+A
2
) + (D
1
+D
2
) = 2(ab +cd +xz +ty),
llment D
2
est une combinaison linaire des sept autres produits A
1
, A
2
, . . . , D
1
,
et donc na pas besoin dtre obtenu lui aussi par un produit.
Lalgorithme qui sen dduit, tout comme celui de Winograd, ne peut tre utilis
de manire rcursive : la preuve des formules sous-jacentes repose sur le fait que
les lments du corps de base K commutent (bz = zb, bt = tb, . . .). Lors des appels
rcursifs, les objets multiplier seraient eux-mmes des matrices, pour lesquelles la
loi de commutation nest plus vrie. On dit donc que les algorithmes de Winograd
et de Waksman sont des algorithmes commutatifs.
Exercice 1. Finir la preuve des parties (b) et (c) du Thorme 2, en gn-
ralisant les arguments prcdents des matrices de taille n, o n N nest pas
ncessairement pair.
2.4. Algorithme de Strassen. Lalgorithme de Strassen fut le premier des-
cendre en-dessous de O(n
3
). Tout comme lalgorithme de Karatsuba pour les poly-
nmes, il repose sur le gain dune multiplication pour les matrices 22, qui devient
un gain dans lexposant lors dune application rcursive. La non-commutativit des
matrices se traduit en revanche par une contrainte supplmentaire : an de se prter
un emploi rcursif, le nouvel algorithme doit, la dirence de lalgorithme de
Waksman, satisfaire une contrainte de non-commutativit.
Soient donc A et X des matrices de taille 2 multiplier par un algorithme non-
commutatif. Intuitivement, cela se traduit par le fait que lors des multiplications
utilises par un tel algorithme, les lments a, b, c, d de A doivent rester gauche,
et les lments x, y, z, t de X droite (cela ntait pas le cas pour les algorithmes
de Winograd et de Waksman, qui mlangent les lments de A et X).
Lalgorithme naf est bien non-commutatif, mais demande deectuer 8 multi-
plications. Lalgorithme de Strassen que nous allons prsenter revient
calculer des combinaisons linaires des lments de A et des lments de X,
eectuer 7 produits de ces combinaisons linaires,
recombiner les rsultats pour obtenir le produit AX.
Explicitement, les formules appliquer sont donnes dans les tapes 3 et 4 de
lalgorithme prsent en Figure 1.
Eectuons maintenant le pas rcursif. Quitte rajouter des colonnes et des
lignes nulles, on peut supposer que les matrices A et X sont de taille n = 2
k
, avec
k N. On procde une dcoupe en blocs de A et de X :
A =
_
a b
c d
_
, X =
_
x y
z t
_
.
Dans cette criture a, b, c, d et x, y, z, t sont donc des matrices carres de taille n/2.
2. MULTIPLICATION DE MATRICES 41
Multiplication matricielle rapide
Entre : Deux matrices A, X /
n
(K), avec n = 2
k
.
Sortie : Le produit AX.
1. Si n = 1, renvoyer AX.
2. Dcomposer A =
_
a b
c d
_
et X =
_
x y
z t
_
,
avec a, b, c, d et x, y, z, t dans /
n/2
(K).
3. Calculer rcursivement les produits

q
1
= a(x +z)
q
2
= d(y +t)
q
3
= (d a)(z y)
q
4
= (b d)(z +t)
q
5
= (b a)z
q
6
= (c a)(x +y)
q
7
= (c d)y.
4. Calculer les sommes

r
1,1
= q
1
+q
5
r
1,2
= q
2
+q
3
+q
4
q
5
r
2,1
= q
1
+q
3
+q
6
q
7
r
2,2
= q
2
+q
7
.
5. Renvoyer
_
r
1,1
r
1,2
r
2,1
r
2,2
_
.
Figure 1. Algorithme de Strassen pour multiplier deux matrices.
Le point-cl est le suivant : grce la non-commutativit, les formules donnes
ci-dessus pour le cas 2 2 sappliquent toujours si a, b, c, d et x, y, z, t sont des
matrices. Ainsi, elles permettent de ramener le produit en taille n 7 produits
en taille n/2, plus un certain nombre C (ici C = 18) dadditions en taille n/2,
utilises pour fabriquer les combinaisons linaires des blocs de A et de X, et celles
des produits q
i
.
La complexit S(n) de lalgorithme de Strassen satisfait donc la rcurrence
S(n) 7 S
_
n
2
_
+C
_
n
2
_
2
.
En invoquant le lemme diviser pour rgner avec les choix m = 7, p = s = 2,
= 1 et q = 4, on dduit lingalit
S(n)
_
1 +
C
3
_
n
log
2
(7)
,
qui prouve la partie (d) du Thorme 2.
Lide de base de lalgorithme de Strassen est tout fait gnrale : amliorer
la multiplication en petite taille permet damliorer lexposant.
Exercice 2. Supposons que lon sache multiplier deux matrices de taille r
coecients dans un corps K en r

multiplications non-commutatives dans K et un


nombre arbitraire dadditions dans K. Montrer que est un exposant faisable pour
la multiplication des matrices coecients dans K.
En pratique, il peut tre intressant de ne pas descendre rcursivement jusqu
la multiplication des matrices 11, mais darrter la rcursion une taille s > 1 et
42 3. ALGBRE LINAIRE DENSE : DE GAUSS STRASSEN
dutiliser lalgorithme naf (ou tout autre algorithme, mme commutatif !) en cette
taille. Cela permet doptimiser la constante du O( ).
Exercice 3. Soit n une puissance de 2. tablir un algorithme hybride, qui fait
appel lalgorithme de Strassen pour n > 2
d
et lalgorithme naf pour n 2
d
.
Montrer que la complexit MM(n) de cet algorithme vrie MM(n) (d)n
log
2
(7)
pour tout n 2
d
, o (d) est une fonction qui dpend uniquement de d. Trouver
la valeur de d qui minimise (d).
Lalgorithme de Strassen sapplique aussi au cas o le corps de base K est
remplac par un anneau A. Lorsque cet anneau A est une extension de K, la question
est destimer sa complexit en termes de nombre doprations dans K.
Exercice 4. Soit K un corps et soient d et n deux entiers naturels strictement
positifs. Estimer la complexit de lalgorithme de multiplication de Strassen appli-
qu deux matrices carres de taille n, dont les lments sont des polynmes de
degr au plus d de K[X].
Plus gnralement, tout algorithme de multiplication dans /
n
(K) utilisant
MM(n) = O(n

) oprations dans K fournit par application A = K[X]/(X


d+1
)
un algorithme de multiplication de matrices polynomiales de degr d de complexit
MM(n, d) = O(n

M(d)) oprations de K. Un algorithme de meilleure complexit


permettant dobtenir MM(n, d) = O(n

d +n
2
M(d)) sera prsent au Chapitre 6.
2.5. Interprtation des formules de Strassen. Il nest pas immdiat de
donner une intuition aux formules de Strassen ( la dirence de celle de Karatsuba,
qui repose de manire cache sur lvaluation de polynmes en 0, 1, +). Nous
allons prsenter un raisonnement qui permet de motiver les formules de Strassen
et de les gnraliser. Lexplication appartient Fiduccia ; elle est postrieure la
dcouverte de lalgorithme
3
.
Le point de dpart est lobservation que la recherche dun algorithme non-
commutatif pour eectuer le produit de matrices R = AX avec
A =
_
a b
c d
_
et X =
_
x y
z t
_
revient donner un algorithme pour la multiplication matrice-vecteur Mv, o
M =
_

_
a b 0 0
c d 0 0
0 0 a b
0 0 c d
_

_
et v =
_

_
x
z
y
t
_

_
.
La suite de largument repose sur la remarque suivante : toute matrice (de taille
arbitraire) de la forme
_

_


_

_
,
_

_


_

_
, ou
_

_


_

_
,
3. Strassen lui-mme ne se souvient pas exactement de lorigine de ses formules. Selon Land-
sberg, Strassen was attempting to prove, by process of elimination, that such an algorithm did
not exist when he arrived at it . En tout cas, Strassen arme First I had realized that an
estimate tensor rank < 8 for two by two matrix multiplication would give an asymptotically faster
algorithm. Then I worked over Z2 Z as far as I remember to simplify matters . Autrement
dit, il y a d y avoir recherche la main .
2. MULTIPLICATION DE MATRICES 43
o 0, 1 et K, dont tous les lments, sauf les quatre marqus explici-
tement, sont nuls, peut tre multiplie par un vecteur en une seule multiplication
dans K. On appelle une telle matrice lmentaire.
Lide est alors de dcomposer la matrice M en somme de 7 matrices lmen-
taires. On commence par soustraire M les deux matrices lmentaires
E
1
=
_

_
a a
a a
_

_
et E
2
=
_

_
d d
d d
_

_
,
correspondant aux lments diagonaux de A. La matrice ainsi obtenue est
M
1
=
_

_
b a
c a d a
a d b d
c d
_

_
.
Par construction, elle admet la proprit que llment (1, 1) du deuxime bloc est
loppos de llment (2, 2) du premier. En soustrayant M
1
la matrice lmentaire
E
3
=
_

_
d a a d
d a a d
_

_
on obtient la matrice
M
2
=
_

_
b a
c a d a
a d b d
c d
_

_
,
qui se dcompose comme M
3
+M
4
, avec
M
3
=
_

_
b a
a d b d
_

_
et M
4
=
_

_
c a d a
c d
_

_
.
Or, puisque a d = (b d) (b a) et d a = (c a) (c d), chacune des
matrices M
3
et M
4
scrit comme somme de 2 matrices lmentaires
M
3
= E
4
+E
5
, o E
4
=
_

_
b a
a b
_

_
, E
5
=
_

_
b d b d
_

_
,
et
M
4
= E
6
+E
7
, o E
6
=
_

_
c a c a
_

_
, E
7
=
_

_
d c
c d
_

_
.
En revenant lgalit
t
_
r
1,1
r
2,1
r
1,2
r
2,2

=
_

7
i=1
E
i
_

t
v traduisant
R = AX, on obtient nalement les formules donnes dans les tapes 3 et 4 en
Figure 1.
44 3. ALGBRE LINAIRE DENSE : DE GAUSS STRASSEN
Exercice 5. Gnraliser lalgorithme de Strassen aux matrices de taille arbi-
traire. Plus prcisment, tendre la preuve des formules de Strassen an de montrer
que le produit de deux matrices carres de taille n peut seectuer en n
3
n(n1)/2
multiplications scalaires non-commutatives.
Est-ce que cela permet damliorer la borne de Strassen log
2
(7) sur lexposant
de lalgbre linaire ?
2.6. Peut-on faire mieux que 2,81 ? Strassen ayant prouv que lexposant

mul
du produit de matrices tait sous-cubique, la question naturelle est devenue
de savoir quelle est sa vritable valeur.
Pour ce faire, tout au long des annes 19701990, de nombreux outils ont t
dvelopps, plus sophistiqus les uns que les autres, et lon t preuve de beaucoup
dingniosit. Des notions nouvelles sont apparues, comme celles de complexit bi-
linaire, de rang tensoriel et dalgorithme approch, utilises de manire intensive
notamment par Bini, Pan, Schnhage, Strassen, Winograd et dautres. Ces notions
ne seront pas abordes dans ce cours.
Le meilleur algorithme actuel, d Coppersmith et Winograd, est de complexit
O(n
2,376
). Il est cependant conjectur que
mul
= 2, mais pour linstant la preuve
(ou la rfutation) de cette conjecture semble hors de porte.
2.7. En pratique. Les algorithmes rapides pour lalgbre linaire ont long-
temps eu mauvaise presse ; concrtement, lalgorithme de Strassen, et, de manire
plus marginale, un algorithme dexposant 2,77 d Pan et repris par Kaporin
sont les seuls algorithmes rapides (avec un exposant infrieur 3) qui ont t
implants avec succs.
Dans une bonne implantation, disons sur un corps ni dni modulo un entier
de taille raisonnable , les algorithmes de Winograd et de Waksman sont im-
mdiatement rentables. Lalgorithme de Strassen devient ensuite meilleur pour des
tailles de lordre de quelques dizaines (64 est une borne raisonnable).
Limmense majorit des autres algorithmes connus reposent sur des techniques
trs complexes, qui se traduisent par la prsence dnormes constantes (et de fac-
teurs logarithmiques) dans leurs estimations de complexit. En consquence, dans
leurs versions actuelles, il ne peuvent pas tre rentables pour des tailles infrieures
des millions ou des milliards . . .
3. Autres problmes dalgbre linaire
Il est important de savoir multiplier les matrices, mais il est tout aussi utile de
les inverser, calculer leur polynme caractristique, etc . . .
3.1. limination de Gauss. Rappelons que lalgorithme classique dlimina-
tion de Gauss permet de rsoudre la plupart des problmes classiques en algbre
linaire de manire bien plus ecace que lalgorithmique nave.
Definition 3 (Forme chelonne). Une matrice est chelonne en ligne lorsque
1. les lignes nulles sont toutes en dessous des lignes non nulles,
2. le premier coecient non nul (appel pivot) de chaque ligne non nulle est
strictement droite du premier coecient non nul de la ligne prcdente.
Une forme chelonne en ligne dune matrice A est une matrice chelonne en
ligne B quivalente gauche A (cest--dire telle quil existe une matrice carre
inversible P avec A = PB).
Lalgorithme de Gauss (sans pivot sur les colonnes) calcule, en nutilisant que
des oprations lmentaires sur les lignes (qui correspondent des multiplications
3. AUTRES PROBLMES DALGBRE LINAIRE 45
gauche par des matrices inversibles), une forme chelonne en ligne de A, sur
laquelle le rang et le dterminant de A se lisent directement.
En eet, les lignes non nulles dune forme chelonne B forment une base de
lespace vectoriel engendr par les lignes de la matrice de dpart A. Le nombre de
lignes non nulles de B est gal au rang de A. Si A est carre, son dterminant est
gal au produit des lments diagonaux de B.
Une variante de lalgorithme de Gauss, dite de Gauss-Jordan, produit mme
une forme chelonne rduite de A : il sagit dune forme chelonne de A, dont
les pivots valent 1, les autres coecients dans les colonnes des pivots tant nuls.
Applique la matrice augmente

A = [A[ I
n
] obtenue par concatnation de la
matrice A et de la matrice identit I
n
, cette variante est utilise dans le calcul de
linverse A
1
. En eet, lalgorithme de Gauss-Jordan transforme la matrice

A en
une matrice quivalente dont le bloc gauche est lidentit, cest--dire quil remplace

A par la matrice [I
n
[ A
1
]. Le mme algorithme permet de rsoudre le systme
Ax = b, o b K
n
, en bordant la matrice A par le vecteur b.
Une autre variante de lalgorithme dlimination de Gauss permet de calculer
une dcomposition LUP qui, son tour, permet de rsoudre des systmes linaires,
dinverser des matrices, de calculer des dterminants, etc.
Definition 4 (Matrices L, U, P et dcomposition LUP). Une matrice est dite
triangulaire suprieure, resp. triangulaire infrieure, si les lments situs en dessous
(resp. au dessus) de la diagonale principale sont nuls. Une matrice de permutation
est une matrice carre P dont les coecients valent 0 ou 1, et dont chaque ligne et
colonne ne contient quun seul lment non nul. Une dcomposition LU, resp. LUP,
dune matrice A est une factorisation de la forme A = LU, resp. A = LUP, avec L
triangulaire infrieure, U triangulaire suprieure et P une matrice de permutations.
En rsum, nous allons admettre lnonc suivant.
Thorme 3 (limination Gaussienne). Pour toute matrice A /
n
(K), il
est possible de calculer en O(n
3
) oprations dans K :
le rang rg(A), le dterminant det(A), et linverse A
1
si A est inversible ;
une base (ane) de solutions de Ax = b, pour tout b dans K
n
;
une dcomposition LUP, et une forme chelonne rduite de A.
3.2. Rsultat principal. Les rsultats importants de cette section sont r-
sums dans lnonc suivant.
Thorme 4 (Llimination Gaussienne nest pas optimale). Soit K un corps et
soit un exposant faisable pour la multiplication des matrices coecients dans K.
Quelle que soit la matrice A de /
n
(K), il est possible de calculer :
(a) le dterminant det(A) ;
(b) linverse A
1
(si A est inversible) ;
(c) la solution x K
n
du systme Ax = b, pour tout b K
n
, si A est inversible ;
(d) le polynme caractristique de A;
(e) une dcomposition LUP de A;
(f) le rang rg(A) et une forme chelonne rduite de A;
(g) une base du noyau de A;
en O(n

) oprations dans K.
46 3. ALGBRE LINAIRE DENSE : DE GAUSS STRASSEN
La preuve des parties (e), (f) et (g) dpasse le cadre de ce cours. En termes
dexposants, les assertions (a)(d) impliquent les ingalits
det

polcar

mul
et
inv

mul
.
Dans la suite, nous allons prouver (a)(d), sous des hypothses simplicatrices.
Nous montrerons galement que
mul

inv
et laisserons en exercice (Exercice 11)
la preuve de
inv

det
. Utilises conjointement, ces ingalits permettent de
prouver le Thorme 1.
3.3. La multiplication nest pas plus dicile que linversion. Soient A
et B des matrices n n. On souhaite calculer C = AB. Pour cela, on pose
D =
_
_
I
n
A 0
0 I
n
B
0 0 I
n
_
_
.
On a alors lidentit remarquable
D
1
=
_
_
I
n
A AB
0 I
n
B
0 0 I
n
_
_
,
qui permet donc de ramener le produit en taille n linversion en taille 3n. Cela
prouve notre armation et lingalit

mul

inv
.
Exercice 6. Soit K un corps et soit T(n) la complexit du produit de deux
matrices triangulaires infrieures de taille n n et coecients dans K. Montrer
quil est possible de multiplier deux matrices arbitraires de /
n
(K) en O(T(n))
oprations dans K.
3.4. Linversion, le calcul de dterminant et la rsolution de systme
ne sont pas plus diciles que la multiplication. Nous allons montrer quil
est possible dinverser des matrices n n par un algorithme de type diviser pour
rgner en O(n

) oprations arithmtiques, quel que soit lexposant faisable .


Inverse. Lalgorithme dinversion matricielle prsent ici, d Strassen, est un
algorithme rcursif, qui peut sinterprter comme un pivot de Gauss par blocs .
Cet algorithme ncessite dinverser certaines sous-matrices de A; an de garantir sa
correction, nous allons faire lhypothse simplicatrice que toutes ces matrices sont
inversibles. Le traitement du cas gnral (A matrice arbitraire) est plus dlicat,
et passe par le calcul ecace, toujours de type diviser pour rgner , dune
dcomposition LUP de A.
Le point de dpart est lidentit suivante (non-commutative !), dans laquelle on
suppose n = 2 et a K 0 :
A =
_
a b
c d
_
=
_
1 0
ca
1
1
_

_
a 0
0 Z
_

_
1 a
1
b
0 1
_
,
et o Z = d ca
1
b est le complment de Schur de a dans A.
Cette identit se dduit aisment grce la mthode du pivot de Gauss appli-
que A et permet dobtenir la factorisation suivante
_
a b
c d
_
1
=
_
1 a
1
b
0 1
_

_
a
1
0
0 Z
1
_

_
1 0
ca
1
1
_
=
_
a
1
+a
1
bZ
1
ca
1
a
1
bZ
1
Z
1
ca
1
Z
1
_
.
(2)
3. AUTRES PROBLMES DALGBRE LINAIRE 47
Inversion matricielle rapide
Entre : Une matrice gnrique A /
n
(K), avec n = 2
k
.
Sortie : Son inverse A
1
.
1. Si n = 1, renvoyer A
1
.
2. Dcomposer A =
_
a b
c d
_
, avec a, b, c, d dans /
n/2
(K).
3. Calculer e := a
1
rcursivement.
4. Calculer Z := d ceb.
5. Calculer t := Z
1
rcursivement.
6. Calculer y := ebt, z := tce, x := e +ebtce.
7. Renvoyer
_
x y
z t
_
.
Figure 2. Algorithme de Strassen pour inverser une matrice.
Le point important est que lidentit (2) est non-commutative : elle reste
valable dans tout anneau non-commutatif, pourvu que les lments a et Z = d
ca
1
b soient inversibles. Elle permet donc une application rcursive.
Lalgorithme qui en rsulte est prsent en Figure 2. Dans chaque appel rcursif
lalgorithme eectue deux inversions, ainsi quun certain nombre de produits. Plus
prcisemment, avec les notations de la Figure 2, les 6 produits ce, bt, ceb = (ce)b,
ebt = e(bt), (ebt)(ce) et t(ce) sont susants. Cette analyse mne au rsultat suivant.
Thorme 5. Si toutes les sous-matrices rencontres au cours de lalgorithme
en Figure 2 sont inversibles, le cot de linversion de A est de 3 MM(n) +O(n
2
).
Dmonstration. Lalgorithme ci-dessus montre que la complexit I(n) de lin-
version satisfait la rcurrence
I(n) 2 I
_
n
2
_
+ 6 MM
_
n
2
_
+Cn
2
,
C tant une constante. Il sut alors dappliquer le lemme diviser pour rgner
avec les choix m = p = s = 2, = 1 et q = 4.
Une premire consquence immdiate du Thorme 5 est que la rsolution du
systme linaire Ax = b, pour b K
n
, et A inversible vriant les hypothses du
Thorme 5, peut seectuer galement en O(MM(n)) = O(n

) oprations dans K.
Dterminant. Une lgre adaptation de lalgorithme permet de calculer le dter-
minant de A en mme temps que son inverse, en la mme complexit. Pour cela, il
sut de remplacer les tapes 1, 3, 5 et 7 de lalgorithme en Figure 2 par les tapes
1
t
, 3
t
, 5
t
et 7
t
dcrites ci-dessous.
1
t
. Si n = 1, renvoyer A
1
et A.
3
t
. Calculer e := a
1
et d
a
:= det(a) rcursivement.
5
t
. Calculer t := Z
1
et d
Z
:= det(Z) rcursivement.
7
t
. Renvoyer
_
x y
z t
_
et d
a
d
Z
.
48 3. ALGBRE LINAIRE DENSE : DE GAUSS STRASSEN
Aaiblissement des hypothses. ce stade, nous avons dmontr les parties (a)
(c) du Thorme 4 sous une hypothse supplmentaire. Dans le cas o K est un
sous-corps du corps des rels R, on peut saranchir de cette hypothse, en observant
que, quelle que soit la matrice A inversible dans /
n
(R), la matrice B =
t
A A
vrie les hypothses du Thorme 5, et donc linverse de A peut se calculer grce
lgalit A
1
= B
1

t
A en O(MM(n)) = O(n

) oprations dans K.
Il nest pas dicile de prouver que si la matrice A est de type L (triangulaire
infrieure) ou U (triangulaire suprieure) alors lalgorithme de Strassen calcule son
inverse sans avoir besoin daucune hypothse supplmentaire. Cette remarque est
la base dun algorithme gnral dinversion d Bunch et Hopcroft. Cet algorithme
calcule dabord une dcomposition LUP dune matrice inversible arbitraire
4
sur
un corps quelconque K en O(MM(n)) oprations, et arrive en dduire le calcul
dinverse (et aussi la rsolution de systme) pour le mme prix.
Concluons cette section avec la remarque que lalgorithme dinversion de Stras-
sen est la base de toute une algorithmique pour les matrices structures, qui sera
prsente au Chapitre 11.
3.5. Calcul du polynme caractristique. Soit A une matrice de /
n
(K).
Dans cette section, nous prsentons un algorithme ecace, d Keller-Gehrig, pour
le calcul du polynme caractristique
A
(X) de A. Nous ne dcrirons en dtail quun
cas particulier trs simple (et trs frquent). Plus exactement, nous ferons dans la
suite lhypothse que
A
(X) = X
n
+ p
n1
X
n1
+ + p
0
est irrductible dans
K[X] ; en particulier, il concide avec le polynme minimal de A.
Lalgorithme repose de faon cruciale sur la proprit suivante. Rappelons
quune matrice C = (c
i,j
)
n
i,j=1
de /
n
(K) est appele de type compagnon
si ses n 1 premires colonnes ne contiennent que des lments nuls, lexception
des lments c
2,1
, c
3,2
, . . . , c
n,n1
qui valent tous 1.
Lemme 1. Soit v un vecteur de K
n
0 et soit P /
n
(K) la matrice dont
la j-ime colonne vaut A
j1
v, pour 1 j n. Alors P est inversible et la matrice
P
1
AP est de type compagnon.
Dmonstration. Pour prouver ce lemme, on commence par observer que,
grce lhypothse sur A, la famille B = v
1
, v
2
, . . . , v
n
, o v
i
= A
i1
v, forme
une base du K-espace vectoriel K
n
, et donc P est inversible. En eet, en suppo-
sant le contraire, on dduit lexistence dun polynme non nul Q K[X] de degr
strictement infrieur n, tel que Q(A)v = 0. Sans perte de gnralit, ce poly-
nme peut tre suppos de degr minimal avec cette proprit. Comme par ailleurs

A
(A)v = 0, il sensuit que Q divise
A
; or, ce dernier tant suppos irrductible,
cela entrane que Q est constant, et donc v = 0, une contradiction.
Puisque Av
i1
= v
i
, la matrice C de lapplication linaire w Aw dans la
base B est de type compagnon. Le thorme du changement de base fournit alors
lgalit C = P
1
AP et permet donc de conclure.
Les matrices A et C = P
1
AP tant semblables, elles ont le mme polynme
caractristique. Par ailleurs, le polynme caractristique de la matrice compagnon
C = (c
i,j
)
n
i,j=1
vaut X
n

n
i=1
c
i,n
X
i1
. Lide de lalgorithme de Keller-Gehrig
est alors naturelle : construire la matrice P du Lemme 1, pour ensuite dterminer
la matrice C laide dune multiplication et dune inversion, et lire les coecients
du polynme caractristique de A sur les lments de la dernire colonne de C.
4. La dtection de linversibilit est galement faisable en O(MM(a)) oprations, grce un
algorithme qui calcule le rang de en cette complexit ; cet algorithme dpasse notre cadre.
EXERCICES 49
Algorithme de Keller-Gehrig
Entre : Une matrice A de /
n
(K), avec n = 2
k
.
Sortie : Son polynme caractristique det(XI
n
A).
1. Choisir v dans K
n
0 ;
2. M := A; P := v ;
3. Pour i de 1 k faire
P := Cat(P, MP) ;
M := M
2
;
4. C := P
1
AP ;
5. Renvoyer
_
X
n
+p
n1
X
n1
+ +p
0
_
, o
t
[p
0
, . . . , p
n1
]
est la dernire colonne de C.
Figure 3. Calcul du polynme caractristique par lalgorithme de
Keller-Gehrig.
Du point de vue de la complexit, la seule tape coteuse est la construction de
la matrice P. En eet, la mthode directe qui consiste calculer la suite de Krylov
v, Av, . . . , A
n1
v par multiplications successives dun vecteur par la matrice A a
un cot cubique en n. La remarque cruciale est que lon peut regrouper les pro-
duits matricevecteur en plusieurs produits matricematrice, de la faon suivante :
on calcule en O(n
2
) oprations les vecteurs v, Av, on dtermine ensuite par expo-
nentiation binaire les O(log(n)) matrices A, A
2
, A
4
, A
8
, . . . et on termine le calcul
des colonnes de P par le calcul des produits A
2
[ v [ Av ] = [ A
2
v [ A
3
v ], puis
A
4
[ v [ [ A
3
v ] = [ A
4
v [ [ A
7
v ], etc. Chaque produit de ce type est eec-
tu laide dun produit matriciel en taille n n, en rajoutant articiellement des
colonnes nulles aux facteurs droits.
Lalgorithme complet est prsent en Figure 3 (o la notation Cat(U, V ) dsigne
lopration de concatnation horizontale des matrices U et V ). Nous venons de
prouver :
Thorme 6. Soit K un corps et supposons quon dispose dun algorithme
de multiplication dans /
n
(K) de complexit MM(n) = O(n

), avec 2. Si le
polynme caractristique dune matrice A de /
n
(K) est irrductible dans K[X],
lalgorithme en Figure 3 le calcule en O(MM(n) log(n)) oprations dans K.
Le calcul de la suite de Krylov sera utilis au Chapitre 10 dans lalgorithme de
Wiedemann pour la rsolution des systmes creux, et de faon moins transparente,
au Chapitre 14 dans lalgorithme de Storjohann pour la rsolution de systmes
linaires coecients polynomiaux.
Exercices
Exercice 7 (Multiplication et division rapides de nombres complexes).
1. Montrer quil est possible deectuer le produit matrice-vecteur
_
a b
b a
_

_
x
y
_
en utilisant seulement 3 multiplications scalaires.
2. En dduire que deux nombres complexes peuvent tre multiplis en utilisant
3 multiplications relles.
3. Montrer quon peut calculer le quotient de deux nombres complexes en
utilisant au plus 7 multiplications et divisions relles.
50 3. ALGBRE LINAIRE DENSE : DE GAUSS STRASSEN
4. Donner un algorithme qui utilise seulement 6 oprations de ce type.
Exercice 8 (Multiplication rapide de quaternions).
1. Soit A = (a
ij
) une matrice nn coecients dans K, telle que a
ij
= a
ji
pour i < j. Soit v un vecteur quelconque de K
n
. Si est le nombre dl-
ments non-nuls de lensemble a
ij
, i < j, montrer que n+ multiplications
susent pour calculer le produit Av.
2. Montrer quon peut calculer le produit dune matrice nn et dune matrice
n 2 en utilisant
3
2
n
2
+
5
2
n multiplications scalaires.
Indication : Remplacer le produit M [ v
1
| v
2 ] par
_
0 M
M 0
_

_
v
1
v
2
_
,
puis dcomposer la matrice A =
_
0 M
M 0
_
en somme de deux matrices vriant
les hypothses de la question prcdente.
3. Un quaternion est une combinaison formelle a 1 +b i +c j +d k, avec
a, b, c, d R et i, j, k lments vriant la table de multiplication interne
1 i j k
1 1 i j k
i i 1 k j
j j k 1 i
k k j i 1
(par exemple, i j = k et k j = i). La multiplication se prolonge par R-
linarit lensemble H des quaternions et en fait un corps non-commutatif.
Montrer que deux quaternions arbitraires peuvent tre multiplis en
utilisant seulement 10 multiplications relles.
Exercice 9. Soit P un polynme de degr au plus n coecients dans un
corps K. Soit > 2 un rel tel que O(n

) oprations dans K susent pour multiplier


deux matrices arbitraires de /
n
(K).
1. Donner un algorithme pour valuer P sur ,

n| lments de K en O(n
/2
)
oprations.
2. Si A /
n
(K), montrer quon peut calculer la matrice P(A) en O(n
+1/2
)
oprations de K.
3. Si Q K[X] est un autre polynme de degr au plus n, montrer quil est
possible de calculer les n premiers coecients du polynme P(Q(X)) en
O(n
+1
2
) oprations dans K.
Indication : crire P sous la forme P
0
(X) +P
1
(X)X
d
+P
2
(X)(X
d
)
2
+ , avec d
bien choisi et P
i
(X) de degrs au plus d 1.
Exercice 10 (Inversion de Strassen des matrices polynomiales). Soit M(X)
/
n
(K[X]) une matrice polynomiale carre de taille n et de degr born par d.
Exhiber une borne suprieure pour la complexit (exprime en termes doprations
arithmtiques dans K et en fonction des deux paramtres n et d) de lalgorithme
de Strassen pour le calcul de M(X)
1
, sous lhypothse que toutes les matrices
rencontres au cours de lalgorithme sont inversibles.
Exercice 11 (Drivation automatique et calcul dinverse). Le but de cet exer-
cice est de dmontrer que le calcul de linverse dune matrice nest pas plus dicile
que le calcul du dterminant, en utilisant des techniques de drivation automatique.
Pour cela, formalisons brivement ce quon entend par programme. Dans notre
contexte, un programme prend en entre des indtermines Y
1
, . . . , Y
m
sur un corps
EXERCICES 51
K, et eectue une suite dinstructions g
1
, . . . , g
L
. Pour tout i = 1, . . . , L, linstruc-
tion g
i
consiste simplement en la dnition dun polynme G
i
, de la forme
g
i
: G
i
= Arg
i
op
i
Arg
t
i
,
selon les rgles suivantes :
Arg
i
et Arg
t
i
sont dans K G
1
, . . . , G
i1
Y
1
, . . . , Y
m
.
op
i
est dans +, , .
La taille dun tel programme est L. On dit quun tel programme calcule un polynme
F si F appartient lensemble G
1
, . . . , G
L
; on dit de mme que le programme
calcule F
1
, . . . , F
s
si tous les F
i
sont dans G
1
, . . . , G
L
.
Par exemple, le programme ayant pour entres Y
1
, Y
2
, Y
3
, Y
4
, pour instructions
G
1
= Y
1
Y
4
G
2
= Y
2
Y
3
G
3
= G
1
G
2
calcule le dterminant Y
1
Y
4
Y
2
Y
3
de la matrice
_
Y
1
Y
2
Y
3
Y
4
_
;
il a taille 3.
Si G est dans K[Y
1
, . . . , Y
m
], on appelle gradient de G lensemble de ses m
drives partielles G/Y
i
, i = 1, . . . , m.
1. Soient G et H dans K[Y
1
, . . . , Y
m
]. Exprimer les drives partielles de G+H,
GH et GH, en fonction de G, H et des drives partielles de G et H.
En dduire qutant donn un programme de taille L, qui calcule un
polynme G de K[Y
1
, . . . , Y
m
], on peut en dduire un programme de taille
O(Lm) qui calcule G et son gradient.
2. Soient G dans K[Y
1
, . . . , Y
m
] et H dans K[Y
1
, . . . , Y
m+1
], tels que
G = H(Y
1
, . . . , Y
m
, Y
i
Y
j
),
avec 1 i, j m. Exprimer les drives partielles de G en fonction de H
et de ses drives partielles. Traiter ensuite les cas
G = H(Y
1
, . . . , Y
m
, Y
i
Y
j
).
3. Soient G dans K[Y
1
, . . . , Y
m
] et H dans K[Y
1
, . . . , Y
m+1
], tels que
G = H(Y
1
, . . . , Y
m
, Y
i
op Y
j
),
avec 1 i, j m, et op dans +, , . On suppose connu un programme
de taille L qui calcule H et son gradient. Montrer quon peut en dduire
un programme de taille L +O(1) qui calcule G et son gradient.
En dduire par rcurrence que si un polynme G de K[Y
1
, . . . , Y
m
] peut
tre calcul par un programme de taille L, G et son gradient peuvent tre
calculs par un programme de taille O(L).
4. Soient X
1,1
, . . . , X
1,n
, . . . , X
n,1
, . . . , X
n,n
des indtermines, et soit D le
dterminant de la matrice
M =
_
_
_
X
1,1
. . . X
1,n
.
.
.
.
.
.
X
n,1
. . . X
n,n
_
_
_.
Montrer que le gradient de D permet de retrouver les entres de la comatrice
N de M, o N est lunique matrice satisfaisant
M
t
N =
t
N M = DI
n
,
I
n
tant la matrice identit de taille n, et
t
N la transpose de N.
52 3. ALGBRE LINAIRE DENSE : DE GAUSS STRASSEN
5. Montrer qutant donn un programme de taille L qui calcule D, on peut
en dduire un programme de taille O(L), eectuant ventuellement des
divisions, qui calcule les coecients de linverse de M.
6. En dduire que
inv

det
.
Notes
Loptimalit de lalgorithme naf pour le produit matrice-vecteur mentionne
au dbut de la Section 2 a t prouve par Winograd [58]. Les parties (b) et (c)
du Thorme 2 sont dues Winograd [56] et Waksman [55]. Le Thorme 4, dont
le titre est emprunt larticle de Strassen [50], montre que du point de vue de
la complexit on peut faire mieux que la mthode du pivot de Gauss. Cest un
rsultat surprenant car Klyuyev et Kokovkin-Shcherbak [28] avaient prouv que
llimination Gaussienne est optimale si lon se restreint des oprations sur des
lignes et des colonnes. Cest surtout un rsultat qui a ouvert la voie tout un
domaine de recherche active, la thorie de la complexit bilinaire. Les livres [41],
[11, 1516], [1, 710] et les articles de synthse [40, 52] constituent de bonnes
rfrences sur ce sujet.
Linterprtation des formules de Strassen donne en Section 2.5 et lexercice 5
sont ds Fiduccia [16]. Lalgorithme dinversion des matrices gnriques en Sec-
tion 3.4 est d Strassen [50]. La remarque de Schnhage permettant de traiter
linversion rapide dune matrice relle arbitraire est tire de [46]. Lalgorithme g-
nral dinversion voqu la n de la Section 3.4, ainsi que la preuve des galits

inv
=
LUP
=
mul
ont t donns par Bunch et Hopcroft dans [9]. La preuve de
lingalit
inv

det
esquisse dans lexercice 11 est due Baur et Strassen [2].
La rduction prsente en Section 3.3 provient de [35]. La partie (f) du Thorme 4
est due [27], et la partie (g) est due [10]. Le fait que lexposant
mul
ne dpend
que de la caractristique du corps de base est prouv par Schnhage dans [47].
Lalgorithme dcrit dans la Section 3.5 provient de larticle [27] ; il sagit dune
version acclre dun algorithme classique de Krylov-Danilevsky [29, 15]. Il est
possible dadapter cet algorithme au cas o A est une matrice arbitraire. Plus pr-
cisment, lalgorithme de Keller-Gehrig calcule dans ce cas une base de K
n
dans
laquelle la matrice de lendomorphisme de multiplication par A est triangulaire
par blocs, avec des blocs diagonaux de type compagnon. Autrement dit, il procde
une mise en forme de Frobenius faible. Un ranement de cet algorithme, d
Giesbrecht [19], permet de calculer la forme de Frobenius forte (matrice diagonale
par blocs de type compagnon) galement en complexit

O(MM(n)) ; cet algorithme
permet aussi le calcul, en la mme complexit, du polynme minimal et de tous les
autres facteurs invariants de A. Les algorithmes de [19] sont probabilistes ; des ver-
sions dterministes ont t donnes par Storjohann dans [49]. Larticle [27] propose
galement un algorithme dirent de celui dcrit dans la Section 3.5, calculant le
polynme caractristique dune matrice gnrique en seulement O(MM(n)) opra-
tions ; voir lexercice 13 en page 317. Une version (probabiliste) de mme complexit
et sans hypothse de gnricit a t propose par Pernet et Storjohann [43].
Les articles [19, 49] montrent que
Frobenius
=
mul
et que lvaluation dun
polynme de degr d en une matrice de /
n
(K) peut se faire en

O(MM(n) + d)
oprations dans K, ce qui amliore le rsultat (2) de lexercice 9. Cet exercice est
inspir des articles [7] pour (1), [42] pour (2) et [8] pour (3) ; le rsultat de (1) sera
amlior au Chapitre 6 et celui de (3) au Chapitre 4.
lheure actuelle, on ne sait pas si les exposants des problmes suivants
rsoudre un systme,
calculer le rang,
dcider si une matrice est inversible,
NOTES 53
sont eux aussi gaux
mul
. Grce au Thorme 4, on sait que ces problmes ne
sont pas plus diciles que la multiplication, mais peut-tre sont-ils plus faciles . . .
Un autre problme ouvert est le calcul du polynme caractristique par un
algorithme dterministe de complexit O(MM(n)).
Complexit des algorithmes commutatifs. Il est naturel de se demander sil
est possible dobtenir des algorithmes la Winograd plus ecaces, en regroupant
les termes de (1) en paquets plus gros plutt que deux par deux. La rponse est
ngative. Harter [20] a montr quil nexiste pas de gnralisation de (1) de la forme
, c = (a
1
, x
1
, a
2
, x
2
, . . .) +(a
1
, x
1
, a
2
, x
2
, . . .) +f(a
1
, a
2
, . . .) +g(x
1
, x
2
, . . .),
o et sont des formes linaires et f et g des fonctions quelconques. JaJa [24]
a montr plus gnralement quaucun algorithme commutatif ne peut apporter un
gain dun facteur suprieur 2 sur lalgorithme naf, et en particulier ne peut pas
amliorer lexposant 3. De ce point de vue, les algorithmes de Winograd et Waksman
sont optimaux dans la classe des algorithmes commutatifs.
Algorithme de Strassen. Winograd [17] a donn une version de lalgorithme de
Strassen utilisant seulement C = 15 additions et soustractions (au lieu de C = 18).
Cela permet de descendre la constante dans le O(n
log
2
(7)
) de 7 6 pour lalgorithme
en Figure 1. Cette constante a t abaisse 3,92 par Fischer [18].
Dans le cas o la taille n de la matrice nest pas une puissance de 2 (2
k1
<
n < 2
k
) il vaut mieux viter dappliquer lalgorithme de Strassen sur la matrice
augmente de 2
k
n lignes et colonnes nulles. Si n est pair, on eectuerait plutt
un dcoupage en 4 blocs de taille n/2. Si n est impair, on utiliserait la formule de
Strassen sur des blocs de taille (n1)/2 en grant la main les oprations sur
la ligne et la colonne restantes. Dautres stratgies sont dcrites dans [23].
Bornes infrieures vs. bornes suprieures. Le problme des bornes infrieures
est trs dicile. En taille n = 2, il a t montr [57, 22] que le rsultat de Strassen
est optimal du point de vue des multiplications : on ne peut pas eectuer le pro-
duit de deux matrices carres de taille 2 en seulement 6 multiplications scalaires.
Rcemment Landsberg [32] a obtenu une gnralisation de ce rsultat, en utilisant
des outils gomtriques. Probert [44] a montr que la version de lalgorithme de
Strassen due Winograd est optimale galement vis--vis du nombre total dop-
rations arithmtiques : il nexiste aucun algorithme pour multiplier deux matrices
2 2 en 7 multiplications et seulement 14 additions et soustractions.
La taille n = 2 est la seule pour laquelle on connat le nombre minimal de
multiplications scalaires requises pour eectuer le produit de matrices cares nn.
En taille n = 3, la meilleure borne infrieure connue ce jour est 19 [6], alors
que le meilleur algorithme commutatif utilise 22 multiplications [34] et le meilleur
algorithme non-commutatif utilise 23 multiplications [31]. Pour une taille arbitraire,
toutes les bornes infrieures connues sont seulement quadratiques en n : la meilleure,
5
2
n
2
3n, est due Blser [5]. Si le corps des scalaires est R ou C, et dans un modle
restreint de complexit o les seules multiplications scalaires permises se font par
des scalaires de module born, Raz [45] a prouv une borne infrieure en c n
2
log n.
Matrices de petite taille. Il existe un grand nombre dautres schmas la Stras-
sen pour multiplier des matrices de petite taille. Un recensement des meilleurs
algorithmes non-commutatifs connus pour le produit des matrices de petite taille a
t eectu par Smith [48].
Par exemple, Skora [53] a montr quon peut multiplier deux matrices n n
en n
3
(n 1)
2
produits non-commutatifs ; cet algorithme gnralise la fois
ceux de Strassen et de Laderman. Des techniques plus sophistiques ont permis
Pan [37, 38] de montrer que le produit de matrices n n peut seectuer en
54 3. ALGBRE LINAIRE DENSE : DE GAUSS STRASSEN
n
3
/3 + 9/2n
2
n/3 multiplications non-commutatives. Chacun de ces schmas,
appliqu rcursivement, donne un algorithme de produit matriciel sous-cubique. Par
exemple, lalgorithme de [38] multiplie des matrices 4848 en 47216 multiplications
non-commutatives, ce qui mne
mul
< 2,781.
la recherche de
mul
= 2. Lide initiale de Strassen de combiner une bonne
multiplication en taille xe et la puissance de la rcursivit pour amliorer lex-
posant
mul
na pas permis daller en dessous de 2,7. Les amliorations ultrieures
reposent toutes sur une accumulation dides de plus en plus sophistiques. Une
premire ide fut dutiliser le produit des matrices rectangulaires. Un rsultat
de [36, 21] montre que si lon dispose dun algorithme pour multiplier deux ma-
trices (mn)(np) en multiplications, alors on sait eectuer en multiplications
chacun des produits en tailles (n p) (p m) et (p m) (mn). Cet nonc
est li au thorme de transposition de Tellegen qui sera vu au Chapitre 12. Une
dcomposition par blocs permet alors dobtenir un algorithme pour le produit de
matrices carres de taille mnp en
3
oprations, et dobtenir ainsi la majoration

mul
3 log()/ log(mnp). Ce rsultat na permis damliorer la majoration de

mul
que combin avec dautres concepts, comme les algorithmes approchs et le
rang tensoriel limite (border rank en anglais) introduits dans [4, 3]. Larticle [4]
donne un algorithme approch qui utilise 10 multiplications pour le produit matri-
ciel en taille (2 2) (2 3) ; cela implique
mul
< log
12
(1000) < 2,77989, mais
les constantes dans les O() commenent devenir astronomiques. Dautres ides
pour obtenir des bornes de plus en plus nes sur
mul
sont : lutilisation des ma-
trices creuses [47] qui aboutit lingalit asymptotique pour les sommes directes
de matrices trous et la majoration
mul
< 2,548 ; la thorie de la dformation
des modules sur des groupes algbriques linaires conduisant la mthode laser de
Strassen [51] et la borne
mul
< 2,4785, et qui est la base de la meilleure borne
connue
mul
< 2,376 due Coppersmith et Winograd [14].
Thorie vs. pratique. Thoriquement, le principal problme ouvert est
mul
= 2.
Dun point de vue pratique, il nest pas forcment intressant de comparer les
algorithmes en fonction de leur exposant, mais plutt de rpondre des questions
du type : quelle est la formule la plus simple qui mne un exposant faisable
< log
2
(7) ? Quel est lalgorithme le plus rapide pour une taille donne ?
Lide des algorithmes mentionns en Section 2.7 est due Pan [36, 39]. Lar-
ticle [30] est le premier avoir mis en avant leur aspect pratique ; les derniers
progrs bass sur cette ide sont ds Kaporin [26, 25].
La recherche thorique pour amliorer les bornes sur
mul
a demand beau-
coup dingniosit (et de chance !), mais a men des algorithmes de plus en plus
loigns du calcul rel. Smith [48] adopte un point de vue pragmatique et propose
dautomatiser la recherche dalgorithmes rapides en petite taille. Il ramne la re-
cherche dun algorithme qui calcule le produit de deux matrices de types (a b)
et (b c) en m multiplications non-commutatives un problme doptimisation
dans un espace (ab + bc + ca)m dimensions. Cela lui permet de retrouver tous
les algorithmes connus pour les petites tailles et den dcouvrir des nouveaux. Ses
programmes retrouvent les formules de Strassen en quelques secondes et celles de
Laderman en quelques minutes.
Un point de vue dirent est celui dvelopp par Landsberg [33], qui montre
que les questions ouvertes concernant la complexit de la multiplication matricielle
se formulent convenablement en termes gomtriques et thorie de la reprsentation.
Enn, une autre piste actuellement explore pour prouver (ou inrmer) que

mul
= 2 est celle ouverte par Cohn et Umans [13, 12]. Ils dveloppent une ap-
proche unie permettant de ramener la multiplication matricielle ltude de la
transforme de Fourier discrte dans des algbres de groupe associes certains
Bibliographie 55
groupes nis, possdant de bonnes proprits vis--vis de leurs reprsentations ir-
rductibles. Ils retrouvent par ce biais
mul
< 2,41 et ramnent
mul
= 2 des
conjectures combinatoires et en thorie des groupes.
Dterminant et permanent. Le permanent dune matrice A /
n
(K) est dni
comme
perm(A) =

S
n
n

i=1
a
i,(i)
.
Malgr la ressemblance entre cette dnition et celle de det(A), on ne connat pas
dalgorithme de complexit polynomiale en n calculant perm(A) sur un corps K de
caractristique dirente de 2. Valiant [54] a prouv que le calcul du permanent
pour les matrices n n coecients dans 0, 1 est un problme #P-complet.
Bibliographie
[1] Abdeljaoued (J.) and Lombardi (H.). Mthodes matricielles : introduction la complexit
algbrique. Springer-Verlag, Berlin, oo, Mathmatiques & Applications, vol. 42, xvi+376p.
[2] Baur (W.) and Strassen (V.). The complexity of partial derivatives. Theoretical Computer
Science, vol. 22, ipS, pp. 317330.
[3] Bini (D.). Relations between exact and approximate bilinear algorithms. Applications.
Calcolo, vol. 17, n1, ipSo, pp. 8797.
[4] Bini (D.), Capovani (M.), Romani (F.), and Lotti (G.). O(a
2.7799
) complexity for a a
approximate matrix multiplication. Inform. Process. Lett., vol. 8, n5, ipp, pp. 234235.
[5] Blser (Markus). A
5
2
a
2
-lower bound for the multiplicative complexity of a a-matrix
multiplication. In STACS 2001 (Dresden), pp. 99109. Springer, Berlin, ooi.
[6] Blser (Markus). On the complexity of the multiplication of matrices of small formats. J.
Complexity, vol. 19, n1, oo, pp. 4360.
[7] Borodin (A.) and Munro (I.). Evaluation of polynomials at many points. Information Pro-
cessing Letters, vol. 1, n2, ipi, pp. 6668.
[8] Brent (R. P.) and Kung (H. T.). Fast algorithms for manipulating formal power series.
Journal of the ACM, vol. 25, n4, ipS, pp. 581595.
[9] Bunch (James R.) and Hopcroft (John E.). Triangular factorization and inversion by fast
matrix multiplication. Math. Comp., vol. 28, ip, pp. 231236.
[10] Brgisser (P.), Karpinski (M.), and Lickteig (T.). Some computational problems in linear
algebra as hard as matrix multiplication. Comput. Complexity, vol. 1, n2, ippi, pp. 131155.
[11] Brgisser (Peter), Clausen (Michael), and Shokrollahi (M. Amin). Algebraic complexity
theory. Springer-Verlag, Berlin, ipp, Grundlehren Math. Wiss., vol. 315, xxiv+618p.
[12] Cohn (H.), Kleinberg (R.), Szegedy (B.), and Umans (C.). Group-theoretic algorithms for
matrix multiplication. In FOCS05. pp. 379388. IEEE Computer Society, oo.
[13] Cohn (Henry) and Umans (Christopher). A group-theoretic approach to fast matrix multi-
plication. In FOCS03. p. 438. IEEE Computer Society, Washington, DC, USA, oo.
[14] Coppersmith (Don) and Winograd (Shmuel). Matrix multiplication via arithmetic progres-
sions. J. Symbolic Comput., vol. 9, n3, ippo, pp. 251280.
[15] Danilevskii (A. M). The numerical solution of the secular equation. Matem. sbornik, vol. 44,
n2, ip, pp. 169171. (in Russian).
[16] Fiduccia (Charles M.). On obtaining upper bounds on the complexity of matrix multipli-
cation. In Complexity of computer computations (Proc. Sympos., IBM Thomas J. Watson
Res. Center, Yorktown Heights, N.Y., 1972), pp. 3140. Plenum, New York, ip.
[17] Fischer (P. C.) and Probert (R. L.). Ecient procedures for using matrix algorithms. In
Automata, languages and programming, pp. 413427. LNCS, Vol. 14. Springer, Berlin, ip.
[18] Fischer (Patrick C.). Further schemes for combining matrix algorithms. In Automata, lan-
guages and programming, pp. 428436. LNCS, Vol. 14. Springer, Berlin, ip.
[19] Giesbrecht (Mark). Nearly optimal algorithms for canonical matrix forms. SIAM J. Com-
put., vol. 24, n5, ipp, pp. 948969.
[20] Harter (Richard). The optimality of Winograds formula. Commun. ACM, vol. 15, n5, ip,
p. 352.
56 3. ALGBRE LINAIRE DENSE : DE GAUSS STRASSEN
[21] Hopcroft (J.) and Musinski (J.). Duality applied to the complexity of matrix multiplication
and other bilinear forms. SIAM Journal on Computing, vol. 2, ip, pp. 159173.
[22] Hopcroft (J. E.) and Kerr (L. R.). On minimizing the number of multiplications necessary
for matrix multiplication. SIAM J. Appl. Math., vol. 20, ipi, pp. 3036.
[23] Huss-Lederman (S.), Jacobson (E. M.), Tsao (A.), Turnbull (T.), and Johnson (J. R.).
Implementation of Strassens algorithm for matrix multiplication. In Supercomputing96.
IEEE Computer Society, Washington, DC, USA, ipp6. 32 pp.
[24] JaJa (Joseph). On the complexity of bilinear forms with commutativity. In STOC79.
pp. 197208. ACM, New York, NY, USA, ipp.
[25] Kaporin (I). The aggregation and cancellation techniques as a practical tool for faster
matrix multiplication. Theoretical Computer Science, vol. 315, n2-3, oo, pp. 469510.
[26] Kaporin (Igor). A practical algorithm for faster matrix multiplication. Numer. Linear Al-
gebra Appl., vol. 6, n8, ippp, pp. 687700.
[27] Keller-Gehrig (Walter). Fast algorithms for the characteristic polynomial. Theoret. Comput.
Sci., vol. 36, n2-3, ipS, pp. 309317.
[28] Klyuyev (V. V.) and Kokovkin-Shcherbak (N. I.). On the minimization of the number of
arithmetic operations for the solution of linear algebraic systems of equations. USSR Com-
putational Mathematics and Mathematical Physics, vol. 5, ip6, pp. 2543.
[29] Krylov (A. N.). On the numerical solution of the equation by which in technical questions
frequencies of small oscillations of material systems are determined. Izv. Akad. Nauk SSSR,
vol. 7, n4, ipi, pp. 491539. (in Russian).
[30] Laderman (Julian), Pan (Victor), and Sha (Xuan He). On practical algorithms for accele-
rated matrix multiplication. Linear Algebra Appl., vol. 162/164, ipp, pp. 557588.
[31] Laderman (Julian D.). A noncommutative algorithm for multiplying 3 3 matrices using
23 muliplications. Bull. Amer. Math. Soc., vol. 82, n1, ip6, pp. 126128.
[32] Landsberg (J. M.). The border rank of the multiplication of 2 2 matrices is seven. J.
Amer. Math. Soc., vol. 19, n2, oo6, pp. 447459.
[33] Landsberg (J. M.). Geometry and the complexity of matrix multiplication. Bull. Amer.
Math. Soc. (N.S.), vol. 45, n2, ooS, pp. 247284.
[34] Makarov (O. M.). An algorithm for multiplication of 3 3 matrices. Zh. Vychisl. Mat. i
Mat. Fiz., vol. 26, n2, ipS6, pp. 293294, 320.
[35] Munro (I.). Problems related to matrix multiplication. In Rustin (R.) (editor), Proceedings
Courant Institute Symposium on Computational Complexity, October 1971. pp. 137151.
Algorithmics Press, New York, ip.
[36] Pan (V.). Computation schemes for a product of matrices and for the inverse matrix. Uspehi
Mat. Nauk, vol. 27, n5(167), ip, pp. 249250.
[37] Pan (V. Ya.). Strassens algorithm is not optimal. Trilinear technique of aggregating, uniting
and canceling for constructing fast algorithms for matrix operations. In SFCS 78. pp. 166
176. IEEE Computer Society, Washington, DC, USA, ipS.
[38] Pan (V. Ya.). New fast algorithms for matrix operations. SIAM J. Comput., vol. 9, n2, ipSo,
pp. 321342.
[39] Pan (V. Ya.). New combinations of methods for the acceleration of matrix multiplication.
Comput. Math. Appl., vol. 7, n1, ipSi, pp. 73125.
[40] Pan (Victor). How can we speed up matrix multiplication ? SIAM Rev., vol. 26, n3, ipS,
pp. 393415.
[41] Pan (Victor). How to multiply matrices faster. Springer-Verlag, Berlin, ipS, Lecture
Notes in Computer Science, vol. 179, xi+212p.
[42] Paterson (M. S.) and Stockmeyer (L. J.). On the number of nonscalar multiplications
necessary to evaluate polynomials. SIAM J. Comput., vol. 2, n1, ip, pp. 6066.
[43] Pernet (Clment) and Storjohann (Arne). Faster algorithms for the characteristic polyno-
mial. In ISSAC07, pp. 307314. ACM, New York, oo.
[44] Probert (Robert L.). On the additive complexity of matrix multiplication. SIAM J. Com-
put., vol. 5, n2, ip6, pp. 187203.
[45] Raz (Ran). On the complexity of matrix product. SIAM J. Comput., vol. 32, n5, oo,
pp. 13561369.
[46] Schnhage (A.). Unitre Transformationen grosser Matrizen. Numer. Math., vol. 20,
ip, pp. 409417.
Bibliographie 57
[47] Schnhage (A.). Partial and total matrix multiplication. SIAM J. Comput., vol. 10, n3,
ipSi, pp. 434455.
[48] Smith (Warren D.). Fast matrix multiplication formulae report of the prospectors. oo.
Preprint, available at http://www.math.temple.edu/~wds/prospector.pdf.
[49] Storjohann (Arne). Deterministic computation of the Frobenius form (extended abstract).
In 42nd IEEE Symposium on Foundations of Computer Science (Las Vegas, NV, 2001),
pp. 368377. IEEE Computer Soc., Los Alamitos, CA, ooi.
[50] Strassen (V.). Gaussian elimination is not optimal. Numerische Mathematik, vol. 13, ip6p,
pp. 354356.
[51] Strassen (V.). Relative bilinear complexity and matrix multiplication. Journal fr die Reine
und Angewandte Mathematik, vol. 375/376, ipS, pp. 406443.
[52] Strassen (Volker). Algebraic complexity theory. In Handbook of theoretical computer science,
Vol. A, pp. 633672. Elsevier, Amsterdam, ippo.
[53] Skora (Ondrej). A fast non-commutative algorithm for matrix multiplication. In Mathe-
matical foundations of computer science (Proc. Sixth Sympos., Tatransk Lomnica, 1977),
pp. 504512. Lecture Notes in Comput. Sci., Vol. 53. Springer, Berlin, ip.
[54] Valiant (L. G.). The complexity of computing the permanent. Theoret. Comput. Sci., vol. 8,
n2, ipp, pp. 189201.
[55] Waksman (Abraham). On Winograds algorithm for inner products. IEEE Trans. Comput.,
vol. C-19, n4, ipo, pp. 360361.
[56] Winograd (S.). A new algorithm for inner-product. IEEE Transactions on Computers,
vol. 17, ip6S, pp. 693694.
[57] Winograd (S.). On multiplication of 2 2 matrices. Linear Algebra and Appl., vol. 4, ipi,
pp. 381388.
[58] Winograd (Shmuel). On the number of multiplications necessary to compute certain func-
tions. Comm. Pure Appl. Math., vol. 23, ipo, pp. 165179.
[59] Winograd (Shmuel). Some remarks on fast multiplication of polynomials. In Complexity of
sequential and parallel numerical algorithms (Proc. Sympos., Carnegie-Mellon Univ., Pitts-
burgh, Pa., 1973), pp. 181196. Academic Press, New York, ip.
CHAPITRE 4
Calculs rapides sur les sries
Rsum
La multiplication rapide de polynmes vue au Chapitre 2 permet des
calculs ecaces comme linversion, lexponentiation ou la prise de loga-
rithme dune srie. Ces oprations sont eectues grce une version
formelle de la mthode de Newton. La composition de sries est en g-
nral plus coteuse que le produit, mais peut aussi tirer parti dune
multiplication rapide.
Ce chapitre porte sur le calcul des premiers termes de dveloppements en sries.
Pour xer les notations, N sera utilis pour reprsenter le nombre de termes
calculer, et srie sera employ pour srie formelle tronque lordre N . Ainsi,
calculer une srie voudra toujours dire en calculer les N premiers termes. Comme
dans le Chapitre 2, M(N) dnote une borne suprieure sur le nombre doprations
arithmtiques ncessaires pour multiplier deux polynmes de degr infrieur N.
Lecacit des algorithmes sera mesure par leur complexit arithmtique.
Loprateur de Newton est trs largement utilis en calcul numrique, pour
trouver des solutions approches dquations. Cest un processus itratif, qui
consiste chaque tape remplacer le systme que lon veut rsoudre par son
linaris au voisinage de la dernire approximation trouve. Ainsi, si est une
fonction C
1
de R dans R, pour rsoudre (y) = 0 dans R, on choisit y
0
R et on
itre
(1) y
k+1
= A(y
k
) = y
k

(y
k
)

t
(y
k
)
.
Cette itration est reprsente en Figure 1. La solution serait exacte si tait une
fonction linaire ; dans le cas gnral, si y
0
est bien choisi (par exemple assez proche
dune racine simple), la suite y
k
converge vers une limite y

. En outre, litration k
la distance la limite est de lordre du carr de cette distance litration k 1.
On parle dans ce cas de convergence quadratique. Dans ces conditions, pour k
susamment grand, le nombre de dcimales correctes est approximativement doubl
chaque itration.
Figure 1. Oprateur de Newton de R dans R.
59
60 4. CALCULS RAPIDES SUR LES SRIES
Dans le cadre formel, la fonction est remplace par une application des sries
formelles dans les sries formelles. Dans bien des cas, litration de Newton converge,
et le nombre de coecients corrects est doubl chaque itration, ce qui mne
une bonne complexit. La composition des sries reste une opration plus coteuse,
laquelle est consacre la n du chapitre.
1. Sries formelles
Dnition. Si A est un anneau commutatif unitaire, on note A[[X]] lensemble des
sries formelles sur A. Ses lments sont des suites (f
i
)
iN
de A, notes
F(X) =

i0
f
i
X
i
.
Le coecient f
i
est appel le iime coecient de F(X), le coecient f
0
est appel
terme constant de F(X), et parfois not F(0).
Les oprations de A[[X]] sont laddition des suites et une multiplication (appele
parfois produit de Cauchy) qui gnralise la multiplication des polynmes :

i0
f
i
X
i

i0
g
i
X
i
=

i0
h
i
X
i
, avec h
i
=

j+k=i
f
j
g
k
,
la dernire somme tant nie.
Exemple 1. La srie formelle
1 = 1 X
0
+ 0 X + 0 X
2
+ ,
o 1 est lunit de A, est lment neutre pour la multiplication de A[[X]]. La formule
donnant les coecients du produit se rduit alors un terme.
Exemple 2. Si F = 1 + X et G = 1 X + X
2
X
3
+ , alors le produit
vaut H = FG = 1 : le coecient de X
n
dans H vaut 1 1 = 0 pour n > 0 et 1
sinon. La srie G est donc linverse de F pour la multiplication, que lon peut noter
(1 +X)
1
.
Mtrique. Lorsque les coecients sont des nombres complexes, la question de la
convergence des sries entires reprsentes par ces sries formelles ne se posera pas
pour les algorithmes considrs dans ce cours. En revanche, quel que soit lanneau
de coecients A, il est possible de dnir une distance entre deux sries F et G
par d(F, G) = 2
val(FG)
, o la valuation val(F) dune srie F est lindice de son
premier terme non-nul (et par convention val(0) = ).
Exercice 1. Vrier que la fonction d dnie ci-dessus est bien une distance.
Muni de cette distance, lensemble des sries formelles forme un espace mtrique
complet (les suites de Cauchy convergent). En eet, dire quune suite (S
n
) de sries
est de Cauchy signie qutant donn k N, il existe un entier N tel que pour
tous m, n N, on ait d(S
m
, S
n
) < 2
k
, autrement dit aprs lindice N, les k
premiers termes des S
n
sont xs, ce sont ceux de la srie limite.
Composition. Si F et G sont deux sries formelles, avec terme constant G(0) = 0,
on dnit la composition comme
F(G(X)) = f
0
+f
1
G(X) +f
2
G(X)
2
+
Les points de suspension signient que lon considre la limite des sommes H
n
obtenues en arrtant la somme au terme f
n
G(X)
n
. Cette limite existe puisque
pour m n, la distance obit d(H
m
, H
n
) 2
n
, ce qui fait de (H
n
)
n
une suite
de Cauchy.
1. SRIES FORMELLES 61
Inverse. Si F est de la forme F = 1 +GX avec G A[[X]], alors F est inversible
et son inverse est donn par
1 GX +G
2
X
2
,
composition de (1 +X)
1
par GX. La preuve dcoule de cette composition : (1 +
GX)(1 GX +. . . ) = H(GX) o H = (1 +X)(1 +X)
1
= 1.
Si a = F(0) est inversible, la srie F se rcrit F = a(1 + GX) avec G =
a
1
(F a)/X, donc F est inversible, dinverse a
1
(1 +GX)
1
.
Ces ingrdients mnent la structure danneau de lensemble de sries formelles.
Proposition 1. Lensemble A[[X]] des sries formelles coecients dans A
est un anneau commutatif unitaire. Ses lments inversibles sont les sries de terme
constant inversible.
Dmonstration. Laddition est commutative comme celle de A. Lassociati-
vit et la distributivit du produit sont obtenues comme pour les polynmes. Lunit
pour le produit est la srie 1. La premire partie du lemme est donc prouve.
Si F =

f
i
X
i
A[[X]] est inversible, et G =

g
i
X
i
est son inverse, alors
lextraction du coecient de X
0
dans lidentit FG = 1 donne f
0
g
0
= 1 ce qui
prouve quune srie inversible a un terme constant inversible.
Sries multivaries. Comme A[[X]] est un anneau commutatif unitaire, il peut
tre utilis comme anneau de base pour dnir des sries formelles en une autre
variable Y , ce qui dnit de la mme manire lanneau des sries formelles biva-
ries A[[X]][[Y ]], not aussi A[[X, Y ]].
Drivation. La drive dune srie est dnie formellement coecient par coe-
cient via lidentit
_
_

i0
f
i
X
i
_
_
t
=

i0
(i + 1)f
i+1
X
i
.
Les relations habituelles (F +G)
t
= F
t
+G
t
et (FG)
t
= F
t
G+FG
t
sont prouves
comme pour les polynmes. Dans le cas de sries en plusieurs variables, on utilise
la notation des drives partielles F/X pour dsigner la drive par rapport la
variable X.
Troncatures. Algorithmiquement, on ne manipule pas de srie prcision in-
nie , mais seulement des troncatures, cest--dire un certain nombre des premiers
termes. Les sries tronques deviennent alors de simples polynmes, pour lesquels on
dispose en particulier dalgorithmes rapides de multiplication. tant donns les N
premiers termes dune srie F, lobjectif de ce chapitre est de donner des algo-
rithmes permettant de calculer ecacement les N premiers termes dautres sries
dnies partir de F.
Pour tendre la notation utilise avec les polynmes, tant donne la srie
S =

i0
a
i
X
i
,
on notera S mod X
N
le polynme
S mod X
N
:=

0i<N
a
i
X
i
.
On notera S = f + O(X
N
) si les sries ou polynmes S et f concident jusquau
terme de degr N 1, et mme plus gnralement S = O(T
k
) si S = O(X
k val(T)
).
62 4. CALCULS RAPIDES SUR LES SRIES
Inverse multiplicatif de sries formelles
Entre : un entier N > 0, F mod X
N
une srie tronque ;
Sortie : F
1
mod X
N
.
Si N = 1, alors renvoyer f
1
0
, o f
0
= F(0).
Sinon,
1. Calculer rcursivement linverse G de F mod X
|N/2|
;
2. Renvoyer G+ (1 GF)G mod X
N
.
Figure 2. Inverse de srie par itration de Newton.
Formule de Taylor. Le lien entre la composition et la drivation est donn par la
formule de Taylor. Si F, G, H sont trois sries formelles, avec G(0) = H(0) = 0, et
les entiers 2, 3, . . . , k 1 sont inversibles dans A, alors
F(G+H) = F(G) +F
t
(G)H +F
tt
(G)
H
2
2!
+ +O(H
k
).
Pour cette identit, la commutativit de A est cruciale. La formule est classique
pour les polynmes, et les coecients de X
N
dans les deux membres de la formule
sont les mmes que ceux de lidentit entre polynmes obtenue en considrant les
troncatures de F, G et H modulo X
N+1
, ce qui permet de conclure.
Intgration. Il sagit de lopration inverse de la drivation. On suppose que les
entiers sont inversibles dans A (A est une Q-algbre) et on dnit alors
_

i0
f
i
X
i
=

i0
f
i
X
i+1
i + 1
.
Exemple 3. La srie log(1 +X) vaut
log(1 +X) =
_
(1 +X)
1
= X
1
2
X
2
+
1
3
X
3
+
2. La mthode de Newton pour le calcul dinverses
Partant de la fonction (y) = 1/y f, litration (1) devient
A(g
k
) = g
k
+g
2
k
(1/g
k
f) = g
k
+g
k
(1 g
k
f).
Cette itration, ou des variantes, permet le calcul dinverses dans plusieurs
contextes.
2.1. Convergence quadratique pour linverse dune srie formelle.
Lemme 1. Soit F A[[X]] une srie formelle de terme constant inversible et
G une srie telle que G1/F = O(X
n
) (n 1), alors la srie
(2) A(G) = G+ (1 GF)G
vrie A(G) 1/F = O(X
2n
).
Dmonstration. Par hypothse, on peut dnir H A[[X]] par 1 GF =
X
n
H. Il sut alors de rcrire F = G
1
(1 HX
n
) et dinverser :
1/F = (1 +HX
n
+O(X
2n
))G = (1 +HX
n
)G+O(X
2n
)G = A(G) +O(X
2n
).

2. LA MTHODE DE NEWTON POUR LE CALCUL DINVERSES 63


2.2. Algorithme.
Lemme 2. Lalgorithme dinversion de la Figure 2 est correct.
Dmonstration. La preuve est une rcurrence sur les entiers. Pour N = 1 la
proprit est claire. Si la proprit est vraie pour 1 N < k, alors elle lest pour
1 ,N/2| < k donc le rsultat de ltape 1 vaut F mod X
|N/2|
. Alors, daprs
le lemme 1, G + (1 GF)G = 1/F mod X
2|N/2|
et la troncature modulo X
N
est
donc bien correcte.
2.3. Complexit. Chaque itration cote essentiellement deux multiplica-
tions, et lensemble est donc eectu en O(M(N)) oprations daprs le lemme
diviser pour rgner . Une estimation plus prcise est donne par la proposition
suivante.
Proposition 2. Soit F dans A[[X]] avec F(0) inversible et N 1. On peut
calculer linverse de F modulo X
N
en 4M(N) +O(N) oprations dans A.
Dmonstration. Ltape 2 de lalgorithme demande 2 multiplications modulo
X
N
, plus N oprations supplmentaires (additions, . . .), tant une constante
que lon ne va pas dterminer. Notons C(N) le cot du calcul modulo N ; on a alors
C(N) C(,N/2|) + 2M(N) +N.
Lapplication du lemme diviser pour rgner donne alors
C(N) 4M(N) + 2N
en utilisant lingalit M(d)
1
2
M(2d).
Optimisations. Le cot de la Proposition 2 peut tre encore divis dun facteur 2 :
Dans le produit (1GF)G, le deuxime terme est de la forme X
|N/2|
R
N
, alors
que G est de degr infrieur ,N/2|. Ainsi, seul le produit R
N
G est ncessaire, et
celui-ci ne demande que M(N/2) oprations.
Dautre part, le produit GF est de la forme 1 + X
|N/2|
R
N
. Il sagit donc de
calculer le produit dun polynme de degr N/2 par un polynme de degr N,
alors que lon connat lavance les N/2 premiers coecients du produit. Dans
cette situation, il est possible dabaisser le cot du produit de M(N) M(N/2), en
utilisant un produit mdian et des techniques non triviales de transposition de
code abordes au Chapitre 12.
2.4. Division de sries. Le quotient H/F o H et F sont des sries et F
est inversible, peut tre obtenu comme le produit H F
1
. Ce calcul peut tre
amlior dun facteur constant. Il sut pour cela de remplacer la dernire itration
G+(1GF)G par Y +(HY F)G o Y := HG mod X
|N/2|
. Cette astuce remplace
un produit de la forme (N/2, N) (pour GF), un produit de la forme (N/2, N/2)
(pour (1 GF)G) et un produit nal (N, N) par deux produits (N/2, N/2) (pour
Y et (H Y F)G) et un produit (N/2, N) pour calculer Y F. Lconomie est donc
la dirence M(N) M(N/2).
2.5. Application la division Euclidienne. Lalgorithme 2 est llment
cl de la division Euclidienne rapide, traite au Chapitre 5.
2.6. Application au logarithme. Si F A[[X]] est telle que F(0) = 0, on
dnit la srie log(1+F) par composition avec log(1+X). Pour calculer cette srie,
il sut dutiliser lidentit
log(1 +F) =
_
F
t
1 +F
.
64 4. CALCULS RAPIDES SUR LES SRIES
Exercice 2. Prouver cette identit partir des dnitions de log,
_
et de la
drivation donnes plus haut.
Le calcul demande une division de sries, une drivation et une intgration,
mais ces deux dernires oprations sont de complexit linaire. Le bilan est donc
une complexit en O(M(N)).
2.7. Inverse de matrices. Lanneau A tant commutatif, il nest pas possible
de traiter directement des matrices de sries comme des sries de matrices. Une
variante de litration (2) permet dadapter linversion ce cadre.
Lemme 3. Soient A et B deux matrices carres coecients dans A[[X]], telles
que A(0) soit inversible et B A
1
= O(X
n
) (n 1). Alors la matrice
A(B) = B + (I BA)B
vrie A(B) A
1
= O(X
2n
).
Dmonstration. Comme ci-dessus, lhypothse n 1 entrane que le terme
constant de B vaut A(0)
1
. Ensuite, la preuve est la mme que pour linverse de
sries : en dnissant la matrice de sries C := (I BA)/X
n
, on peut rcrire
A = B
1
(I X
n
C), et il vient
A
1
= (I +X
n
C +O(X
2n
))B = A(B) +O(X
2n
),
ce qui permet de conclure.
Lalgorithme correspondant est une variante immdiate de lalgorithme 2, o
les multiplications sont dj dans le bon sens pour ce cadre non-commutatif. La
complexit de cet algorithme sexprime laide de la fonction MM(k, N) complexit
du produit de matrices k k de polynmes de degr au plus N. Le Corollaire 1 du
Chapitre 6 montre que MM(k, N) = O(k

N +k
2
M(N)).
Proposition 3. Soit A une matrice kk coecients dans A[[X]], avec A(0)
inversible. La matrice A
1
mod X
N
peut tre calcule en O(MM(k, N)) oprations
dans A.
Dmonstration. Comme pour linverse ci-dessus, le cot est domin une
constante prs par celui du calcul de B+(I BA)B mod X
N
: la complexit vrie
lingalit C(N) C(,N/2|) + 2MM(k, N) et le rsultat se dduit de lhypothse
MM(k, N)
1
2
MM(k, 2N).
3. Itration de Newton formelle et applications
3.1. Un rsultat gnral.
Thorme 1 (Itration de Newton sur les sries). Soit A[[X, Y ]] une srie
bivarie en X et Y , telle que (0, 0) = 0 et

Y
(0, 0) est inversible dans A. Il existe
alors une unique srie S A[[X]], telle que (X, S) = 0 et S(0) = 0. Si F est une
srie telle que S F = O(X
n
) (n 1), alors
A(F) = F
(X, F)

Y
(X, F)
vrie S A(F) = O(X
2n
).
Ce rsultat est un rsultat local en (0, 0) : si ce point est solution, il stend en
une courbe solution. Par translation, dautres situations o la solution nest pas en
(0, 0) sy ramnent. La premire partie est une version du thorme des fonctions
implicites pour les sries formelles.
3. ITRATION DE NEWTON FORMELLE ET APPLICATIONS 65
Rsolution dquation en srie
Entre : un entier N > 0, mod (X
N
, Y
N
) une srie tronque avec
(0, 0) = 0 et (/Y )(0, 0) inversible.
Sortie : S mod X
N
, T mod X
|N/2|
, telles que
S(0) = 0, (X, S) = 0, T = (/Y (X, S))
1
.
Si N = 1, alors renvoyer 0, ((/Y )(0, 0))
1
.
Sinon,
1. Calculer rcursivement F := S mod X
|N/2|
et G := T mod X
||N/2|/2|
;
2. Calculer G := G+ (1 G

Y
(X, F))G mod X
|N/2|
;
3. Calculer F := F G(X, F) mod X
N
;
4. Renvoyer F, G.
Figure 3. Rsolution de (X, Y ) = 0 par itration de Newton.
Dmonstration. Litration est bien dnie :

Y
(X, F) est inversible parce
que F(0) = S(0) = 0 et que son terme constant

Y
(0, 0) est inversible. De ce fait,
on dduit aussi A(F) F = O((X, F)).
La valuation de (X, F) est double par litration :
(X, A(F)) = (X, F) +

Y
(X, F)(A(F) F) +O((A(F) F)
2
) (3)
= O((X, F)
2
).
La limite S de la suite dnie par S
0
= 0 et S
k+1
= A(S
k
) existe donc (la suite
est de Cauchy daprs lgalit qui prcde) et vrie (X, S) = lim((X, S
k
)) = 0.
La vitesse de convergence vers S vient encore de la formule de Taylor. En eet,
lgalit
(4) (X, F) = (X, S) +

Y
(X, F)(S F) +O((S F)
2
)
donne S F = O((X, F)). On en dduit S A(F) = O((X, A(F))) = O(X
2n
)
au vu des hypothses et de (3).
3.2. Algorithme.
Lemme 4. Lalgorithme de rsolution dtaill en Figure 3 est correct.
Dmonstration. Pour N = 1, les valeurs renvoyes sont les termes constants
de S et T. Si la proprit est vraie pour 1 k < N, alors ltape 1 renvoie
T mod X
||N/2|/2|
et S mod X
|N/2|
. Daprs le lemme 1, ltape 2 calcule T mod
X
|N/2|
. Ltape 3 calcule alors S mod X
N
: les formules (3) et (4) montrent que
seuls les ,N/2| premiers coecients de /Y (X, S) sont utiles pour doubler la
prcision.
3.3. Applications. Un exemple dapplication est fourni par linverse de la
section prcdente avec (X, Y ) = f 1/(f(0)
1
+Y ).
La complexit de lalgorithme de la Figure 3 dpend en particulier de celle
du calcul de et de /Y . Les applications les plus directes de la mthode de
Newton sont rsumes dans les thormes suivants.
Thorme 2. Dans le cas o la srie du Thorme 1 est un polynme en Y
de degr O(1), les N premiers termes de sa solution srie telle que S(0) = 0 sont
obtenus en O(M(N)) oprations dans A.
66 4. CALCULS RAPIDES SUR LES SRIES
Dmonstration. Largument est le mme que pour la complexit de linverse.
Pour polynme de degr O(1), les valuations de et de
t
cotent O(M(N)),
le reste de largument est inchang.
Dans le cas o est un polynme la fois en X et en Y , un algorithme de
meilleure complexit O(N) (donc linaire au lieu de quasi-linaire !) sera prsent
au Chapitre 8.
Thorme 3. Soit f une srie de A[[X]]. On peut calculer en O(M(N)) opra-
tions dans A les N premiers termes de :
1. 1/f, lorsque f(0) est inversible ;
2. log f et f

lorsque f(0) = 1 ;
3. exp(f) lorsque f(0) = 0.
Pour les points (2) et (3), nous supposons galement que 2, 3, . . . , N 1 sont des
lments inversibles de A.
Dmonstration. La preuve pour linverse et le logarithme provient des sec-
tions 2.3 et 2.6. Lexponentielle est traite dans la section qui vient, et la puissance
se dduit des prcdentes par
f

= exp(log f).
Une application remarquable de cette identit vidente apparat dans la Sec-
tion 3.7.3 sur linverse compositionnel.
3.4. Exponentielle. Si F A[[X]] est telle que F(0) = 0, on dnit la srie
exp(F) par
exp(F) = 1 +F +F
2
/2! +F
3
/3! +
lorsque 2,3,. . . sont inversibles dans A.
Pour calculer cette srie, lide est dappliquer une mthode de Newton avec
(Y ) = F log Y, Y (0) = 1.
Exercice 3. Montrer que les conditions du Thorme 1 sont vries.
Il sensuit une convergence quadratique vers exp(F) pour litration
E
k+1
= A(E
k
) = E
k
+E
k
(F log E
k
).
Chaque itration demande donc le calcul dune multiplication et dun logarithme,
do la complexit en O(M(N)).
Exercice 4. Donner une itration de Newton qui calcule directement la racine
carre, sans passer par lexponentielle et le logarithme. Plus dicile, estimer le gain
par rapport lalgorithme gnral de calcul de puissance.
Exercice 5. Donner des bornes sur les constantes dans les O() pour le loga-
rithme, lexponentielle et la puissance.
3.5. Sommes de Newton . Une consquence intressante de lecacit
du calcul de lexponentielle est lutilisation ecace des sommes de Newton comme
structure de donnes.
Si P K[X] est un polynme de degr d, avec K un corps, alors P a d racines

1
, . . . ,
d
dans la clture algbrique K de K. Les sommes de Newton de P sont les
sommes p
i
=
i
1
+ +
i
d
. Ce sont des lments de K, puisquils sont fonctions
symtriques des racines de P. Leur utilisation ecace repose sur la proposition
suivante.
3. ITRATION DE NEWTON FORMELLE ET APPLICATIONS 67
Proposition 4. Les sommes de Newton p
1
, . . . , p
d
dun polynme P K[X]
de degr d peuvent tre calcules en O(M(d)) oprations dans K. Lorsque la carac-
tristique de K est 0 ou suprieure d, la conversion inverse est galement possible
en O(M(d)) oprations.
Dmonstration. Si P = c

(X ), la dcomposition en lments simples


S =
XP
t
P
=

P()=0
X
X
=

P()=0
i0

i
X
i
,
o dcrit les zros de P compts avec multiplicits, montre que les coecients
du dveloppement en puissances de X
1
de XP
t
/P sont les p
i
. Pour se ramener
des calculs de sries formelles, on introduit par exemple une nouvelle variable
par X = 1/T. Le calcul des d premiers termes de cette srie demande O(M(d))
oprations. Lopration inverse, savoir le calcul de P partir des d premiers
termes de la srie S = XP
t
/P est eectu en O(M(d)) oprations par la formule
P = exp
_
S/X
si P(0) ,= 0. Sinon, il faut dabord rcuprer la valuation, et le reste se calcule de
la faon prcdente. La contrainte sur la caractristique permet de dnir lexpo-
nentielle tronque par son dveloppement en srie.
3.6. Application la somme et au produit composs . On suppose
dans cette section que K est un corps de caractristique nulle ou suprieure d
2
.
Thorme 4. Soient P et Q deux polynmes unitaires de K[X], de degr d.
Alors, les polynmes
P Q =

P()=0
Q()=0
_
X ( +)
_
, P Q =

P()=0
Q()=0
(X )
peuvent tre calculs en O
_
M(d
2
)
_
oprations.
Comme ces polynmes sont de degr d
2
, il sagit l encore dune complexit
quasi-optimale. Dans cet nonc, les polynmes sont dnis laide des racines
de P et Q dans une clture algbrique, mais leurs coecients sont dans K. Il est
galement possible de les dnir sur un anneau quelconque comme des rsultants
bivaris. Les rsultants et leur calcul sont prsents au Chapitre 7. Dans le cas
bivari gnral, il nexiste pas (encore ?) dalgorithme quasi-optimal et le rsultat
ci-dessus est lun des rares cas particuliers qui se traite ecacement.
Les polynmes constituent une structure de donnes bien commode pour coder
des nombres algbriques et calculer avec : les polynmes P Q et P Q fournissent
laddition et la multiplication avec cette structure de donnes.
Dmonstration. Le produit de sommes de Newton est la somme de Newton
du produit :

i
=

,
()
i
.
Il sut donc de multiplier terme terme les sries XP
t
/P et XQ
t
/Q pour obtenir la
srie gnratrice des sommes de Newton de P Q. Si lon a calcul d
2
termes de ces
sries, le rsultant, dont le degr est d
2
, est alors reconstruit par une exponentielle
en O(M(d
2
)) oprations.
68 4. CALCULS RAPIDES SUR LES SRIES
Diviser le i-ime coecient de XP
t
/P par i!, pour tout i 0, produit la srie

P()=0
i0

i
X
i
i!
=

P()=0
exp(/X).
En eectuant la mme opration sur Q et en multipliant les sries, on obtient donc

P()=0
exp(/X)

Q()=0
exp(/X) =

P()=0
Q()=0
exp(( +)/X).
Il sut alors de remultiplier le i-ime coecient par i! pour obtenir la srie gn-
ratrice des sommes de Newton du polynme P Q, qui est reconstruit par une
exponentielle. Lensemble des oprations est born par O(M(d
2
)).
3.7. Inverse compositionnel. tant donne une srie F avec F(0) = 0 et
F
t
(0) inversible, il sagit ici de calculer une srie F
(1)
telle que F(F
(1)
(X)) =
F
(1)
(F(X)) = X.
3.7.1. Les N premiers termes. Les conditions dapplication de la mthode de
Newton (Thorme 1) sont vries pour la fonction
(X, Y ) = F(Y ) X.
Loprateur de Newton correspondant est donc
A(G) = G
F(G) X
F
t
(G)
.
La drivation de F(G) = X donne F
t
(G)G
t
= 1 et cet oprateur se simplie en
A(G) = GG
t
(F(G) X).
Le cot est alors domin soit par celui du produit, soit plus gnralement par celui
de la composition par F (voir Section 4).
Exercice 6. La k-ime racine positive de lquation x = tan x admet un
dveloppement asymptotique de la forme
r
k
= (2k + 1)

2
+
a
1
k
+
a
2
k
2
+. . . .
Pour tout i, le coecient a
i
scrit a
i
= f
i
(1/), o f
i
est un polynme impair
de degr 2i + 1. Borner le nombre doprations dans Q ncessaires pour calcu-
ler f
1
, . . . , f
N
, pour N grand.
3.7.2. Exemple. La srie gnratrice T Q[[X]] des arbres gnraux tiquets
(appels aussi arbres de Cayley) vrie lquation
T = X exp(T).
Ses coecients sont obtenus en O(M(N)) oprations dans Q en calculant dabord
ceux de Y exp(Y ) par les mthodes de la section prcdente, puis en inversant ce
dveloppement par la mthode prsente ci-dessus.
Pour dterminer le comportement asymptotique des coecients ainsi calcu-
ls lorsque N tend vers linni (cest--dire lasymptotique du nombre darbres de
taille N), une mthode utilise en analyse dalgorithmes passe par le calcul du d-
veloppement de T au voisinage du point singulier exp(1), o T vaut 1. En posant
u =

1 eX, on voit quil sagit alors de calculer le dveloppement de y solution


de
_
2 2y exp(1 y) = u,
au voisinage de y = 1 et u = 0, quation laquelle la mthode prsente dans cette
section sapplique pour donner le rsultat en O(M(N)) oprations.
4. LA COMPOSITION DES SRIES 69
Remarque. La formule dinversion de Lagrange donne immdiatement une
jolie expression pour les coecients de T solution de T = X exp(T) de lexemple
prcdent. Lasymptotique mentionne plus haut donne alors la formule de Stirling.
3.7.3. Le N-ime terme. Bien quen gnral le cot de linverse compositionnel
soit domin par celui de la composition et donc en O(

N log NM(N)) (voir la sec-


tion suivante), il est possible dobtenir le N-ime terme sans calculer les prcdents
pour O(M(N)) oprations. Lide repose sur la formule dinversion de Lagrange :
[X
N
]F
(1)
(X) =
1
N
[X
N1
]
1
(F(X)/X)
N
,
o la notation [X
k
]F reprsente le coecient de X
k
dans la srie F. Ainsi, le
calcul par cette formule ne requiert quune puissance et donc peut tre eectu en
O(M(N)) oprations.
3.8. Systmes. Le thorme 1 stend des systmes dquations.
Thorme 5. Soient = (
1
, . . . ,
k
) des sries en k +1 indtermines X et
Y = (Y
1
, . . . , Y
k
), telles que (0) = 0 et la matrice jacobienne (

Y
) est inversible
dans A en 0. Alors, le systme

1
(X, Y
1
, . . . , Y
k
) = =
k
(X, Y
1
, . . . , Y
k
) = 0
admet une solution S = (S
1
, . . . , S
k
) A[[X]]
k
telle que S(0) = 0. Si F =
(F
1
, . . . , F
k
) est tel que S F = O(X
n
) (n 1), alors
A(F) =
_
_
_
F
1
.
.
.
F
k
_
_
_
_

Y
(X, F
1
, . . . , F
k
)
_
1

_
_
_

1
(X, F
1
, . . . , F
k
)
.
.
.

k
(X, F
1
, . . . , F
k
)
_
_
_
vrie S A(F) = O(X
2n
).
La preuve est la mme que celle du thorme 1, la formule de Taylor pour les
fonctions de plusieurs variables sexprimant alors laide de la matrice jacobienne.
Lemme 5. Lalgorithme 3 fonctionne sans changement pour un systme sa-
tisfaisant aux hypothses du thorme 5.
Dmonstration. La preuve est la mme, en observant que ltape 2 est crite
de telle sorte que le lemme 3 sapplique : cette tape calcule linverse de la matrice
jacobienne la prcision requise et la dernire tape eectue un produit matrice-
vecteur pour en dduire la correction de la nouvelle itration.
Le corollaire suivant joue un rle important dans lalgorithme de rsolution
gomtrique du Chapitre 22.
Corollaire 1 (Systmes polynomiaux). Sous les mmes hypothses, si
i

A[[X]][Y
1
, . . . , Y
k
] pour 1 i k, alors les solutions sries prcision N peuvent
tre calcules en O(MM(k, N)) oprations dans A.
Dmonstration. Ltape 2 demande des produits de matrices k k de po-
lynmes de degr ,N/2|, et ltape 3 demande un produit matrice-vecteur en pr-
cision N. La complexit de lapplication rcursive est donc domine par celle de
ltape 2, le rsultat est donc le mme que pour linverse de matrices de sries.
4. La composition des sries
Si F(X) et G(X) sont des sries, avec G(0) = 0, il sagit de calculer ecacement
la srie F(G(X)). la dirence des algorithmes vus dans les sections prcdentes,
il savre que les algorithmes connus natteignent pas une complexit quasi-optimale
(cest--dire linaire en N, des facteurs logarithmiques prs).
70 4. CALCULS RAPIDES SUR LES SRIES
4.1. Mthode nave. La composition peut tre calcule par la mthode de
Horner. Si F(X) =

i0
f
i
X
i
+O(X
N
), le calcul utilise alors
F(G(X)) = f
0
+G(f
1
+G(f
2
+. . . )) +O(X
N
).
Exercice 7. Montrer que la complexit du calcul par cette formule est
O(NM(N)).
4.2. Pas de bbspas de gants. Une technique dite pas de bbs, pas
de gants rduit ce cot O(

N(M(N) + MM(

N))) = O(

N(M(N) + N
/2
)),
o est un exposant faisable pour la complexit du produit de matrices, prsent
au Chapitre 3. La srie F est dabord crite
F(X) = F
0
(X) +X
k
F
1
(X) + +X
k|N/k|
F
|N/k|
(X) +O(X
N
),
o les polynmes F
i
en nombre 1+,N/k| ont degr au plus k1. Ensuite, on calcule
les puissances G
2
, . . . , G
k
de G en kM(N) oprations. Soient f
i,j
les coecients
des F
i
et g
i,j
ceux des G
i
. Le dveloppement
F
i
(G) =
N1

j=0
_
k1

=0
f
i,
g
,j
_
X
j
+O(X
N
)
montre que les coecients des F
i
(G) sont les coecients du produit de la ma-
trice (f
i,j
) de taille (,N/k|+1)k par la matrice (g
i,j
) de taille kN. En dcoupant
chacune de ces matrices en blocs de taille k k la premire devient un vecteur
colonne denviron N/k
2
blocs, la seconde un vecteur ligne denviron N/k blocs ,
ce produit est eectu en au plus O(N
2
k
3
) oprations. Ensuite, il ne reste plus
qu eectuer ,N/k| produits prcision N suivis dautant dadditions pour un
cot total de O(NM(N)/k). Le cot total est minimis par le choix k =

N| qui
mne la complexit annonce.
4.3. Lalgorithme de Brent & Kung. Bien quil ny ait pas dalgorithme
permettant dabaisser la complexit de la composition au mme ordre que M(N),
il est possible de faire sensiblement mieux que la mthode de 4.2, en vitant la
multiplication matricielle, grce un algorithme sophistiqu d Brent & Kung,
dtaill dans cette section.
Thorme 6. Si 2, 3, . . . , ,

N log N| sont inversibles dans lanneau A, la srie


F(G(X)) peut tre calcule en O(

N log NM(N)) oprations arithmtiques, ou en


O(

NM(N)) oprations arithmtiques si log M(N)/ log N > 1.


Lide de dpart de lalgorithme permettant daboutir cette complexit est
dutiliser la formule de dveloppement de Taylor, sous la forme
(5) F(G
1
+X
m
G
2
) = F(G
1
) +F
t
(G
1
)X
m
G
2
+F
tt
(G
1
)
X
2m
G
2
2
2!
+ ,
o G
1
est un polynme de degr infrieur m; le choix de m est ajust plus loin
pour minimiser la complexit.
Le premier gain de complexit par rapport la mthode nave provient de
lobservation suivante.
Lemme 6. tant donnes les sries G et F G, avec G
t
(0) inversible, la srie
F
t
G peut tre calcule en O(M(N)) oprations arithmtiques.
Dmonstration. La drivation de sries a une complexit linaire, et la divi-
sion est en O(M(N)). Le rsultat provient alors de la formule de drivation dune
compose (dj utilise en page 68) :
F
t
G =
(F G)
t
G
t
.
4. LA COMPOSITION DES SRIES 71
Lhypothse sur G
t
(0) permet de garantir linversion de la srie du dnominateur.

Lutilisation rpte de cette ide dans la formule (5) mne une complexit
C(F(G
1
)) +
N
m
O(M(N)) oprations
pour lensemble de la composition, o C(F(G
1
)) reprsente la complexit du calcul
de la premire composition avec un polynme, donne par le lemme suivant.
Lemme 7. Soient F et G deux polynmes de degrs k et m, avec G(0) =
0. Le calcul des N premiers coecients de la srie F G peut tre eectu en
O(kmlog NM(N)/N) oprations arithmtiques, ou en O(kmM(N)/N) oprations
si log M(N)/ log N > 1.
Dmonstration. [du thorme laide de ce lemme] Ce lemme fournit lesti-
mation C(F(G
1
)) = O(mM(N) log N). La complexit totale est donc borne par
O(mM(N) log N) +
N
m
O(M(N)) = O
_
M(N)(mlog N +
N
m
)
_
.
Cette dernire somme est minimise par le choix de m =
_
N/ log N qui donne le
rsultat du thorme.
Le cas sans le facteur log N est laiss en exercice.
Dmonstration. [du lemme] Sans perte de gnralit, on peut supposer que le
degr k de F est une puissance de 2. Sinon, il sut de considrer que les coecients
de F pour les degrs allant de k + 1 jusqu la puissance de 2 immdiatement
suprieure sont nuls, et la perte de complexit est dau plus un facteur 2, absorb
dans la constante du O().
Lide est deectuer ce calcul par diviser pour rgner en rcrivant le poly-
nme F sous la forme
F = F
1
+X
k/2
F
2
,
o F
1
et F
2
sont deux polynmes de degr au plus k/2. Dans la composition
F(G) = F
1
(G) +G
k/2
F
2
(G),
les deux polynmes du second sommant ont degr au plus km/2. La complexit C
m
k
dcoulant de lutilisation de cette formule vrie donc
C
m
k
2C
m
k/2
+ 2M(min(N, km/2)) +O(N).
Cest dans cette prise de minimum que rside toute la subtilit : tant que k est
grand, les calculs sont tronqus lordre N, et ds que k devient susamment
petit, on exploite larithmtique polynomiale. Il vient donc
C
m
k
2M(N) + 4M(N) + + 2
1
M(N)
+ 2

_
M
_
km
2

_
+ 2M
_
km
2
+1
_
+
_
,
o est dtermin par
km
2

< N
km
2
1
.
Cette valeur de , combine lutilisation du thorme diviser pour rgner
conclut la preuve du lemme.
72 4. CALCULS RAPIDES SUR LES SRIES
Exercices
Exercice 8 (Exponentielle de srie). Soit s une srie de terme constant nul et
n = 2
p
. On tudie litration
z
k
= z
k1
+z
k1
(1 y
k1
z
k1
) mod X
2
k1
,
y
k
= y
k1
y
k1
_
z
k
(y
t
k1
s
t
y
k1
) mod X
2
k
avec y
0
= 1 = z
0
.
1. Montrer que y
p
exp(s) = O(X
n
) ;
2. Estimer la complexit du calcul des n premiers coecients de la srie exp(s)
par cette itration;
3. (Plus dicile) interprter cette itration comme litration de Newton as-
socie loprateur Y Y
t
s
t
Y .
Exercice 9 (Composition avec lexponentielle). Soit f(x) Q[[X]] une srie
coecients rationnels. Le but de cet exercice est de montrer que les N premiers
coecients de la srie S(X) = f(e
X
1) peuvent tre calculs en O
_
M(N) log N
_
oprations arithmtiques dans Q.
1. Montrer que S(X) A(e
X
1) = O(X
N
), o A(X) est lunique polynme
de degr infrieur N tel que f(X) = A(X) +O(X
N
).
2. On pose B(X) = A(X 1) ; donner un algorithme pour calculer les coe-
cients de B partir de ceux de A en O
_
M(N) log N
_
oprations dans Q.
3. La transforme de Laplace formelle / est dnie sur Q[[X]] comme lappli-
cation Q-linaire telle que /(X
k
) = k! X
k
, k N. Si B(X) = b
0
+ b
1
X +
+b
N1
X
N1
, montrer que
/
_
B(e
X
)
_
=
N1

i=0
b
i
1 iX
.
4. Donner un algorithme pour calculer les N premiers coecients de B(e
X
)
partir de ceux de B(X) en O
_
M(N) log N
_
oprations dans Q.
5. Donner nalement un algorithme calculant les N premiers coecients de S
partir de ceux de f en O
_
M(N) log N
_
oprations dans Q.
Exercice 10 (Composition de sries avec arcsinus). Soit K un corps de carac-
tristique nulle, et soit F K[X] une srie formelle de terme constant nul. crire
un algorithme base ditrations de Newton permettant de calculer les N pre-
miers termes de la srie compose (arcsin F), partir des N premiers termes de
la srie F, en O(M(N)) oprations arithmtiques dans K.
Notes
Lorsque Newton dcrit sa mthode de rsolution des quations [16], il traite
non seulement de la recherche de solutions numriques, mais aussi de la recherche
de solutions sries, et va jusqu montrer lusage de sa mthode pour les solutions
de polynmes coecients des sries (la premire partie de notre thorme 2, sans
la complexit). La formule dinversion voque en page 69 a t dcouverte par
Lagrange en 1768 [14].
Lutilisation de litration de Newton en informatique est trs ancienne. Lin-
version de matrice de la Section 2.7 remonte Schulz [20] pour des matrices relles.
Limportance de la mthode de Newton pour le calcul rapide avec des sries for-
melles a t souligne par Lipson [15] : In a symbolic mathematics system setting,
we feel that Newtons method oers a unied and easily implemented algorithm for
Bibliographie 73
solving a wide variety of power series manipulation problems that can be cast into
a root-nding mold. Our experience attests to the practicality of Newtons method.
We feel that it is a great algebraic algorithm.
Du point de vue de la complexit, Sieveking [21] a donn lalgorithme din-
version rapide de sries (notre Figure 2), et Kung [13] a observ quil sagissait
dune itration de Newton et il a amlior la constante dans la complexit. En-
suite, Brent [7] a montr comment lexponentielle et le logarithme sobtiennent
galement en O(M(N)) oprations. Les algorithmes de la Section 3.5 sont dus
Schnhage [19] ; lapplication aux sommes et produits composs en Section 3.6 est
beaucoup plus rcente et se trouve dans [4]. La mthode de Newton permet gale-
ment la rsolution de systmes linaires coecients polynomiaux (Chapitre 14) et
la rsolution dquations ou de systmes direntiels (Chapitre 15). Lide dincor-
porer le dividende dans la dernire itration de Newton, an de gagner un facteur
constant pour la division de sries (Section 2.4), est due [11].
Les algorithmes non triviaux de composition dcrits en Section 4 sont dus
Brent et Kung [6]. Lide de lalgorithme pas de bbs, pas de gants en Section 4.2
remonte [17]. La composition F G mod X
N
peut seectuer en complexit quasi-
optimale O(M(N) log N) si G est un polynme [6], ou plus gnralement lorsque G
est une srie algbrique [22]. Des compositions avec dautres fonctions particulires
peuvent aussi tre calcules en O(M(N) log N), ou parfois O(M(N)), voir [5]. Savoir
si cela est encore possible pour des sries quelconques est un grand problme ouvert.
Dans le cas o la caractristique p de A est nie, Bernstein [2] a montr quil
est possible de descendre la composition une complexit quasi-optimale en la pr-
cision N des sries, pour le prix dune dpendence linaire en p. Cet algorithme est
intressant lorsque la caractristique p est petite. Une avance rcente importante
est due Kedlaya et Umans [12], qui ont donn le premier algorithme de complexit
binaire quasi-linaire la fois en N et en log(p), pour le calcul de F G mod X
N
,
lorsque F et G sont des sries coecients dans le corps ni F
p
.
Ritzmann [18] a montr que la composition des sries entires peut seectuer
en complexit binaire quasi-optimale : si F, G Z[X] ont des coecients borns par
en module, alors il est possible de calculer FG mod X
N
en O(M
Z
(N
2
log N log ))
oprations binaires. Larticle [18] montre galement que le problme de la compo-
sition de sries coecients dans un corps K est dune dicult quivalente celui
du calcul du N-ime coecient de F G. Larticle [6] montre que le problme de
linverse compositionnel leur est galement quivalent.
En pratique, les constantes caches dans les O() jouent un grand rle, et n-
cessitent gnralement limplantation la fois des algorithmes asymptotiquement
meilleurs et des algorithmes plus classiques, souvent plus ecaces en petite taille.
Dans le modle de multiplication polynomiale par FFT, les meilleurs constantes de-
vant M(N) sont dues Harvey [9, 10] :
13
9
pour linverse,
4
3
pour la racine carre,
13
6
pour lexponentielle. Les articles de synthse [1, 3] dcrivent diverses techniques
utilises pour liminer certains calculs redondants dans la mthode de Newton.
Lexercice 8 est inspir par [8], et lexercice 9 est tir de [5].
Bibliographie
[1] Bernstein (D. J.). Removing redundancy in high-precision Newton iteration. Preprint,
available from http://cr.yp.to/fastnewton.html#fastnewton-paper.
[2] Bernstein (Daniel J.). Composing power series over a nite ring in essentially linear time.
Journal of Symbolic Computation, vol. 26, n3, ippS, pp. 339341.
[3] Bernstein (Daniel J.). Fast multiplication and its applications. In Algorithmic number
theory : lattices, number elds, curves and cryptography, pp. 325384. Cambridge Univ.
Press, ooS.
74 4. CALCULS RAPIDES SUR LES SRIES
[4] Bostan (Alin), Flajolet (Philippe), Salvy (Bruno), and Schost (ric). Fast computation of
special resultants. Journal of Symbolic Computation, vol. 41, n1, January oo6, pp. 129.
[5] Bostan (Alin), Salvy (Bruno), and Schost (ric). Power series composition and change of
basis. In ISSAC08, pp. 269276. ACM, New York, ooS.
[6] Brent (R. P.) and Kung (H. T.). Fast algorithms for manipulating formal power series.
Journal of the ACM, vol. 25, n4, ipS, pp. 581595.
[7] Brent (Richard P.). Multiple-precision zero-nding methods and the complexity of elemen-
tary function evaluation. In Analytic computational complexity, pp. 151176. Academic
Press, New York, ip6. Proceedings of a Symposium held at Carnegie-Mellon University,
Pittsburgh, Pa., 1975.
[8] Hanrot (Guillaume) and Zimmermann (Paul). Newton iteration revisited. Available at
http://www.loria.fr/~zimmerma/papers.
[9] Harvey (David). Faster algorithms for the square root and reciprocal of power series. Ma-
thematics of Computation. To appear. Available at http://arxiv.org/abs/0910.1926/.
[10] Harvey (David). Faster exponentials of power series. Preprint, available from http://
arxiv.org/abs/0911.3110.
[11] Karp (A. H.) and Markstein (P.). High-precision division and square root. ACM Transac-
tions on Mathematical Software, vol. 23, n4, December ipp, pp. 561589.
[12] Kedlaya (Kiran S.) and Umans (Christopher). Fast modular composition in any characte-
ristic. In FOCS 08 : Proceedings of the 2008 49th Annual IEEE Symposium on Foundations
of Computer Science. pp. 146155. IEEE Computer Society, Washington, DC, USA, ooS.
[13] Kung (H. T.). On computing reciprocals of power series. Numerische Mathematik, vol. 22,
ip, pp. 341348.
[14] Lagrange (Joseph-Louis). Nouvelle mthode pour rsoudre les quations littrales par le
moyen des sries. Mmoires de lAcadmie Royale des Sciences et Belles-Lettres de Berlin,
vol. 24, i6S, pp. 251326.
[15] Lipson (J. D.). Newtons Method : A Great Algebraic Algorithm. In Proceedings ACM
Symposium of Symbolic and Algebraic Computation. pp. 260270. ACM Press, ip6.
[16] Newton (Isaac). La mthode des uxions, et les suites innies. de Bure an, io.
Traduction franaise par G. Buon du texte de 1671 de Newton. Disponible en ligne http:
//gallica.bnf.fr.
[17] Paterson (M. S.) and Stockmeyer (L. J.). On the number of nonscalar multiplications
necessary to evaluate polynomials. SIAM J. Comput., vol. 2, n1, ip, pp. 6066.
[18] Ritzmann (P.). A fast numerical algorithm for the composition of power series with complex
coecients. Theoretical Computer Science, vol. 44, ipS6, pp. 116.
[19] Schnhage (A.). The fundamental theorem of algebra in terms of computational com-
plexity. Technical report, Univ. Tbingen, ipS. 73 pages.
[20] Schulz (G.). Iterative Berechnung der reziproken Matrix. Zeitschrift fr angewandte Ma-
thematik und Physik, vol. 13, ip, pp. 5759.
[21] Sieveking (M.). An algorithm for division of powerseries. Computing, vol. 10, ip, pp. 153
156.
[22] van der Hoeven (Joris). Relax, but dont be too lazy. Journal of Symbolic Computation,
vol. 34, n6, oo, pp. 479542.
CHAPITRE 5
Division euclidienne, fractions rationnelles et
rcurrences linaires coecients constants
Rsum
La multiplication et linversion rapide de sries permettent le calcul ef-
cace de la division euclidienne de polynmes et du dveloppement en
srie des fractions rationnelles. Ils mnent en particulier au calcul rapide
dun ou de plusieurs termes dune suite rcurrente linaire coecients
constants.
1. Introduction
Les suites rcurrentes linaires coecients constants sont extrmement pr-
sentes dans la nature. On estime ainsi quenviron 12% des suites de la littrature
1
sont de ce type. Lexemple le plus clbre est celui de la suite de Fibonacci, dnie
par F
0
= 0, F
1
= 1 et
(1) F
n+2
= F
n+1
+F
n
, n 0.
Lutilisation directe de cette rcurrence permet de calculer les N premiers lments
de la suite de manire optimale du point de vue de la complexit. En revanche,
pour le calcul dun seul terme dindice lev, le passage par le calcul de tous ses
prdcesseurs est inutilement coteux. Une premire ide de ce chapitre consiste
utiliser une version matricielle des rcurrences pour aboutir une complexit
quasi-optimale pour cette question.
La rcurrence (1) nest que dordre 2. Pour des suites dnies par des rcur-
rences dordre d plus grand, il faut aussi chercher limiter le cot des calculs
vis--vis de d. Simplement drouler la rcurrence nest plus alors la meilleure faon
de calculer les N premiers termes de la suite. Une autre ide importante de ce
chapitre est dexploiter le lien entre les rcurrences linaires coecients constants
et les fractions rationnelles, qui mne une complexit quasi-optimale vis--vis
la fois de N et d pour cette question, ainsi que pour celle du calcul du N premier
terme, et aussi pour le dveloppement en srie des fractions rationnelles.
Les applications algorithmiques de ces ides sont nombreuses. Certaines dentre
elles sont prsentes dans des exercices de ce chapitre, comme le calcul rapide dun
polynme sur 1, 2, . . . , N, une partie du calcul du polynme minimal dune matrice,
et des tests probabilistes de primalit dentiers.
2. Division de polynmes
tant donns deux polynmes F et G de A[X], avec G unitaire, coecients
dans un anneau A, il existe duniques polynmes Q et R, quotient et reste de la
division euclidienne de F par G, tels que :
F = QG+R avec deg R < deg G.
1. Recenses trs largement par lencyclopdie en ligne des suites dentiers
http://www.research.att.com/~njas/sequences/Seis.html.
75
76 5. DIVISION EUCLIDIENNE ET RCURRENCES LINAIRES
Calculer rapidement le quotient Q et le reste R est dimportance vitale dans
toute la suite du cours. Outre lapplication aux suites rcurrentes qui sera dtaille
plus loin, les algorithmes de division sont utiliss au Chapitre 6 pour lvaluation
multipoint et linterpolation et au Chapitre 7 pour le calcul de pgcd. leur tour,
ces deux algorithmes sont centraux dans nombre dapplications.
2.1. Mthode nave. Lalgorithme naf pour calculer Q et R consiste poser
la division. Pour cela, les termes dominants sont dabord isols :
F = aX
m
+T
F
, G = X
n
+T
G
, avec deg T
F
< m, deg T
G
< n.
Si m < n, il ny a rien faire. Sinon, la boucle lmentaire de la division de F par
G consiste tuer le terme de plus haut degr de F en eectuant la soustraction
F aX

G = (aX
m
+T
F
)
_
aX
+n
+aX

T
G
_
= T
F
aX

T
G
,
o = mn. Le polynme obtenu est congru F modulo G, mais de degr stricte-
ment infrieur m. Il ny a plus qu itrer ce procd jusqu obtenir un polynme
de degr strictement infrieur n, et garder trace des quotients successifs.
La complexit de cet algorithme est facile estimer. La boucle lmentaire
prsente ci-dessus seectue en O(n) oprations de type (+, , ) ; dans le pire des
cas, lalgorithme eectue (m n + 1) passages dans cette boucle, de sorte que la
complexit de la division de F par G est de O(n(m n)) oprations. Le pire des
cas est atteint pour m = 2n. Cest donc un algorithme quadratique (mais un bon
algorithme quadratique : la constante dans le O() est en fait petite, cest 2). Le
mme genre destimation sobtient pour la division euclidienne classique des entiers.
2.2. Algorithme rapide. Un bien meilleur rsultat peut tre obtenu base
ditration de Newton.
Lide principale de lalgorithme part de la rcriture de F = QG+R en
F
G
= Q+
R
G
.
Si on pense que A = R, on voit donc que le dveloppement asymptotique de F/G
linni a ses premiers termes donns par Q, puisque R/G tend vers 0 linni (
cause des contraintes de degr sur R et G). Ceci suggre que lon va obtenir Q par
calcul du dveloppement de Taylor de F/G au voisinage de linni.
Concrtement, il sut de ramener dabord linni en zro (par le changement
de variable X = 1/T), pour rduire le calcul la division de sries formelles. Plus
prcisment, le point de dpart est lidentit
T
m
F(1/T)
T
n
G(1/T)
= T
mn
Q(1/T) +
T
m
R(1/T)
T
n
G(1/T)
.
Dans cette identit les numrateurs et dnominateurs des fractions sont des poly-
nmes, et le polynme T
n
G(1/T) a 1 pour terme constant. En outre, la valuation
du second sommant du membre droit est suprieure m n. En dcoule donc
lalgorithme suivant :
1. Calculer T
m
F(1/T) et T
n
G(1/T) (aucune opration arithmtique nest
ncessaire, il sut dinverser lordre des coecients) ;
2. calculer le quotient (T
m
F(1/T))/(T
n
G(1/T)) mod T
mn+1
par une inver-
sion de srie formelle suivie dun produit ;
3. en dduire Q en inversant lordre des coecients ;
4. en dduire R, qui est donn par R = F QG mod X
n
.
Thorme 1. Soient G un polynme unitaire de A[X] de degr n et F A[X]
de degr m n. Alors on peut calculer le quotient Q et le reste R de la division
euclidienne de F par G en 5M(mn) + M(n) +O(m) oprations (+, , ) de A.
3. SUITES RCURRENTES LINAIRES COEFFICIENTS CONSTANTS 77
Ainsi, la division euclidienne ne cote pas plus cher que la multiplication (
une constante prs). En particulier, si on utilise une multiplication base de FFT,
le cot de la division est linaire en le degr, des facteurs logarithmiques prs.
Dmonstration. La complexit sobtient en suivant les tapes de lalgo-
rithme. Daprs la Proposition 2 du Chapitre 4 et la remarque qui la suit, linverse
du dnominateur ltape 2 sobtient en
4M(mn) +O(mn)
oprations dans A , puis une multiplication supplmentaire donne Q. Pour retrou-
ver R, le dernier produit est eectu modulo X
n
, cest--dire pour un cot de M(n).
Toutes les additions sont prises en compte dans le terme O(m).
Remarque. Si Q a un degr beaucoup plus petit que G, on peut acclrer
le calcul de QG, en dcoupant G en tranches de taille m n; de la sorte, le
dernier produit peut se faire en
n
mn
M(mn) oprations. Enn, si de nombreuses
rductions sont faire modulo le mme polynme G, il est videmment recommand
de stocker linverse du rciproque de T
n
G(1/T) de G.
2.3. Le cas des entiers. Comme pour la multiplication, il est possible de
poser le problme dans Z comme dans un anneau de polynmes. Cest ce dernier
cas qui est le plus simple tudier, puisquil ny a pas y grer de retenue. On
obtient cependant un rsultat analogue sur les entiers.
Thorme 2. Soit M
Z
une fonction de multiplication pour Z, et f et g deux
entiers positifs avec g f 2
n
. Soient q et r les quotient et reste de la division
euclidienne de f par g :
f = qg +r avec 0 r < g.
On peut calculer q et r en O(M
Z
(n)) oprations binaires.
2.4. Application aux calculs modulaires. Une application importante de
la division euclidienne rapide est le calcul ecace dans des structures algbriques
de type quotient , par exemple dans nimporte quel corps ni.
Corollaire 1. Si A est un anneau et si P est un polynme unitaire de degr n
de A[X], alors dans A[X]/(P), laddition et la multiplication par un lment de A
ont une complexit linaire en n, la multiplication a une complexit en O(M(n)).
Dmonstration. Il sagit de calculer modulo P. Laddition et la multiplica-
tion par un scalaire seectuent terme terme, ainsi leur complexit est linaire en
le degr n de P. Ensuite, pour multiplier deux lments A + (P) et B + (P) de
A[X]/(P), on commence par multiplier A et B dans A[X], puis on rduit le rsultat
modulo P. La complexit dcoule donc de ce qui prcde.
La question du calcul dans Z/nZ est lgrement plus dlicate que son analogue
dans A[X], cause des retenues. Malgr tout, les rsultats stendent.
3. Suites rcurrentes linaires coecients constants
Definition 1. Une suite (a
n
)
n0
dlments de lanneau A est appele suite
rcurrente linaire coecients constants (srlcc) dordre d si elle satisfait une r-
currence de la forme
a
n+d
= p
d1
a
n+d1
+ +p
0
a
n
, n 0,
o les p
i
sont des lments de A. Le polynme P = X
d
p
d1
X
d1
p
0
de
A[X] est appel polynme caractristique de la suite (a
n
)
n0
.
78 5. DIVISION EUCLIDIENNE ET RCURRENCES LINAIRES
Il faut noter que tout multiple dun polynme caractristique est aussi carac-
tristique. Le pgcd de ces polynmes caractristiques est appel polynme minimal
de la suite.
3.1. Exemples.
Exercice 1. Soit M une matrice de taille d d coecients dans A, de
polynme caractristique
M
(X) = det(XI
d
M), soient u une matrice ligne et
v une matrice colonne. Montrer que la suite (uM
n
v)
n0
est une suite rcurrente
linaire coecients constants admettant
M
comme polynme caractristique.
Exercice 2. Soit a
1
, . . . , a
r
des entiers strictement positifs. Soit A
n
et B
n
le nombre de r-uplets non-ordonns, resp. ordonns, (x
1
, . . . , x
r
) N
r
, solutions
de lquation a
1
x
1
+ + a
r
x
r
= n. Montrer que les suites (A
n
) et (B
n
) sont
rcurrentes linaires coecients constants, admettant (X
a
1
1) (X
a
r
1) et
X
a
1
+ +X
a
r
1 comme polynmes caractristiques.
Exercice 3. Si P A[X] est de degr d, alors la suite (P(n))
n0
est une srlcc
de polynme caractristique (X 1)
d+1
.
3.2. Mthode nave. Lapproche nave pour le calcul des N premiers termes
dune srlcc consiste tout simplement drouler la rcurrence et requiert O(dN)
oprations dans A.
3.3. Exponentiation binaire. Pour calculer uniquement le N
e
terme de la
suite, une alternative cette mthode nave est base sur lexponentiation binaire
de la matrice compagnon associe la suite. Par exemple, la rcurrence (1) se rcrit
matriciellement
_
F
N
F
N+1
_
=
_
0 1
1 1
_
. .
C
_
F
N1
F
N
_
= C
N
_
F
0
F
1
_
, N 1.
La puissance de la matrice constante C se calcule alors rcursivement par
C
N
=
_
(C
N/2
)
2
, si N est pair,
C (C
N1
2
)
2
, sinon.
On en dduit que le calcul de F
N
peut tre eectu sans calculer les prcdents en
O(log N) produits de matrices 2 2, soit O(log N) oprations dans A.
Cette ide stend facilement des rcurrences dordre arbitraire.
Exercice 4. Montrer que le N-ime terme de toute rcurrence linaire dordre
d coecients constants peut se calculer en O(d
3
log N) oprations dans A.
Lutilisation dune multiplication matricielle rapide abaisse cette complexit
O(MM(d) log N) = O(d

log N) oprations dans A, o 2 < 2, 38 (voir le


Chapitre 3). La dpendance en d reste cependant plus que quadratique. La section
suivante prsente une meilleure mthode, de complexit quasi-linaire en d.
3.4. Exponentiation modulaire. La complexit arithmtique de lalgo-
rithme de la section prcdente (Exercice 4) est quasi-optimale par rapport lin-
dice N, mais nest pas trs bonne par rapport lordre d de la rcurrence.
Une mthode plus ecace est obtenue en exploitant mieux la structure du
problme. En eet, les matrices multiplies ne sont pas quelconques, mais sont des
puissances dune matrice compagnon. Cette structure peut tre exploite grce
lobservation suivante.
3. SUITES RCURRENTES LINAIRES COEFFICIENTS CONSTANTS 79
Exponentiation modulaire
Entre : (p
0
, . . . , p
d1
) les coecients dune rcurrence linaire ;
(a
0
, . . . , a
d1
) des conditions initiales ; un entier N.
Sortie : Le terme a
N
de la suite dnie par
a
n+d
= p
d1
a
n+d1
+ +p
0
a
n
.
1. Poser P = X
d
p
d1
X
d1
p
0
et x = X mod P ;
2. Calculer rcursivement Q = x
N
= q
0
+q
1
x + +q
d1
x
d1
par
x
k
=
_
(x
k/2
)
2
, si k est pair,
x (x
k1
2
)
2
, sinon,
3. Renvoyer q
0
a
0
+ +q
d1
a
d1
.
Figure 1. Calcul du N
e
terme dune slrcc
Lemme 1. Soit (a
n
)
n0
une suite rcurrente linaire coecients constants
de polynme caractristique P(X). Soit B = A[X]/(P) et x la classe de X dans B.
Alors la matrice compagnon C de P est la fois
1. telle que [a
n+1
, . . . , a
n+d
] = [a
n
, . . . , a
n+d1
] C pour tout n 0 ;
2. matrice de lapplication A-linaire de multiplication par x dans B dans la
base canonique 1, x, . . . , x
d1
.
Dmonstration. Il sut dcrire la matrice pour le voir. Si P = X
d

p
d1
X
d1
p
0
, la matrice C vaut par dnition
C =
_
_
_
_
_
_
_
0 0 . . . 0 p
0
1 0 . . . 0 p
1
0 1 . . . 0 p
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 . . . 1 p
d1
_
_
_
_
_
_
_
.
La premire proprit traduit la dnition de la rcurrence :
a
n+d
= p
d1
a
n+d1
+ +p
0
a
n
.
La seconde exprime que modulo P, X
d
= p
d1
X
d1
+ +p
0
.
Corollaire 2. Avec les mmes notations, pour tous entiers positifs i et k,
a
k+i
= [a
i
, . . . , a
d+i1
] V
k
,
o V
k
a pour coordonnes les coecients du polynme X
k
mod P.
Dmonstration. Le vecteur V
k
est la premire colonne de C
k
, et daprs
le lemme prcdent, cette matrice est celle de la multiplication par X
k
dans B.
Les coecients de la premire colonne sont donc les coordonnes de x
k
1 dans la
base 1, x, . . . , x
d1
.
Le rsultat de complexit est alors le suivant.
Thorme 3. Soit (a
n
) une suite rcurrente linaire coecients constants,
donne par une rcurrence dordre d et des conditions initiales a
0
, . . . , a
d1
.
Soit N d. Alors, le calcul du N-ime terme a
N
peut se faire en seulement
O(M(d) log N) oprations dans A.
80 5. DIVISION EUCLIDIENNE ET RCURRENCES LINAIRES
Dmonstration. Lalgorithme est prsent en Figure 1. Chaque tape du
calcul rcursif a lieu dans A[X]/(P) et cote O(M(d)) oprations dans A daprs
le Corollaire 1, le nombre dtape est en log N ; la dernire multiplication ne prend
que O(d) oprations. La complexit est donc domine par O(M(d) log N).
4. Dveloppement de fractions rationnelles
Il est galement possible de calculer ecacement les N premiers lments dune
suite rcurrente linaire coecients constants, ou de manire quivalente, le d-
veloppement de Taylor des fractions rationnelles.
4.1. Sries rationnelles et suites rcurrentes. Ces deux notions sont deux
aspects de la mme question.
Lemme 2. Soit A(X) =

n0
a
n
X
n
la srie gnratrice de la suite (a
n
)
n0
.
Les assertions suivantes sont quivalentes :
(i) La suite (a
n
) est une srlcc, avec polynme caractristique P de degr d ;
(ii) A(X) = N
0
/

P o

P = P(1/X)X
d
, pour un certain N
0
K[X] avec
deg(N
0
) < d.
De plus, si P est le polynme minimal de (a
n
), alors d = max1+deg(N
0
), deg(

P)
et pgcd(N
0
,

P) = 1.
Dmonstration. Supposons que P scrive P = g
d
X
d
+ +g
0
. Pour lqui-
valence, on utilise uniquement le fait que le coecient de X
d+i
dans

P A(X) est
gal g
d
a
i+d
+ +g
0
a
i
et que

P(0) = g
d
,= 0.
Soit maintenant P le polynme minimal de (a
n
). On a deg(

P) d avec galit
si et seulement si g
0
,= 0, cest--dire X P. Donc d max1 + deg(N
0
), deg(

P).
Supposons par labsurde que cette ingalit est stricte. Alors X [ P et on a que
P/X est aussi polynme caractristique de (a
n
), ce qui contredit la minimalit de
P. Donc d = max1 + deg(N
0
), deg(

P).
Soit enn u := pgcd(N
0
,

P). Alors P
u
:= P/ u est un polynme de degr d
deg(u) qui est caractristique de (a
n
), car

P/u =

P
u
et (

P/u) A(X) = N
0
/u est un
polynme de degr < d deg(u). Par la minimalit, cela implique que deg(u) = 0,
donc N
0
et

P sont bien premiers entre eux.
Une consquence immdiate de cette quivalence et du Thorme 3 est alors :
Corollaire 3. Soit F(X)/G(X) dans A(X) de degr au plus d, avec G(0)
inversible. Le N
e
coecient du dveloppement en srie F(X)/G(X) =

n0
a
n
X
n
peut tre calcul en O(M(d) log N) oprations.
4.2. Dveloppement. On peut calculer le dveloppement de Taylor lordre
N dune fraction rationnelle de degr d N en O(M(N)) oprations, en utilisant la
mthode de Newton, dcrite au Chapitre 4. Mais O(M(N)) est en gnral beaucoup
plus gros que les O(dN) oprations requises par la mthode nave.
Le point de dpart pour amliorer cette complexit est le Corollaire 2 qui montre
comment calculer un coecient de la suite en fonction de coecients distants. Lide
est de calculer les coecients par tranches de longueur d. Il ne sut pas dutiliser d
fois le corollaire, mais il faut encore une fois exploiter une structure supplmentaire,
qui provient ici de ce que les coecients cherchs sont conscutifs. Cette ide est
rsume par le rsultat suivant.
Lemme 3. Soit F(X)/G(X) dans A(X) avec G(0) inversible. Soit d le degr
de G et soit k 0. Alors les coecients a
k
, a
k+1
, . . . , a
k+d1
du dveloppement de
F(X)/G(X) =

i
a
i
X
i
sont les coecients de X
2d2
, . . . , X
d
, X
d1
du produit
_
a
2d2
+ +a
0
X
2d2
__
X
k
mod B(1/X)X
d
_
.
5. APPLICATIONS 81
Srie Rationnelle
Entre : Deux polynmes F(X), G(X) avec
deg G = d, G(0) ,= 0 et deg F < d, un entier N > d.
Sortie : Les coecients a
0
, . . . , a
N
du dveloppement
F(X)/G(X) =

n0
a
n
X
n
.
1. Calculer les 2d 1 premiers coecients a
0
, . . . , a
2d2
.
2. Poser y
1
= X
d1
mod

G(X) et y

= X
d
mod

G(X),
o

G(X) = X
d
G(1/X).
3. Pour i = 2, . . . , ,N/d|,
(a) Calculer y
i
= y

y
i1
mod

G(X) ;
(b) Calculer P = (a
2d2
+ +a
0
X
2d2
_
y
i
;
(c) Extraire a
id1
, a
id
, . . . , a
(i+1)d2
les coecients de
X
2d2
, . . . , X
d
, X
d1
dans P.
4. Renvoyer a
0
, . . . , a
N
.
Figure 2. Dveloppement en srie dune fraction rationnelle.
Dmonstration. Le polynme G(1/X)X
d
est polynme caractristique de la
suite des coecients daprs le Lemme 2. Le coecient de X
k+i
pour i = 0, . . . , d1
dans le produit ci-dessus vaut exactement le produit scalaire [a
i
, . . . , a
d+i1
] V
k
daprs le Corollaire 2.
Lapplication de cette ide mne nalement une complexit amliore pour le
calcul des N premiers coecients.
Thorme 4. Soit F(X)/G(X) dans A(X) de degr au plus d, avec G(0)
inversible. Le dveloppement de Taylor de F(X)/G(X) prcision N d peut se
calculer en O(NM(d)/d) oprations (+, , ) dans A.
Si lanneau A permet la FFT, cette estimation de complexit devient O(N log d)
ce qui est quasi-optimal, simultanment vis--vis de N et de d.
Dmonstration. Lalgorithme est rsum en Figure 2. La premire tape se
calcule par itration de Newton en O(M(d)) oprations dans A, ce qui reprsente
un cot ngligeable sur lensemble. Lobtention de y

est une rcriture partir


de

G et ne demande pas dopration. Ensuite, chaque itration utilise un produit
dans A[X]/(

G) et un produit dun polynme de degr 2d 2 par un polynme de
degr d 1. Au total, sont donc eectues O(NM(d)/d) oprations dans A.
La traduction de ce rsultat au niveau des srlcc est immdiate.
Corollaire 4. Soit (a
n
) une suite rcurrente linaire coecients constants,
donne par une rcurrence dordre d, et des conditions initiales a
0
, . . . , a
d1
. Soit
N d. Alors, les termes a
0
, . . . , a
N
peuvent tre calculs en O(NM(d)/d) opra-
tions dans A.
5. Applications
5.1. valuation dun polynme sur une progression arithmtique.
Corollaire 5. Un polynme P de degr d peut tre valu aux N + 1 d
points b, a +b, 2a +b, . . . , Na +b au prix total de O(N M(d)/d) oprations arithm-
tiques.
82 5. DIVISION EUCLIDIENNE ET RCURRENCES LINAIRES
Dmonstration. Loprateur
a
(P) = P(X + a) P(X) fait dcrotre le
degr des polynmes. Il sensuit que
d+1
a
P = 0 et donc P(an + b) est une suite
rcurrente linaire dordre d + 1 et de polynme caractristique (X 1)
d+1
.
5.2. Proprits de clture. La classe des srlcc admet de nombreuses pro-
prits de clture : si a = (a
n
)
n
et b = (b
n
)
n
sont deux srlcc de polynmes carac-
tristiques P et Q, alors
1. la somme a +b = (a
n
+ b
n
)
n
et le produit de Cauchy a
C
b, de terme
gnral

n
i=0
a
i
b
ni
, sont deux srlcc de polynme caractristique PQ;
2. le produit dHadamard a
H
b = (a
n
b
n
)
n
est une srlcc de polynme carac-
tristique gal au produit compos P Q dni au Chapitre 4 ;
3. la suite
_
n
i=0
_
n
i
_
a
i
b
ni
_
n
est une srlcc de polynme caractristique gal
la somme compose P Q dnie au Chapitre 4.
Ils se calculent donc tous en bonne complexit (quasi-linaire en la taille de la
sortie).
Exercice 5. Prouver les assertions prcdentes.
5.3. Tests de primalit. Une application du calcul rapide dun terme dune
rcurrence est une famille de tests probabilistes de primalit, de complexit po-
lynomiale. Lide est de construire une suite rcurrente (a
n
) dentiers telle que la
primalit de n soit quivalente (ou presque quivalente) a
n
0 mod n.
Un cas particulier important en est le test de Fermat (pour lequel a
n
= a
n1
1)
implant dans la plupart des systmes de calcul formel. Bien quil soit probabiliste
(si n ne passe pas le test, n est compos, mais si n passe le test, alors il est pre-
mier seulement avec une grande probabilit), sa grande simplicit le rend souvent
prfrable dautres algorithmes sophistiqus.
Exercice 6. Soit (a
n
) une srlcc dordre d. Montrer quil existe des constantes
entires c
0
, c
1
, . . . , c
d
telles que p divise c
0
+c
1
a
p1
+ +c
d
a
pd
ds lors que p est
un nombre premier. De plus, pour tout premier p, les constantes c
i
mod p peuvent
tre trouves en O(M(d)) oprations arithmtiques dans A = Z/pZ.
Par exemple, si (F
n
) est la suite de Fibonacci, alors p divise F
p2
+ 3F
p1
1
ds lors que p est premier et la rciproque est vraie avec une bonne probabilit.
Lexercice prcdent fournit un test de primalit similaire au test de Fermat. Daprs
le Thorme 3, son cot est de O(M(d) log p) oprations arithmtiques dans Z/pZ,
soit O(M(d)M
Z
(log p) log p) oprations binaires.
Exercice 7. Soient a et N deux entiers premiers entre eux. Montrer que N
est premier si et seulement si X
N
+a = (X +a)
N
mod N dans Z[X].
Exercice 8. Montrer que si N est premier, 0 a < N et P(X) Z[X],
alors X
N
+ a = (X + a)
N
mod P(X) dans Z/NZ[X] ; si de plus, P(X) est de
degr r = O(log
c
N), pour un c > 0, alors cette galit peut tre teste en temps
polynomial , cest--dire en un nombre doprations binaires polynomial en log N.
Notes
La suite de Fibonacci, introduite en 1202 par Leonardo Pisano (mieux connu
sous le pseudonyme de Fibonacci) dans un problme rcratif dcrivant la croissance
dune population de lapins jouit de riches proprits algbriques, arithmtiques et
combinatoires. Par exemple : (a) F
n
est le nombre de faons direntes de paver
un rectangle 2 (n 1) au moyen de dominos 2 1 ; (b) (F
n
)
n
est une suite de
Bibliographie 83
divisibilit, i. e. F
n
divise F
m
ds lors que n divise m; (c) si n est impair, alors
F
n
= 2
n1
n1
2

k=1
_
1
4
+ cos
2
k
n
_
.
Exercice 9. Prouver les assertions (a)(c).
Malgr sa simplicit, la suite de Fibonacci fait lobjet de nombreux problmes
ouverts. Par exemple, on ignore sil existe une innit de nombres de Fibonacci
premiers. Les nombres de Fibonacci sont omniprsents en mathmatiques et en
informatique
2
: ils interviennent aussi bien dans lanalyse de lalgorithme dEuclide
pour le calcul du plus grand commun diviseur de deux entiers, que dans la solution
ngative de Matiyasevich du dixime problme de Hilbert
3
.
Historiquement, le premier algorithme rapide pour la division des polynmes
est d Moenck et Borodin [7]. Son point cl est que le quotient de la division eu-
clidienne de deux polynmes ne dpend que de leurs coecients de poids fort. Cette
remarque est galement la base du calcul rapide de pgcd, tudi au Chapitre 7.
Lalgorithme de la Section 2.2 est d Strassen [10]. Une alternative, de mme
complexit asymptotique, lalgorithme esquiss en Section 2.4 pour les calculs
modulaires a t propose par Montgomery [8].
Calculer les N premiers termes dune srlcc de polynme caractristique x
est une opration linaire en les conditions initiales ; cest le dual de lopration
de division dun polynme de degr N par un polynme x. Les consquences
algorithmiques de ce fait seront dcrites au Chapitre 12.
Le thorme de Skolem-Mahler arme que pour toute srlcc (a
n
), lensemble de
ses zros (les indices i pour lesquels a
i
= 0) est la runion dun ensemble ni et
dun nombre ni de suites arithmtiques. Son tude est une question subtile. Par
exemple, dterminer si lensemble des zros est vide est un problme NP-dur [2]. Les
srlcc sont tudies dans [3, 11]. Le livre [4] constitue une rfrence trs complte.
Lexercice 1 est le point cl de la mthode de Wiedemann pour la rsolution de
systmes linaires creux, traite au Chapitre 10.
Le calcul rapide dun terme de la suite de Fibonacci par exponentiation binaire
de la matrice compagnon associe relve du folklore mathmatique. Sa gnralisa-
tion (exercice 4) est dcrite dans [6], mais tait probablement connue bien avant.
Les Thormes 4 et 4 sont tirs de [5] et [9]. Leur rcente gnralisation au cas
des matrices polynomiales est la base du meilleur algorithme pour la rsolution
de systmes linaires coecients polynomiaux, expos au Chapitre 14.
Il nexiste pas de tests dterministes de primalit bass sur le test modulaire
dun terme dune rcurrence coecients constants. Par contre, on peut caractriser
un nombre premier N laide de suites qui vrient des rcurrences coecients
polynomiaux (comme la factorielle, via le test de Wilson (N 1)! = 1 mod N).
Malheureusement, cela ne fournit pas dalgorithme ecace. Le premier algorithme
dterministe qui prouve la primalit en temps polynomial est trs rcent [1]. Cet
article part de la caractrisation de type Fermat donne dans lexercice 8, et exhibe
une constante c et un polynme P tels que la primalit de N est implique par la
vrication de lidentit de lExercice 8 pour seulement r
1/2
log(N) valeurs de a.
Bibliographie
[1] Agrawal (Manindra), Kayal (Neeraj), and Saxena (Nitin). PRIMES is in P. Annals of
Mathematics. Second Series, vol. 160, n2, oo, pp. 781793.
2. Le journal The Fibonacci Quarterly est entirement ddi ltude de leurs proprits.
3. Ce problme proposait de trouver un algorithme pour dcider si un systme dquations
diophantiennes (polynmes coecients entiers) admet une solution en nombres entiers.
84 5. DIVISION EUCLIDIENNE ET RCURRENCES LINAIRES
[2] Blondel (Vincent D.) and Portier (Natacha). The presence of a zero in an integer linear
recurrent sequence is NP-hard to decide. Linear Algebra and its Applications, vol. 351/352,
oo, pp. 9198. Fourth special issue on linear systems and control.
[3] Cerlienco (L.), Mignotte (M.), and Piras (F.). Suites rcurrentes linaires. Proprits alg-
briques et arithmtiques. LEnseignement Mathmatique, vol. 33, ipS, pp. 67108.
[4] Everest (Graham), van der Poorten (Alf), Shparlinski (Igor), and Ward (Thomas). Re-
currence sequences. American Mathematical Society, Providence, RI, oo, Mathematical
Surveys and Monographs, vol. 104, xiv+318p.
[5] Fiduccia (C. M.). An ecient formula for linear recurrences. SIAM Journal on Computing,
vol. 14, n1, ipS, pp. 106112.
[6] Miller (J. C. P.) and Brown (D. J. Spencer). An algorithm for evaluation of remote terms
in a linear recurrence sequence. Computer Journal, vol. 9, ip66, pp. 188190.
[7] Moenck (R. T.) and Borodin (A.). Fast modular transforms via division. In Thirteenth
Annual IEEE Symposium on Switching and Automata Theory, pp. 9096. ip.
[8] Montgomery (Peter L.). Modular multiplication without trial division. Mathematics of
Computation, vol. 44, n170, ipS, pp. 519521.
[9] Shoup (V.). A fast deterministic algorithm for factoring polynomials over nite elds of
small characteristic. In ISSAC91. pp. 1421. ACM Press, ippi.
[10] Strassen (V.). Die Berechnungskomplexitt von elementarsymmetrischen Funktionen und
von Interpolationskoezienten. Numerische Mathematik, vol. 20, ip, pp. 238251.
[11] van der Poorten (A. J.). Some facts that should be better known, especially about ratio-
nal functions. In Number theory and applications, pp. 497528. Kluwer, Dordrecht, ipSp.
Proceedings of a Conference held at Ban, AB, 1988.
CHAPITRE 6
Calculs modulaires, valuation et interpolation
Rsum
Le concept dalgorithme modulaire est central en calcul formel. Il per-
met de pallier le phnomne dexplosion des expressions intermdiaires.
Des cas particuliers importants sont lvaluation multipoint et linterpo-
lation, pour lesquels il existe des algorithmes rapides qui peuvent tre
vus comme des gnralisations de la FFT.
1. Introduction
Un ingrdient essentiel en calcul formel est lutilisation de dirents types de
reprsentation pour les objets manipuls. Par exemple, un polynme est classique-
ment cod par la liste de ses coecients, mais on peut trs bien le reprsenter par
les valeurs quil prend en un nombre susant de points. Dailleurs, nous avons vu
au Chapitre 2 que cest bien cette seconde reprsentation qui est la plus adapte
pour le calcul ecace, via la FFT, du produit de polynmes. Par ailleurs, dautres
oprations (comme la division polynomiale, traite au Chapitre 5) se font mieux
dans la premire reprsentation. Dautres exemples de codages alternatifs dj ren-
contrs dans ce cours sont lcriture des entiers en direntes bases de numration,
ou encore la reprsentation des suites rcurrentes linaires coecients constants,
soit par leurs lments, soit par leurs sries gnratrices, soit par une rcurrence et
des conditions initiales.
Lexemple de la FFT montre quel point il est crucial dexaminer dans quelle
reprsentation un problme donn est plus facile traiter, et aussi, de trouver des
algorithmes rapides pour la conversion dune reprsentation lautre.
Une incarnation de ce concept gnral est la notion dalgorithme modulaire,
dont le paradigme valuation-interpolation est un cas particulier trs important.
Lapproche modulaire consiste choisir des modulos m
i
, faire des calculs modulo
chaque m
i
et reconstruire tout la n le rsultat laide dune version eective du
thorme des restes chinois. Pour garantir lunicit du rsultat et la correction de
ce schma, il sut que les modulos soient susamment nombreux et indpendants.
Typiquement, sil sagit dentiers, ils peuvent tre choisis premiers entre eux et tels
que leur produit dpasse le rsultat nal. En particulier, pour mettre en place une
approche modulaire, on a besoin de bornes a priori sur la taille de lobjet calcul.
Cette approche porte ses fruits surtout lorsque les coecients dans les calculs
intermdiaires sont beaucoup plus gros que ceux du rsultat nal. Il sagit du phno-
mne dexplosion des expressions intermdiaires, qui se prsente par exemple dans
le calcul du dterminant dune matrice entire ou polynomiale, ou encore au cours
du calcul du pgcd de polynmes coecients entiers.
Exemple 1 (calcul du dterminant dune matrice polynomiale). Soit calculer
le dterminant dune matrice nn, dont les lments sont des polynmes de degr au
plus d (le cas particulier d = 1 correspond au calcul dun polynme caractristique).
85
86 6. CALCULS MODULAIRES, VALUATION ET INTERPOLATION
Le point de dpart est la remarque que le pivot de Gauss produit sur la i-ime
ligne des fractions rationnelles de degr 2
i
d. Ainsi, sa complexit ne semble pas
polynomiale par rapport n. Une approche valuation-interpolation rsout cette
anomalie. Le dterminant tant un polynme de degr au plus nd, il sut de choisir
un ensemble de nd +1 points, dy valuer les lments de la matrice, de calculer les
nd+1 dterminants de matrices scalaires et de nir par une interpolation fournissant
le determinant cherch. Le mme raisonnement sapplique aux matrices entires.
Choix des modulos. Dans certaines situations, le programmeur a le choix des
modulos. Dans lexemple prcdent, on peut choisir comme modulos des polynmes
de la forme X
i
, dans le cas favorable o lanneau de base contient une racine
primitive de lunit dordre susamment lev ( 2dn). En thorie, ce choix est
donc possible ds lors que lanneau de base permet une multiplication polynomiale
base de FFT. En pratique, il existe des plages de degrs pour lesquelles, mme
si elle est faisable, la FFT nest pas encore rentable ; ce choix est alors dconseill.
Dans dautres situations, le choix des modulos est intrinsquement impos par le
problme traiter ; cest le cas pour le calcul de la factorielle expos au Chapitre 13.
2. Prsentation, rsultats
Les problmes dvaluation et dinterpolation sont inverses lun de lautre. Dans
leur version standard, ils snoncent ainsi. Soient a
0
, . . . , a
n1
des points dans A,
o A est un anneau commutatif et unitaire.
valuation multipoint. tant donn un polynme P dans A[X], de degr
strictement infrieur n, calculer les valeurs :
P(a
0
), . . . , P(a
n1
).
Interpolation. tant donns b
0
, . . . , b
n1
A, trouver un polynme P A[X]
de degr strictement infrieur n tel que
P(a
0
) = b
0
, . . . , P(a
n1
) = b
n1
.
Le problme dinterpolation admet toujours une solution unique sous lhypo-
thse technique suivante :
(H) a
i
a
j
est inversible dans A lorsque i ,= j.
En eet, si V =
_
a
j1
i1
_
n
i,j=1
est la matrice de Vandermonde associe aux points a
i
,
dont le dterminant vaut det(V) =

i<j
_
a
j
a
i
_
, alors le problme dinterpolation
se traduit par la rsolution en linconnue p du systme linaire Vp = b, o b est le
vecteur des b
i
. Or, ce systme admet une solution unique, puisque lhypothse (H)
entrane linversibilit du dterminant det(V) et donc aussi celle de la matrice V.
Exercice 1. Montrer que det(V) =

i<j
(a
j
a
i
).
Cette discussion suggre un algorithme naf pour linterpolation, produisant
lunique solution p = V
1
b du systme Vp = b laide du pivot de Gauss en
O(n
3
) oprations dans A, ou encore en O(MM(n)) = O(n

) oprations (2 < 3),


en utilisant lalgorithmique matricielle rapide (Chapitre 3). De manire analogue,
lvaluation multipoint de P en les a
i
se traduit par le produit matrice-vecteur Vp,
o p est le vecteur des coecients de P ; elle peut donc tre eectue de manire
nave en O(n
2
) oprations arithmtiques. En sy prenant vraiment navement, lin-
terpolation est donc plus coteuse que lvaluation multipoint. Nous verrons un peu
plus loin quune mthode exploitant la formule dinterpolation de Lagrange permet
de rsoudre le problme dinterpolation en complexit quadratique en n.
3. INTERPOLATION DE LAGRANGE 87
Lobjectif de ce chapitre est de montrer quil est possible datteindre une com-
plexit quasi-optimale, tant pour lvaluation multipoint que pour linterpolation,
en utilisant des algorithmes de type diviser pour rgner qui ramnent ces ques-
tions des multiplications de polynmes. Les principaux rsultats sont les suivants :
Thorme 1 ( valuation-interpolation ). On peut eectuer lvaluation
et linterpolation sur n points vriant lhypothse (H) en utilisant O(M(n) log n)
oprations (+, , ) de A. Cette complexit peut tre abaisse O(M(n)) si les
points forment une progression gomtrique de raison inversible dans A.
En termes pratiques, si lanneau de base A est un corps ni, les algorithmes
rapides deviennent avantageux pour des degrs de lordre de quelques dizaines : cest
sensiblement mieux que pour les algorithmes rapides de type diviser pour rgner
utiliss aux Chapitres 7 et 9 pour le calcul rapide de pgcd ou dapproximants de
Pad-Hermite ; cela rete une relative simplicit des algorithmes.
Extensions. Lvaluation multipoint et linterpolation sont des instances particu-
lires des problmes modulos multiples et restes chinois snonant comme suit :
Modulos multiples. tant donns des polynmes P, m
1
, . . . , m
r
dans A[X],
avec deg(P) < n =

i
deg(m
i
), calculer les restes :
P mod m
1
, . . . , P mod m
r
.
Restes chinois. tant donns des polynmes b
1
, . . . , b
r
, m
1
, . . . , m
r
dans A[X],
avec m
i
unitaires, trouver P A[X] de degr infrieur n =

i
deg(m
i
) tel que
P mod m
1
= b
1
, . . . , P mod m
r
= b
r
.
Les techniques de ce chapitre sy gnralisent
1
et mnent aux rsultats suivants :
Thorme 2. On peut rsoudre les deux problmes ci-dessus en O(M(n) log n)
oprations (+, , ) dans A.
Naturellement, on peut se poser les questions prcdentes dans le cas o lan-
neau de polynmes A[X] est remplac par lanneau Z, les polynmes m
i
sont rem-
placs par des modulos entiers a
i
et o lon cherche un P Z n chires. Il est
possible dobtenir le mme type de rsultats de complexit, cette fois en comptant
les oprations binaires, mais nous nous limiterons dans la suite au cas polynomial.
La suite de ce chapitre est organise comme suit : dans la Section 3 est dcrite
la mthode dinterpolation de Lagrange, de complexit quadratique. La Section 4
est consacre aux algorithmes rapides sous-jacents la preuve du Thorme 1.
3. Interpolation de Lagrange
Un algorithme de complexit quadratique pour linterpolation polynomiale re-
pose sur une criture explicite du polynme interpolant. Soient b
i
les valeurs
interpoler et a
i
les points dinterpolation vriant lhypothse (H). On peut alors
crire P sous la forme :
P(X) =
n1

i=0
b
i

0jn1, j,=i
X a
j
a
i
a
j
.
1. Pour les restes chinois, lunicit du rsultat est garantie par lhypothse que le rsultant
Res(n
i
, n
j
) est un lment inversible dans A, pour tous i = ). Cette condition technique gnralise
la condition dinversibilit des o
i
o
j
; se rapporter au Chapitre 7 pour la dnition du rsultant.
88 6. CALCULS MODULAIRES, VALUATION ET INTERPOLATION
Cette galit est usuellement appele la formule dinterpolation de Lagrange. Pour
la prouver, il sut dobserver que pour tout i, le produit sannule en a
j
(j ,= i), et
vaut 1 en a
i
. An de simplier lcriture de la formule de Lagrange, posons
A =

j
(X a
j
) et A
i
=

j,=i
(X a
j
) =
A
X a
i
,
pour i = 0, . . . , n 1. Pour i ,= j, on a donc les relations A(a
i
) = 0 et A
i
(a
j
) = 0.
On obtient alors lcriture
P =
n1

i=0
b
i
A
i
(X)
A
i
(a
i
)
.
Une approche directe pour linterpolation revient calculer tout dabord les poly-
nmes A
i
, puis leurs valeurs en les points a
i
, et enn eectuer les combinaisons
linaires ncessaires. Le seul point non-trivial est le calcul des A
i
: si on ny fait pas
attention, on risque de sortir des bornes en O(n
2
) (par exemple, si on les calcule
tous indpendamment, et chacun de manire quadratique). Pour faire mieux, on
partage le gros des calculs, en calculant dabord le polynme A.
Interpolation de Lagrange
Entre : a
0
, . . . , a
n1
A vriant (H) et b
0
, . . . , b
n1
dans A.
Sortie : Lunique polynme P A[X] de degr infrieur n tel que
P(a
i
) = b
i
pour tout i.
1. A 1, P 0
2. Pour i = 0, . . . , n 1 faire
A A (X a
i
)
3. Pour i = 0, . . . , n 1 faire
A
i
A/(X a
i
)
q
i
A
i
(a
i
)
P P +b
i
A
i
/q
i
Proposition 1. Lalgorithme ci-dessus utilise O(n
2
) oprations dans A.
Dmonstration. La multiplication dun polynme de degr d par un poly-
nme de degr 1 prend un temps linaire en d, disons Cd oprations, C tant une
constante. Calculer A demande donc C(1 + 2 + + (n 1)) = O(n
2
) oprations.
Ensuite, chaque passage dans la seconde boucle prend un temps linaire en n. Il y
a n passages, do nouveau un cot quadratique.
4. Algorithmes rapides
4.1. Les ides. Lide fondamentale de lalgorithme dvaluation multipoint
rapide est dutiliser une technique de type diviser pour rgner . Supposons pour
simplier que n est pair et sparons lensemble des points a
0
, . . . , a
n1
en deux pa-
quets, a
0
, . . . , a
n/21
et a
n/2
, . . . , a
n1
. Il est naturel dassocier P deux polynmes
P
0
et P
1
de degr strictement infrieur n/2, tels que :
P
0
(a
0
) = P(a
0
), . . . , P
0
(a
n/21
) = P(a
n/21
) et
P
1
(a
n/2
) = P(a
n/2
), . . . , P
1
(a
n1
) = P(a
n1
).
Pour eectuer cette construction, le choix suivant simpose :
P
0
= P mod (X a
0
) (X a
n/21
)
P
1
= P mod (X a
n/2
) (X a
n1
).
4. ALGORITHMES RAPIDES 89
On a donc ramen le calcul en degr n deux calculs en degr n/2, plus deux
divisions euclidiennes ; on va ensuite itrer ce processus. En bout de course, on
retrouve les valeurs P(a
i
), car celles-ci peuvent galement scrire P mod (X a
i
).
Remarquons que les polynmes par lesquels on eectue les divisions euclidiennes
ne sont pas gratuits : on doit de les (pr)calculer. Pour cela, lide est de les
empiler dans une structure darbre binaire, dont les nuds internes sont tiquets
par des polynmes.
4.2. Larbre des sous-produits. Pour simplier, dans tout ce qui suit, on
suppose que le nombre de points est une puissance de 2, n = 2

. Quand ce nest pas


le cas, on adapte toutes les constructions (on fabrique toujours un arbre binaire,
mais il lui manque alors des nuds internes certains niveaux). On peut donner
la dnition rcursive suivante pour cet arbre (not B) :
Si = 0, B se rduit un nud unique qui contient le polynme X a
0
.
Sinon, soient B
0
, B
1
les arbres associs a
0
, . . . , a
2
1
1
et a
2
1, . . . , a
2

1
.
Soient B
0
et B
1
les polynmes prsents aux racines de B
0
et B
1
. Alors B est
larbre dont la racine contient le produit B
0
B
1
et dont les ls sont B
0
et B
1
.
Graphiquement, on a la reprsentation suivante :
Lintrt de cette structure darbre est double : dune part, il contient tous les
polynmes par lesquels on va diviser lors de lalgorithme dvaluation, dautre part,
le cot de son calcul samortit, et devient essentiellement linaire en le degr.
ArbreSousProduits
Entre : a
0
, . . . , a
n1
dans A, avec n de la forme n = 2

( N).
Sortie : larbre B des sous-produits associ aux points a
i
.
1. Si n = 1, renvoyer X a
0
2. Calculer (par un appel rcursif) B
0
= ArbreSousProduits(a
0
, . . . , a
n/21
)
3. Calculer (par un appel rcursif) B
1
= ArbreSousProduits(a
n/2
, . . . , a
n1
)
4. Calculer A = B
0
B
1
, o B
0
et B
1
sont les racines de B
0
et de B
1
.
5. Renvoyer larbre de racine A et dont les ls sont B
0
et B
1
.
Figure 1. Algorithme rapide pour le calcul de larbre des sous-produits.
90 6. CALCULS MODULAIRES, VALUATION ET INTERPOLATION
Proposition 2. Lalgorithme ArbreSousProduits calcule tous les polynmes
contenus dans larbre B pour O(M(n) log n) oprations arithmtiques dans A.
Dmonstration. Soit T(n) le cot du calcul de larbre pour n points. La
dnition rcursive implique lingalit suivante pour T(n) :
T(n) 2T
_
n
2
_
+ M
_
n
2
_
.
Le rsultat sensuit en invoquant le thorme diviser pour rgner .
4.3. valuation multipoint rapide. Lalgorithme dvaluation multipoint
devient simple crire de manire rcursive, si on sautorise un peu de souplesse
dans lcriture, en supposant prcalculs tous les nuds de larbre.
EvaluationRapide
Entre : a
0
, . . . , a
n1
dans A, avec n de la forme n = 2

( N),
larbre B des sous-produits associ aux points a
i
,
P dans A[X], avec deg P < n.
Sortie : P(a
0
), . . . , P(a
n1
).
1. Si n = 1, renvoyer P
2. P
0
P mod (X a
0
) (X a
n/21
)
3. P
1
P mod (X a
n/2
) (X a
n1
)
4. Calculer (par un appel rcursif) L
0
= P
0
(a
0
), . . . , P
0
(a
n/21
)
5. Calculer (par un appel rcursif) L
1
= P
1
(a
n/2
), . . . , P
1
(a
n1
)
6. Renvoyer L
0
, L
1
Figure 2. Algorithme rapide dvaluation multipoint par division rpte.
Graphiquement, cela correspond faire descendre les restes de divisions eucli-
diennes dans larbre des sous-produits :
Or, la division avec reste par un polynme unitaire de degr n peut seectuer
en O(M(n)) oprations de A (Chapitre 5). Nous obtenons le rsultat de complexit
suivant :
Proposition 3. La complexit de lalgorithme EvaluationRapide (Figure 2) est
de O(M(n) log n) oprations dans A.
4. ALGORITHMES RAPIDES 91
Dmonstration. Soit T(n) le cot du calcul pour n points. Lalgorithme ci-
dessus implique la rcurrence suivante pour T(n) :
T(n) 2 T
_
n
2
_
+O(M(n)),
et le rsultat en dcoule grce au thorme diviser pour rgner .
Exercice 2. Si A est une racine primitive n-ime de lunit, montrer que
lalgorithme FFT vu au Chapitre 2 est un cas particulier de lalgorithme en Figure 2.
Exercice 3. Estimer la complexit de la variante de lalgorithme Evaluation-
Rapide dans laquelle larbre des sous-produits nest pas prcalcul, les polynmes
modulo lesquels seectuent les divisions tant calculs la vole.
4.4. Sommes de fractions. Un problme intermdiaire traiter avant de
rsoudre ecacement le problme dinterpolation est celui du calcul rapide dune
somme de fractions. Rappelons les dnitions introduites dans la Section 3. partir
des points a
i
, nous y avions dni les polynmes
A =

j
(X a
j
) et A
i
=

j,=i
(X a
j
) =
A
X a
i
.
Il tait apparu que pour eectuer linterpolation, il susait de savoir eectuer la
tche suivante : tant donnes des valeurs c
i
, calculer le numrateur et le dnomi-
nateur de la fraction rationnelle
(1)
n1

i=0
c
i
X a
i
.
Cest cette question que nous allons rpondre maintenant ; nouveau, on utilise
une ide de type diviser pour rgner : par deux appels rcursifs, on calcule
S
1
=
n/21

i=0
c
i
X a
i
et S
2
=
n

i=n/2
c
i
X a
i
et on renvoie S = S
1
+ S
2
. Soit T(n) le cot du calcul pour n points. Le cot de
lalgorithme SommesFractions esquiss ci-dessus satisfait la rcurrence :
T(n) 2T
_
n
2
_
+O(M(n)),
do lon dduit le rsultat suivant, en faisant encore une fois appel au thorme
diviser pour rgner .
Proposition 4. Lalgorithme SommesFractions calcule le dnominateur et le
numrateur de la fraction rationnelle (1) en O(M(n) log n) oprations dans A.
4.5. Interpolation. ce stade, linterpolation ne pose plus de relle dicult.
Au vu des formules de la Section 3, le polynme interpolant les valeurs b
i
aux
points a
i
est donn par :
P(X) =
n1

i=0
b
i
A
i
(X)
A
i
(a
i
)
= A(X)
n1

i=0
b
i
/A
i
(a
i
)
X a
i
.
Daprs les paragraphes prcdents, on sait comment calculer rapidement la fraction
rationnelle

c
i
/(Xa
i
) ; il ne reste plus qu calculer les constantes c
i
= b
i
/A
i
(a
i
).
Le calcul itratif des constantes c
i
reviendrait valuer n polynmes dirents,
chacun en un point, et aurait donc une complexit trop leve, quadratique en n.
La proposition suivante permet de remplacer ces n valuations par une valuation
multipoint dun unique polynme en n points, ce qui mne un gain de complexit.
Proposition 5. Pour tout i = 0, . . . , n 1, on a A
i
(a
i
) = A
t
(a
i
).
92 6. CALCULS MODULAIRES, VALUATION ET INTERPOLATION
InterpolationRapide
Entre : a
0
, . . . , a
n1
A vriant (H) et b
0
, . . . , b
n1
dans A.
Sortie : Lunique polynme P A[X] de degr infrieur n tel que
P(a
i
) = b
i
pour tout i.
1. Calculer larbre des sous-produits associ aux points a
i
(de racine A).
2. (d
0
, . . . , d
n1
) EvaluationRapide(A
t
, (a
0
, . . . , a
n1
))
3. (c
0
, . . . , c
n1
) (b
0
/d
0
, . . . , b
n1
/d
n1
)
4. R SommesFractions(c
0
/(X a
0
), . . . , c
n1
/(X a
n1
))
5. Renvoyer le numrateur de R.
Figure 3. Algorithme dinterpolation rapide.
Dmonstration. On drive A, ce qui fournit lgalit :
A
t
=
n1

i=0

j,=i
(X a
j
) =
n1

i=0
A
i
.
On a vu prcdemment que A
i
(a
j
) = 0 pour i ,= j, ce qui donne le rsultat.
Lalgorithme dinterpolation et lestimation de son cot sen dduisent facilement.
Proposition 6. La complexit de lalgorithme InterpolationRapide en Figure 3
est O(M(n) log n) oprations de A.
Dmonstration. Cest une consquence des Propositions 2, 3 et 4.
4.6. valuation et interpolation sur une suite gomtrique. Dans cette
section nous montrons que tout polynme de degr n peut tre valu et interpol
sur des points en progression gomtrique 1, q, . . . , q
n1
en O(M(n)) oprations.
Proposition 7. Soit q un lment inversible de A, et a
i
= q
i
pour 0 i < n.
Alors :
1. On peut valuer tout polynme P A[X] de degr strictement infrieur n
sur les points a
0
, . . . , a
n1
en O(M(n)) oprations dans A.
2. Si les points (a
i
) vrient lhypothse (H) on peut eectuer linterpolation
en les points a
0
, . . . , a
n1
en O(M(n)) oprations dans A.
Dmonstration. Soit P = p
0
+p
1
X+ +p
n1
X
n1
. Pour i = 0, . . . , 2n2,
on introduit les nombres triangulaires t
i
= i(i 1)/2 et la suite
i
= q
t
i
; pour
i = 0, . . . , n 1 on construit
i
= p
i
/
i
. Tous les lments q
t
i
,
i
et
i
peuvent tre
calculs en O(n) oprations, en utilisant lgalit q
t
i+1
= q
i
q
t
i
. Lobservation cl est
que ij = t
i+j
t
i
t
j
et donc q
ij
=
1
i

1
j

i+j
. Lalgorithme dvaluation repose
alors sur la formule
P(q
i
) =
n1

j=0
p
j
q
ij
=
1
i

n1

j=0

i+j
,
qui montre que les valeurs P(q
i
) sont, des facteurs constants prs, donnes par les
coecients de X
n1
, . . . , X
2n2
dans le produit de

n1
i=0

i
X
ni1
et

2n2
i=0

i
X
i
.
Pour linterpolation, on adapte lalgorithme InterpolationRapide en Figure 3, de
faon conomiser un facteur log en tirant parti de la structure des points a
i
= q
i
.
On commence par remarquer que la racine A(X) de larbre des sous-produits
peut tre calcule en O(M(n)) oprations dans A, par un algorithme qui ne ncessite
EXERCICES 93
pas la construction de tout larbre des sous-produits, donc dirent de lalgorithme
donn en Figure 1. En eet, puisque les points a
i
forment une suite gomtrique, il
est possible de calculer rcursivement A =

n1
i=0
(Xa
i
) par un seul appel rcursif
calculant B
0
=

n/21
i=0
(X a
i
), suivi du calcul de B
1
=

n1
i=n/2
(X a
i
) partir
de B
0
par une homothtie de cot O(n), et enn du calcul du produit A = B
0
B
1
.
Par ailleurs, observons que dans lalgorithme InterpolationRapide, le calcul de
tout larbre des sous-produits a t utilis uniquement pour lvaluation multipoint
de A
t
. Or, par la premire partie de la Proposition 7, lvaluation de A
t
sur les
points a
i
peut seectuer en O(M(n)) oprations.
Il nous reste prouver que la somme des fractions (1), qui devient ici
(2)
N
A
=
n1

i=0
c
i
X q
i
peut galement tre dtermine pour le mme prix.
On adopte la stratgie suivante : on calcule le dveloppement en srie lordre n
de la fraction (2). Celui-ci sut pour en dduire son numrateur N(X). Pour ce
faire, on utilise la formule 1/(a X) =

ij
a
j1
X
j
valable dans A[[X]] pour
tout a A inversible. On obtient :
n1

i=0
c
i
X q
i
mod X
n
=
n1

i=0
_
_
n1

j=0
c
i
q
i(j+1)
X
j
_
_
=
n1

j=0
C(q
j1
)X
j
,
o C(X) est le polynme

n1
i=0
c
i
X
i
. Or, les points q
1
, q
2
, . . . , q
n
tant en
progression gomtrique, on sait valuer C sur ces points en O(M(n)).
Exercice 4. Montrer que tout larbre des sous-produits associ aux points
a
i
= q
i
, i = 0, . . . , n 1, peut tre calcul en M(n) +O(nlog n) oprations dans A.
Une approche valuation-interpolation reposant sur la Proposition 7 permet
dobtenir un bon algorithme pour la multiplication des matrices polynomiales.
Corollaire 1. Soit K un corps possdant au moins 2d lments. Il est pos-
sible de multiplier deux matrices polynomiales de /
n
(K[X]) de degr au plus d en
MM(n, d) = O(d MM(n) +n
2
M(d)) oprations dans K.
Exercices
Exercice 5 (Calcul rapide de sommes de puissances). Soient x
1
, x
2
, . . . , x
n
des lments de K et soit P
k
=

n
i=1
x
k
i
pour k 1. Montrer que, partir de la
donne des x
1
, . . . , x
n
, il est possible de calculer :
1. tous les P
k
dont les indices k n sont une puissance de 2 en O(nlog(n))
oprations dans K.
2. tous les P
1
, . . . , P
n
en O(M(n) log(n)) oprations dans K.
Exercice 6. Estimer la complexit de lalgorithme direct pour valuer un
polynme de degr au plus n et ses premires n drives en un point. Imaginer un
algorithme de complexit quasi-linaire rsolvant ce problme.
Exercice 7. Soient a, b, c, d A. Montrer quon peut valuer tout polynme
de degr au plus n en ba
2i
+ca
i
+d, 0 i < n, en O(M(n)) oprations dans A.
Exercice 8. Soit K un corps, soient m
1
, m
2
K[X] des polynmes premiers
entre eux, de degrs au plus n, et soient v
1
, v
2
K[X] de degrs infrieurs n.
Donner un algorithme de complexit O(M(n) log n) qui calcule f K[X] de degr
infrieur 2n tel que f = v
1
mod m
1
et f = v
2
mod m
2
. [Indication : utiliser un
pgcd tendu.]
94 6. CALCULS MODULAIRES, VALUATION ET INTERPOLATION
En dduire un algorithme de type diviser pour rgner pour linterpolation
polynomiale en degr n, de complexit O(M(n) log
2
n).
Notes
Pour valuer un polynme P(X) = p
n1
X
n1
+ +p
0
en un seul point a, le
schma de Horner P(a) = ( ((p
n1
a + p
n2
)a + p
n3
)a + + p
0
) minimise le
nombre doprations (additions ou multiplications). Cet algorithme eectue n 1
additions et n1 multiplications dans A, et on ne peut pas faire mieux en gnral (si
les coecients du polynme sont algbriquement indpendants moralement, sils
sont des indtermines). Ce rsultat doptimalit a t conjectur par Ostrowski [15]
et prouv par Pan [16]. Par contre, pour un polynme donn, il peut tre possible
de faire mieux : lvaluation de P(X) = X
n1
se fait en temps logarithmique en n.
Une forme particulire du thorme des restes chinois a t enonce il y a plus
de 2000 ans par le mathmaticien chinois Sun Tsu. Le traitement moderne est d
Gauss [9]. Ce thorme admet une formulation trs gnrale, en termes didaux
danneaux non ncessairement commutatifs : Si R est un anneau et I
1
, . . . , I
r
des
idaux ( gauche) de R mutuellement premiers (i. e. I
i
+ I
j
= R pour i < j),
alors lanneau quotient R/
i
I est isomorphe lanneau produit

R/I
i
via liso-
morphisme x mod I (x mod I
1
, . . . , x mod I
r
). La formule dinterpolation de
Lagrange est due Waring [23]. Les avantages pratiques de larithmtique modu-
laire et les premires applications en informatique du thorme des restes chinois
ont t mis en vidence dans les annes 1950 par Svoboda et Valach [21], et ind-
pendamment par Garner [8] et Takahasi et Ishibashi [22].
Le premier algorithme sous-quadratique, de complexit arithmtique O
_
n
1,91
),
pour lvaluation multipoint est d Borodin et Munro [4] et repose sur une ap-
proche pas de bbs / pas de gants exploitant la multiplication sous-cubique des
matrices de Strassen [19]. Horowitz [11] a tendu ce rsultat linterpolation. La
Proposition 2 calcule ecacement les fonctions symtriques lmentaires de n l-
ments a
0
, . . . , a
n1
de A; elle est due galement Horowitz [11].
Sinspirant de la FFT, Fiduccia [7] eut lide dun algorithme pour lvaluation
multipoint base de division polynomiale rcursive. Ne disposant pas de division
de complexit sous-quadratique, son algorithme rcursif reste quadratique. Borodin
et Moenck corrigent ce point dans deux articles successifs [13, 3], reposant sur les
algorithmes quasi-optimaux pour la division de [13, 20]. Montgomery [14] amliore
la constante dans la complexit O
_
M(n) log n) de lvaluation multipoint, sous lhy-
pothse que la FFT est utilise pour la multiplication polynomiale. Lalgorithme
dvaluation sur une suite gomtrique expos dans ce chapitre vient de [17, 2].
lorigine, cet algorithme a permis de montrer quune DFT

, pour racine primitive


n-ime de lunit, peut tre eectue en O(nlog n) oprations mme si n nest pas
une puissance de 2. Lalgorithme dinterpolation est une adaptation de [12]. Les al-
gorithmes fournissant les meilleures constantes actuellement connues dans les O()
du Thorme 1 sont obtenus laide du principe de transposition de Tellegen [5, 6].
On connat peu de choses sur la complexit intrinsque de lvaluation multi-
point et de linterpolation en degr n. Strassen [20] a prouv une borne infrieure de
type nlog n. Shoup et Smolensky [18] ont montr que ces bornes restent essentiel-
lement vraies mme dans un modle o des prcalculs en quantit illimite sur les
points dvaluation sont permis. Cependant, loptimalit des meilleurs algorithmes
connus, de complexit O(nlog
2
n), reste un problme ouvert. Mme dans le cas
particulier o les points dvaluation sont en progression arithmtique, on ne dis-
pose daucun algorithme dvaluation multipoint de complexit O(M(n)), ni dune
preuve quun tel algorithme nexiste pas. De mme, pour des points quelconques
a
0
, . . . , a
n1
on ne connat pas dalgorithme de complexit O(M(n)) pour calculer
Bibliographie 95
le polynme

i
(X a
i
). Notons toutefois que de tels algorithmes existent dans les
cas particuliers o les a
i
forment une progression arithmtique ou gomtrique [6].
Lexercice 8 provient de [10] ; historiquement, ce fut le premier algorithme
rapide pour les restes chinois. Les exercices 6 et 7 sont tirs de [1].
Bibliographie
[1] Aho (A. V.), Steiglitz (K.), and Ullman (J. D.). Evaluating polynomials at xed sets of
points. SIAM Journal on Computing, vol. 4, n4, ip, pp. 533539.
[2] Bluestein (L. I.). A linear ltering approach to the computation of the discrete Fourier
transform. IEEE Trans. Electroacoustics, vol. AU-18, ipo, pp. 451455.
[3] Borodin (A.) and Moenck (R. T.). Fast modular transforms. Comput. Sys. Sci., vol. 8, n3,
ip, pp. 366386.
[4] Borodin (A.) and Munro (I.). Evaluation of polynomials at many points. Information Pro-
cessing Letters, vol. 1, n2, ipi, pp. 6668.
[5] Bostan (Alin), Lecerf (Grgoire), and Schost (ric). Tellegens principle into practice. In
Sendra (J. R.) (editor), ISSAC03. pp. 3744. ACM Press, oo.
[6] Bostan (Alin) and Schost (ric). Polynomial evaluation and interpolation on special sets
of points. Journal of Complexity, vol. 21, n4, oo, pp. 420446.
[7] Fiduccia (C. M.). Polynomial evaluation via the division algorithm : The fast Fourier
transform revisited. In 4th ACM Symposium on Theory of Computing, pp. 8893. ip.
[8] Garner (Harvey L.). The residue number system. In IRE-AIEE-ACM59 Western joint
computer conference. pp. 146153. ACM, NY, USA, ipp.
[9] Gauss (Carl Friedrich). Disquisitiones arithmeticae. Yale University Press, New Haven,
Conn., ip66, Translated into English by Arthur A. Clarke, S. J, xx+472p.
[10] Heindel (L. E.) and Horowitz (E.). On decreasing the computing time for modular arith-
metic. In 12th symposium on switching and automata theory. pp. 126128. IEEE, ipi.
[11] Horowitz (E.). A fast method for interpolation using preconditioning. Information Proces-
sing Letters, vol. 1, n4, ip, pp. 157163.
[12] Mersereau (Russell M.). An algorithm for performing an inverse chirp :-transform. IEEE
Trans. Acoust. Speech Signal Processing, vol. ASSP-22, n5, ip, pp. 387388.
[13] Moenck (R. T.) and Borodin (A.). Fast modular transforms via division. In Thirteenth
Annual IEEE Symposium on Switching and Automata Theory, pp. 9096. ip.
[14] Montgomery (P. L.). An FFT extension of the elliptic curve method of factorization.
PhD thesis, University of California, Los Angeles CA, ipp.
[15] Ostrowski (A.). On two problems in abstract algebra connected with Horners rule. In Stu-
dies in mathematics and mechanics presented to Richard von Mises, pp. 4048. Academic
Press Inc., NY, ip.
[16] Pan (V. Ya.). Methods of computing values of polynomials. Russian Mathematical Surveys,
vol. 21, n1, ip66, pp. 105136.
[17] Rabiner (L. R.), Schafer (R. W.), and Rader (C. M.). The chirp :-transform algorithm and
its application. Bell System Tech. J., vol. 48, ip6p, pp. 12491292.
[18] Shoup (Victor) and Smolensky (Roman). Lower bounds for polynomial evaluation and
interpolation problems. Computational Complexity, vol. 6, n4, ipp6p, pp. 301311.
[19] Strassen (V.). Gaussian elimination is not optimal. Numerische Mathematik, vol. 13, ip6p,
pp. 354356.
[20] Strassen (V.). Die Berechnungskomplexitt von elementarsymmetrischen Funktionen und
von Interpolationskoezienten. Numerische Mathematik, vol. 20, ip, pp. 238251.
[21] Svoboda (A.) and Valach (M.). Opertorov obvody (Operational circuits). Stroje na Zpra-
covn Informac (Information Processing Machines), vol. 3, ip, pp. 247295.
[22] Takahasi (H.) and Ishibashi (Y.). A new method for exact calculation by a digital computer.
Information Processing in Japan, ip6i, pp. 2842.
[23] Waring (E.). Problems concerning interpolations. Philosophical Transactions of the Royal
Society of London, vol. 59, ip, pp. 5967.
CHAPITRE 7
Pgcd et rsultant
Rsum
Lalgorithme dEuclide classique permet de calculer le pgcd et le pgcd
tendu. Il est reli aux rsultants, qui permettent un calcul dlimina-
tion. Le pgcd et le rsultant peuvent tre calculs en complexit quasi-
optimale.
Les calculs de pgcd sont cruciaux pour la simplication des fractions, quil
sagisse de fractions dentiers ou de fractions de polynmes. Les algorithmes ecaces
de factorisation de polynmes reposent par ailleurs de manire essentielle sur le pgcd
de polynmes. Comme pour la multiplication, les algorithmes ecaces de pgcd sont
plus complexes dans le cas des entiers que dans le cas des polynmes, cause des
retenues, et nous nen dtaillons que la version polynomiale. Dans les dnitions
et rsultats de nature moins algorithmique, nous utilisons le cadre algbrique des
anneaux euclidiens qui permet de traiter simultanment toutes les applications que
nous avons en vue.
Lalgorithme dEuclide pour le calcul du pgcd est prsent en Section 1. Dans
le cas des polynmes de K[X], sa complexit est quadratique en nombre dopra-
tions dans le corps K. Le rsultant est galement li lalgorithme dEuclide, ses
proprits et son calcul sont prsents en Section 2. En outre, une technique dite
des sous-rsultants permet de rduire lexplosion de la taille des coecients
intermdiaires dont soure lalgorithme dEuclide pour le pgcd dans Q[X]. Le cha-
pitre se termine en Section 3 sur un algorithme de complexit quasi-optimale pour
le pgcd dans K[X], exploitant la multiplication polynomiale rapide.
Dans ce chapitre, A dsignera toujours un anneau intgre (commutatif et sans
diviseurs de zro) et unitaire.
1. Algorithme dEuclide
1.1. Le pgcd. Des pgcd peuvent tre dnis dans tout anneau intgre A : on
appelle plus grand diviseur commun (pgcd) de A et B tout G A qui divise A et B
et tel que tout diviseur de A et de B divise aussi G. Contrairement lusage, nous
notons dans ce chapitre pgcd(A, B) tout pgcd de A et de B sans faire de choix de
normalisation parmi les pgcd de A et de B.
Lalgorithme dEuclide prsent dans cette section permet le calcul du pgcd
dans Z ou dans lanneau K[X], o K est un corps. Il repose sur lexistence dune
division euclidienne dans ces anneaux. Un anneau intgre A est appel anneau
euclidien sil existe une fonction de taille d : A N telle que pour tout
a A, b A 0, il existe q et r dans A avec
a = qb +r, d(r) < d(b).
En particulier, d(0) < d(b) ds que b est non nul. Dans le cas des entiers, la valeur
absolue fournit une telle fonction d, et le degr remplit ce rle pour les polynmes.
La notation r := a mod b sert dans les deux cas dnir r partir de a et de b.
Lentier ou le polynme r est appel reste de la division euclidienne de a par b.
97
98 7. PGCD ET RSULTANT
Euclide(A, B)
Entre : A et B dans A.
Sortie : Un pgcd de A et B.
1. R
0
:= A; R
1
:= B; i := 1.
2. Tant que R
i
est non nul, faire :
R
i+1
:= R
i1
mod R
i
i := i + 1
3. Renvoyer R
i1
.
Figure 1. Lalgorithme dEuclide.
Exercice 1. Un lment dun anneau est dit irrductible si les produits qui
lui sont gaux font tous intervenir un lment inversible. Tout anneau euclidien
est factoriel (cest--dire que tout lment non nul y a une factorisation unique
en irrductibles, lordre prs de la factorisation et des multiplications prs des
facteurs par des inversibles de lanneau). Le pgcd se lit aussi sur les factorisations.
Si A et B se factorisent sous la forme
A = am
k
1
1
m
k
s
s
, B = bm

1
1
m

s
s
,
o a et b sont inversibles dans A, les m
i
sont irrductibles et les k
i
et
i
sont des
entiers positifs ou nuls, montrer qualors un pgcd de A et B est
G = m
min(k
1
,
1
)
1
m
min(k
s
,
s
)
s
.
Autrement dit, on met dans G les facteurs irrductibles communs de A et B,
avec la plus grande multiplicit possible. La factorisation dans Z ou dans K[X] est
plus coteuse que le pgcd et cette proprit nest donc pas utilise pour le calcul
du pgcd.
1.2. Calcul du pgcd. tant donns A, B dans un anneau euclidien A, lal-
gorithme dEuclide en Figure 1 calcule une suite de restes successifs dont la taille
dcrot, jusqu atteindre le pgcd.
La terminaison provient de la dcroissance stricte de la taille chaque tape.
La correction de cet algorithme se dduit de la relation
pgcd(F, G) = pgcd(H, G) pour H := F mod G,
dont la preuve est laisse en exercice. Par rcurrence, il sensuit que pgcd(F, G) =
pgcd(R
i
, R
i+1
) pour tout i. Si en outre R
i+1
est nul, alors pgcd(R
i
, R
i+1
) = R
i
, ce
qui prouve la correction.
Exemple 1. Soient A = X
4
13X
3
+ 2X
2
X 1 et B = X
2
X 1 dans
Q[X]. La suite des restes est :
R
0
= X
4
13X
3
+ 2X
2
X 1,
R
1
= X
2
X 1,
R
2
= 22X 10,
R
3
= 41/121,
R
4
= 0,
de sorte que 41/121 est un pgcd de A et B et donc 1 aussi.
Thorme 1. Lalgorithme dEuclide calcule un pgcd de A et B dans K[X] en
O(deg Adeg B) oprations dans K.
1. ALGORITHME DEUCLIDE 99
Dmonstration. La correction a t prouve dans le cas gnral. Pour ltude
de complexit, nous supposons dabord que deg A deg B. Daprs le Chapitre 4
(p. 76), le calcul naf de P mod Q peut tre eectu en 2 deg Q(deg P deg Q+1)
oprations de K. Il sensuit que le cot de lalgorithme dEuclide est born par la
somme des 2 deg(R
i
)(deg R
i1
deg R
i
+ 1), pour i 1. Tous les deg(R
i
) sont
majors par deg A, de sorte que le cot est born par 2 deg A

i1
(deg R
i1

deg R
i
+ 1) = 2 deg A(deg R
0
+ deg B) = O(deg Adeg B).
Si le degr de B est suprieur celui de A, la premire tape ne cote pas
dopration arithmtique, et la borne ci-dessus sapplique au reste du calcul.
Exercice 2. noncer et prouver lanalogue entier du rsultat du Thorme 1.
La borne de complexit quadratique rete bien le comportement de lalgo-
rithme : dans une excution typique de lalgorithme, les quotients ont degr 1
chaque itration, les degrs des restes successifs diminuent de 1 chaque itration
et leur calcul est linaire ; le nombre de coecients intermdiaires calculs est qua-
dratique et ils sont calculs aussi ecacement que possible par un algorithme qui
les calcule tous.
1.3. Pgcd tendu et inversion modulaire.
Relation de Bzout. Une relation de la forme G = UA+V B qui donne le pgcd G
de deux polynmes A et B avec deux cofacteurs polynomiaux U et V est appele
une relation de Bzout. Lalgorithme dEuclide tendu est une modication lgre
de lalgorithme dEuclide qui calcule non seulement le pgcd, mais aussi une relation
de Bzout particulire,
(1) UA+V B = G, avec d(UG) < d(B) et d(V G) < d(A).
Une fois le pgcd G choisi, les cofacteurs U et V sont rendus uniques par la contrainte
sur les tailles. Dans de nombreuses applications, cest davantage de ces cofacteurs
U et V que du pgcd lui-mme quon a besoin. On parle alors de calcul de pgcd
tendu. Ce calcul intervient par exemple de manire importante dans la manipu-
lation des nombres algbriques (Exemple 3 ci-dessous), dans le calcul dans des
algbres quotient K[X]/(P) (Exemples 2 et 4 ci-dessous, cf. aussi la Section 2.4 en
page 77), et dans le dveloppement rapide des sries algbriques (Chapitre 8). Il
intervient galement dans dautres algorithmes qui ne seront pas abords dans ce
cours, par exemple pour le calcul des restes chinois rapides , pour la factorisation
de polynmes dans Z[X] ou Q[X] par des techniques de type Hensel , ou pour
lintgration symbolique ( la Hermite).
Mais, avant tout, les calculs de pgcd tendu permettent deectuer des inver-
sions modulaires. Lorsque A et B sont premiers entre eux, (cest--dire si G est un
lment inversible de A), alors llment V est un inverse de B modulo A.
Exemple 2. La relation de Bzout pour a +bX et 1 +X
2
dans R[X] scrit :
(a bX)(a +bX) +b
2
(1 +X
2
) = a
2
+b
2
.
Linverse de B = a +bX modulo A = 1 +X
2
vaut donc
V =
a bX
a
2
+b
2
.
Puisque le corps des complexes sobtient par le quotient R[X]/(X
2
+1), cette rela-
tion nest autre que la formule dinversion familire
1
a +ib
=
a ib
a
2
+b
2
.
100 7. PGCD ET RSULTANT
Si A A est irrductible, alors A/(A) est un corps, et le calcul de la relation de
Bzout permet dy eectuer la division : si B ,= 0 mod A, alors N/B = NV mod A.
Exemple 3. La simplication de la fraction rationnelle
r =

4
+ 1

7
1
=
25 34
169
o est le nombre dor , dni par A() = 0 pour A(X) = X
2
X 1, est
obtenue par les trois calculs suivants :
calcul du reste U = 13X + 7 par U := X
7
1 mod A,
dtermination de la relation de Bzout
13X 20
169
U A = 1,
calcul du reste V = 25X 34 par V := (13X 20)(X
4
X + 1) mod A.
Plus gnralement, dans le cas o A K[X] est un polynme irrductible, ces
calculs montrent que le corps K() des fractions rationnelles en racine de A est un
espace vectoriel dont une base est 1, ,
2
, . . . ,
deg A1
. Les algorithmes dEuclide
et dEuclide tendu fournissent un moyen de calcul dans cette reprsentation. Il est
ainsi possible de manipuler de manire exacte les racines dun polynme de degr
arbitraire sans rsoudre .
Exemple 4. Lorsque llment A A nest pas irrductible, A/(A) nest pas
un corps. Cependant, les lments inversibles peuvent y tre inverss par le mme
calcul que ci-dessus. Lorsquun lment B non nul nest pas inversible, la relation
de Bzout se produit avec un G dirent de 1. Il est alors possible de tirer parti
de cette information (un facteur de A) en scindant le calcul dune part sur G et
dautre part sur B/G.
Exemple 5. Le mme calcul qu lexemple 3 fonctionne sur des entiers :
r =
25
33
5 mod 7
se dduit de
33 mod 7 = 5, 3 5 2 7 = 1, 3 25 mod 7 = 5.
Exercice 3. Soit p un nombre premier et soit a un entier non multiple de p.
Donner un algorithme pour le calcul de linverse de a modulo p utilisant le petit
thorme de Fermat (a
p1
= 1 mod p) et lexponentiation binaire. Analyser la com-
plexit binaire de cet algorithme et comparer avec lapproche par Euclide tendu.
Calcul des cofacteurs. Lide-cl est de suivre pendant lalgorithme dEuclide la
dcomposition de chacun des R
i
sur A et B. Autrement dit, pour tout i, lalgorithme
calcule des lments U
i
et V
i
tels que
U
i
A+V
i
B = R
i
,
dont les tailles sont bien contrles. Pour i = 0, il sut de poser U
0
= 1, V
0
= 0, ce
qui correspond lgalit
1 A+ 0 B = A = R
0
.
Pour i = 1, lgalit
0 A+ 1 B = B = R
1
est obtenue avec U
1
= 0, V
1
= 1. Ensuite, la division euclidienne
R
i1
= Q
i
R
i
+R
i+1
2. RSULTANT 101
AEE(A, B)
Entre : A et B dans A.
Sortie : Un pgcd G de A et B, et les cofacteurs U et V de lidentit de
Bzout UA+V B = G.
1. R
0
:= A; U
0
:= 1 ; V
0
:= 0 ; R
1
:= B; U
1
:= 0 ; V
1
:= 1 ; i := 1.
2. Tant que R
i
est non nul, faire :
(Q
i
, R
i+1
) := QuotRem(R
i1
, R
i
) ; # division euclidienne
U
i+1
:= U
i1
Q
i
U
i
; V
i+1
:= V
i1
Q
i
V
i
;
i := i + 1
3. Renvoyer R
i1
, U
i1
, V
i1
.
Figure 2. Lalgorithme dEuclide tendu.
donne la relation
R
i+1
= R
i1
Q
i
R
i
= (U
i1
Q
i
U
i
)A+ (V
i1
Q
i
V
i
)B,
qui pousse dnir U
i+1
par U
i1
Q
i
U
i
et V
i+1
par V
i1
Q
i
V
i
. partir de
cette relation, une preuve par rcurrence montre que les conditions de tailles de la
relation de Bzout sont satisfaites.
Lalgorithme est rsum en Figure 2. nouveau, dans le cas des polynmes ou
des entiers, la complexit est quadratique.
2. Rsultant
2.1. Matrice de Sylvester. Lalgorithme dEuclide pour deux polynmes
A, B une variable est troitement reli la matrice de Sylvester. Si
A = a
m
X
m
+ +a
0
, (a
m
,= 0), et B = b
n
X
n
+ +b
0
, (b
n
,= 0),
appartiennent A[X], cette matrice, carre de taille m+n, scrit
Syl(A, B) =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
a
m
a
m1
. . . a
0
a
m
a
m1
. . . a
0
.
.
.
.
.
.
.
.
.
a
m
a
m1
. . . a
0
b
n
b
n1
. . . b
0
b
n
b
n1
. . . b
0
.
.
.
.
.
.
.
.
.
b
n
b
n1
. . . b
0
_
_
_
_
_
_
_
_
_
_
_
_
_
_
avec les n premires lignes contenant les coecients de A et les m suivantes conte-
nant les coecients de B.
La transpose de cette matrice reprsente lapplication linaire
(U, V ) AU +BV,
en se limitant aux paires (U, V ) tels que deg U < deg B et deg V < deg A, et en uti-
lisant la base des monmes 1, X, . . . , X
m+n1
larrive. Les combinaisons linaires
des lignes de la matrice de Sylvester donnent donc les coecients des polynmes
qui peuvent tre obtenus comme image. Au vu de la relation de Bzout (1), le pgcd
de A et B peut tre obtenu ainsi et il est caractris comme llment de plus petit
degr qui peut ltre. Ceci permet de le lire sur une forme chelonne en ligne de
la matrice Syl(A, B) (cf. Dnition 3, page 44).
102 7. PGCD ET RSULTANT
Proposition 1. Soient A, B deux polynmes de K[X]. La forme chelonne
en ligne de la matrice de Sylvester Syl(A, B) contient sur sa dernire ligne non
nulle les coecients dun pgcd de A et B. En outre, la dimension du noyau de cette
matrice est le degr du pgcd.
Exemple 6. Pour les polynmes A = X
4
X
3
7X
2
+ 2X + 3 et B =
X
3
4X
2
+ 2X + 3, la matrice de Sylvester et sa forme chelonne en ligne sont :
_
_
_
_
_
_
_
_
_
_
1 1 7 2 3 0 0
0 1 1 7 2 3 0
0 0 1 1 7 2 3
1 4 2 3 0 0 0
0 1 4 2 3 0 0
0 0 1 4 2 3 0
0 0 0 1 4 2 3
_
_
_
_
_
_
_
_
_
_
et
_
_
_
_
_
_
_
_
_
_
1 1 7 2 3 0 0
0 1 1 7 2 3 0
0 0 1 1 7 2 3
0 0 0 14 45 3 18
0 0 0 0
5
7
12
7
9
7
0 0 0 0 0
1
10

3
10
0 0 0 0 0 0 0
_
_
_
_
_
_
_
_
_
_
.
La dernire ligne non nulle donne le pgcd X 3.
Definition 1. Le rsultant de A et B est le dterminant de la matrice de
Sylvester Syl(A, B). Il est not Res(A, B), ou Res
X
(A, B) si lon veut insister sur
llimination de la variable X.
Le rsultant peut tre vu comme une condition de cohrence pour le systme
form par les deux polynmes A et B.
Corollaire 1. Soient A et B deux polynmes de K[X]. Alors A et B sont
premiers entre eux si et seulement si Res(A, B) ,= 0.
Dmonstration. Le dterminant dune matrice carre se lit sur la forme che-
lonne en ligne en faisant le produit des lments diagonaux. Il est non nul si et
seulement si tous les lments diagonaux le sont et dans ce cas un pgcd non nul
est sur la dernire ligne. linverse, sil existe un pgcd G non nul, alors les poly-
nmes X
k
G montrent lexistence de lignes avec un coecient de tte non nul dans
chaque colonne de la forme chelonne.
Exemple 7. Le discriminant de A est par dnition le rsultant de A et sa
drive A
t
. Il sannule lorsque ces deux polynmes ont une racine commune dans
une clture algbrique de A, cest--dire, en caractristique nulle, lorsque A a une
racine multiple.
Exercice 4. Calculer le discriminant de aX
2
+bX+c en prenant le dterminant
de la matrice de Sylvester.
2.2. Applications du rsultant.
Calculs de projections. Algbriquement, la rsolution dun systme polynomial
se ramne souvent une question dlimination. Lorsquelle est possible, llimina-
tion successive des variables amne le systme dentre sous une forme triangulaire.
De proche en proche, la rsolution dun tel systme se rduit alors la manipulation
de polynmes une variable, pour lesquels compter, isoler, . . . , les solutions est
bien plus facile.
Gomtriquement, llimination correspond une projection. Cette section
montre comment le rsultant de deux polynmes permet de traiter ce genre de
problmes, pour les systmes de deux quations en deux inconnues. Le schma g-
nral est reprsent en Figure 3. Cette opration est la base dune technique
plus gnrale pour un nombre arbitraire dquations et dinconnues, la rsolution
gomtrique, qui sera prsente au Chapitre 22.
2. RSULTANT 103
Figure 3. Le rsultant calcule des projections.
Figure 4. Les deux courbes de lexemple 8.
Exemple 8. Les deux courbes de la Figure 4 ont pour quations
A = (X
2
+Y
2
)
3
4X
2
Y
2
= 0, B = X
2
(1 +Y ) (1 Y )
3
= 0.
Ces deux polynmes sont irrductibles et leur pgcd, qui vaut 1, ne renseigne pas sur
leurs racines communes. Les rsultants par rapport X et Y donnent en revanche
des polynmes qui sannulent sur les coordonnes de ces points dintersection :
Res
X
(A, B) = (4Y
7
+ 60Y
6
152Y
5
+ 164Y
4
95Y
3
+ 35Y
2
9Y + 1)
2
,
Res
Y
(A, B) = 16X
14
+ 6032X
12
1624X
10
+ 4192X
8
815X
6
301X
4
9X
2
+ 1.
Il ny a que 4 points dintersection visibles sur la gure 4, les 10 autres ont au moins
une coordonne qui nest pas relle. Le caractre bicarr du rsultant en Y provient
de la symtrie de la gure par rapport laxe des Y . Cest pour cette mme raison
que le premier rsultant est un carr.
Le rsultat gnral est le suivant.
Proposition 2. Soient A = a
m
Y
m
+ et B = b
n
Y
n
+ o les coecients
a
i
et b
j
sont dans K[X]. Alors les racines du polynme Res
Y
(A, B) K[X] sont
dune part les abscisses des solutions du systme A = B = 0, dautre part les racines
communes des termes de tte a
m
et b
n
.
Dmonstration. Ce rsultat est une consquence pas vidente du thorme 2
de la Section 2.3 ci-dessous.
104 7. PGCD ET RSULTANT
Figure 5. Les courbes de lexemple 9.
Graphiquement, les racines dgnres du second cas se traduisent par la
prsence dasymptotes verticales.
Exemple 9. Avec A = X
2
Y +X + 1, B = XY 1, on obtient Res
Y
(A, B) =
X(2X + 1) (asymptote en X = 0, vraie solution en X =
1
2
). Les courbes
correspondantes sont reprsentes en Figure 5.
Une fois calcul le rsultant donnant les coordonnes des abscisses des intersec-
tions des deux courbes, il est souhaitable dobtenir les ordonnes correspondantes.
Dans le cas simple o lavant-dernier reste de lalgorithme dEuclide est de degr 1,
il fournit bien une telle paramtrisation.
Exemple 10. Sur les deux polynmes A et B de lexemple 8, vus comme
polynmes dans Q(X)[Y ], la suite des restes est
(X
4
13X
2
+ 15)Y
2
4(X
2
+ 2)(X
2
+ 3)Y + (X
6
2X
4
8X
2
+ 10),
(4X
8
344X
6
1243X
4
301X
2
21)Y + (84X
8
372X
6
+ 169X
4
+ 143X
2
+ 15),
1.
Un calcul de pgcd du coecient de Y dans lavant-dernier reste avec Res
Y
(A, B)
montre que ces deux polynmes sont premiers entre eux. Pour chaque racine X
de Res
Y
(A, B) il y a donc un unique point dintersection aux deux courbes, dor-
donne donne par
Y =
84X
8
372X
6
+ 169X
4
+ 143X
2
+ 15
4X
8
344X
6
1243X
4
301X
2
21
.
En utilisant un calcul de pgcd tendu, ceci peut tre rcrit, comme expliqu plus
haut, en un polynme de degr au plus 13 en X.
Le mme calcul sur A et B vus comme polynmes dans Q(Y )[X] donne B
comme dernier reste avant le pgcd. Ceci correspond aux deux points ayant la mme
projection sur laxe des Y .
Implicitation. Une autre application gomtrique du rsultant est limplicitation
de courbes du plan. tant donne une courbe paramtre
X = A(T), Y = B(T), A, B K(T),
il sagit de calculer un polynme non trivial en X et Y qui sannule sur la courbe.
Il sut pour cela de prendre le rsultant en T des numrateurs de X A(T) et
de Y B(T).
2. RSULTANT 105
Exemple 11. La courbe en eur de la Figure 4 peut aussi tre donne sous
la forme
X =
4T(1 T
2
)
2
(1 +T
2
)
3
, Y =
8T
2
(1 T
2
)
(1 +T
2
)
3
.
Il sut deectuer le calcul du rsultant
Res
T
((1 +T
2
)
3
X 4T(1 T
2
)
2
, (1 +T
2
)
3
Y 8T
2
(1 T
2
))
pour retrouver ( un facteur constant prs) le polynme A de lexemple 8.
2.3. Proprits et calcul quadratique. Lessentiel des proprits du rsul-
tant est contenu dans le thorme suivant.
Thorme 2. Si les polynmes A et B de A[X] scrivent
A = a(X
1
) (X
m
), B = b(X
1
) (X
n
),
alors, le rsultant de A et B vaut
Res(A, B) = a
n
b
m

i,j
(
i

j
) = (1)
mn
b
m

1jn
A(
j
)
= a
n

1im
B(
i
) = (1)
mn
Res(B, A).
Dmonstration. Il sut de prouver la premire galit. Les trois suivantes
en sont des consquences immdiates.
Le facteur a
n
b
m
est une consquence de la multilinarit du dterminant.
On peut donc se restreindre au cas o a = b = 1. Il est commode de consid-
rer le cas gnrique o les
i
et
j
sont des indtermines et o lanneau A est
Z[
1
, . . . ,
m
,
1
, . . . ,
n
]. Si le rsultat est vrai dans cet anneau, il lest aussi pour
des valeurs arbitraires des
i
et
j
. Le corollaire 1 dans Q(
1
, . . . ,
m
,
1
, . . . ,
n
)
montre que le produit des
i

j
divise le rsultant. Par ailleurs, le degr en
i
de chacune des n premires lignes de la matrice de Sylvester est 1, et ce degr est
nul pour les m autres lignes. Ceci donne une borne n pour le degr en chaque
i
du rsultant et de la mme manire une borne m pour son degr en chaque
j
. Il
sensuit que le rsultant est gal au produit des
i

j
un facteur constant prs.
Ce facteur est indpendant des
i
et
j
. En choisissant
1
= =
n
= 0, cest-
-dire B = X
n
, et en dveloppant le dterminant par rapport ses m dernires
lignes, on obtient que le rsultant vaut (1)
mn
A(0)
n
, ce qui donne le facteur 1 et
conclut la preuve.
Corollaire 2 (Multiplicativit du rsultant). Pour tous polynmes A, B, C
de A[X], Res(AB, C) = Res(A, C) Res(B, C).
Dmonstration. Lanneau A tant intgre, il possde un corps de fractions
qui a lui-mme une clture algbrique dans laquelle les polynmes A, B et C peuvent
scrire sous la forme utilise dans le thorme prcdent. Lidentit sur les rsul-
tants (qui appartiennent A par dnition) est alors vrie en considrant les
produits deux deux de racines.
Une dernire proprit utile du rsultant est la suivante.
Proposition 3. Il existe U et V dans A[X] tels que le rsultant de A et de B
scrive Res(A, B) = UA+V B.
Dmonstration. En ajoutant la dernire colonne de la matrice de Sylves-
ter le produit des colonnes prcdentes par des puissances adaptes de X, on fait
apparatre dans la dernire colonne les polynmes A et B, sans avoir chang le
dterminant. Le dveloppement du dterminant par rapport la dernire colonne
permet alors de conclure.
106 7. PGCD ET RSULTANT
Lalgorithme dEuclide tendu montre que le rsultant Res(A, B) (qui est un
multiple par un lment du corps des fractions K de lun des restes euclidiens
standards ), peut scrire comme une combinaison polynomiale de A et B,
coecients dans K[X]. La proposition 3 montre que cette combinaison se fait sans
division , cest--dire avec des coecients dans A[X].
En utilisant la dnition 1 et les rsultats du Chapitre 3, le rsultant de deux
polynmes A, B de K[X] peut se calculer navement en O(MM(n)) = O(n

) opra-
tions dans K, o n = max(deg(A), deg(B)) et o 2 3 est un exposant faisable
pour la multiplication matricielle. Un algorithme plus ecace, de complexit seule-
ment quadratique, sobtient comme consquence du Thorme 2 et est laiss en
exercice.
Exercice 5 (Algorithme de type Euclide pour le rsultant). Soient A et B
deux polynmes de K[X] de degrs m = deg(A) et n = deg(B).
1. Soit A = QB + R la division euclidienne dans K[X] de A par B. Si r =
deg(R), et si b
n
est le coecient dominant de B, montrer que
Res(A, B) = (1)
mn
b
mr
n
Res(B, R).
2. crire un algorithme de type Euclide (i.e. base de divisions rptes), qui
calcule le rsultant Res(A, B) en O(mn) oprations dans K.
2.4. Calcul avec des nombres algbriques. Lide que les polynmes sont
de bonnes structures de donnes pour reprsenter leur racines amne chercher des
algorithmes pour eectuer les oprations de base sur ces racines, comme la somme
ou le produit. Le rsultant rpond cette attente.
Proposition 4. Soient A =

i
(X
i
) et B =

j
(X
j
) des polynmes
de K[X]. Alors
Res
X
(A(X), B(T X)) =

i,j
(T (
i
+
j
)),
Res
X
(A(X), B(T +X)) =

i,j
(T (
j

i
)),
Res
X
(A(X), X
deg B
B(T/X)) =

i,j
(T
i

j
),
Res
X
(A(X), T B(X)) =

i
(T B(
i
)).
Dmonstration. Cest une application directe du Thorme 2.
Exemple 12. On sait que

2 est racine de X
2
2, tout comme

3 est racine
de X
2
3. Un polynme ayant pour racine

2 +

3 est donn par


Res
X
(X
2
2, (T X)
2
3) = T
4
10T
2
+ 1.
Ces oprations ne distinguent pas les racines de A et B, les quatre racines du
rsultant sont donc

3.
Calcul du rsultant bivari. On dispose lheure actuelle dalgorithmes rapides
(de complexit quasi-optimale) pour le calcul du rsultant univari. Le meilleur
algorithme connu actuellement pour le calcul du rsultant bivari est une mthode
dvaluation-interpolation qui se ramne au rsultant univari (voir lexercice 9).
Cet algorithme nest pas quasi-optimal. En revanche, pour les trois premires op-
rations de la Proposition 4, des algorithmes quasi-optimaux base de multiplication
rapide de sries existent, ils ont t prsents au Chapitre 4 (Section 3.6, page 67).
2. RSULTANT 107
2.5. Sous-rsultants.
La croissance des coecients dans lalgorithme dEuclide. Le nombre doprations
dans le corps des coecients nest pas une mesure susante de la complexit des
calculs lorsque les oprations elles-mmes ont une complexit variable. Cest le cas
pour le calcul de pgcd dans Q[X] et dans K(Y )[X]. Dans ces corps de coecients,
on constate empiriquement les phnomnes suivants :
lalgorithme dEuclide amne faire des divisions, et introduit des dnomi-
nateurs au cours du calcul ;
la taille des coecients crot rapidement ;
ces coecients peuvent souvent se simplier .
Exemple 13. Lexcution de lalgorithme dEuclide sur
A = 115X
5
+ 7X
4
+ 117X
3
+ 30X
2
+ 87X + 44,
B = 91X
4
+ 155X
3
+ 3X
2
+ 143X + 115.
produit les restes successifs suivants :
3601622
8281
X
3

1196501
8281
X
2
+
151912
637
X +
2340984
8281
189886027626841
12971681030884
X
2

57448278681703
3242920257721
X
17501090665331
3242920257721
3748556212578804983806085060
4354148470945709877351001
X +
141833360915123969328014892
334934497765054605950077
.
En simpliant ces restes par des multiplications par des constantes bien choisies,
on obtient les restes :
3601622X
3
1196501X
2
+ 1974856X + 2340984,
22930325761X
2
27749440252X 8453612204,
288979986761465X + 142143002707719.
Il est souhaitable dviter le calcul sur les rationnels (ou les fractions ration-
nelles), pour lesquels laddition requiert des calculs de multiplications et ventuel-
lement de pgcd. Une premire ide consiste alors viter totalement les divisions
en utilisant des pseudo-restes.
Definition 2. Si A et B sont des polynmes de A[X] et b est le coecient de
tte de B, le pseudo-reste R de A et B est dni par
b
deg Adeg B+1
A = QB +R,
o Q, R A[X] avec deg R < deg Q.
Remplacer les calculs de restes de lalgorithme dEuclide par des calculs de
pseudo-restes vite dintroduire des dnominateurs. Cette ide seule nest pas suf-
sante : les coecients de ces pseudo-restes croissent trop.
Exemple 14. Sur le mme exemple, la modication de lalgorithme dEuclide
produit la suite de pseudo-restes
3601622X
3
1196501X
2
+ 1974856X + 2340984,
189886027626841X
2
229793114726812X 70004362661324,
257057096083899261191107914552182660X
+126440823512296156588839626542149756.
108 7. PGCD ET RSULTANT
Sous-rsultants(A,B)
Entre : A et B dans A[X] avec deg B < deg A.
Sortie : Le dernier sous-rsultant non nul.
1. f = g = s = 1
2. Tant que deg B > 0
(a) d = deg Adeg B
(b) R =pseudoReste(A, B)
(c) Si les degrs de A et B sont impairs, faire s = s.
(d) Faire A := B et mettre dans B le quotient de la division
de R par fg
d
(e) Prendre f :=coecientDominant(A)
(f) Mettre jour g en lui aectant le quotient de la division
de f
d
par g
d1
3. d = deg A;
4. Renvoyer le quotient de la division de sB
d
par g
d1
.
Figure 6. Lalgorithme des sous-rsultants.
Une possibilit pour viter cette croissance est de diviser ces polynmes par
le pgcd de leurs coecients chaque tape. Cest ce que nous avons fait dans
lexemple 13 ci-dessus. On parle alors de suite de pseudo-restes primitifs. Cepen-
dant, ces calculs de pgcd de coecients sont trop coteux.
Lalgorithme des sous-rsultants donn en Figure 6 est une modication de lal-
gorithme dEuclide qui vite les divisions, tout en prvoyant des facteurs communs
qui apparaissent dans les coecients de la suite des pseudo-restes de sorte limiter
leur croissance. Ces pseudo-restes sont appels des sous-rsultants. Dans cet algo-
rithme, on se contente de renvoyer le dernier sous-rsultant non nul ; on conoit
aisment comment modier lalgorithme pour obtenir nimporte quel sous-rsultant
(spci par des conditions de degr, par exemple).
Exemple 15. Toujours sur les mmes polynmes, la suite des sous-rsultants
redonne les polynmes que nous avions dj calculs par simplication :
3601622X
3
1196501X
2
+ 1974856X + 2340984,
22930325761X
2
27749440252X 8453612204,
288979986761465X + 142143002707719.
La suite des sous-rsultants de cet exemple est donc primitive : les facteurs prdits
par lalgorithme du sous-rsultant ont su liminer tout facteur commun entre
les coecients des pseudo-restes.
Comme le rsultant, les sous-rsultants sont lis la matrice de Sylvester et
lalgorithme dEuclide. Une formule de Cramer sur une sous-matrice de la matrice
de Sylvester donne le rsultat suivant.
Proposition 5. Toutes les divisions eectues au cours de lalgorithme des
sous-rsultants sont exactes.
La preuve de ce rsultat est technique et omise ici.
En corollaire, on remarque en outre quil est assez facile de dduire de ce r-
sultat des estimations sur la taille des coecients qui apparaissent au cours
3. ALGORITHME DEUCLIDE RAPIDE 109
de lalgorithme. Un cas particulier intressant est celui o A est lanneau de poly-
nmes K[Y ]. Alors, si A et B ont des degrs totaux m et n, tous les sous-rsultants
ont des degrs borns par mn. Ces bornes permettent un calcul du rsultant par
valuation-interpolation ds que lon dispose dun algorithme ecace dans le cas
univari.
Calcul de la paramtrisation. Les sous-rsultants permettent de nir la rso-
lution (commence en page 102) des systmes de deux polynmes bivaris.
Pour simplier, nous faisons lhypothse que pour tout x racine du rsultant
R = Res
Y
(A, B), il ny a quun seul y tel que A(x, y) = B(x, y) = 0. Dans ce
cas, on peut montrer que le sous-rsultant S
1
(de degr 1 en Y ) est non nul ;
crivons-le sous la forme S
1
= P
0
(X)Y +Q
0
(X). Comme pour le rsultant, il existe
des polynmes U et V dans K[X, Y ] tels quon ait lgalit
AU +BV = P
0
(X)Y +Q
0
(X).
On en dduit donc que toutes les solutions (x, y) du systme A = B = 0 satis-
font lquation P
0
(x)y = Q
0
. Autrement dit, en cartant les solutions dgnres
o P
0
(x) = 0, on obtient lordonne des points solutions en valuant la fraction
rationnelle Q
0
/P
0
sur les racines du rsultant R. Autrement dit, cette procdure
permet de dcrire les solutions du systme sous la forme
_
y = Q(x)
R(x) = 0
Gomtriquement, ce polynme Q permet de retrouver y partir de x, il permet
donc deectuer lopration symbolise sur la Figure 7, la paramtrisation des so-
lutions du systme par les racines de R.
Figure 7. Paramtrisation des solutions dun systme algbrique
par les racines dun rsultant.
Exemple 16. Sur les mmes polynmes qu lexemple 8, le sous-rsultant
redonne la paramtrisation calcule partir de lalgorithme dEuclide, mais en
tant plus conome dans les oprations sur les coecients.
3. Algorithme dEuclide rapide
Le point central de cette section est la prsentation dun algorithme rapide pour
le pgcd, qui est un algorithme rcursif base de multiplications et de divisions eu-
clidiennes rapides. Historiquement, cest dabord un algorithme rapide pour le pgcd
dentiers (le demi-pgcd ) qui est apparu, il a ensuite t tendu aux polynmes.
Nous dcrivons maintenant lalgorithme dit du demi-pgcd . Pour simplier, nous
nous plaons dans le cas du pgcd de polynmes, mais cette approche stend au cas
des entiers.
110 7. PGCD ET RSULTANT
Soient donc Aet B dans K[X], avec n = deg Aet deg B < n (ce qui nest pas une
forte restriction). Posons comme prcdemment R
0
= A, R
1
= B. Soient ensuite R
i
les restes successifs de lalgorithme dEuclide et soit en particulier R
N
= pgcd(A, B)
le dernier non nul dentre eux. Daprs les galits en page 100, il existe une matrice
2 2 M
A,B
de cofacteurs telle que :
M
A,B
_
R
0
R
1
_
=
_
U
N
V
N
U
N+1
V
N+1
_ _
R
0
R
1
_
=
_
R
N
0
_
.
Lalgorithme de pgcd rapide calcule dabord cette matrice ; partir de l, on en
dduit aisment le pgcd, pour O(M(n)) oprations supplmentaires.
Notons quune tape de lalgorithme dEuclide classique peut elle aussi scrire
sous une forme matricielle. En eet, si Q
i
est le quotient de la division de R
i1
par
R
i
, on peut crire :
_
0 1
1 Q
i
_ _
R
i1
R
i
_
=
_
R
i
R
i+1
_
.
Ainsi, la matrice M
A,B
est un produit de matrices lmentaires de ce type. Elle est
inversible.
3.1. Demi-pgcd : dnition. Comme tape intermdiaire pour obtenir une
division euclidienne rapide, on utilise lalgorithme dit du demi-pgcd (half-gcd
en anglais, do la notation HGCD), qui permet de faire des pas de gant dans
la liste des restes successifs.
Le demi-pgcd est dni comme suit. Les degrs des restes successifs R
i
d-
croissent strictement, donc il existe un unique indice j tel que :
deg R
j

n
2
;
deg R
j+1
<
n
2
.
On a vu en page 100 quil existe U
j
, V
j
, U
j+1
, V
j+1
tels que :
U
j
R
0
+V
j
R
1
= R
j
et U
j+1
R
0
+V
j+1
R
1
= R
j+1
,
ces polynmes tant en outre uniques si on rajoute les conditions de degr voulues
sur la relation de Bzout. Ceci peut se rcrire sous la forme matricielle suivante :
_
U
j
V
j
U
j+1
V
j+1
_ _
R
0
R
1
_
=
_
R
j
R
j+1
_
.
Pour xer les ides, en premire approximation, on peut estimer que les polynmes
U
j
, V
j
, U
j+1
, V
j+1
ont des degrs de lordre de
n
2
(attention, ce nest quune estima-
tion, pas une galit).
Notons M
hgcd
la matrice ci-dessus donnant les restes R
j
et R
j+1
. Lalgorithme
du demi-pgcd (not HGCD ci-dessous) a pour vocation de calculer cette matrice.
Avant den tudier le fonctionnement, voyons comment il permet dobtenir le calcul
du pgcd tendu. Lide est quun appel HGCD en degr n permet dobtenir les
restes de degr approximativement
n
2
; alors, un appel en degr
n
2
permet dobtenir
les restes de degr approximativement
n
4
, et ainsi de suite jusqu trouver le pgcd.
Lalgorithme est dtaill en Figure 8.
ltape 4, R
j
et R
j+1
ont par dnition des degrs qui encadrent
n
2
, mais
on na pas de borne suprieure sur le degr de R
j
, qui peut tre proche de n.
Aussi, pour obtenir deux polynmes de degr au plus
n
2
pour lappel rcursif, il est
ncessaire deectuer une tape de division euclidienne.
Soit H(n) la complexit de lalgorithme de demi-pgcd sur des entres de degr
au plus n. Pour estimer la complexit de lalgorithme de pgcd rapide, on fait lhy-
pothse que H(n+n
t
) H(n) +H(n
t
) et que M(n) est ngligeable devant H(n). Ces
hypothses sont vries pour lalgorithme propos en Section 3.2.
Proposition 6. Lalgorithme ci-dessus calcule M
A,B
en O(H(n)) oprations.
3. ALGORITHME DEUCLIDE RAPIDE 111
Euclide via HGCD
Entre : R
0
= A et R
1
= B dans K[X] avec deg B < deg A = n.
Sortie : La matrice M
A,B
.
1. Soit M
hgcd
= HGCD(A, B).
2. Calculer R
j
et R
j+1
.
3. Si R
j+1
= 0, renvoyer M
hgcd
.
4. Soit M la matrice de la division euclidienne de R
j
par
R
j+1
, et R
j+2
le reste correspondant.
5. Si R
j+2
= 0, renvoyer MM
hgcd
.
6. Calculer M
R
j+1
,R
j+2
par un appel rcursif, et renvoyer
M
R
j+1
,R
j+2
MM
hgcd
.
Figure 8. Algorithme dEuclide rapide via le demi-pgcd rapide.
Dmonstration. La validit de lalgorithme est immdiate, puisque toutes les
matrices calcules ne sont au fond que des matrices qui font la transition de deux
restes successifs deux autres restes successifs. Multiplier ces matrices permet de
composer ces oprations de transition.
Estimons la complexit. Le cot de lappel HGCD est H(n). Ensuite, toutes les
oprations des tapes 2 5 ont une complexit en O(M(n)), en utilisant pour ltape
4 une division euclidienne rapide (cf. Thorme 1 en page 76). On eectue ensuite
un appel rcursif, puis de nouveau des oprations dont le cot est en O(M(n)).
Ainsi, la complexit B(n) de lalgorithme de pgcd rapide satisfait la rcurrence :
B(n) B(n/2) + H(n) +CM(n),
C tant une constante. Le thorme diviser pour rgner permet de conclure.
Autrement dit, le cot du pgcd est, une constante prs, le mme que celui du
demi-pgcd. Il devient donc lgitime de se consacrer uniquement ce dernier.
3.2. Demi-pgcd : algorithme. Pour mettre en place une stratgie diviser
pour rgner pour le demi-pgcd, on utilise un moyen de couper les polynmes
en deux. Lide est de ne garder que les coecients de poids forts des polynmes
dentre et dutiliser le fait que le quotient de la division euclidienne de deux po-
lynmes ne dpend que de leurs coecients de poids fort, dune faon tout fait
quantie par la suite.
Remarquons quon accde aux coecients de poids fort dun polynme en pre-
nant son quotient par un polynme de la forme X
k
: par exemple, si A est
X
10
+ 2X
9
+ 5X
8
+ 3X
7
+ 11X
6
+ ,
le quotient de A par X
6
est
X
4
+ 2X
3
+ 5X
2
+ 3X + 11.
Voyons comment cette ide permet dobtenir notre algorithme. tant donns
deux polynmes A et B de degrs de lordre de n, on leur associe f et g de de-
gr approximativement
n
2
, en nommant f et g les quotients respectifs de A et B
par X
n
2
: on a jet les coecients de petits degrs.
On calcule la matrice M du demi-pgcd de f et g (moralement, les lments de
cette matrice ont degr
n
4
). La remarque ci-dessus permet de montrer quon obtient
ainsi une matrice de transition vers les restes de A et B eux-mmes.
112 7. PGCD ET RSULTANT
HGCD
Entre : A et B dans K[X], avec deg B < deg A = n.
Sortie : La matrice M
hgcd
de A et B.
1. Soit m = ,
n
2
|. Si deg B < m, renvoyer la matrice identit.
Cest termin.
2. Soient f et g les quotients respectifs de A et B par X
m
.
f et g ont des degrs approximativement n/2.
3. Soient M = HGCD(f, g), et A
t
, B
t
dnis par
M
_
A
B
_
=
_
A
t
B
t
_
.
4. Si deg B
t
< m, renvoyer M.
Cest termin.
5. Soient C
t
= A
t
mod B
t
, et M
t
la matrice de la division euclidienne
correspondante.
Moralement, B
t
a un degr de lordre au pire de
3n
4
. Par contre, A
t
peut avoir un degr plus grand. Ltape de division euclidienne permet
de se ramener des polynmes de degrs de lordre de
3n
4
.
6. Soient = 2mdeg B
t
, b et c les quotients respectifs de B
t
et C
t
par X

.
est de lordre de
n
4
, de sorte de b et c on des degrs de lordre
n
2
.
7. Soit M
tt
= HGCD(b, c). Renvoyer la matrice M
tt
M
t
M.
Figure 9. Algorithme du demi-pgcd rapide.
On applique donc cette matrice aux polynmes initiaux ; on obtient des restes
B
t
et C
t
dont les degrs sont de lordre de
3n
4
. On eectue alors une seconde fois le
mme type dopration, avec un appel rcursif en degr
n
2
, pour gagner nouveau
n
4
,
et nalement arriver en degr
n
2
.
Les choix exacts des degrs de troncature sont subtils, et on admettra que les
valeurs donnes en Figure 9 permettent dassurer la correction de lalgorithme.
Proposition 7. Lalgorithme ci-dessus calcule la matrice du demi-pgcd de A
et B en O(M(n) log(n)) oprations dans K.
Dmonstration. Comme indiqu plus haut, on admet que les choix des degrs
de troncature permettent dassurer la validit de lalgorithme. Il est plus facile den
eectuer lanalyse de complexit. Le cot H(n) peut tre major par deux fois le
cot en degr au plus
n
2
(les deux appels ont lieu aux lignes 3 et 7), plus un certain
nombre de multiplications de polynmes et une division euclidienne. En remarquant
que tous les produits se font en degr au pire n, on en dduit la rcurrence
H(n) 2H(n/2) +CM(n),
o C est une constante. La conclusion dcoule comme dhabitude du lemme diviser
pour rgner .
3.3. Complment : calcul dun reste choisi. On peut en tirer un ra-
nement fort utile de lalgorithme de demi-pgcd : le calcul dun reste particulier
(slectionn par une condition de degr), ainsi que des cofacteurs associs.
Thorme 3. Soient R
0
= A et R
1
= B, avec deg A = n et deg B < deg A, et
soient R
i
les restes successifs de lalgorithme dEuclide appliqu A et B.
EXERCICES 113
Soit < n, et R
j
le premier reste de degr infrieur . On peut calculer R
j
et les cofacteurs associs U
j
et V
j
en O(M(n) log(n)) oprations de K.
Dmonstration (succinte). Si est plus petit que
n
2
, on fait un appel
HGCD pour se ramener en degr
n
2
, et on eectue un appel rcursif. Si est plus
grand que
n
2
, on fait un appel HGCD sur les polynmes diviss par X
n2
.
3.4. Le cas des entiers. Les mmes ides algorithmiques stendent au calcul
sur les entiers, mais il est beaucoup plus dicile dcrire un algorithme correct dans
ce cas. On se contentera dnoncer les rsultats de complexit suivants :
Thorme 4. Soient R
0
= A N, R
1
= B N, avec B A et R
i
les restes
de lalgorithme dEuclide appliqu A et B. On peut calculer :
le pgcd de A et B,
le premier reste infrieur un entier < A,
ainsi que les cofacteurs associs en O(M
Z
(log A) log(log(A))) oprations binaires.
Exercices
Exercice 6 (Factorisation sans carr). Soit K un corps de caractristique
nulle. Si F K[X] se factorise en irrductibles comme

i
f

i
i
, le polynme F =

i
f
i
est appel la partie sans carr de F. Si n = deg(F), montrer quon peut
calculer les coecients de la partie sans carr de F partir des coecients de F en
O(M(n) log n) oprations dans K.
Exercice 7. Soient f, g K[X] des polynmes unitaires.
1. Soit N N 0. Montrer que lunique polynme unitaire de K[X] dont
les racines sont les puissances N-imes des racines de f peut tre obtenu
par un calcul de rsultant.
2. Si f est le polynme minimal dun nombre algbrique , montrer quon
peut dterminer un polynme annulateur de g() laide dun rsultant.
3. Calculer le polynme minimal sur Q de =
3

4 +
3

2 + 1.
Exercice 8. Soit f K[X] un polynme unitaire de degr d 1. Pour N 1,
on note G
N
(f) lunique polynme unitaire de degr d dont les racines sont les
puissances N-imes des racines de f.
(a) Exprimer G
N
(f) laide dun rsultant de polynmes deux variables.
(b) Justier lappartenance K[X] du polynme G
N
(f).
(c) Utiliser (a) pour donner un algorithme pour le calcul de G
N
(f) ; estimer
sa complexit.
(d) Montrer que G
2
(f) peut se calculer en O(M(d)) oprations dans K.
(e) Si N est une puissance entire de 2, montrer quon peut calculer G
N
(f) en
O(M(d) log(N)) oprations dans K.
Exercice 9 (Rsultants bivaris). Soient F, G K[X, Y ] ayant des degrs en X
et en Y borns par un entier D 1. Montrer que le polynme R(Y ) := Res
X
(F, G)
est de degr au plus 2D
2
. Donner un algorithme de type valuation-interpolation
pour le calcul des coecients de R et estimer son cot en oprations dans K.
114 7. PGCD ET RSULTANT
Notes
Lintroduction du rsultant et des sous-rsultants remonte Bzout et Sylves-
ter [2, 32, 33]. Ces notions ont t revisites en calcul formel dans les annes 1965
par Collins [7, 8, 9], Brown et Traub [4, 5]. Larticle de synthse [35] retrace
leur histoire. De nombreuses proprits des rsultants et de lalgorithme dEuclide
sont tablies de manire lmentaire laide des fonctions symtriques dans [18].
On peut consulter les livres [34, 10, 16], ou [17] pour une approche un peu plus
complte.
Lide de base lalgorithme de demi-pgcd (le quotient de la division euclidienne
de deux entiers ne dpend que de leurs chires de poids fort) est due Lehmer [19].
Knuth [15] en a fait le premier algorithme sous-quadratique, qui calcule le pgcd de
deux entiers de taille binaire n en complexit binaire O(M
Z
(n) log
4
(n)). Schn-
hage [26] a montr comment abaisser cette complexit O(M
Z
(n) log(n)). Lalgo-
rithme de [26] a t adapt au cas polynomial par Moenck [23], mais seulement pour
le cas o la suite des restes est normale. Brent, Gustavson et Yun [12, 3] ont donn
un algorithme de type LKS (Lehmer-Knuth-Schnhage) pour le cas polynomial g-
nral, de complexit arithmtique O(M(n) log(n)) en degr n. Cet algorithme utilise
O(nlog n) oprations non scalaires. Strassen [30, 31] a montr que (nlog n) op-
rations non scalaires sont aussi ncessaires, du moins pour une entre gnrique,
donc lalgorithme LKS est optimal de ce point de vue.
Schwartz [28] a montr que le rsultant de deux polynmes peut se calculer
galement en O(M(n) log(n)) oprations arithmtiques. Dans [27], Schnhage a
donn un algorithme (probabiliste) pour le calcul rapide du pgcd de deux polynmes
de Z[X]. Pour deux polynmes de degr born par n et coecients dau plus
chires, lalgorithme a une complexit binaire

O(n(n+)), il est donc quasi-optimal
(en la taille binaire de lentre) lorsque > n.
Lexercice 6 est inspir par [37], qui montre quil est possible de dterminer
toute la factorisation sans carr en la mme complexit. Larticle [38] prouve que
les problmes du calcul du pgcd et de la factorisation sans carr sont quivalents
du points de vue de la complexit.
Il est trs dicile de trouver une rfrence complte, lisible et sans erreur sur
les algorithmes de pgcd rapide. Le Chapitre 11 de [34] fournit une bonne partie
des rsultats techniques implicitement utiliss dans la Section 3, mais lalgorithme
quil propose est erron. Les notes du livre [36] nous ont beaucoup inspirs, mais
elles contiennent des erreurs pour le pgcd entier. On pourra galement consulter
des articles plus rcents [25, 29, 24].
Ces algorithmes de pgcd rapide sont aussi assez dlicats implanter de ma-
nire ecace. Par exemple, pour le pgcd de polynmes, une bonne implantation
doit prendre en compte les algorithmes de multiplication utiliss. Si on utilise la
FFT, il est possible dconomiser des transformes de Fourier directes et inverses ;
il faut alors rgler le nombre de points dvaluation en fonction des degrs du r-
sultat nal, et pas des rsultats intermdiaires, etc. Si lon travaille sur un corps
ni raisonnable (les coecients faisant de quelques bits jusqu quelques di-
zaines voire centaines de bits), on peut estimer que le seuil au-del duquel utiliser
lalgorithme rapide se situe autour des degrs 200 ou 300. Il faut noter que trs
peu de systmes disposent de telles implantations (cest le cas pour Magma et la
bibliothque NTL). En ce qui concerne le pgcd des entiers, la situation est sensi-
blement plus dlicate, toujours cause du problme des retenues (une bonne partie
des algorithmes prsents dans les ouvrages de rfrence sont incorrects, cause de
ce problme). Pour donner une ide, dans les systmes Magma, Mathematica, ou
des bibliothques telles que GMP (code toujours en dveloppement et utilis entre
Bibliographie 115
autres par les entiers de Maple), le seuil se situe autour de nombres de 30 000 bits
(10 000 chires dcimaux).
Le pgcd et le pgcd tendu peuvent aussi tre dnis dans un contexte non-
commutatif. Ils sont alors utiles au calcul avec des oprateurs direntiels ou de
rcurrence. Le rsultant direntiel de deux quations direntielles a t dni par
Berkovich et Tsirulik dans [1]. Chardin [6] a dni les sous-rsultants de deux qua-
tions direntielles. Li [21, 22] a tendu la dnition aux polynmes de Ore. On
trouve dans [11, 20] des algorithmes ecaces pour le calcul du pgcd de deux opra-
teurs direntiels ; ces algorithmes ont t tendus aux sous-rsultants dans [21, 22].
Dans [6], Chardin a donn une expression du rsultant de deux quations diren-
tielles en termes de leurs solutions. Cela a t gnralis au cadre des polynmes
de Ore par Hong [13, 14].
Bibliographie
[1] Berkovich (L. M.) and Tsirulik (V. G.). Dierential resultants and some of their applications.
Dierentsial

nye Uravneniya, vol. 22, n5, ipS6, pp. 750757, 914. English translation in :
Dierential Equations, Plenum Publ. Corp., Vol. 22, no. 5, pp. 530536. NY Plenum 1986.
[2] Bzout (.). Recherches sur le degr des quations rsultantes de lvanouissement des
inconnues. Histoire de lacadmie royale des science, i6, pp. 288338.
[3] Brent (Richard P.), Gustavson (Fred G.), and Yun (David Y. Y.). Fast solution of Toeplitz
systems of equations and computation of Pad approximants. J. Algorithms, vol. 1, n3, ipSo,
pp. 259295.
[4] Brown (W. S.). On Euclids algorithm and the computation of polynomial greatest common
divisors. In SYMSAC 71 : Proceedings of the second ACM symposium on Symbolic and
algebraic manipulation. pp. 195211. ACM, New York, NY, USA, ipi.
[5] Brown (W. S.) and Traub (J. F.). On Euclids algorithm and the theory of subresultants.
J. Assoc. Comput. Mach., vol. 18, ipi, pp. 505514.
[6] Chardin (Marc). Dierential resultants and subresultants. In Fundamentals of computation
theory (Gosen, 1991), pp. 180189. Springer, Berlin, ippi.
[7] Collins (G. E.). Polynomial remainder sequences and determinants. Amer. Math. Monthly,
vol. 73, ip66, pp. 708712.
[8] Collins (George E.). Subresultants and reduced polynomial remainder sequences. J. Assoc.
Comput. Mach., vol. 14, ip6, pp. 128142.
[9] Collins (George E.). The calculation of multivariate polynomial resultants. J. Assoc. Com-
put. Mach., vol. 18, ipi, pp. 515532.
[10] Geddes (Keith O.), Czapor (Stephen R.), and Labahn (George). Algorithms for Computer
Algebra. Kluwer Academic Publishers, ipp.
[11] Grigoriev (D. Yu.). Complexity of factoring and calculating the GCD of linear ordinary
dierential operators. J. Symbolic Comput., vol. 10, n1, ippo, pp. 737.
[12] Gustavson (Fred G.) and Yun (David Y. Y.). Fast algorithms for rational Hermite approxi-
mation and solution of Toeplitz systems. IEEE Trans. Circuits and Systems, vol. 26, n9, ipp,
pp. 750755.
[13] Hong (Hoon). Ore principal subresultant coecients in solutions. Appl. Algebra Engrg.
Comm. Comput., vol. 11, n3, ooi, pp. 227237.
[14] Hong (Hoon). Ore subresultant coecients in solutions. Appl. Algebra Engrg. Comm. Com-
put., vol. 12, n5, ooi, pp. 421428.
[15] Knuth (Donald E.). The analysis of algorithms. In Actes du Congrs International des
Mathmaticiens (Nice, 1970), Tome 3, pp. 269274. Gauthier-Villars, Paris, ipi.
[16] Knuth (Donald E.). The Art of Computer Programming. Addison-Wesley Publishing Co.,
Reading, Mass., ipp, 3rd edition, Computer Science and Information Processing, vol. 2 :
Seminumerical Algorithms, xiv+762p.
[17] Lang (Serge). Algebra. Springer-Verlag, New York, oo, third edition, Graduate Texts in
Mathematics, vol. 211, xvi+914p.
[18] Lascoux (Alain). Symmetric functions and combinatorial operators on polynomials. Publi-
shed for the Conference Board of the Mathematical Sciences, Washington, DC, oo, CBMS
Regional Conference Series in Mathematics, vol. 99, xii+268p.
116 7. PGCD ET RSULTANT
[19] Lehmer (D. H.). Euclids Algorithm for Large Numbers. Amer. Math. Monthly, vol. 45, n4,
ipS, pp. 227233.
[20] Li (Z.) and Nemes (I.). A modular algorithm for computing greatest common right divisors
of Ore polynomials. In ISSAC97. pp. 282289. ACM, New York, ipp.
[21] Li (Ziming). A subresultant theory for Ore polynomials with applications. In ISSAC98.
pp. 132139. ACM, New York, ippS.
[22] Li (Ziming). Greatest common right divisors, least common left multiples, and subresultants
of Ore polynomials. In Mathematics mechanization and applications, pp. 297324. Academic
Press, San Diego, CA, ooo.
[23] Moenck (R. T.). Fast computation of GCDs. In Fifth Annual ACM Symposium on Theory
of Computing (Austin, Tex., 1973), pp. 142151. Assoc. Comput. Mach., New York, ip.
[24] Mller (Niels). On Schnhages algorithm and subquadratic integer GCD computation.
Mathematics of Computation, vol. 77, n261, ooS, pp. 589607.
[25] Pan (V. Y.) and Wang (X.). Acceleration of Euclidean algorithm and extensions. In Mora
(Teo) (editor), ISSAC02. pp. 207213. ACM, New York, oo.
[26] Schnhage (A.). Schnelle Berechnung von Kettenbruchentwicklugen. Acta Inform., vol. 1,
ipi, pp. 139144.
[27] Schnhage (A.). Probabilistic computation of integer polynomial GCDs. J. Algorithms,
vol. 9, n3, ipSS, pp. 365371.
[28] Schwartz (J. T.). Fast probabilistic algorithms for verication of polynomial identities. J.
Assoc. Comput. Mach., vol. 27, n4, ipSo, pp. 701717.
[29] Stehl (D.) and Zimmermann (P.). A binary recursive Gcd algorithm. In ANTS-VI. Lecture
Notes in Computer Science, vol. 3076, pp. 411425. Springer, oo.
[30] Strassen (V.). The computational complexity of continued fractions. In SYMSAC81.
pp. 5167. ACM, New York, NY, USA, ipSi.
[31] Strassen (V.). The computational complexity of continued fractions. SIAM J. Comput.,
vol. 12, n1, ipS, pp. 127.
[32] Sylvester (James Joseph). On rational derivation from equations of coexistence, that is
to say, a new and extended theory of elimination, 183940. In The Collected mathematical
papers of James Joseph Sylvester, pp. 4053. Baker, H. F., New York, iSp.
[33] Sylvester (James Joseph). A method of determining by mere inspection the derivatives from
two equations of any degree. Philos. Mag., vol. 16, n101, iSo, pp. 132135.
[34] von zur Gathen (Joachim) and Gerhard (Jrgen). Modern computer algebra. Cambridge
University Press, New York, oo, 2nd edition, xiv+785p.
[35] von zur Gathen (Joachim) and Lcking (Thomas). Subresultants revisited. Theoret. Com-
put. Sci., vol. 297, n1-3, oo, pp. 199239.
[36] Yap (Chee). Fundamental Problems in Algorithmic Algebra. Oxford Univ. Press, ooo.
[37] Yun (David Y.Y.). On square-free decomposition algorithms. In SYMSAC76. pp. 2635.
ACM, New York, NY, USA, ip6.
[38] Yun (David Y.Y.). On the equivalence of polynomial GCD and squarefree factorization
problems. In Proc. of the MACSYMA Users Conference, pp. 6570. ip.
CHAPITRE 8
Algorithmique des sries D-nies
Rsum
Les sries D-nies se manipulent plus rapidement que les sries arbi-
traires. Lquation direntielle linaire les dnissant fournit une struc-
ture de donnes adapte sur laquelle plusieurs oprations utiles sont al-
gorithmiques. En particulier, la multiplication de deux sries D-nies
seectue en temps linaire.
Les sries D-nies (cest--dire solutions dquations direntielles linaires
coecients polynomiaux) ont des coecients qui satisfont une rcurrence linaire,
ce qui permet den calculer les N premiers en O(N) oprations, donc plus vite que
la plupart des autres sries. Il est de ce fait crucial de reconnatre les sries qui
sont D-nies et de disposer des quations direntielles les dnissant. De plus,
les coecients des sries D-nies forment des suites qui sont appeles P-rcursives,
dont lalgorithmique est videmment troitement lie celle des sries D-nies.
Limportance de ces sries et suites provient en grande partie de leur omnipr-
sence dans les applications. Ainsi, le Handbook of Mathematical Functions, rfrence
importante en physique, chimie et mathmatiques appliques, comporte environ
60% de fonctions solutions dquations direntielles linaires ; de mme, les suites
P-rcursives forment environ un quart des plus de 100 000 suites rfrences dans
la version en ligne de lEncyclopedia of Integer Sequences de N. Sloane.
Enn, lalgorithmique de ces sries permet la preuve automatique didentits,
prsente dans ce chapitre dans le cas univari. La gnralisation au cadre multivari
est traite dans les chapitres de la troisime partie.
1. quations direntielles et rcurrences
1.1. Dnitions. Si K dsigne un corps, lanneau des sries formelles co-
ecients dans K est not K[[X]]. Ses principales proprits ont t prsentes au
Chapitre 4. Son corps des fractions, not K((X)), est gal K[[X]][1/X]. Ses l-
ments sont appels des sries de Laurent formelles. Cest une algbre non seulement
sur K, mais aussi sur le corps des fractions rationnelles K(X).
Definition 1. Une srie formelle A(X) coecients dans un corps K est
dite direntiellement nie (ou D-nie) lorsque ses drives successives A, A
t
, . . .,
engendrent un espace vectoriel de dimension nie sur le corps K(X) des fractions
rationnelles.
De manire quivalente, cette srie est solution dune quation direntielle li-
naire coecients dans K(X) : si cest le cas, alors lquation direntielle permet
de rcrire toute drive dordre suprieur celui de lquation en termes des dri-
ves dordre moindre (en nombre born par lordre). linverse, si lespace est de
dimension nie, alors pour m susamment grand, A, A
t
, . . . , A
(m)
sont lies, et une
relation de liaison entre ces drives est une quation direntielle linaire.
Definition 2. Une suite (a
n
)
n0
dlments dun corps K est appele suite
polynomialement rcursive (ou P-rcursive) si elle satisfait une rcurrence de la
117
118 8. ALGORITHMIQUE DES SRIES D-FINIES
forme
(1) p
d
(n)a
n+d
+p
d1
(n)a
n+d1
+ +p
0
(n)a
n
= 0, n 0,
o les p
i
sont des polynmes de K[X].
Dans la suite, K aura toujours caractristique nulle. On peut donc penser sans
rien perdre aux ides K = Q.
Exemple 1. Le cas particulier des rcurrences dordre 1 (d = 1) donne lieu
aux suites hypergomtriques, qui jouent un rle important dans les algorithmes de
sommation symbolique, abords aux Chapitres 24 et 25.
1.2. Conversion. Le rsultat quil sagit de considrer dun point de vue al-
gorithmique est le suivant. Il sagit dun analogue du Lemme 2 au Chapitre 5.
Thorme 1. Une srie formelle est D-nie si et seulement si la suite de ses
coecients est P-rcursive.
Dmonstration. Soit A(X) = a
0
+a
1
X + une srie D-nie et
(2) q
0
(X)A
(m)
(X) + +q
m
(X)A(X) = 0
une quation direntielle qui lannule. En notant [X
n
]f(X) le coecient de X
n
dans la srie f(X) avec la convention que ce coecient est nul pour n < 0, on a
pour n 0
(3) [X
n
]f
t
(X) = (n + 1)[X
n+1
]f(X), [X
n
]X
k
f(X) = [X
nk
]f(X).
Par consquent, lextraction du coecient de X
n
de (2) fournit une rcurrence
linaire sur les a
n
valide pour tout n 0 avec la convention a
k
= 0 pour
k < 0. Pour obtenir une rcurrence de la forme (1) il faut dcaler les indices
de n
0
:= max
0im
(deg q
i
+im) sil est strictement positif. Les quations obtenues
alors pour les indices moindres fournissent des contraintes linaires sur les premiers
coecients a
n
pour quils correspondent aux coecients dune srie solution de (2).
linverse, soit (a
n
) une suite vriant la rcurrence (1). Les identits analogues
(3) sont maintenant

n0
n
k
a
n
X
n
=
_
X
d
dX
_
k
A(X),

n0
a
n+k
X
n
= (A(X)a
0
a
k1
X
k1
)/X
k
,
o A est la srie gnratrice des coecients a
n
et la notation (
d
dX
)
k
signie que
loprateur
d
dX
est appliqu k fois. En multipliant (1) par X
n
et en sommant pour
n allant de 0 , puis en multipliant par une puissance de X on obtient donc une
quation direntielle linaire de la forme
q
0
(X)A
(d)
(X) + +q
d
(X)A(X) = p(X),
o le membre droit provient des conditions initiales. Il est alors possible, quitte
augmenter lordre de lquation de 1, de faire disparatre ce membre droit, par une
drivation et une combinaison linaire.
Exemple 2. Lquation A
t
X
k
A = 0 (k N) donne la rcurrence linaire
(n + 1)a
n+1
a
nk
= 0 valide pour tout n 0, avec la convention que les a
n
dindice ngatif sont nuls. On en dduit que a
0
est libre, puis les contraintes a
1
=
= a
k
= 0, et les coecients suivants sont fournis par la rcurrence dcale
(n + k + 1)a
n+k+1
a
n
= 0, valide pour n 0. On reconnat ainsi les coecients
de a
0
exp(X
k+1
/(k + 1)).
Exercice 1. Retrouver la rcurrence satisfaite par la suite 1/n! partir de
lquation A
t
= A, et rciproquement.
1. QUATIONS DIFFRENTIELLES ET RCURRENCES 119
Exercice 2. Calculer une quation direntielle linaire satisfaite par la srie
gnratrice des nombres de Fibonacci.
Exercice 3. Estimer la complexit dun algorithme direct utilisant cette ide
en nombre doprations dans K.
Un algorithme plus ecace pour passer dune quation direntielle dordre
lev la rcurrence linaire satisfaite par les coecients des solutions est donne
en 1.4.
1.3. Exemples dapplications.
Exemple 3. Pour calculer le coecient de X
1000
dans
(1 +X)
1000
(1 +X +X
2
)
500
,
une mthode ecace part de lobservation que ce polynme vrie lquation di-
rentielle linaire du premier ordre
y
t
y
= 1000
1
1 +X
+ 500
2X + 1
1 +X +X
2
.
Il sensuit que les coecients de ce polynme vrient une rcurrence dordre 3
coecients de degr 1. La mthode de scindage binaire prsente au Chapitre 13
permet alors un calcul trs rapide.
Exemple 4. Pour calculer une racine du polynme P
N
(X) dni par la srie
gnratrice

n0
P
n
(X)
Z
n
n!
=
_
1 +Z
1 +Z
2
_
X
,
lorsque N est grand, il nest pas ncessaire de calculer ce polynme. Il sut dob-
server que cette srie vrie une quation direntielle linaire dordre 1 (avec X en
paramtre), ainsi que la srie gnratrice des drives des P
n
, et dutiliser les rcur-
rences que lon en dduit sur ces polynmes pour en calculer des valeurs. Ces valeurs
permettent alors dappliquer la mthode de Newton, par exemple pour rsoudre le
polynme. Cette ide peut aussi tre combine avec la mthode de scindage binaire
du Chapitre 13.
1.4. Algorithme rapide pour la conversion . Vue lecacit obtenue
grce au passage de lquation direntielle la rcurrence, il est souhaitable de
matriser le cot de cette conversion. Il est possible dobtenir la rcurrence plus
ecacement que par la mthode nave, en mettant en uvre des techniques qui
exploitent la multiplication rapide.
1.4.1. Cas dun oprateur donn en = X
d
dX
. Si lquation direntielle li-
naire de dpart est donne non pas comme un polynme en X et d/dX, mais
comme un polynme en X et = X
d
dX
( est parfois appel loprateur dEu-
ler), alors la conversion en rcurrence est assez facile : lapplication de loprateur
direntiel

0jm
0id
p
i,j
X
j

i
,
une srie A(X) suivie de lextraction du coecient de X
n
donne au vu des rela-
tions (3) la rcurrence

p
i,j
(n j)
i
a
nj
= 0.
De cette conversion dcoule le rsultat de complexit suivant.
120 8. ALGORITHMIQUE DES SRIES D-FINIES
Proposition 1. La rcurrence satisfaite par les coecients des sries solutions
dune quation direntielle linaire de degr d en = X
d
dX
et m en X se calcule
en O(mM(d)) oprations sur les coecients.
Par rapport au nombre dm de coecients du rsultat, cette complexit est
quasi-optimale.
La preuve utilise la formule ci-dessus et lobservation que calculer les coecients
du polynme P(Xj) connaissant ceux du polynme P(X) de degr d ne requiert
que O(M(d)) oprations, par exemple en utilisant la somme compose (Chapitre 4).
1.4.2. Cas gnral. Quitte le multiplier au pralable par une puissance de
X gale au plus son degr en = d/dX, il est toujours possible de rcrire un
polynme en X et en un polynme en X et . Cette rcriture peut elle-mme tre
eectue assez rapidement.
Une premire observation est que de la commutation
( i)X
i
= X
i

se dduit par multiplication droite par


i
la relation
X
i+1

i+1
= ( i)X
i

i
= ( i)( i + 1) .
tant donns des polynmes p
i
(X) de degr au plus m+d, il sagit donc maintenant
de calculer des polynmes q
i
(X) tels que
d

i=0
p
i
(X)X
i

i
=
d

i=0
p
i
(X)( i + 1) =
d

i=0
q
i
(X)
i
.
Rcrire le polynme sous la forme
m+d

j=0
X
j
d

i=0
p
i,j
X
i

i
seectue en nombre linaire doprations et montre quil sut de savoir traiter
ecacement le cas o les p
i
(et donc aussi les q
i
) sont constants. La transition des
uns vers les autres se calcule alors par valuation-interpolation sur = 0, 1, 2, . . . .
Soit P le polynme calculer. Les premires identits obtenues par valuation sont
p
0
= q
0
, p
0
+p
1
=

q
i
, p
0
+ 2p
1
+ 2p
2
=

2
i
q
i
,
et plus gnralement
e
X

p
i
X
i
=

P(i)
i!
X
i
,
ce qui montre que les valeurs de P en 0, . . . , d peuvent tre obtenues en O(M(d))
oprations partir des coecients p
i
, et donc les coecients de P en O(M(d) log d)
oprations, par interpolation rapide, en utilisant les techniques du Chapitre 6.
Thorme 2. Le calcul des N premiers termes dune srie solution dune
quation direntielle linaire dordre d coecients des polynmes de degr au
plus m requiert un nombre doprations arithmtiques born par
O
_
(m+d) M(d)
_
log d +
N
d
__
.
La premire partie de lestimation provient des estimations ci-dessus, la seconde
de la complexit du calcul des N premiers termes dune suite solution dune rcur-
rence linaire dordre au plus m+d avec des coecients de degr au plus d, vue au
Chapitre 13.
2. PROPRITS DE CLTURE 121
2. Proprits de clture
Les sries D-nies jouissent de proprits de clture. En ce sens, elles sont un
analogue direntiel des nombres algbriques. Ces proprits de clture gnralisent
celles sur les suites rcurrentes linaires coecients constants (srlcc) voques en
Section 5.2 du Chapitre 5.
2.1. Somme et produit.
Thorme 3. Lensemble des sries D-nies coecients dans un corps K
est une algbre sur K. Lensemble des suites P-rcursives dlments de K est aussi
une algbre sur K.
Une consquence algorithmique fondamentale de ce thorme est le fait que les
sries D-nies peuvent tre multiplies plus rapidement que les sries arbitraires,
en complexit linaire.
Corollaire 1. Soient A, B K[[X]] deux sries D-nies, solutions dqua-
tions direntielles dordre O(1) coecients polynomiaux de degr O(1). On peut
calculer le produit AB mod X
N
en O(N) oprations dans K.
Dmonstration. Les preuves pour les suites et les sries sont similaires. Les
preuves pour les sommes sont plus faciles que pour les produits, mais dans le mme
esprit. Nous ne donnons donc que la preuve pour le produit C = AB de deux sries
D-nies A et B. Par la formule de Leibniz, toutes les drives de C scrivent comme
combinaisons linaires de produits entre une drive A
(i)
de A et une drive B
(j)
de B. Les drives de A et de B tant engendres par un nombre ni dentre elles,
il en va de mme pour les produits A
(i)
B
(j)
, ce qui prouve la D-nitude de C.
Exercice 4. Faire la preuve pour le cas du produit de suites P-rcursives.
Cette preuve donne galement un algorithme pour trouver lquation di-
rentielle (resp. la rcurrence) cherche : il sut de calculer les drives (resp. les
dcales) successives en les rcrivant sur un ensemble ni de gnrateurs. Une fois
leur nombre susant (cest--dire au pire gal la dimension plus 1), il existe une
relation linaire entre elles. partir de la matrice dont les lignes contiennent les
coordonnes des drives successives (resp. des dcals successifs) sur cet ensemble
ni de gnrateurs, la dtermination de cette relation se rduit alors celle du
noyau de la transpose. Le calcul se ramne donc ultimement la rsolution dun
systme linaire coecients dans K[X], ce qui peut se faire ecacement grce
lalgorithme de Storjohann (Chapitre 14).
Exemple 5. Voici comment prouver (et mme dcouvrir) lidentit
arcsin(X)
2
=

k0
k!
_
1
2
_

_
k +
1
2
_
X
2k+2
2k + 2
.
Le calcul consiste partir dune quation satisfaite par arcsin(X), en dduire une
quation satisfaite par son carr, traduire cette quation en rcurrence sur les coe-
cients, et conclure en constatant que cette rcurrence est satisfaite par les coecients
de la srie.
Le point de dpart est la proprit (arcsin(X))
t
= 1/

1 X
2
, qui permet
de reprsenter arcsin par lquation direntielle (1 X
2
)y
tt
Xy
t
= 0 avec les
conditions initiales y(0) = 0, y
t
(0) = 1.
122 8. ALGORITHMIQUE DES SRIES D-FINIES
Ensuite, en posant h = y
2
, les drivations et rductions successives donnent
h
t
= 2yy
t
,
h
tt
= 2y
t2
+ 2yy
tt
= 2y
t2
+
2X
1 X
2
yy
t
,
h
ttt
= 4y
t
y
tt
+
2X
1 X
2
(y
t2
+yy
tt
) +
_
2
1 X
2
+
4X
2
(1 X
2
)
2
_
yy
t
,
=
_
4X
1 X
2
+
2X
2
(1 X
2
)
2
+
2
1 X
2
+
4X
2
(1 X
2
)
2
_
yy
t
+
2X
1 X
2
y
t2
.
Les quatre vecteurs h, h
t
, h
tt
, h
ttt
sont combinaisons linaires des trois vecteurs y
2
,
yy
t
, y
t2
. Ils sont donc lis et une relation de liaison sobtient en calculant le noyau
de la matrice 3 4 qui dcoule de ce systme. Le rsultat est
(1 X
2
)h
ttt
3Xh
tt
h
t
= 0.
La rcurrence qui sen dduit est
(n + 1)(n + 2)(n + 3)a
n+3
(n + 1)
3
a
n+1
= 0.
Comme le facteur (n + 1) ne sannule pas sur N, il est possible de simplier pour
obtenir la rcurrence quivalente
(n + 2)(n + 3)a
n+3
(n + 1)
2
a
n+1
= 0.
Si le membre droit de lidentit ntait pas connu, il serait possible de le dterminer
grce cette rcurrence deux termes. Lorsque le membre droit est donn, la
vrication que les coecients de la srie ci-dessus vrient cette identit est facile.
En outre, la preuve du thorme 2 permet de borner lordre des quations :
lordre de lquation satisfaite par une somme est born par la somme des ordres
des quations satisfaites par les sommants, et lordre de lquation satisfaite par
un produit est born par le produit des ordres. On en dduit alors un algorithme
simple de preuve didentits.
Exemple 6. Lidentit de Cassini sur les nombres de Fibonacci scrit
F
n+2
F
n
F
2
n+1
= (1)
n
.
Pour prouver cette galit, le point de dpart est simplement la rcurrence dnis-
sant les nombres de Fibonacci :
F
n+2
= F
n+1
+F
n
,
qui exprime que tous les dcals de F
n
sont des combinaisons linaires de F
n
et
F
n+1
. Les produits qui interviennent dans lidentit de Cassini sexpriment donc a
priori comme combinaison linaire de F
2
n
, F
n
F
n+1
et F
2
n+1
et donc le membre de
gauche vrie une rcurrence dordre born par 4. Le membre droit vriant une
rcurrence dordre 1, leur dirence vrie une rcurrence dordre au plus 5. Il nest
pas ncessaire de calculer cette rcurrence. Il sut de vrier que ses 5 conditions
initiales sont nulles. Autrement dit, vrier lidentit pour n = 0, . . . , 4 la prouve !
Si le membre droit nest pas donn, on calcule la rcurrence satisfaite par le
membre gauche en rcrivant ses dcals sur les gnrateurs F
n+1
F
n
, F
2
n
, F
2
n+1
:
u
n
= F
n+2
F
n
F
2
n+1
= F
n+1
F
n
+F
2
n
F
2
n+1
,
u
n+1
= F
n+2
F
n+1
+F
2
n+1
F
2
n+2
= F
2
n+1
F
2
n
F
n
F
n+1
= u
n
.
et on conclut en observant que u
0
= 1.
Exercice 5. De la mme manire, montrer que sin
2
X + cos
2
X = 1, avec et
sans calcul.
3. SRIES ALGBRIQUES 123
2.2. Produit dHadamard.
Corollaire 2. Si A =

n0
a
n
X
n
et B =

n0
b
n
X
n
sont deux sries
D-nies, alors leur produit dHadamard
AB =

n0
a
n
b
n
X
n
lest aussi.
La preuve est galement un algorithme : des deux quations direntielles se
dduisent deux rcurrences satisfaites par les suites (a
n
) et (b
n
) ; daprs la section
prcdente, le produit (a
n
b
n
) vrie alors une rcurrence linaire, dont se dduit
enn lquation direntielle satisfaite par sa srie gnratrice.
Exemple 7. Les polynmes orthogonaux de Hermite ont pour srie gnratrice

n0
H
n
(X)
Z
n
n!
= exp(Z(2X Z)).
partir de l, la dtermination du membre droit de lidentit suivante due Mehler
est entirement algorithmique :

n0
H
n
(X)H
n
(Y )
Z
n
n!
=
exp
_
4Z(XY Z(X
2
+Y
2
))
14Z
2
_

1 4Z
2
.
Exemple 8. Si lintgrale
I(t) =
_

e
xt
2
f(x) dx,
peut tre calcule partir du dveloppement de Taylor de f en intervertissant
sommation et intgration, alors I(t) est D-nie si f lest. Il en va de mme pour la
transforme de Laplace ou la transforme de Fourier.
Exercice 6. Montrer que dans les mmes conditions, f est D-nie si I lest,
et donner un algorithme pour calculer une quation direntielle linaire satisfaite
par f partir dune quation satisfaite par I.
3. Sries algbriques
Definition 3. Une srie formelle F(X) K[[X]] est une srie algbrique lors-
quil existe un polynme non nul P(X, Y ) K[X, Y ] tel que P(X, F(X)) = 0.
Thorme 4. Si la srie F(X) annule un polynme P(X, Y ) de degr d en Y ,
alors elle est solution dune quation direntielle linaire dordre au plus d.
Dmonstration. La preuve est algorithmique. Quitte diviser dabord P par
son pgcd avec sa drive P
Y
par rapport Y , il est possible de le supposer premier
avec P
Y
(car la caractristique est nulle !). En drivant P(X, Y ) = 0 et en isolant
Y
t
, il vient
Y
t
=
P
X
P
Y
.
Par inversion modulaire de P
Y
(voir le Chapitre 7), cette identit se rcrit via un
calcul de pgcd tendu en
Y
t
= R
1
(Y ) mod P,
o R
1
est un polynme en Y de degr au plus d et coecients dans K(X). Ceci si-
gnie que Y
t
scrit comme combinaison linaire de 1, Y, Y
2
, . . . , Y
d1
coecients
dans K(X). Driver nouveau cette quation, puis rcrire Y
t
et prendre le reste de la
124 8. ALGORITHMIQUE DES SRIES D-FINIES
division par P mne nouveau une telle combinaison linaire pour Y
tt
et plus g-
nralement pour les drives successives de Y . Les d+1 vecteurs Y, Y
t
, . . . , Y
(d)
sont
donc linairement dpendants et la relation de liaison est lquation cherche.
Exemple 9. Les dnombrements darbres mnent naturellement des qua-
tions algbriques sur les sries gnratrices. Ainsi, la srie gnratrice C(X) des
nombres de Catalan (nombre darbres binaires n sommets internes) vrie
C = 1 +XC
2
;
la srie gnratrice M(X) des nombres de Motzkin (nombre darbres unaires-
binaires n sommets internes) vrie
M = 1 +XM +XM
2
.
Dans les deux cas, il est ais dobtenir dabord une quation direntielle puis une
rcurrence qui permet de calculer ecacement ces nombres par scindage binaire.
Dans le cas des nombres de Catalan, la rcurrence est dordre 1, la suite est donc
hypergomtrique et sexprime aisment.
Exercice 7. Trouver une formule explicite des nombres de Catalan. Rcrire
les fonctions qui pourraient apparatre dans le rsultat en termes de factorielles,
puis de coecient binomial.
Exercice 8. laide dun systme de calcul formel, calculer une rcurrence
linaire satisfaite par les coecients de la srie Y (X) solution de
Y = 1 +XY +XY
7
.
Les mmes arguments que ci-dessus mnent une autre proprit de clture
des sries D-nies.
Corollaire 3. Si F est une srie D-nie et A une srie algbrique sans terme
constant, alors F A est D-nie.
La preuve consiste observer que les drives successives de F A sexpriment
comme combinaisons linaires des F
(i)
(A)A
j
pour un nombre ni de drives de F
(par D-nitude) et de puissances de A (par la mme preuve que pour le thorme 4).
Cette preuve fournit encore un algorithme.
Exemple 10. laide dun systme de calcul formel, calculer une rcurrence
linaire satisfaite par les coecients du dveloppement en srie de Taylor de
exp
_
1

1 4X
2
_
.
Corollaire 4. Si A est une srie algbrique, alors exp
_
A est D-nie.
Exercice 9. Faire la preuve.
4. Au-del
En gnral, la composition de deux sries D-nies nest pas D-nie. Voici trois
rsultats plus forts, dont la preuve repose sur la thorie de Galois direntielle et
dpasse le cadre de ce cours.
Thorme 5. Soient A et F deux sries de K[[X]].
1. Les sries F et 1/F sont simultanment D-nies si et seulement si F
t
/F
est algbrique.
2. Les sries F et exp(
_
F) sont simultanment D-nies si et seulement si F
est algbrique.
EXERCICES 125
3. Soit A algbrique de genre suprieur ou gal 1, alors F et A F sont
D-nies si et seulement si F est algbrique.
Exercice 10. Prouver le sens si de ces trois proprits.
Exercices
Exercice 11. Parmi les suites donnes par les termes gnraux suivants, in-
diquer celles qui sont P-rcursives et celles qui ne le sont pas :
1
_
2n
n
_, cos n, 2
2
n
, H
n
= 1 +
1
2
+ +
1
n
, log n|.
Parmi les fonctions dont la valeur en x est donne par les termes suivants,
indiquer celles qui sont D-nies et celles qui ne le sont pas :
exp
_
3

1 X
_
,

i1
1
1 X
i
,

i0
X
2
i
,

n0
F
3
n
X
n
n!
, tan(X).
(F
n
dsigne le n-ime nombre de Fibonacci, dont la suite vrie F
n+2
= F
n+1
+F
n
et F
1
= F
0
= 1.)
Exercice 12.
1. Soit (a
n
)
n0
une suite P-rcursive dlments dun corps de caractris-
tique 0. Montrer que les suites extraites (a
2n
)
n0
et (a
2n+1
)
n0
sont ga-
lement P-rcursives.
2. Soit (g
n
)
n0
une suite dont la srie gnratrice exponentielle est

n0
g
n
X
n
n!
=
exp(X/2 X
2
/4)

1 X
.
Montrer que la suite (g
n
)
n0
satisfait une rcurrence linaire homogne,
dordre au plus 3 et coecients polynomiaux de degrs au plus 2. La
rcurrence nest pas demande explicitement.
3. Si N > 0, quel est le cot binaire, en fonction de N, du calcul de g
N
?
Exercice 13 (Oprations de clture pour les quations direntielles linaires
coecients constants). Soient f(X) et g(X) solutions des quations direntielles
linaires homognes
a
m
f
(m)
(X) + +a
0
f(X) = 0, b
n
g
(n)
(X) + +b
0
g(X) = 0,
avec a
0
, . . . , a
m
, b
0
, . . . , b
n
des coecients rationnels.
1. Montrer que f(X)g(X) et f(X) +g(X) sont solutions dquations diren-
tielles du mme type.
Si le polynme a
m
X
m
+ +a
0
se factorise sur C en
a
m
(X
1
)
d
1
(X
k
)
d
k
,
on rappelle quune base de lespace des solutions de
a
m
f
(m)
(X) + +a
0
f(X) = 0
est donne par
_
e

1
X
, Xe

1
X
, . . . , X
d
1
1
e

1
X
, . . . , e

k
X
, Xe

k
X
, . . . , X
d
k
1
e

k
X
_
.
2. Montrer quune quation satisfaite par f(X) + g(X) peut tre calcule
laide de lalgorithme dEuclide.
3. Montrer quune quation satisfaite par f(X)g(X) peut tre obtenue par un
calcul de rsultant.
126 8. ALGORITHMIQUE DES SRIES D-FINIES
Exercice 14 (Puissance symtrique dquation direntielle). Soient m et d
deux entiers naturels et soient a(X), b(X) deux polynmes dans Q[X] de degrs au
plus d.
1. Montrer quil existe une quation direntielle c
m
linaire homogne
dordre m + 1, coecients dans Q[X], qui admet (X)
m
comme solu-
tion, quelle que soit la solution (X) de lquation direntielle
(c
1
) y
tt
(X) +a(X)y
t
(X) +b(X)y(X) = 0.
On admettra que pour toute base (
1
,
2
) de solutions de c
1
, les fonctions

i
1

mi
2
, i = 0, . . . , m sont linairement indpendantes.
2. Montrer que si a = 0, alors c
2
: y
ttt
(X) + 4b(X)y
t
(X) + 2b
t
(X)y(X) = 0.
3. Expliciter un algorithme pour calculer c
m
, en ramenant le calcul nal un
calcul sur des matrices de polynmes.
4. Estimer la complexit de cet algorithme en nombres doprations dans Q
en fonction de m et d.
5. Pour m x, on associe une fonction y de X des fonctions L
k
par les
valeurs initiales
L
0
(X) = y(X), L
1
(X) = y
t
(X)
et la relation de rcurrence
L
k+1
(X) = L
t
k
(X) +ka(X)L
k
(X) +k(mk + 1)b(X)L
k1
(X).
(a) Montrer que lorsque y =
m
, pour 0 k m,
L
k
(X) = m(m1) . . . (mk + 1)
mk
(X)
t
(X)
k
,
et L
m+1
(X) = 0.
(b) Montrer que L
m+1
(X) = 0 nest autre que lquation c
m
.
(c) En dduire des bornes sur les degrs des coecients de c
m
et un
algorithme de complexit O(m
3
M(d)) pour le calcul de c
m
.
6.

Montrer que si a, b Q, alors c
m
est coecients constants et quon
peut calculer c
m
en O(M(m) log m) oprations dans Q.
Notes
Les proprits de clture des sries D-nies ont t dcrites avec leurs applica-
tions par Stanley dans [12] ainsi que dans son livre [13], et par Lipshitz dans [8].
Lutilisation des sries D-nies pour les sries algbriques en combinatoire est
exploite de nombreuses reprises par Comtet dans son livre [5], o il utilise lal-
gorithme dcrit dans la preuve du Thorme 4. Lhistoire de cet algorithme est
complique. Il tait connu dAbel qui lavait rdig dans un manuscrit de 1827
qui na pas t publi. Ce manuscrit est dcrit (p. 287) dans les uvres compltes
dAbel [1]. Ensuite, ce rsultat a t retrouv par Sir James Cockle en 1860 et po-
pularis par le rvrend Harley en 1862 [6]. Quelques annes plus tard, il est encore
retrouv par Tannery [14] dans sa thse, dont le manuscrit est remarquablement
clair et disponible sur le web ( lurl http://gallica.bnf.fr). Pour le calcul du
dveloppement de sries algbriques, il faut tenir compte de lordre assez lev des
quations obtenues [4], ce qui rend cet algorithme utile pour des trs grandes pr-
cisions, litration de Newton du Chapitre 4 tant prfrable pour des prcisions
modres.
Les limitations de la dernire section ne sont pas trs connues. Elles sont dues
Harris et Sibuya pour la premire [7] et Singer pour les deux autres [10].
Bibliographie 127
En ce qui concerne les algorithmes et les implantations, la plupart des algo-
rithmes prsents dans ce chapitre sont implants dans le package gfun de Maple [9].
Lalgorithme rapide de la Section 1.4 provient essentiellement de [3], qui donne une
variante lgrement plus ecace (dun facteur constant).
Bibliographie
[1] Abel (Niels Henrik). uvres compltes. Tome II. ditions Jacques Gabay, Sceaux, ipp,
vi+716p. Edited and with notes by L. Sylow and S. Lie, Reprint of the second (1881) edition.
Disponible en ligne http://gallica.bnf.fr.
[2] Abramowitz (Milton) and Stegun (Irene A.) (editors). Handbook of mathematical functions
with formulas, graphs, and mathematical tables. Dover Publications Inc., New York, ipp,
xiv+1046p. Reprint of the 1972 edition.
[3] Bostan (Alin). Algorithmique ecace pour des oprations de base en Calcul formel. PhD
thesis, cole polytechnique, December oo.
[4] Bostan (Alin), Chyzak (Frdric), Lecerf (Grgoire), Salvy (Bruno), and Schost (ric).
Dierential equations for algebraic functions. In ISSAC07. pp. 2532. ACM Press, oo.
[5] Comtet (L.). Analyse Combinatoire. PUF, Paris, ipo. 2 volumes.
[6] Harley (Rev. Robert). On the theory of the transcendental solution of algebraic equations.
Quarterly Journal of Pure and Applied Mathematics, vol. 5, iS6, pp. 337360.
[7] Harris (William A.) and Sibuya (Yasutaka). The reciprocals of solutions of linear ordinary
dierential equations. Advances in Mathematics, vol. 58, n2, ipS, pp. 119132.
[8] Lipshitz (L.). 1-nite power series. Journal of Algebra, vol. 122, n2, ipSp, pp. 353373.
[9] Salvy (Bruno) and Zimmermann (Paul). Gfun : a Maple package for the manipulation
of generating and holonomic functions in one variable. ACM Transactions on Mathematical
Software, vol. 20, n2, ipp, pp. 163177.
[10] Singer (Michael F.). Algebraic relations among solutions of linear dierential equations.
Transactions of the American Mathematical Society, vol. 295, n2, ipS6, pp. 753763.
[11] Sloane (N. J. A.). The On-Line Encyclopedia of Integer Sequences. oo6. Published
electronically at http://www.research.att.com/njas/sequences/.
[12] Stanley (R. P.). Dierentiably nite power series. European Journal of Combinatorics,
vol. 1, n2, ipSo, pp. 175188.
[13] Stanley (Richard P.). Enumerative combinatorics. Cambridge University Press, ippp,
vol. 2, xii+581p.
[14] Tannery (Jules). Proprits des intgrales des quations direntielles linaires coe-
cients variables. Thse de doctorat s sciences mathmatiques, Facult des Sciences de
Paris, iS. Disponible en ligne http://gallica.bnf.fr.
CHAPITRE 9
Approximants de Pad et de Pad-Hermite
Rsum
Lalgorithme dEuclide tendu permet le calcul dapproximants de Pad.
Plus gnralement, il permet la reconstruction des fractions rationnelles.
Les approximants de Pad-Hermite sont une gnralisation des approxi-
mants de Pad. Leur calcul peut seectuer grce un algorithme
qui peut tre vu comme une gnralisation de lalgorithme dEuclide
tendu. Lapproximation de Pad-Hermite rend possible la reconstruc-
tion dquations linaires coecients polynomiaux reliant des sries
formelles.
Un premier problme abord dans ce chapitre est le calcul dapproximants
de Pad. Plus gnralement, on sintresse la reconstruction rationnelle, dont un
autre cas particulier important est linterpolation des fractions rationnelles. En Sec-
tion 1, nous ramenons la reconstruction rationnelle lalgorithme dEuclide tendu,
et lappliquons la reconnaissance dune suite rcurrente linaire partir de ses
premiers termes (algorithme de Berlekamp-Massey). Les applications en sont nom-
breuses : pour la rsolution de systmes direntiels coecients constants (Cha-
pitre 15), pour le calcul de polynmes minimaux de matrices creuses (Chapitre 10),
pour la rsolution de systmes linaires coecients polynomiaux (Chapitre 14).
Un second problme, trait en Section 2, est le calcul dapproximants de Pad-
Hermite. Il peut seectuer grce un algorithme qui gnralise celui pour le calcul
des approximants de Pad. Lapproximation de Pad-Hermite permet deectuer la
reconstruction de polynmes annulant une srie algbrique, et doprateurs di-
rentiels annulant une srie D-nie. Il permet galement de deviner une rcurrence
coecients polynomiaux dordre arbitraire partir des premiers termes de la suite.
1. Reconstruction rationnelle
Definition 1. Soit K un corps, A K[X] un polynme de degr n > 0 et
B K[X] de degr < n. Pour un k 1, . . . , n x, la reconstruction rationnelle
de B modulo A est la recherche dun couple de polynmes (R, V ) K[X]
2
vriant :
(RR) pgcd(V, A) = 1, deg(R) < k, deg(V ) n k et
R
V
B mod A.
On parle dapproximation de Pad lorsque A = X
n
, et dinterpolation de Cauchy
lorsque A =

i
(X u
i
) avec u
1
, . . . , u
n
K deux deux distincts.
Remarque. Si k = n, alors clairement (R, V ) = (B, 1) est une solution du
problme (RR).
Si k < n, il est possible que (RR) nadmette aucune solution. Cest le cas par
exemple en prenant n = 3, k = 2 et A = X
3
, B = X
2
+ 1 K[X]. En eet, si
V (X) = aX +b avec b ,= 0, alors R (aX +b)(X
2
+ 1) = bX
2
+aX +b mod X
3
,
ce qui est incompatible avec deg(R) 1.
Par ailleurs, si (RR) admet une solution (R, V ), alors la fraction rationnelle R/V
est forcment unique. En eet, si (R
1
, V
1
) K[X]
2
est une autre solution de (RR),
alors R
1
/V
1
R/V mod A, donc A divise R
1
V V
1
R. Or, le polynme R
1
V V
1
R
129
130 9. APPROXIMANTS DE PAD ET DE PAD-HERMITE
ayant un degr strictement infrieur celui de A, il doit tre identiquement nul.
Donc les fractions R/V et R
1
/V
1
concident.
Un problme plus simple. Si R, V K[X] sont tels que (R, V ) est solution du
problme (RR), alors (R, V ) vrie aussi le problme plus simple
(RRS) deg(R) < k, deg(V ) n k et R V B mod A,
o, la dirence de (RR), on a mis de ct la contrainte sur le pgcd de A et de V .
Remarquons tout de suite que le problme (RRS) admet toujours une solution
non triviale (R, V ) ,= (0, 0) : en eet, il se traduit en termes dalgbre linaire en un
systme linaire homogne ayant k +(n k +1) = n +1 inconnues (les coecients
de R et de V ) et n quations. Par ailleurs, la solution R/V du problme (RRS)
est encore unique (mme ide de preuve que pour (RR) : si A divise la fois
RV B et R
1
V
1
B, alors il divise galement la combinaison linaire RV
1
R
1
V =
(R V B)V
1
(R
1
V
1
B)V ).
Lien avec le pgcd tendu. Nous allons prouver en 1.1 que le problme (RRS)
peut tre rsolu en utilisant lalgorithme dEuclide tendu AEE en page 101. Nous
allons en dduire ensuite une procdure de dcision et calcul pour (RR).
Lintuition du lien entre le problme (RRS) et le calcul du pgcd tendu sap-
puie sur la remarque simple suivante : la congruence R V B mod A quivaut
lexistence dun polynme U tel que R = UA + V B; or, cette dernire galit est
une relation de type Bzout.
Pour prciser un peu cette remarque, traitons brivement le problme (RRS)
dans le cas particulier k = 1. Si A et B sont premiers entre eux, alors on prend
R = 1 et la relation de Bzout R = UA+V B avec deg(V ) < deg(A) = n fournit la
rponse. Sinon, on prend R = 0, et comme le ppcm de A et B a un degr < m+n, le
polynme V = ppcm(A, B)/B est de degr au plus n1 et vrie V B = 0 mod A.
1.1. Calcul de la reconstruction rationnelle. Rappelons que lalgorithme
dEuclide tendu (AEE, page 101) calcule une suite de restes successifs dont le degr
dcrot, ainsi quune suite de cofacteurs (U
i
, V
i
). Les lments de la i-ime itration
vrient lidentit de Bzout U
i
A+V
i
B = R
i
. Lcriture matricielle de litration
_
U
i
V
i
U
i+1
V
i+1
_
=
_
0 1
1 Q
i
_

_
U
i1
V
i1
U
i
V
i
_
permet de dduire aisment que U
i
V
i+1
V
i
U
i+1
= (1)
i
quel que soit i, et en
particulier que U
i
et V
i
sont premiers entre eux. Cela entrane galement que
pgcd(R
i
, V
i
) = pgcd(A, V
i
).
La cl du rsultat principal de cette section (Thorme 1 ci-dessous) est le
lemme suivant, qui montre que les cofacteurs V
i
dans lalgorithme AEE ont des
degrs modrs et bien matriss.
Lemme 1. Soient n
0
:= deg(A) > n
1
:= deg(B) > n
2
> . . . > n

les degrs des


restes R
i
dans AEE(A, B). Alors :
(1) deg(V
i
) = n n
i1
pour 1 i + 1.
Dmonstration. On procde par rcurrence complte sur i. Linitialisation
est claire, puisque deg(V
1
) = 0. Prouvons maintenant que si lgalit (1) est vrie
pour 1 i k, alors elle lest aussi pour i = k + 1.
On part de lobservation que deg(V
k1
) = nn
k2
< nn
k1
= deg(V
k
), qui
implique que le degr de V
k+1
= V
k1
Q
k
V
k
est gal deg(Q
k
V
k
) = deg(Q
k
) +
deg(V
k
) = (n
k1
n
k
) + (n n
k1
) = n n
k
.
1. RECONSTRUCTION RATIONNELLE 131
Remarque. Dans une situation gnrique , les quotients successifs Q
i
ont
tous degr 1, et donc n
i+1
= n
i
1 (la suite des restes est appele normale), si bien
que le lemme prcdent implique lgalit deg(V
i
) = i 1.
Nous sommes en mesure de prouver que le problme de reconstruction ration-
nelle (RR) peut tre rsolu laide de lalgorithme AEE.
Thorme 1. Soit A K[X] de degr n > 0 et soit B K[X] de degr < n.
Soit k 1, 2, . . . , n et soit (R
j
, U
j
, V
j
) la j-ime ligne dans AEE(A, B), o j est
choisi minimal tel que deg(R
j
) < k.
1. Il existe une solution (R, V ) ,= (0, 0) de (RRS), savoir (R, V ) = (R
j
, V
j
).
Si, de plus, pgcd(R
j
, V
j
) = 1, alors (R, V ) est aussi solution de (RR).
2. Si (RR) admet une solution et si R/V K(X) en est une forme irrductible,
alors il existe une constante K 0 telle que R = R
j
et V = V
j
.
Le problme (RR) admet donc une solution si et seulement si pgcd(A, V
j
) = 1.
Dmonstration. Par construction, R
j
vaut bien U
j
A+V
j
B V
j
B modulo A.
Par ailleurs, le Lemme 1 montre que le degr de V
j
vaut n deg(R
j1
) et est donc
born par nk (par la minimalit de j). Donc (R, V ) = (R
j
, V
j
) vrie bien (RRS).
De plus, le pgcd(A, V
j
) est gal au pgcd(R
j
, V
j
). Par consquent, si ce dernier
vaut 1, alors V
j
est inversible modulo A et donc (R, V ) = (R
j
, V
j
) vrie aussi (RR).
Lunicit ( une constante prs) est plus dlicate prouver. Supposons que
(R, V ) est une solution de (RR). Alors R scrit UA+V B pour un certain U K[X].
Nous allons prouver que (R, V ) = (R
j
, V
j
) pour un certain K[X] 0.
Commenons par montrer lgalit U
j
V = UV
j
. Supposons le contraire et consi-
drons le systme linaire
_
U
j
V
j
U V
_

_
A
B
_
=
_
R
j
R
_
.
Le systme tant suppos de Cramer, A scrit comme quotient de deux dtermi-
nants
A =

R
j
V
j
R V

U
j
V
j
U V

.
Lhypothse deg(R
j
) < k deg(R
j1
) et le Lemme 1 entranent que le degr du
membre droit de lgalit prcdente est major par
deg(R
j
V RV
j
) maxk 1 + deg(V ), deg(R) +n deg(R
j1
)
maxn 1, (k 1) +n deg(R
j1
) = n 1,
ce qui contredit deg(A) = n. Nous avons donc bien lgalit U
j
V = UV
j
. Celle-ci
implique que V
j
divise U
j
V , et puisque U
j
et V
j
sont premiers entre eux, il sensuit
que V
j
divise V . En crivant V = V
j
, avec K[X], on obtient UV
j
= V U
j
=
U
j
V
j
, et donc U = U
j
. Enn, R = UA+V B = (U
j
A+V
j
B) = R
j
.
Les polynmes R et V tant premiers entre eux, il sensuit que est une
constante de K 0, et que donc pgcd(R
j
, V
j
) = 1.
Lalgorithme qui sensuit est donn en Figure 1 ; noter la ressemblance avec
lalgorithme AEE.
1.2. Approximants de Pad. On rappelle que si n > 0, k 1, 2, . . . , n
et si B K[X] est de degr < n, alors un approximant de Pad pour B de type
(k 1, n k) est une fraction rationnelle R/V K[X] telle que
(2) X,[ V, deg(R) < k, deg(V ) n k et
R
V
B mod X
n
.
Le Thorme 1 (pour A = X
n
) entrane la consquence suivante.
132 9. APPROXIMANTS DE PAD ET DE PAD-HERMITE
ARR(A, B, k)
Entre : A, B K[X] avec n = deg(A) > deg(B), et k 1, . . . , n.
Sortie : Une solution (R, V ) de (RR), ou 0 si une telle solution nexiste pas.
1. R
0
:= A; U
0
:= 1 ; V
0
:= 0 ; R
1
:= B; U
1
:= 0 ; V
1
:= 1 ; i := 1.
2. Tant que deg(R
i
) k, faire :
(Q
i
, R
i+1
) := QuotRem(R
i1
, R
i
) ; # la division euclidienne
U
i+1
:= U
i1
Q
i
U
i
; V
i+1
:= V
i1
Q
i
V
i
;
i := i + 1
3. Si pgcd(A, V
i
) = 1, renvoyer (R
i
, V
i
) ; sinon renvoyer 0.
Figure 1. Algorithme de reconstruction rationnelle.
Berlekamp-Massey
Entre : Une borne N N sur le degr du polynme minimal de la
suite (a
n
)
n0
et les 2N premiers termes a
0
, . . . , a
2N1
K.
Sortie : Le polynme gnrateur minimal de (a
n
)
n0
.
1. A := a
0
+a
1
X + +a
2N1
X
2N1
.
2. Calculer R, V K[X] la solution de (3) telle que V (0) = 1.
3. d := max1 + deg(R), deg(V ). Renvoyer

V := V (1/X)X
d
.
Figure 2. Lalgorithme de Berlekamp-Massey.
Corollaire 1. Soit B K[X] de degr < n. Soit (R
j
, U
j
, V
j
) la j-ime ligne
dans AEE(X
n
, B), o j est choisi minimal tel que deg(R
j
) < k. Alors :
1. Lquation (2) admet une solution si et seulement si pgcd(R
j
, V
j
) = 1.
2. Si pgcd(R
j
, V
j
) = 1, alors R
j
/V
j
est lunique approximant de Pad pour B
de type (k 1, n k).
Lalgorithme qui sen dduit est un cas particulier de lalgorithme ARR, en prenant
A = X
n
et en remplaant le test pgcd(A, V
i
) = 1 de ltape (3) par V
i
(0) ,= 0.
1.3. Algorithme de Berlekamp-Massey. Lalgorithme dcrit dans cette
section permet de deviner des rcurrences coecients constants dordre arbitraire
partir de termes conscutifs de la suite.
On se donne dans un corps K les 2N premiers lments dune suite rcurrente
linaire (a
n
)
n0
pour laquelle on sait quil existe un polynme caractristique de
degr d N, cest--dire un polynme
f(X) = f
d
X
d
+ +f
0
, tel que f
d
a
n+d
+ +f
0
a
n
= 0, pour tous n 0.
Le problme est de calculer le polynme minimal (i.e. le polynme caractristique
de degr minimal) de (a
n
)
n0
. Le Lemme 2 (page 80) montre que ce calcul quivaut
la rsolution du problme de Pad
(3)
R
V
A mod X
2N
, X,[ V, deg(R) < N, deg(V ) N et pgcd(R, V ) = 1.
En eet, il implique que (R, V ) = (N
0
,

P) est solution de (3). Lalgorithme qui sen
dduit est donn en Figure 2.
1. RECONSTRUCTION RATIONNELLE 133
1.4. Interpolation rationnelle de Cauchy. Linterpolation des fractions
rationnelles, appele aussi interpolation de Cauchy, est une gnralisation naturelle
de linterpolation polynomiale (de Lagrange).
Soient k 1, . . . , n, v
0
, . . . , v
n1
K et soient u
0
, . . . , u
n1
des points dis-
tincts de K. On cherche une fraction rationnelle R/V K(X) avec R, V K[X]
satisfaisant aux contraintes
(4) V (u
i
) ,= 0,
R(u
i
)
V (u
i
)
= v
i
pour 0 i < n, deg(R) < k, deg(V ) n k.
Le problme (4) est un cas particulier de reconstruction rationnelle. En eet,
si lon note B K[X] lunique polynme de degr < n tel que B(u
i
) = v
i
, alors (4)
quivaut la reconstruction rationnelle de B modulo A := (Xu
0
) (Xu
n1
).
Le Thorme 1 implique la procdure de dcision et de calcul suivante : on
calcule le polynme interpolant B et le polynme A = (X u
0
) (X u
n1
). On
calcule les lments (R
j
, V
j
) de la j-ime ligne de AEE(A, B) avec j minimal tel que
deg(R
j
) < k. Si pgcd(A, V
j
) = 1, alors R
j
/V
j
est lunique forme canonique de la
fraction rationnelle cherche. Sinon, le problme (4) na pas de solution.
Une application importante de linterpolation rationnelle est la reconnaissance
de rcurrences linaires dordre 1 coecients polynomiaux.
Corollaire 2 (Devinette de rcurrences hypergomtriques). Soit (a
n
) une
suite dlments non nuls de K vriant la rcurrence p
1
(n)a
n+1
+p
0
(n)p
n
= 0, dont
les coecients (inconnus) p
0
(X) et p
1
(X) sont des polynmes de K[X], premiers
entre eux. Si lon connat une borne d sur le degr de p
0
et de p
1
telle que p
0
(j) ,= 0
pour 0 j 2d+1, alors on peut dterminer p
0
et p
1
par un calcul dinterpolation
rationnelle, partir des 2d + 1 premiers termes de la suite (a
n
).
1.5. Algorithmes rapides. En combinant les rsultats du Thorme 1 ci-
dessus, du Thorme 3 en page 112, et du Chapitre 6 pour le calcul rapide des
polynmes A et B dnis en Section 1.4, on dduit le rsultat de complexit suivant.
Thorme 2. Soient A K[X] de degr n > 0, B K[X] de degr < n
et k 1, 2, . . . , n. Soient v
0
, . . . , v
n1
K, et soient u
0
, . . . , u
n1
des points
distincts de K. Il est possible de calculer en O(M(n) log n) oprations dans K :
1. une solution du problme reconstruction rationnelle (RR) ;
2. un approximant de Pad pour B de type (k 1, n k) ;
3. une fraction rationnelle F = R/V K(X) telle que deg(V ) n k,
deg(R) < k, et F(u
i
) = v
i
pour 0 i < n.
Le cas entier. Lanalogue pour les entiers de la reconstruction rationnelle est
galement calculable en complexit quasi-optimale. Si n et B sont deux entiers,
0 B < n, et tant donn k n, il sagit de calculer des entiers R et V tels que
(5) pgcd(n, V ) = 1 et B =
R
V
mod n, [R[ < k, 0 V
n
k
.
Thorme 3. partir de k, n et B, on peut calculer R et V satisfaisant (5)
en O(M
Z
(log n) log log n) oprations binaires.
Le cas des rcurrences. Une consquence utile du Thorme 2 la reconnaissance
rapide des suites est contenue dans le corollaire suivant. Sa gnralisation aux cas
des suites P-rcursives arbitraires sera traite en Section 2.
Corollaire 3. Soit (a
n
) une suite dlments de K vriant
soit une rcurrence linaire coecients constants dordre au plus N ;
134 9. APPROXIMANTS DE PAD ET DE PAD-HERMITE
soit une rcurrence linaire dordre 1 coecients polynomiaux de degr au
plus N.
partir des premiers 2N + 1 termes de la suite, on peut retrouver les coecients
de la rcurrence en O(M(N) log N) oprations dans K.
2. Approximants de Pad-Hermite
Definition 2. Soit F =
t
(f
1
, . . . , f
n
) un vecteur de n 1 sries formelles
de K[[X]], et soit d = (d
1
, . . . , d
n
) N
n
. Un vecteur non nul P = (P
1
, . . . , P
n
) de
polynmes de K[X] est appel approximant de Pad-Hermite de type d de F si :
1. La valuation val(P F) de la srie P F =

n
i=1
P
i
f
i
est au moins gale
:=

(d
i
+ 1) 1 ;
2. deg(P
i
) d
i
pour tout 1 i n.
Lentier est alors appel lordre de lapproximant.
Exemple 1. Dans la terminologie de la section prcdente, si R/V K(X)
est un approximant de Pad de type (k, n k) de B K[[X]], alors (R, V ) est un
approximant de Pad-Hermite pour (1, B), de type (k, n k).
Exercice 1. Soient A, B deux polynmes de K[X], avec n = deg(A) > deg(B).
Montrer que (R, V ) est solution du problme de reconstruction rationnelle (RRS)
dni en page 130 si et seulement sil existe un polynme U K[X] tel que (R, V, U)
soit un approximant de Pad-Hermite de (1, B, A) de type (k 1, n k, n 1).
Le premier rsultat de cette section montre lexistence des approximants de
Pad-Hermite et fournit galement un premier algorithme pour leur calcul.
Thorme 4. Tout vecteur de sries formelles F = (f
1
, . . . , f
n
) K[[X]]
n
admet un approximant de Pad-Hermite de type d = (d
1
, . . . , d
n
) N
n
donn.
Dmonstration. On procde par coecients indtermins : en crivant P
i
=

d
i
j=0
p
i,j
X
j
, on obtient un systme linaire homogne =

i
(d
i
+ 1) 1 qua-
tions en les + 1 inconnues p
i,j
. Puisquil a moins dquations que dinconnues, ce
systme admet forcment une solution non triviale.
Lalgorithme qui dcoule de la preuve du Thorme 4 repose sur la recherche
dun lment non trivial dans le noyau dune matrice coecients dans K, de taille
(+1). En utilisant les rsultats du Chapitre 3, on aboutit donc un algorithme
de complexit O(MM()) = O(

) pour 2 3.
Le but de la suite de ce chapitre est de prsenter un algorithme plus ecace,
d Derksen, de complexit seulement quadratique en . En anticipant un peu,
cet algorithme revient eectuer une sorte de pivot de Gauss sur une matrice
coecients dans K[X], mais de taille bien plus petite que (seulement linaire en
max(d)). Dans le cas particulier n = 2, lalgorithme de Derksen a essentiellement la
mme complexit que le calcul dapproximants de Pad via lalgorithme dEuclide
tendu vu en Section 1.
2.1. Algorithme de Derksen : ides et rsultats prliminaires. Pour
simplier la prsentation, on se restreint dans la suite au cas o le type de lap-
proximant cherch est de la forme d = (d, . . . , d) N
n
, pour un certain d N.
Lide de lalgorithme de Derksen est de construire non pas un seul approximant
de Pad-Hermite, mais toute une famille de tels approximants, et cela de manire
incrmentale. Plus exactement, pour s = 0, 1, . . ., il construit une base dune forme
spciale, appele base minimale , du K[X]-module
V
s
:= P K[X]
n
[ val(P F) s.
2. APPROXIMANTS DE PAD-HERMITE 135
Comme nous le verrons plus loin, une telle base de V

pour = nd+n1 contiendra


alors ncessairement un approximant de Pad-Hermite de type d = (d, . . . , d) de F.
Observons que, grce aux inclusions X
s
K[X]
n
V
s
K[X]
n
, le module V
s
est
libre de rang n. Prcisons ce que lon entend par base minimale . Pour ce faire,
introduisons dabord une notion de degr et de type dun vecteur de polynmes.
Definition 3 (degr et type dun vecteur de polynmes). Pour un vecteur de
polynmes P = (P
1
, . . . , P
n
) K[X]
n
, son degr deg(P) et son type type(P) sont
donns par :
deg(P) = maxdeg(P
1
), . . . , deg(P
n
) et type(P) = maxi [ deg(P) = deg(P
i
).
Definition 4 (base minimale). Soit V K[X]
n
un sous-module libre de
rang n. Une suite Q
1
, . . . , Q
n
est appele base minimale de V si, pour tout i, le
vecteur Q
i
est non nul, de type i, et de degr minimal parmi les lments de V 0
de type i.
Le rsultat suivant prcise le lien entre une base minimale et lapproximation
de Pad-Hermite.
Lemme 2. Soit d 1. Supposons que Q
1
, . . . , Q
n
est une base minimale de
V
nd+n1
. Soit tel que deg(Q

) est minimal. Alors Q

est un approximant de
Pad-Hermite de type (d, . . . , d) pour F.
Dmonstration. Le Thorme 4 montre lexistence dun vecteur non nul P
de V
nd+n1
tel que deg(P) d. Soit i le type de P. La suite dingalits
deg(Q

) deg(Q
i
) deg(P) d,
prouve que Q

est un approximant de Pad-Hermite de type (d, . . . , d) de F.


Le rsultat suivant montre quune base minimale est ncessairement une base
du K[X]-module V au sens usuel.
Thorme 5. Soit V K[X]
n
un sous-module libre de rang n. Toute base
minimale de V est une base du K[X]-module V .
Dmonstration. Montrons dabord quil sagit dun systme de gnrateurs.
Soit W := K[X]Q
1
+ + K[X]Q
n
V . On suppose par labsurde que V ,= W.
Soit P V W un lment minimal dans V W pour lordre P < Q dni par
deg(P) < deg(Q), ou
deg(P) = deg(Q) et type(P) < type(Q).
(6)
Autrement dit, P est de type minimal parmi les lments de degr minimal de
V W.
Soit i le type de P. Les relations type(P) = type(Q
i
) et deg(P) deg(Q
i
)
entranent lexistence dun monme q K[X] de degr deg(q) = deg(P) deg(Q
i
)
tel que type(PqQ
i
) < type(P). Puisque deg(PqQ
i
) deg(P), on obtient que
PqQ
i
< P.
Par la minimalit de P, il sensuit que P qQ
i
appartient W, donc P W, ce
qui contredit le choix de P.
Pour conclure la preuve, montrons que les Q
i
forment une famille libre. Si

i
a
i
Q
i
= 0 est une combinaison polynomiale nulle des Q
i
, on a que pour tout i,
le vecteur a
i
Q
i
est de type i. Lassertion dcoule du lemme suivant.
Lemme 3. Si P, Q ont types distincts, alors type(P+Q) type(P), type(Q).
Dmonstration. Supposons j = type(P) > i = type(Q). Si deg(P)
deg(Q), alors type(P+Q) = j et si deg(P) < deg(Q), alors type(P+Q) = i.
136 9. APPROXIMANTS DE PAD ET DE PAD-HERMITE
2.2. Algorithme de Derksen : fonctionnement. Lide de lalgorithme
est de construire de proche en proche une base minimale de V
s
, partant de la base
minimale des Q
k
= (0, 0, . . . , 0, 1, 0, . . . , 0) (avec 1 en position k) de V
0
. Daprs le
Lemme 2, llment de degr minimal dans une base minimale de V
nd+n1
fournit
un approximant de Pad-Hermite de type (d, . . . , d) de F.
Le rsultat suivant montre comment construire une base minimale de V
s+1

partir dune base minimale de V
s
, et il constituera le cur de litration.
Thorme 6. Soit Q
1
, . . . , Q
n
une base minimale de
V
s
= P K[X]
n
[ val(P F) s.
1. Si val(Q
i
F) s + 1 quel que soit i, alors V
s+1
et V
s
concident, et
Q
1
, . . . , Q
n
est une base minimale de V
s+1
.
2. Supposons que 1 i n est tel que les deux conditions suivantes soient
runies :
val(Q
i
F) = s ;
si val(Q

F) = s pour un ,= i, alors Q
i
< Q

, o < est lordre (6).


Alors :
(a) pour ,= i, il existe un scalaire

K tel que

Q

:= Q

Q
i
vrie
val(

F) > s ;
(b) en posant

Q
i
= XQ
i
, la suite

Q
1
, . . . ,

Q
n
forme une base minimale
de V
s+1
.
Dmonstration. (1) Linclusion V
s+1
V
s
est vidente, et inversement, le
Thorme 5 montre que tout P V
s
scrit comme combinaison linaire

i
a
i
Q
i
.
Ainsi P F =

i
a
i
(Q
i
F) est de valuation au moins s + 1, donc P V
s+1
.
(2a) Si val(Q

F) > s, on pose

= 0 ; si val(Q

F) = s, alors Q

F = c

X
s
+
et Q
i
F = c
i
X
s
+ , avec c
i
,= 0, et alors

:= c

/c
i
convient.
Pour (2b), commenons par montrer que

Q
1
, . . . ,

Q
i1
, Q
i
,

Q
i+1
, . . . ,

Q
n
reste
une base minimale de V
s
. Il sut pour cela de montrer que pour ,= i, le vecteur

Q

a mme type et mme degr que Q

. Si val(Q

F) > s, cela est vident, car

= 0
et donc

Q

= Q

. Sinon, le choix de i assure que Q

> Q
i
, et donc Q

et Q

Q
i
ont mme degr et mme type.
Montrons maintenant que (

Q
1
, . . . ,

Q
n
) est une base minimale de V
s+1
. Comme
la multiplication par un polynme ne change pas le type, celui de

Q
i
= XQ
i
est
bien i. Il sut donc de montrer que si P V
s+1
est de type 1, 2, . . . , n, alors
deg(P) deg(Q

). Si ,= i, ceci est une vidence : comme Pappartient V


s+1
V
s
,
et comme la suite

Q
1
, . . . ,

Q
i1
, Q
i
,

Q
i+1
, . . . ,

Q
n
forme une base minimale de V
s
,
le degr de P est ncessairement au moins gal deg(

) = deg(Q

).
Dans la suite de la preuve, on peut donc supposer que P V
s+1
est de type i,
le but tant de montrer que deg(P) deg(XQ
i
). Le Thorme 5 montre que P
scrit P =

j,=i
a
j

Q
j
+ a
i
Q
i
. Puisque type(P) = i, le Lemme 3 entrane a
i
,= 0.
De plus, le degr de P est gal celui de a
i
Q
i
, daprs le Lemme 4 ci-dessous.
Comme val(PF) > s et comme pour k ,= i, val(Q
k
F) > s, on a ncessairement
que val(a
i
) > 0. En particulier deg(a
i
) > 0 et donc deg(P) 1 + deg(Q
i
).
Lemme 4. Si type(P)=type(Q)=i et type(P+Q) < i, alors deg(P)=deg(Q).
Dmonstration. Soient P = (P
1
, . . . , P
n
) et Q = (Q
1
, . . . , Q
n
). Lhypothse
entrane les galits deg(P
i
) = deg(P) et deg(Q
i
) = deg(Q). Cela implique que P
i
et Q
i
ont le mme degr ; sinon, le type de P+Q serait gal i.
Lalgorithme qui se dduit de la conjonction du Lemme 2 et du Thorme 6 est
donn en Figure 3. Il est de complexit seulement quadratique en . En rsum,
nous avons le rsultat suivant.
2. APPROXIMANTS DE PAD-HERMITE 137
Derksen
Entre : F = (f
1
, . . . , f
n
) K[[X]]
n
et d 1.
Sortie : Un approximant de Pad-Hermite de F, de type (d, . . . , d).
pour k de 1 n dnir
Q
k
:= (0, 0, . . . , 0, 1, 0, . . . , 0), avec 1 en position k.
pour j de 0 nd +n 2 faire
i := 0
pour k de 1 n faire
c
k
:= coe(Q
k
F, j)
si c
k
,= 0 et (Q
k
< Q
i
ou i = 0), alors i := k
si i ,= 0 alors
Q
i
:= c
1
i
Q
i
pour k de 1 n faire
si k ,= i alors
Q
k
:= Q
k
c
k
Q
i
Q
i
:= XQ
i
p := 1
pour k de 2 n faire
si deg(Q
k
) < deg(Q
p
), alors p := k
Renvoyer Q
p
.
Figure 3. Lalgorithme de Derksen pour les approximants de
Pad-Hermite.
Thorme 7. Soit F = (f
1
, . . . , f
n
) K[[X]]
n
. Il est possible de calculer
un approximant de Pad-Hermite de type (d, . . . , d) de F en O(n
2
) = O(n
3
d
2
)
oprations dans K.
Exercice 2. crire les dtails de la preuve du Thorme 7.
Remarque. Dans le cas gnrique (dit normal ), la sortie Q = Q
1
, . . . , Q
n
de lalgorithme de Derksen est de degr
_

_
d + 1 d d d
d + 1 d + 1 d d
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
d + 1 d + 1 d + 1 d
d d d d
_

_
.
Cest la dernire ligne Q
n
qui fournit lapproximant dsir.
2.3. Approximants de Pad-Hermite de type arbitraire. Pour calculer
un approximant de Pad-Hermite de type d = (d
1
, . . . , d
n
), il sut de remplacer,
dans lalgorithme donn en Figure 3, deg par deg
d
et type par type
d
, o :
deg
d
(P) = max
1in
deg(P
i
) d
i
, type
d
(P) = maxi [ deg(P
i
) d
i
= deg
d
(P).
2.4. Applications. Si une srie est connue comme rationnelle de degr au
plus d, lapproximation de Pad de type (d, d) sut pour reconstruire la fraction
rationnelle. Une question naturelle est comment se gnralise cette observation dans
le cadre de lapproximation de Pad-Hermite. Les rponses sont partielles, mais
entirement satisfaisantes dans la pratique.
Recherche de relations coecients polynomiaux entre sries formelles.
Supposons quil existe une combinaison linaire

n
i=1
P
i
f
i
= 0, coecients des
138 9. APPROXIMANTS DE PAD ET DE PAD-HERMITE
polynmes P
i
(X) K[X] de degrs au plus d. Par ailleurs, supposons calcul un
approximant de Pad-Hermite Q := (Q
1
, . . . , Q
n
) de F = (f
1
, . . . , f
n
) de type
d = (d, . . . , d), via lalgorithme de Derksen. La question est donc : quel lien y a-t-il
entre P = (P
1
, . . . , P
n
) et Q?
Dabord, dans le cas gnrique, la rponse est trs simple : P et Q sont iden-
tiques, un coecient scalaire prs. En eet, Q = Q
n
et Q
1
, . . . , Q
n
est une base
de V
nd+n1
dont les degrs sont dcrits en page 137. En particulier, P doit tre une
combinaison linaire des Q
i
. Des considrations sur les degrs, utilisant la forme
bien particulire des degrs des Q
i
, mnent la conclusion dsire.
En eet, si (c
1
(X), . . . , c
n
(X))
t
(Q
1
, . . . , Q
n
) = P, alors c
1
Q
11
+ +c
n
Q
n1
=
P
1
, et comme deg(Q
11
) = d + 1 et deg(Q
j1
) = d pour j > 1 et deg(P
1
) d, on
obtient que c
1
= 0. De mme, c
2
= = c
n1
= 0 et c
n
doit tre une constante
c K telle que P = cQ.
Dans le cas gnral, un argument de nothrianit permet de prouver que pour
D 0, V
nD+n1
contient la relation P, qui sera trouve par lalgorithme de Derk-
sen. Seulement, on ne dispose pas de borne a priori en fonction de d, sur le D
minimal avec cette proprit. En eet, si on note
W
j
:= Q K[[X]]
n
[ val(Q F) j et deg(Q) deg(P),
et W

=
j0
W
j
, alors W

contient toutes les relations de F en degr d, et en


particulier P. Puisque W
0
W
1
W
2
est une suite dcroissante despaces
vectoriels de dimension nie, elle est stationnaire, donc il existe un N tel que W

=
W
N
= W
N+1
= . Le cas normal correspond la situation o dim(W
k+1
) =
dim(W
k
) 1 pour chaque k (noter la ressemblance avec la normalit de la suite des
restes dans lalgorithme dEuclide).
Reconstruction dquations algbriques et direntielles. Deux cas particu-
liers importants, pour lesquels on peut tre encore plus prcis, sont les approximants
algbriques et direntiels.
Soit A K[[X]] une srie formelle algbrique. Le problme dapproximation
algbrique consiste retrouver, partir des premiers termes de f un polynme
P(X, Y ) K[X, Y ] tel que P(X, A(X)) = 0. Si un tel P, de degr d en X et n
en Y , existe, alors les coecients des puissances de Y formeront un approximant
de Pad-Hermite de type (d, . . . , d) du vecteur de sries (1, A, . . . , A
n
). La dicult
vient de ce que un calcul dapproximation de Pad-Hermite ne trouve, a priori,
quun polynme Q K[X, Y ] tel que Q(X, A(X)) = 0 mod X

, o = (n+1)d1.
On dit alors quon a devin un polynme annulateur Q de A. Pour les approximants
direntiels, la problmatique est la mme, la seule dirence tant quon calcule un
approximant de Pad-Hermite du vecteur des drives successives (A, A
t
, . . . , A
(n)
).
Certication didentits algbriques. Pour un approximant algbrique, il se
pose la question de la certication a posteriori . Pour un polynme annulateur devin
Q, cela veut dire quon souhaiterait dduire que non seulement Q(X, A(X)) est nul
modulo X

, mais aussi que Q(X, A(X)) = 0.


Le rsultat suivant apporte une rponse partielle la question de la certica-
tion. Son avantage est quil ne dpend pas de lalgorithme utilis pour produire
lapproximant de Pad-Hermite.
Thorme 8. Supposons que A K[[X]] est racine dun polynme irrductible
de K[X, Y ] de degr au plus d en X et au plus n en Y . Soit Q = (Q
0
, Q
1
, . . . , Q
n
)
un approximant de Pad-Hermite de type (d, . . . , d) de F = (1, A, . . . , A
n
).
Si val(Q F) 2dn, alors Q F = 0, cest--dire que A est racine du polynme
Q =

n
i=0
Q
i
Y
i
.
NOTES 139
Dmonstration. Soit P K[X, Y ] un polynme irrductible de degr au
plus d en X et au plus n en Y tel que P(X, A) = 0. Le polynme Res
Y
(P, Q) K[X]
est de degr born par deg
X
(P) deg
Y
(Q) +deg
Y
(P) deg
X
(Q) 2dn. Comme il est
de la forme uP +vQ pour u et v deux polynmes, avec deg
Y
(v) < deg
Y
(P), et quil
ne change pas lorsquon remplace la variable Y par la srie A, cest un O(X
2dn
).
Par consquent uP +vQ = 0, donc P divise vQ et, tant irrductible, il divise v ou
Q. Or deg
Y
(v) < deg
Y
(P), donc nalement Q [ P et Q(X, A) est la srie nulle.
Reconstruction de rcurrences. Soit (a
n
)
n
K
N
une suite vriant une rcur-
rence linaire coecients polynomiaux. Comment, partir des premiers termes
de la suite, retrouver les coecients de cette rcurrence ?
Une ide consiste utiliser la dualit montre au Thorme 1 en page 118,
et chercher une quation direntielle, coecients polynomiaux, portant sur
la srie gnratrice de la suite. Cette quation peut tre devine comme expliqu
prcdemment, grce une approximation de Pad-Hermite. Il sut ensuite de
passer de lquation direntielle lexpression de la rcurrence, ce qui nest pas
trivial mais purement formel et a t dcrit au Chapitre 8.
2.5. Calcul quasi-optimal. Il se trouve que pour le calcul dapproximants de
Pad-Hermite, on dispose dun algorithme quasi-optimal, dont lecacit est utilise
en calcul formel comme la base de nombreux autres algorithmes. Cet algorithme
peut tre vu comme une alternative lapproche par matrices structures, de mme
complexit, dcrite au Chapitre 11.
Thorme 9. Soient F = (f
1
, . . . , f
n
) K[[X]]
n
, d = (d
1
, . . . , d
n
) N
n
et
= d
1
+ +d
n
+n1. Il est possible de calculer un approximant de Pad-Hermite
de type d de F en O(MM(n, ) log ) = O(n

M() log()) oprations dans K.


Dmonstration. [Esquisse] Comme pour lalgorithme quadratique de Derk-
sen, une premire ide est de calculer non pas un vecteur, mais toute une matrice
dapproximants. Une seconde ide est dutiliser un diviser pour rgner tout
en exploitant la multiplication rapide de matrices polynomiales. Voici lesquisse de
lalgorithme dans le cas o d = (d, . . . , d) :
1. Si N = 1, renvoyer une base de lorthogonal F(0).
2. Sinon :
(a) calculer rcursivement une matrice polynomiale dapproximants P
1
telle que P
1
F = O(X
/2
) et deg(P
1
) d/2 ;
(b) calculer le reste R tel que P
1
F = X
/2

_
R+O(X
/2
)
_
;
(c) calculer rcursivement une matrice polynomiale P
2
dapproximants du
reste : P
2
R = O(X
/2
), avec deg(P
2
) d/2 ;
(d) renvoyer P := P
2
P
1
.
Le choix prcis des degrs des approximants P
1
et P
2
est une question dlicate et
ne sera pas dtaill. En admettant ces choix, la correction de lalgorithme et son
analyse de complexit se dduisent aisment.
Notes
La prsentation de la Section 1 est fortement inspire par larticle [25], celle
de la Section 2 par larticle [12]. Les approximants de Pad sont des objets trs
classiques en analyse numrique ; on pourra par exemple consulter le livre [1] qui
leur est entirement ddi.
Lalgorithme de Berlekamp-Massey a t initialement conu pour dcoder des
codes BCH, puis tendu par Zierler [38] et Massey [24], qui ont mis en vidence le
140 9. APPROXIMANTS DE PAD ET DE PAD-HERMITE
lien avec les suites rcurrentes linaires coecients constants. Les liens forts entre
lalgorithme dEuclide, lalgorithme de Berlekamp-Massey, lapproximation de Pad
et le calcul de fractions continues ont t tudis dans [26, 37, 9, 14].
Les premiers algorithmes rapides pour la reconstruction rationnelle sont dus
[17]. Ces algorithmes ont t amliors dans [5, 16, 8]. La problmatique de la
reconstruction rationnelle pour les entiers est classique en thorie des nombres [18] ;
en calcul formel, elle a t trs tudie en lien avec les algorithmes modulaires, par
exemple pour la rsolution de systmes linaires par remontes p-adiques [13]. Des
algorithmes rapides ont t rcemment proposs dans [36, 29].
Les approximants de Pad et de Pad-Hermite ont t introduits et tudis par
Hermite et Pad dans [19, 21, 27, 28]. Une exposition plus moderne se trouve
dans [23]. Le problme dapproximation de Pad-Hermite a t utilis par Hermite
en 1873 dans sa preuve [20] de la transcendance de e, qui utilise le choix trs
particulier F = (1, e
X
, e
2X
, . . .). Deux autres cas particuliers importants sont : les
approximants algbriques [32, 33] avec F = (1, f, f
2
, . . .) et les approximants
direntiels [22] avec F = (f, f
t
, f
tt
, . . .), o f est une srie de K[[X]] donne.
En calcul formel, les approximants de Pad-Hermite ont t introduits par Della
Dora et Dicrescenzo [10, 11]. Un premier algorithme de complexit quadratique a
t donn par Sergeyev [31]. Cet article est rest mconnu, et dautres algorithmes
quadratiques ont t proposs dans [30, 6, 35, 7]. Lalgorithme de complexit
quasi-optimale esquiss en Section 2.5 a t propos dans [2].
Il existe diverses gnralisations utiles du problme dapproximation de Pad-
Hermite, par exemple les approximants de Pad-Hermite simultans et ma-
triciels , ou encore des approximants modulo un polynme arbitraire de de-
gr =

i
(d
i
+ 1) 1 au lieu de X

. Des algorithmes rapides existent pour


toutes ces gnralisations [3, 34, 2, 4, 15].
Bibliographie
[1] Baker, Jr. (George A.) and Graves-Morris (Peter). Pad approximants. Cambridge Uni-
versity Press, Cambridge, ipp6, second edition, Encyclopedia of Mathematics and its Appli-
cations, vol. 59, xiv+746p.
[2] Beckermann (B.) and Labahn (G.). A uniform approach for the fast computation of matrix-
type Pad approximants. SIAM J. Matrix Anal. Appl., vol. 15, n3, ipp, pp. 804823.
[3] Beckermann (Bernhard). A reliable method for computing A-Pad approximants on arbi-
trary staircases. J. Comput. Appl. Math., vol. 40, n1, ipp, pp. 1942.
[4] Beckermann (Bernhard) and Labahn (George). Fraction-free computation of matrix rational
interpolants and matrix GCDs. SIAM J. Matrix Anal. Appl., vol. 22, n1, ooo, pp. 114144.
[5] Brent (Richard P.), Gustavson (Fred G.), and Yun (David Y. Y.). Fast solution of Toeplitz
systems of equations and computation of Pad approximants. J. Algorithms, vol. 1, n3, ipSo,
pp. 259295.
[6] Cabay (S.) and Labahn (G.). A fast, reliable algorithm for calculating Pad-Hermite forms.
In ISSAC89. pp. 95100. ACM, New York, NY, USA, ipSp.
[7] Cabay (S.), Labahn (G.), and Beckermann (B.). On the theory and computation of non-
perfect Pad-Hermite approximants. J. Comput. Appl. Math., vol. 39, n3, ipp, pp. 295313.
[8] Cabay (Stanley) and Choi (Dong Koo). Algebraic computations of scaled Pad fractions.
SIAM J. Comput., vol. 15, n1, ipS6, pp. 243270.
[9] Cheng (Unjeng). On the continued fraction and Berlekamps algorithm. IEEE Trans. In-
form. Theory, vol. 30, n3, ipS, pp. 541544.
[10] Della Dora (J.) and Dicrescenzo (C.). Approximants de Pad-Hermite. I. Thorie. Numer.
Math., vol. 43, n1, ipS, pp. 2339.
[11] Della Dora (J.) and Dicrescenzo (C.). Approximants de Pad-Hermite. II. Programmation.
Numer. Math., vol. 43, n1, ipS, pp. 4157.
[12] Derksen (Harm). An algorithm to compute generalized Pad-Hermite forms. Report n9403,
Dept. of Math., Catholic University Nijmegen, ipp.
Bibliographie 141
[13] Dixon (John D.). Exact solution of linear equations using j-adic expansions. Numer. Math.,
vol. 40, n1, ipS, pp. 137141.
[14] Dornstetter (Jean-Louis). On the equivalence between Berlekamps and Euclids algorithms.
IEEE Trans. Inform. Theory, vol. 33, n3, ipS, pp. 428431.
[15] Giorgi (Pascal), Jeannerod (Claude-Pierre), and Villard (Gilles). On the complexity of
polynomial matrix computations. In ISSAC03. pp. 135142. ACM, New York, oo.
[16] Gragg (William B.), Gustavson (Fred G.), Warner (Daniel D.), and Yun (David Y. Y.).
On fast computation of superdiagonal Pad fractions. Math. Programming Stud., n18, ipS,
pp. 3942. Algorithms and theory in ltering and control (Lexington, Ky., 1980).
[17] Gustavson (Fred G.) and Yun (David Y. Y.). Fast algorithms for rational Hermite approxi-
mation and solution of Toeplitz systems. IEEE Trans. Circuits and Systems, vol. 26, n9, ipp,
pp. 750755.
[18] Hardy (G. H.) and Wright (E. M.). An introduction to the theory of numbers. Oxford
University Press, Oxford, ooS, sixth edition, xxii+621p.
[19] Hermite (C.). Extrait dune lettre de Monsieur Ch. Hermite Monsieur Paul Gordan.
Journal fr die Reine und Angewandte Mathematik, vol. 78, iS, pp. 303311.
[20] Hermite (C.). Sur la fonction exponentielle. C. R. Math. Acad. Sci. Paris, vol. 77, iS,
pp. 1824.
[21] Hermite (C.). Sur la gnralisation des fractions continues algbriques. Ann. Math., vol. 21,
n2, iSp, pp. 289308.
[22] Khan (M. A. H.). High-order dierential approximants. J. Comput. Appl. Math., vol. 149,
n2, oo, pp. 457468.
[23] Mahler (K.). Perfect systems. Compositio Math., vol. 19, ip6S, pp. 95166 (1968).
[24] Massey (James L.). Shift-register synthesis and BCH decoding. IEEE Trans. Information
Theory, vol. IT-15, ip6p, pp. 122127.
[25] McEliece (Robert J.) and Shearer (James B.). A property of Euclids algorithm and an
application to Pad approximation. SIAM J. Appl. Math., vol. 34, n4, ipS, pp. 611615.
[26] Mills (W. H.). Continued fractions and linear recurrences. Math. Comp., vol. 29, ip,
pp. 173180.
[27] Pad (H.). Sur la reprsentation approche dune fonction par des fractions rationelles. Ann.
Sci. cole Norm. Sup., vol. 9, iSp, pp. 393.
[28] Pad (H.). Sur la gnralisation des fractions continues algbriques. J. Math. Pures Appl.,
vol. 10, n4, iSp, pp. 291330.
[29] Pan (Victor Y.) and Wang (Xinmao). On rational number reconstruction and approxima-
tion. SIAM J. Comput., vol. 33, n2, oo, pp. 502503.
[30] Paszkowski (Stefan). Recurrence relations in Pad-Hermite approximation. J. Comput.
Appl. Math., vol. 19, n1, ipS, pp. 99107.
[31] Sergeyev (A. V.). A recursive algorithm for Pad-Hermite approximations. USSR Comput.
Maths Math. Phys, vol. 26, n2, ipS6, pp. 1722.
[32] Shafer (R. E.). On quadratic approximation. SIAM J. Numer. Anal., vol. 11, ip, pp. 447
460.
[33] Tourigny (Y.) and Drazin (Ph. G.). The asymptotic behaviour of algebraic approximants.
R. Soc. Lond. Proc. Ser. A Math. Phys. Eng. Sci., vol. 456, n1997, ooo, pp. 11171137.
[34] Van Barel (M.) and Bultheel (A.). A general module-theoretic framework for vector M-Pad
and matrix rational interpolation. Numer. Algorithms, vol. 3, n1-4, ipp, pp. 451461.
[35] Van Barel (Marc) and Bultheel (Adhemar). The computation of nonperfect Pad-Hermite
approximants. Numer. Algorithms, vol. 1, n3, ippi, pp. 285304.
[36] Wang (Xinmao) and Pan (Victor Y.). Acceleration of Euclidean algorithm and rational
number reconstruction. SIAM J. Comput., vol. 32, n2, oo, pp. 548556.
[37] Welch (L. R.) and Scholtz (R. A.). Continued fractions and Berlekamps algorithm. IEEE
Trans. Inform. Theory, vol. 25, n1, ipp, pp. 1927.
[38] Zierler (N.). Linear recurring sequences and error-correcting codes. In Error Correcting
Codes (Proc. Sympos. Math. Res. Center, Madison, Wis., 1968), pp. 4759. Wiley, ip6S.
CHAPITRE 10
Algbre linaire creuse : algorithme de
Wiedemann
Rsum
Les matrices creuses sont les matrices contenant beaucoup dlments
nuls. Lalgorithme de Wiedemann est une mthode itrative pour r-
soudre des systmes linaires reprsents par des matrices creuses. Il
ramne la rsolution au calcul du polynme minimal, lui-mme reposant
sur la reconnaissance dune suite rcurrente coecients constants.
1. Introduction
Dans ce chapitre, on aborde des questions radicalement direntes de celles du
Chapitre 3 : on ne cherche plus eectuer les produits, inversions, . . . de matrices
quelconques, mais manipuler des matrices creuses.
On ne commencera pas par dnir prcisment ce quest une matrice creuse.
Lapproche consiste donner des algorithmes dont la complexit sexprime en fonc-
tion du nombre dlments non nuls des matrices en entre. De la complexit des
algorithmes creux va dcouler une borne, typiquement de lordre O(n) pour
des matrices de taille n n, sur le nombre de coecients non nuls pour que le
changement de modle soit pertinent.
Dans tout ce qui suit, on considre donc une matrice A de taille n n
coecients dans un corps K et vriant les hypothses suivantes :
A est inversible,
A contient s lments non nuls.
Le produit de A par un vecteur peut donc seectuer en O(s) oprations dans K.
On va dcrire un algorithme d Wiedemann qui permet de calculer lunique
solution du systme Ax = y avec une complexit en O(ns) ; lalgorithme original
est plus gnral que celui prsent ici, en ce quil permet de traiter les matrices
rectangulaires ou carres et non inversibles, mais il se ramne au cas carr inversible.
Remarquons que si s est de lordre de n
2
, caractrisant donc des matrices plutt
denses, on retombe dans une complexit de lordre de O(n
3
). Le cas intressant est
celui o s est de lordre de n, auquel cas lalgorithme est quadratique en n : pour
simplier, on retiendra que lexposant de lalgbre linaire creuse est 2 dans les bons
cas.
2. Polynme minimal et rsolution de systmes
Lalgorithme de Wiedemann passe par le calcul du polynme minimal de A.
Rappelons sa dnition.
Il est possible dassocier tout polynme en une variable P =

i
p
i
X
i
de
K[X] la matrice P(A) =

i
p
i
A
i
. Le thorme de Cayley-Hamilton arme que le
polynme caractristique
A
de A annule la matrice A, cest--dire que
A
(A) = 0.
Definition 1. Le polynme minimal de A est le polynme unitaire de plus
petit degr annulant A.
143
144 10. ALGBRE LINAIRE CREUSE : ALGORITHME DE WIEDEMANN
Algorithme de Wiedemann
Entre : Une matrice creuse A /
n
(K).
Sortie : Son polynme minimal
A
(X).
1. Choisir des vecteurs u et v alatoires dans K
n
.
2. Pour 0 i 2n, calculer les vecteurs v
i
= A
i
v, puis les
scalaires N
i
=
t
uv
i
.
3. Renvoyer le polynme minimal de la suite (N
i
).
Figure 1. Algorithme de Wiedemann pour calculer le polynme
minimal dune matrice creuse.
Soit
A
(X) le polynme minimal de A, suppos connu. Puisquon a suppos A
inversible, le terme constant de
A
(X) nest pas nul : il divise le terme constant du
polynme caractristique, qui nest lui-mme pas nul.
Lgalit
A
(A) = 0 se rcrit sous la forme
A
1
=
1
p
0
_
A
m1
+p
m1
A
m2
+ +p
1
I
n
_
.
Pour rsoudre le systme Ax = b, (b K
n
), on va calculer x = A
1
b, cest--dire
1
p
0
_
A
m1
b +p
m1
A
m2
b + +p
1
b
_
.
Ainsi, il sut de calculer les itrs b, Ab, . . . , A
m1
b, puis dadditionner les
vecteurs p
1
b, p
2
Ab, . . . , A
m1
b, pour retrouver x. Lanalyse de complexit est im-
mdiate :
Chacun des A
i
b sobtient partir de A
i1
b en O(s) oprations.
Chacun des produits par p
i
, et chaque addition, se fait en O(n) oprations.
Remarquer que n s (hypothse dinversibilit de A).
Au total, on a donc O(ns) oprations faire pour rsoudre le systme, si on
connat le polynme minimal de A.
3. Calcul du polynme minimal
crivons le polynme minimal de A sous la forme

A
(X) = X
m
+p
m1
X
m1
+ +p
0
.
Alors la suite des puissances de A vrie la rcurrence linaire
A
k+m
+p
m1
A
k+m1
+ +p
0
A
k
= 0,
et ne vrie aucune rcurrence dordre plus petit.
Pour tous vecteurs u et v, la suite (de nombres) N
i
:=
t
uA
i
v vrie donc
N
k+m
+p
m1
N
k+m1
+ +p
0
N
k
= 0.
Si u et v sont mal choisis (nuls, par exemple), la suite N
i
vrie une rcurrence
dordre plus petit que m. La proposition suivante montre quen choisissant u et v
au hasard, on tombe vraisemblablement sur une suite N
i
qui ne satisfait pas de
rcurrence dordre plus petit.
Proposition 1. Il existe un polynme D K[U
1
, . . . , U
n
, V
1
, . . . , V
n
], non nul
et de degr au plus 2n, tel que si D(u, v) est non nul, la suite N
i
associe u et v
ne satisfait pas de rcurrence dordre plus petit que m.
EXERCICES 145
Lide est de choisir u et v au hasard. Si on na pas de chance, D(u, v) est
nul ; sinon, la suite des N
i
associe u et v permet de retrouver
A
(X) grce
lalgorithme de Berlekamp-Massey dcrit en page 132 (attention, on ne connat pas
explicitement le polynme D, mais son existence assure que la plupart des choix de
u et v sont chanceux ).
Lalgorithme est donn en Figure 3. Il est probabiliste randomis. Lanalyse de
probabilit est facile faire en utilisant les rsultats de lexercice 1 ci-dessous.
La complexit de ltape 2 est de O(n) produits matrice-vecteur ou vecteur-
vecteur, chacun prenant au pire O(s) oprations ; au total on obtient donc O(ns)
oprations pour cette phase. Lalgorithme dapproximants de Pad est ngligeable,
puisquil ne demande que O(n
2
) O(sn) oprations.
4. Calcul du dterminant
Lalgorithme en Figure 3 permet de dtecter en cours de route linversibilit
de la matrice A. En eet, si lapproximant de Pad calcul par lalgorithme de
Berlekamp-Massey (page 132) a un dnominateur divisible par X, cela veut dire
que det(A) = 0.
Il est possible de calculer en bonne complexit le dterminant de la matrice
creuse A, en exploitant le rsultat suivant dalgbre linaire.
Lemme 1. Si tous les mineurs principaux de A /
n
(K) sont non nuls, alors
les polynmes minimal et caractristique de la matrice B = A Diag(X
1
, . . . , X
n
)
concident.
Lalgorithme qui sen dduit est le suivant :
Choisir une matrice de permutations alatoire P, pour assurer que tous les
mineurs principaux de la matrice AP sont inversibles ;
choisir des lments x
1
, . . . , x
n
alatoirement dans K;
calculer le polynme minimal
B
de B = A P Diag(x
1
, . . . , x
n
) ;
renvoyer
B
(0)/(x
1
x
n
) sgn(P).
nouveau, la complexit de cet algorithme est quadratique en la taille n de A.
5. Calcul du rang
Le rang maximal de la matrice creuse A est dtect par les algorithmes prc-
dents. Quitte multiplier A par une matrice de permutations alatoires, on peut
donc supposer que son rang r est strictement infrieur n, et que ses mineurs
principaux A
i
, pour 1 i r, sont tous non nuls.
Sous ces hypothses, il est possible de montrer que, pour un choix alatoire
dlments x
1
, . . . , x
n
dans K, le rang r est gal deg(
AD
)1, o D est la matrice
diagonale D = Diag(x
1
, . . . , x
n
). Lalgorithme qui sensuit calcule le polynme mini-
mal de la matrice creuse AD, et en dduit le rang de A, le tout pour une complexit
quadratique en n.
Exercices
Exercice 1. Soit A une matrice dans /
n
(K), soit b un vecteur de K
n
0
et soit f le polynme minimal de la suite (A
i
b)
i0
.
Le but de lexercice est destimer la probabilit T que f concide avec le polynme
minimal de la suite (
t
uA
i
b)
i0
lorsque u est un vecteur de K
n
dont les coordonnes
sont choisies alatoirement au hasard dans un sous-ensemble ni U de K.
1. Montrer quil existe une application : K
n
A = K[X]/(f), K-linaire et
surjective, telle que pour tout u K
n
on ait
f est le polynme minimal de (
t
u A
i
b)
i0
(u) est inversible dans A.
146 10. ALGBRE LINAIRE CREUSE : ALGORITHME DE WIEDEMANN
[Indication : lapplication : K
n
K
N
dnie par (u) = (
t
u A
i
b)
i0
induit une application linaire surjective K
n
M
f
, o M
f
est lespace
vectoriel des suites de K
N
admettant f comme polynme annulateur. Par
ailleurs, A et M
f
sont isomorphes en tant quespaces vectoriels.]
2. Soit d le degr de f. Montrer quil existe un polynme non identiquement
nul R K[X
1
, . . . , X
n
] de degr total au plus d tel que pour tout vecteur
u = (u
1
, . . . , u
n
) K
n
on ait
(u) est inversible dans A si et seulement si R(u
1
, . . . , u
n
) ,= 0.
[Indication : utiliser un rsultant.]
3. Montrer que R admet au plus d [U[
n1
racines dans U
n
. En dduire que
la probabilit quun lment de U
n
dont les coordonnes sont choisies ala-
toirement au hasard dans U soit racine de R est borne par d/[U[.
4. Conclure que la probabilit T vrie
T 1
d
[U[
.
Notes
Lalgorithme de Wiedemann a t propos dans [11]. Cet article contient
galement lalgorithme esquiss en Section 4. Lalgorithme en Section 5 provient
de [5]. Des versions par blocs de lalgorithme de Wiedemann ont t proposes
dans [1, 10, 8, 9]. Dautres gnralisations sont traits dans [3, 4, 6].
Les questions (2) et (3) de lexercice 1 forment le cur du lemme de Zippel-
Schwartz [2, 12, 7].
Bibliographie
[1] Coppersmith (Don). Solving homogeneous linear equations over GF(2) via block Wiede-
mann algorithm. Math. Comp., vol. 62, n205, ipp, pp. 333350.
[2] DeMillo (Richard A.) and Lipton (Richard J.). A probabilistic remark on algebraic program
testing. Inform. Process. Lett., vol. 7, n4, ipS, pp. 193195.
[3] Giesbrecht (M.), Lobo (A.), and Saunders (B. D.). Certifying inconsistency of sparse linear
systems. In Proceedings of the 1998 International Symposium on Symbolic and Algebraic
Computation (Rostock). pp. 113119 (electronic). ACM, New York, ippS.
[4] Giesbrecht (Mark). Fast computation of the Smith form of a sparse integer matrix. Comput.
Complexity, vol. 10, n1, ooi, pp. 4169.
[5] Kaltofen (Erich) and Saunders (B. David). On Wiedemanns method of solving sparse linear
systems. In Applied algebra, algebraic algorithms and error-correcting codes (New Orleans,
LA, 1991), pp. 2938. Springer, Berlin, ippi.
[6] Mulders (Thom). Certied sparse linear system solving. J. Symbolic Comput., vol. 38, n5,
oo, pp. 13431373.
[7] Schwartz (J. T.). Fast probabilistic algorithms for verication of polynomial identities. J.
Assoc. Comput. Mach., vol. 27, n4, ipSo, pp. 701717.
[8] Thom (E.). Subquadratic computation of vector generating polynomials and improvement
of the block Wiedemann algorithm. J. Symbolic Comput., vol. 33, n5, oo, pp. 757775.
[9] Turner (William J.). A block Wiedemann rank algorithm. In ISSAC06, pp. 332339.
ACM, New York, oo6.
[10] Villard (G.). Further analysis of Coppersmiths block Wiedemann algorithm for the solution
of sparse linear systems (extended abstract). In ISSAC97. pp. 3239. ACM, New York,
NY, USA, ipp.
[11] Wiedemann (D.). Solving sparse linear equations over nite elds. IEEE Transactions on
Information Theory, vol. IT-32, ipS6, pp. 5462.
[12] Zippel (Richard). Probabilistic algorithms for sparse polynomials. In EUROSAM79,
pp. 216226. Springer, Berlin, ipp.
CHAPITRE 11
Algbre linaire structure
Rsum
Les matrices possdant une structure spciale sont omniprsentes en
calcul formel. Ce sont des matrices dont les lments jouissent dune
certaine rptition, ou satisfont certaines relations. Plus formellement,
une matrice structure est typiquement dnie par O(n) lments, au
lieu de n
2
pour une matrice dense, et peut tre multiplie par un vecteur
en

O(n) oprations arithmtiques, au lieu de O(n
2
) oprations pour une
matrice dense. Ce chapitre prsente une algorithmique unie pour ma-
nipuler des matrices structures denses, comme les matrices de Toeplitz,
Hankel, Vandermonde et Sylvester. Les calculs avec les matrices de ces
classes sont lis aux calculs avec les polynmes, ce qui permet lemploi
des techniques de multiplication polynomiale rapide pour acclrer leur
manipulation. Par exemple, on peut rsoudre un systme linaire dni
par une matrice structure inversible en n n en

O(n) oprations.
1. Introduction
Nous avons vu au Chapitre 3 quil est possible de manipuler les matrices denses
de taille n n coecients dans un corps K en O(n

) oprations dans K, o
est un rel compris entre 2 et 3. Ici, par manipuler, on entend multiplier, inverser,
calculer le dterminant, ou encore rsoudre un systme linaire.
Dans certaines situations, les matrices quon est amen manipuler prsentent
une structure que ces algorithmes gnraux ne savent pas capturer et exploiter.
Voici quelques exemples de matrices qui possdent une structure.
Definition 1. Une matrice A /
n
(K) est dite de Toeplitz si elle est inva-
riante le long des diagonales, cest--dire si ses lments a
i,j
vrient a
i,j
= a
i+k,j+k
pour tout k.
Une telle matrice est compltement dnie par sa premire ligne et sa premire
colonne.
Definition 2. Une matrice A /
n
(K) est dite de Hankel si elle est invariante
le long des anti-diagonales, cest--dire si ses lments a
i,j
vrient a
i,j
= a
ik,j+k
pour tout k.
Une telle matrice est compltement dnie par sa premire ligne et sa dernire
colonne.
Exemple 1. La matrice de la multiplication polynomiale en degr x (dans
les bases canoniques) par un polynme x est de Toeplitz. Par exemple, la multi-
plication dun polynme de degr au plus 2 par le polynme x a
0
+a
1
X +a
2
X
2
147
148 11. ALGBRE LINAIRE STRUCTURE
de K[X] se traduit matriciellement par lgalit
_

_
a
0
0 0
a
1
a
0
0
a
2
a
1
a
0
0 a
2
a
1
0 0 a
2
_

_
_
b
0
b
1
b
2
_
_
=
_

_
a
0
b
0
a
0
b
1
+a
1
b
0
a
0
b
2
+a
1
b
1
+a
2
b
0
a
1
b
2
+a
2
b
1
a
2
b
2
_

_
.
Dans cet exemple, la matrice Toeplitz est dune forme particulire, appele
bande. En fait, toute matrice de Toeplitz peut tre vue comme sous-matrice dune
matrice de Toeplitz bande, et cela entrane le rsultat suivant.
Lemme 1. Le produit dune matrice de Toeplitz (ou de Hankel) de /
n
(K) par
un vecteur de K
n
peut seectuer en O(M(n)) oprations.
Dmonstration. Pour tout 0 i n 1, llment c
i
du produit matrice-
vecteur
_

_
a
n1
a
0
.
.
.
a
2n2
a
n1
_

_
_

_
b
0
.
.
.
b
n1
_

_ =
_

_
c
0
.
.
.
c
n1
_

_
est le coecient de X
n1+i
dans le produit de polynmes
(1) (b
0
+ +b
n1
X
n1
)(a
0
+ +a
2n2
X
2n2
).
La preuve est tout fait similaire pour une matrice de Hankel.
Remarque. La preuve prcdente montre que 2 M(n) + O(n) oprations suf-
sent pour multiplier une matrice Toeplitz ou Hankel de taille n par un vecteur.
Cette borne peut tre amliore M(n) +O(n), en observant que lextraction de la
partie mdiane du produit (1) est susante, et en employant des algorithmes pour
le produit mdian, voqus au Chapitre 12.
Exemple 2. Une matrice de Sylvester est la concatnation de deux matrices
Toeplitz bande.
Definition 3. Une matrice A = (a
i,j
)
n1
i,j=0
de /
n
(K) est dite de Vandermonde
si ses lments scrivent a
i,j
= a
j
i
pour a
0
, . . . , a
n1
K avec a
i
,= a
j
pour i ,= j.
Definition 4. Une matrice A = (a
i,j
)
n1
i,j=0
de /
n
(K) est dite de Cauchy si
ses lments scrivent a
i,j
= 1/(a
i
b
j
) pour a
i
, b
j
K avec a
i
,= b
j
pour tous i, j.
Il y a un certain nombre de points en commun entre ces exemples : la matrice
est reprsentable par O(n) lments ; le produit matrice-vecteur peut seectuer
plus rapidement que dans le cas gnrique, en O(M(n) log n) oprations au lieu
de O(n
2
) ; le produit par une matrice quelconque peut seectuer en complexit
O(nM(n) log n) quasi-optimale en la taille de la sortie pour une multiplication
polynomiale base de FFT. En eet, dans chaque cas, le produit matrice-vecteur
Av admet une interprtation analytique :
multiplication polynomiale dans les cas Toeplitz, Hankel et Sylvester ;
valuation polynomiale multipoint dans le cas dune matrice de Vandermonde
(Chapitre 6) ;
valuation multipoint de fractions rationnelles de la forme

n1
j=1
c
j
/(Xb
j
).
Exercice 1. Montrer que le produit dune matrice de Cauchy par un vecteur
peut seectuer en O(M(n) log n) oprations dans K.
Au vu de ces exemples, on pourrait donc tre tent de dnir comme structure
une matrice telle que son produit par un vecteur peut seectuer en

O(n) oprations.
La question qui se pose naturellement est : peut-on exploiter cette dnition de la
1. INTRODUCTION 149
structure de A pour rsoudre le systme Ax = b ? Un premier constat positif est que,
dans chacun des exemples prcdents, la rsolution admet aussi une interprtation
analytique :
(i) devinette de rcurrences coecients constants, si A est de Toeplitz ou de
Hankel ;
(ii) interpolation polynomiale, si A est de Vandermonde ;
(iii) interpolation de fractions rationnelles, si A est de Cauchy.
En eet, si la suite (a
n
) dlments de K vrie une rcurrence (inconnue) coe-
cients constants de la forme
a
n+d
= p
d1
a
n+d1
+ +p
0
a
n
, n 0,
alors trouver les coecients p
i
de cette rcurrence revient rsoudre le systme de
Hankel
_

_
a
0
a
1
a
d1
a
1
a
2
.
.
.
a
d
.
.
.
.
.
.
.
.
.
.
.
.
a
d1
a
d
a
2d2
_

_
p
0
p
1
.
.
.
p
d1
_

_
=
_

_
a
d
a
d+1
.
.
.
a
2d1
_

_
.
Un autre point encourageant est que, pour ces trois oprations, on dispose
dalgorithmes de complexit quasi-optimale O(M(n) log n), prsents au Chapitre 6
pour (ii), et au Chapitre 9 pour (i) et (iii).
Il y a cependant quelques points ngatifs : un premier est que si A est une
matrice inversible telle que lapplication linaire v Av se calcule en L oprations,
cela nimplique pas lexistence dun algorithme de complexit O(L) pour lapplica-
tion v A
1
v. En dautres termes, on manque dun principe dinversion analogue
au principe de transposition prsent au Chapitre 12. Par exemple, pour les matrices
creuses, le meilleur algorithme de rsolution, d Wiedemann, est de complexit
quadratique en n (Chapitre 10). Un second point ngatif est que les classes vues
plus haut ne sont pas stables par inversion : linverse dune matrice de Toeplitz
(resp. de Vandermonde) nest pas de Toeplitz (resp. de Vandermonde).
On a donc besoin de rajouter des hypothses dans la dnition de la bonne
notion de matrice structure. Cette dnition exploite la gnralisation du caractre
invariant par diagonale dune matrice de Toeplitz, et vient de lobservation simple
suivante : si A est de Toeplitz, alors la matrice
(A) = A(A dcale de 1 vers le bas et de 1 vers la droite)
admet une ligne et une colonne non nulles ; elle est donc de rang born par 2. On
dit que est un oprateur de dplacement et que le rang de -dplacement de A est
au plus 2. On peut donc reprsenter (A) sous forme compacte, comme un produit
G
t
H, avec G et H des matrices rectangulaires de taille n 2.
Exemple 3. Si A est la matrice 3 3
A =
_
_
c d e
b c d
a b c
_
_
,
avec d ,= 0, alors (A) scrit
(A) =
_
_
c d e
b 0 0
a 0 0
_
_
=
_
_
c d
b 0
a 0
_
_

_
1 0 0
0 1 e/d
_
.
Definition 5. Les matrices (G, H) de /
n,2
(K) telles que (A) = G
t
H sont
appeles gnrateurs de dplacement pour la matrice de Toeplitz A.
150 11. ALGBRE LINAIRE STRUCTURE
Ces dnitions stendent, et permettent dintroduire le concept de matrice
quasi-Toeplitz.
Definition 6. On appelle oprateur de dplacement
+
lapplication A
AZ A
t
Z, o la matrice Z dnie par
Z =
_

_
0 0 . . . 0
1 0 . . . 0
.
.
.
.
.
.

.
.
.
0 1 0
_

_
est telle que ZA est la matrice A dcale de 1 ligne vers le bas, et A
t
Z est la ma-
trice A dcale de 1 colonne vers la droite. Le rang de dplacement de A est lentier

+
(A) = rang(
+
(A)). On appelle gnrateurs de dplacement pour loprateur
+
un couple (G, H) de matrices de taille n vriant lgalit
+
(A) = G
t
H. Si

+
(A) n, on dit que A est quasi-Toeplitz.
Intuitivement, le rang de dplacement mesure quel point la matrice A est loin
dtre de Toeplitz.
Exemple 4. Les matrices de Toeplitz, Hankel, Sylvester sont toutes quasi-
Toeplitz, de rang de dplacement born par 2.
Ces dnitions stendent et permettent galement de dnir des matrices quasi-
Vandermonde et quasi-Cauchy, mais pour des oprateurs de dplacement dirents :
V
a
V
a
Diag
a
V
a

t
Z pour le cas Vandermonde ;
C
a,b
C
a,b
Diag
a
1
C
a,b
Diag
a
pour le cas Cauchy.
Ici, pour deux vecteurs a = (a
0
, . . . , a
n1
) et b = (b
0
, . . . , b
n1
), on dsigne par
V
a
la matrice de Vandermonde (a
j
i
)
n1
i,i=0
, par Diag
a
la matrice diagonale, dont la
diagonale porte le vecteur a, et par C
a,b
la matrice de Cauchy (1/(a
i
b
j
))
n1
i,j=0
.
Dans tous ces cas,
M,N
est dnie par
M,N
(A) = A MAN, avec M et N
bien choisies (en fonction de la structure vise), et le rang de dplacement de A est
dni comme tant le rang de la matrice
M,N
(A).
Exercice 2. Estimer les rangs de dplacement des matrices de Vandermonde
et de Cauchy, pour les oprateurs de dplacement dnis ci-dessus.
Rsultat principal. Lide-cl derrire les algorithmes rapides pour les matrices
structures de rang de dplacement est lutilisation des gnrateurs de dplace-
ment comme structure de donnes compacte, de taille O(n), donc proportionnelle
la taille n de la matrice, dans le cas o n. Lnonc suivant contient le
rsultat principal de ce chapitre.
Thorme 1. Soit () lun des oprateurs Toeplitz, Vandermonde, Cauchy
dnis ci-dessus. Soit A une matrice de /
n
(K) donne par des gnrateurs de
dplacement de taille n , et soit b un vecteur de K
n
. Alors, il est possible de :
1. calculer le dterminant de A;
2. calculer le rang de A;
3. calculer une solution du systme Ax = b, ou prouver quil ny en a aucune
en

O(
2
n) oprations dans K. Plus exactement, cette complexit sexprime en
termes de la fonction de multiplication polynomiale, et vaut :
1. O(
2
M(n) log n) dans le cas quasi-Toeplitz ;
2. O(
2
M(n) log
2
(n)) dans les cas quasi-Vandermonde et quasi-Cauchy.
2. LE CAS QUASI-TOEPLITZ 151
Comme consquence du Thorme 1 nous obtenons une algorithmique unie
pour rsoudre en complexit quasi-optimale dirents problmes sur les polynmes
et les sries.
Corollaire 1. On peut calculer en O(M(n) log(n)) oprations arithmtiques :
1. le pgcd tendu et le rsultant de deux polynmes de degr born par n;
2. un approximant de Pad de type (n, n) dune srie tronque donne pr-
cision 2n;
Dmonstration. [Esquisse] Le rsultant de deux polynmes A, B K[X]
sobtient comme le dterminant de leur matrice de Sylvester Syl(A, B), qui a un rang
de dplacement au plus 2. Le degr du pgcd G = pgcd(A, B) sobtient par un calcul
de rang de la matrice de Sylvester : deg(G) = deg(A) + deg(B) rang(Syl(A, B)).
Une fois connu le degr du pgcd, la relation de Bzout UA + V B = G, avec les
contraintes deg(U) < deg(B) deg(G) et deg(V ) < deg(A) deg(G), se traduit
en un systme linaire en les coecients de U et de V , dont la matrice est quasi-
Toeplitz, de rang de dplacement au plus 3. Des considrations similaires sap-
pliquent pour le calcul dapproximants de Pad.
Corollaire 2. tant donnes n series f
1
, . . . , f
n
de K[[X]] connues prcision
=

i
(d
i
+ 1) 1, il est possible den calculer un approximant de Pad-Hermite
(p
1
, . . . , p
n
) de type (d
1
, . . . , d
n
) en O(n
2
M() log()) oprations dans K.
Dmonstration. [Esquisse] Il sagit dun problme linaire en les coecients
de lapproximant cherch. La matrice du systme linaire est quasi-Toeplitz, de rang
de dplacement born par n.
Dans la suite, nous allons esquisser les grandes lignes de la preuve du Tho-
rme 1 dans le cas particulier o la matrice A est inversible et susamment
gnrique (tous les mineurs non nuls), et uniquement dans le cas quasi-Toeplitz.
2. Le cas quasi-Toeplitz
Dans le reste du chapitre, nous allons nous concentrer uniquement sur le cas
quasi-Toeplitz, car il contient les principales ides algorithmiques, et il couvre beau-
coup dapplications ; les cas quasi-Vandermonde et quasi-Cauchy sy ramnent et
sont plus techniques.
Nous allons montrer que la notion de matrice quasi-Toeplitz est une bonne
notion de structure, car elle rpond aux proprits suivantes :
(P1) on peut eectuer quasi-optimalement le produit dune matrice quasi-
Toeplitz par un vecteur ;
(P2) la somme et le produit de deux matrices quasi-Toeplitz restent quasi-
Toeplitz ;
(P3) linverse aussi.
Or, ces proprits forment le minimum ncessaire pour concevoir un algorithme
de type inversion de Strassen (page 47) dans la reprsentation compacte par gn-
rateurs de dplacement.
2.1. Produit matrice-vecteur, cas quasi-Toeplitz. Pour montrer la pro-
prit (P1) ci-dessus, le point cl est le rsultat suivant.
Proposition 1. (formule LU) Loprateur
+
: A A Z A
t
Z est
inversible. Plus exactement, on a la formule suivante, appele la formule LU :
AZ A
t
Z =

i=1
x
i

t
y
i
si et seulement si A =

i=1
L(x
i
) U(y
i
),
152 11. ALGBRE LINAIRE STRUCTURE
o les x
i
(resp. y
i
) sont les colonnes du gnrateur G (resp. H), et o, pour un
vecteur colonne v =
t
[v
0
v
n1
], on note L(v) la matrice Toeplitz infrieure
_

_
v
0
0 . . . 0
v
1
v
0
. . . 0
.
.
.
.
.
.

.
.
.
v
n1
v
1
v
0
_

_
et U(v) la matrice Toeplitz suprieure
t
L(v).
Dmonstration. Par linarit, il sut de traiter le cas = 1. Si C =
L(a)U(b), alors un calcul immdiat montre que c
i+1,j+1
= a
i
b
j
+a
i1
b
j1
+ , et
donc c
i+1,j+1
c
i,j
= a
i
b
j
et
+
(C) = (a
i
b
j
)
n1
i,j=0
= a
t
b.
Limplication inverse dcoule de linjectivit de
+
et est laisse en exercice.
La Proposition 1 permet de donner une dnition quivalente pour le rang de
dplacement.
Definition 7.
+
(A) est le plus petit entier tel quil existe une dcompo-
sition de la forme
A =

i=1
L
i
U
i
pour des matrices L
i
de Toeplitz infrieures, et U
i
de Toeplitz suprieures.
Exemple 5. Si A est de Toeplitz, alors elle admet la dcomposition A =
A
inf
I
n
+I
n
A
sup
, donc
+
(A) 2.
La dnition 7 permet de prouver la proprit (P1) en page 151.
Corollaire 3. Si A est donne en reprsentation compacte par une paire
de gnrateurs (G, H) de taille n , alors le produit matrice-vecteur Av peut
seectuer en O(M(n)) oprations arithmtiques.
Dmonstration. Le produit Av scrit comme la somme des termes de
la forme L(x
i
)(U(y
i
)v). Or, chacun de ces termes peut tre calcul en O(M(n))
oprations, grce au lemme 1.
2.2. Addition et produit en reprsentation compacte par gnra-
teurs. Pour justier la proprit (P2) en page 151, on va montrer plus, savoir que
la reprsentation par gnrateurs permet un calcul ecace (en temps quasi-linaire)
des oprations dadditions et de multiplication de deux matrices quasi-Toeplitz.
Proposition 2 (oprations matricielles en reprsentation compacte). Soient
(T, U) gnrateurs de dplacement de taille n pour A, et (G, H) gnrateurs de
dplacement de taille n pour B. Alors
1. ([T [ G], [U [ H]) sont des gnrateurs de dplacement pour A + B de lon-
gueur + ;
2. ([T [ W [ a], [V [ H[ b]) sont des gnrateurs de dplacement pour AB, de
longueur + + 1,
o V :=
t
B U, W := Z A
t
Z G, et o le vecteur a (resp. b) est la dernire
colonne de Z A (resp. de Z
t
B).
La preuve, base sur une vrication immdiate, est laisse en exercice.
Corollaire 4. En reprsentation compacte par gnrateurs de dplacement,
de longueurs au plus pour A et B, on peut calculer
1. la somme A+B en O(n) oprations dans K;
2. LE CAS QUASI-TOEPLITZ 153
2. le produit AB en Mul(n, ) = O(
2
M(n)) oprations dans K.
Dmonstration. Le seul point non trivial est le calcul des matrices V, W, a
et b. Tout repose sur la formule LU. Si B scrit

i=1
L(x
i
)U(y
i
), alors sa trans-
pose scrit
t
B =

i=1
L(y
i
)U(x
i
), et le calcul de V =
t
B U se ramne
multiplications polynomiales, chacune pouvant seectuer en O(M(n)). Le mme
raisonnement sapplique au calcul de W. Enn, le calcul de a revient multi-
plier A par la colonne
t
[0, . . . , 0, 1] et une observation similaire pour b permet de
conclure.
2.3. Inversion en reprsentation compacte par gnrateurs. Pour
prouver la proprit (P3) en page 151, il est commode dintroduire un oprateur
dual de dplacement.
Definition 8. Loprateur de

dplacement dune matrice A de /


n
(K) est
dni par lgalit

(A) = A
t
Z A Z = A(A dcale de 1 vers le haut et vers la gauche).
Le () rang de dplacement

est dni par la formule

(A) = rang(A
t
Z A Z).
On peut montrer (de la mme faon que pour
+
) quon dispose dune dnition
quivalente pour

, et que
+
et

sont lis.
Lemme 2.
1.

(A) est le plus petit entier tel que A puisse scrire sous la forme

=1
U
i
L
i
, avec L
i
Toeplitz infrieures, et U
i
Toeplitz suprieures.
2. On a la formule UL :
A
t
Z A Z =

i=1
x
i

t
y
i
si et seulement si A =

i=1
U(rev(x
i
)) L(rev(y
i
)).
Ici, pour v =
t
[v
0
, . . . , v
n1
], on note rev(v) =
t
[v
n1
, . . . , v
0
].
3. Une matrice de Toeplitz pour
+
est une matrice de Toeplitz pour

.
La preuve de ce rsultat dcoule de la proposition suivante.
Proposition 3 (conversion LU UL). Pour toute matrice A, lingalit
[
+
(A)

(A)[ 2 est satisfaite. De plus, on peut eectuer les conversions dune


reprsentation

LU une reprsentation

UL, et inversement, en O(M(n))
oprations dans K.
Dmonstration. Il sut de prouver lidentit :
L(x) U(y) = I
n
L(y
t
) +U(x
t
) I
n
U(x
tt
) L(y
tt
),
avec : x
tt
= Z rev(x), y
tt
= Z rev(y), y
t
= rev(
t
U(y)
t
L(x) f), x
t
= rev(L(x)
U(y) f), o f =
t
[0, . . . , 0, 1].
Thorme 2. Soit A /
n
(K) une matrice quasi-Toeplitz inversible. Alors
son inverse est aussi quasi-Toeplitz et
+
(A
1
) =

(A).
Dmonstration. On a la suite dgalits

(A) = rang(A
t
Z A Z) = rang(I
n
A
1

t
Z A Z)
= rang(I
n
Z A
1

t
Z A) = rang(A
1
Z A
1

t
Z)
=
+
(A
1
),
dans laquelle nous avons utilis un fait dalgbre linaire lmentaire : si A, B sont
deux matrices quelconques, alors rang(I
n
A B) = rang(I
n
B A).
154 11. ALGBRE LINAIRE STRUCTURE
Inversion rapide de matrices quasi-Toeplitz
Entre : Une matrice gnrique A /
n
(K), de taille n = 2
k
, repr-
sente par des gnrateurs (pour loprateur de dplacement
+
).
Sortie : Son inverse A
1
, reprsente par des gnrateurs (pour loprateur
de dplacement

).
1. Si n = 1, renvoyer A
1
.
2. Calculer des
+
-gnrateurs pour a, b, c, d /
n/2
(K), o A =
_
a b
c d
_
.
3. Calculer rcursivement des

-gnrateurs pour e := a
1
.
4. Calculer des
+
-gnrateurs pour Z := d ceb.
5. Calculer rcursivement des

-gnrateurs pour t := Z
1
.
6. Renvoyer des

-gnrateurs de A
1
=
_
x y
z t
_
via les formules de
Strassen y := ebt, z := tce et x := e +ebtce.
Figure 1. Algorithme de type Strassen pour inverser une matrice
quasi-Toeplitz.
2.4. Rsolution rapide de systmes quasi-Toeplitz. Le Thorme 2 ne
nous dit pas comment calculer des gnrateurs pour A
1
. Cela est fait dans le
dernier rsultat de ce chapitre.
Thorme 3. Soit A /
n
(K) une matrice quasi-Toeplitz inversible, de rang
de dplacement , donne par des gnrateurs G et H de taille n . On peut
calculer des gnrateurs de taille n pour A
1
en O(
2
M(n) log(n)) oprations
dans K.
partir de cette reprsentation de linverse, le systme Ax = b (b K
n
) peut
se rsoudre pour un supplment de O(M(n)) oprations dans K.
Dmonstration. Lide est dadapter au cas structur lalgorithme dinver-
sion de Strassen prsent au Chapitre 3 (page 47). La dirence rside dans le choix
de la structure de donnes utilise pour reprsenter et calculer avec les matrices
quasi-Toeplitz. Pour ce faire, on utilise comme structure de donnes compacte les
gnrateurs de dplacement pour les oprateurs
+
et

(ou, de faon quivalente,


les reprsentations LU et UL).
Lalgorithme, de type diviser pour rgner , est dcrit en Figure 1. Sa correc-
tion est hrite de celle de lalgorithme dinversion de Strassen ; lhypothse sur la
gnricit de A est utilise pour garantir que tous les mineurs quon doit inverser
au cours de lalgorithme sont bien inversibles.
Sa complexit arithmtique C(n) obit la rcurrence
C(n) 2 C(n/2) +O(Mul(n, )) +O(
2
n +M(n)),
o le cot en O(
2
n + M(n)) provient des conversions entre les reprsentations

+
et

et des calculs de minimisation de longueurs de gnrateurs, et la notation


Mul(n, ) dsigne la complexit du produit matriciel pour des matrices nn donnes
par gnrateurs de taille n . La preuve se conclut en utilisant lestimation
Mul(n, ) = O(
2
M(n)),
qui entrane C(n) = O(
2
M(n) log(n)).
NOTES 155
Exercices
Exercice 3. Soit A /
n
(K) une matrice quasi-Toeplitz de rang de dplace-
ment n, reprsente de faon compacte par des gnrateurs (G, H) de taille
n , i.e., tels que
+
(A) = G
t
H.
1. Soient v
1
, . . . , v

des vecteurs quelconques de K


n
. Montrer que le calcul de
tous les produits A v

, 1 , se ramne, grce la formule LU, au


problme suivant :
(P) tant donns des polynmes G
j
, H
j
, V
j
K[X] (j ) de degrs au plus
n 1, calculer
A

j=1
G
j
(H
j
V

mod X
n
), 1 .
2. Donner un premier algorithme qui rsout le problme (P) et estimer sa
complexit.
3. Montrer que le problme (P) admet la reformulation matricielle suivante :
(MP) tant donnes des matrices polynomiales G, V dans /
1
(K[X]) et H
dans /
1
(K[X]), toutes de degrs au plus n 1, calculer (VH mod X
n
) G.
4. Soient A, B et C des matrices polynomiales de tailles (n p), (p n) et
(np) et de degr au plus d. Montrer que le produit ABC peut tre calcul
en O(
n
p
MM(p, d)) oprations dans K.
5. Proposer un algorithme de type diviser pour rgner (par rapport n)
rsolvant le problme (MP) en complexit O(
1

MM(, n)).
6. Conclure quon peut multiplier, dans la reprsentation par gnrateurs de
dplacement, deux matrices quasi-Toeplitz de /
n
(K) de rang de dpla-
cement au plus en O(
1

MM(, n)) oprations dans K.


Notes
Levinson [13] a donn le premier algorithme de complexit quadratique pour
la rsolution dun systme linaire dont la matrice est de Toeplitz, symtrique et
dnie positive. Trench [18] a par la suite montr que toute linverse dune telle
matrice peut se calculer en la mme complexit. Ces deux algorithmes sont dcrits
dans [7, 4.7].
Lalgorithme de Trench [18] repose sur une formule, reprise et amliore par
Gohberg et Semencul [6], qui fournit une reprsentation explicite LU deux
termes de linverse dune matrice de Toeplitz A, les sommands tant construits
partir de la premire ligne et de la premire colonne de A
1
. Brent, Gustavson et
Yun [8, 3] montrent comment ramener le calcul des premires ligne et colonne de
A
1
un calcul dapproximation de Pad. Larticle [3] met en vidence les liens
profonds entre la rsolution des systmes de Toeplitz, lalgorithme dEuclide tendu
et lapproximation de Pad, et propose le premier algorithme pour la rsolution
dun systme dni par une matrice de Toeplitz inversible quelconque de taille n
en O(M(n) log n) oprations arithmtiques.
Paralllement, la notion de rang de dplacement a t introduite par Kailath,
Kung et Morf dans [10] et utilise par les mmes auteurs dans [9] pour donner
un algorithme de complexit quadratique pour la rsolution dun systme quasi-
Toeplitz inversible. Plus exactement, lalgorithme de [9] calcule la solution dun
systme dni par une matrice quasi-Toeplitz inversible de rang de dplacement
156 11. ALGBRE LINAIRE STRUCTURE
en O(n
2
) oprations. Une version rapide, de complexit O(
d
M(n) log n) a t
obtenue indpendamment par Bitmead et Anderson [1] (avec d = 4) et Morf [14]
(avec d = 2). Les algorithmes de [1, 14] fonctionnent seulement sous une hypothse
de forte rgularit de lentre. Ils ont t adapts dans [11, 12] au cas o la matrice
du systme est quelconque. Ces algorithmes ont t tendus au cas quasi-Cauchy
dans [4, 17] et au cas quasi-Vandermonde dans [15, 5]. La meilleure complexit
asymptotique vis--vis simultanment de la taille de la matrice et de son rang de
dplacement est due larticle [2], qui montre comment introduire du produit rapide
de matrices denses dans lalgorithmique pour les matrices structures, et rduit le
cot

O(
1
n) pour la rsolution des systmes quasi-Toeplitz, quasi-Vandermonde
et quasi-Cauchy.
Une bonne rfrence sur les matrices structures est le livre [16].
Bibliographie
[1] Bitmead (Robert R.) and Anderson (Brian D. O.). Asymptotically fast solution of Toeplitz
and related systems of linear equations. Linear Algebra Appl., vol. 34, ipSo, pp. 103116.
[2] Bostan (Alin), Jeannerod (Claude-Pierre), and Schost (ric). Solving structured linear
systems with large displacement rank. Theoret. Comput. Sci., vol. 407, n1-3, ooS, pp. 155
181.
[3] Brent (Richard P.), Gustavson (Fred G.), and Yun (David Y. Y.). Fast solution of Toeplitz
systems of equations and computation of Pad approximants. J. Algorithms, vol. 1, n3, ipSo,
pp. 259295.
[4] Cardinal (Jean-Paul). On a property of Cauchy-like matrices. C. R. Acad. Sci. Paris Sr.
I Math., vol. 328, n11, ippp, pp. 10891093.
[5] Gohberg (I.) and Olshevsky (V.). Complexity of multiplication with vectors for structured
matrices. Linear Algebra Appl., vol. 202, ipp, pp. 163192.
[6] Gohberg (I. C.) and Semencul (A. A.). On the inversion of nite Toeplitz matrices and
their continuous analogues (in russian). Mat. Issled., vol. 7, n2, ip, pp. 201223.
[7] Golub (Gene H.) and Van Loan (Charles F.). Matrix computations. Johns Hopkins Uni-
versity Press, Baltimore, MD, ipp6, third edition, Johns Hopkins Studies in the Mathematical
Sciences, xxx+698p.
[8] Gustavson (Fred G.) and Yun (David Y. Y.). Fast algorithms for rational Hermite approxi-
mation and solution of Toeplitz systems. IEEE Trans. Circuits and Systems, vol. 26, n9, ipp,
pp. 750755.
[9] Kailath (T.), Kung (S. Y.), and Morf (M.). Displacement ranks of a matrix. Bull. Amer.
Math. Soc. (N.S.), vol. 1, n5, ipp, pp. 769773.
[10] Kailath (Thomas), Kung (Sun Yuan), and Morf (Martin). Displacement ranks of matrices
and linear equations. J. Math. Anal. Appl., vol. 68, n2, ipp, pp. 395407.
[11] Kaltofen (Erich). Asymptotically fast solution of Toeplitz-like singular linear systems. In
ISSAC94. pp. 297304. ACM, New York, NY, USA, ipp.
[12] Kaltofen (Erich). Analysis of Coppersmiths block Wiedemann algorithm for the parallel
solution of sparse linear systems. Math. Comp., vol. 64, n210, ipp, pp. 777806.
[13] Levinson (Norman). The Wiener RMS (root mean square) error criterion in lter design
and prediction. J. Math. Phys. Mass. Inst. Tech., vol. 25, ip, pp. 261278.
[14] Morf (M.). Doubling algorithms for Toeplitz and related equations. In IEEE Conference
on Acoustics, Speech, and Signal Processing, pp. 954959. ipSo.
[15] Pan (Victor). On computations with dense structured matrices. Math. Comp., vol. 55, n191,
ippo, pp. 179190.
[16] Pan (Victor Y.). Structured matrices and polynomials. Birkhuser Boston Inc., Boston,
MA, ooi, xxvi+278p. Unied superfast algorithms.
[17] Pan (Victor Y.) and Zheng (Ailong). Superfast algorithms for Cauchy-like matrix compu-
tations and extensions. Linear Algebra Appl., vol. 310, n1-3, ooo, pp. 83108.
[18] Trench (William F.). An algorithm for the inversion of nite Toeplitz matrices. J. Soc.
Indust. Appl. Math., vol. 12, ip6, pp. 515522.
CHAPITRE 12
Principe de transposition de Tellegen
Rsum
Le principe de transposition est un ensemble de rgles de transformation
pour les algorithmes calculant des applications linaires. Pour tout algo-
rithme qui calcule des produits matrice-vecteur par une matrice xe M,
ces rgles de transformation permettent dobtenir un algorithme dual qui
calcule des produits matrice-vecteur par la matrice transpose de M.
En outre, la complexit arithmtique de lalgorithme dual est essentiel-
lement gale celle de lalgorithme initial.
1. Introduction
Le thorme de transposition de Tellegen arme que, tant donne une ma-
trice M de taille m n coecients dans un corps K, sans lignes ni colonnes
nulles, tout algorithme linaire / qui calcule lapplication linaire v M v de
K
n
K
m
en L oprations dans K peut tre transform en un algorithme dual
t
/
qui calcule lapplication linaire transpose w
t
M w de K
m
K
n
en Ln+m
oprations dans K. Ici, par algorithme linaire on entend un algorithme qui nutilise
que des oprations linaires en les lments de lentre.
Par extension, on appelle principe de Tellegen lensemble des rgles de trans-
formation ralisant le passage de lalgorithme direct lalgorithme dual.
Motivation. Si lalgorithme utilis pour la multiplication matrice-vecteur est lal-
gorithme naf, cet nonc devient trivial. En eet, dans ce cas :
M v requiert

i
(
i
1) = E m oprations et E oprations

t
M w requiert

j
(
j
1) = E n oprations et E oprations
o
i
(resp.
j
) est le nombre dlments non-nuls de la i-ime ligne (resp. de la j-
ime colonne) de M, et E est le nombre dlments non-nuls de M. Par consquent,
pour une matrice compltement gnrique, le thorme de Tellegen ne prsente
aucun intrt. Par contre, si la matrice M admet une structure, il est concevable
que lon dispose dun algorithme plus rapide que lalgorithme naf (quadratique)
pour la multiplier par un vecteur de K
n
. En utilisant le principe de transposition,
on obtient aussitt un algorithme rapide pour multiplier
t
Mpar un vecteur de K
m
.
Exemple 1. Considrons lexemple suivant, qui illustre ce principe en utilisant
la reprsentation par graphes des algorithmes linaires. Lalgorithme direct prend
les valeurs x
1
et x
2
en entre et renvoie y
1
= ax
1
+bx
2
et y
2
= cx
1
+dx
2
en sortie.
Les artes reprsentent des multiplications par des valeurs scalaires a, b, c, d.
+
+
a
d
b
c
x
2
x
1
y
2
y
1
157
158 12. PRINCIPE DE TRANSPOSITION DE TELLEGEN
Transposer cet algorithme revient inverser le ot du calcul, cest--dire, in-
verser le sens des ches, permuter les + avec les et les entres avec les sor-
ties. Lalgorithme ainsi obtenu prend y
1
, y
2
en entre et renvoie x
1
= ay
1
+ cy
2
et
x
2
= by
1
+dy
2
. Il calcule donc bien lapplication transpose de lapplication initiale.
De plus, le nombre doprations arithmtiques utilises par les deux algorithmes est
le mme : 4 multiplications et 2 additions.
a
d
b
c
x
2
x
1
y
2
y
1
+
+
Utilit. Comme nous lavons vu au Chapitre 11, beaucoup de problmes en calcul
formel sexpriment en termes dalgbre linaire structure (multiplication par un
vecteur ou rsolution de systme). Par exemple, les oprations lmentaires sur les
polynmes (multiplication, division, valuation-interpolation, interpolation ration-
nelle, extrapolation, etc.) sont linaires si lon xe lun des oprandes : ils se codent
en termes de produits matrice-vecteur M v ou M
1
v, o M est une matrice
structure (de type Toeplitz, Hankel, compagnon, Vandermonde, Cauchy,. . . )
Grce au principe de Tellegen, comprendre, analyser et amliorer un algorithme
se ramne comprendre, analyser et amliorer son transpos. Deux sont ses uti-
lits principales : trouver des solutions algorithmiques de meilleure complexit, et
clarier le statut de certains algorithmes existant dans la littrature, qui parfois
sont simplement des transposs dalgorithmes bien connus. Cela permet ainsi le
traitement algorithmique uni des problmes duaux. On peut rsumer en disant
que le principe de transposition permet de diviser par deux le nombre dalgorithmes
linaires quil reste dcouvrir.
Un exemple moins trivial. Considrons le problme de lvaluation dun po-
lynme P K[X] de degr n en une valeur a K. Cest une opration linaire en
les coecients de P, de matrice M = [1, a, . . . , a
n
] dans les bases canoniques. Le
problme transpos est donc le suivant : pour une valeur donne x
0
K, calculer
les produits a
i
x
0
, pour 0 i n. Pour ce problme, un algorithme naturel consiste
multiplier x
0
par a, ensuite multiplier le rsultat par a, et ainsi de suite.
Le transpos de cet algorithme sobtient en parcourant lalgorithme direct en
sens inverse, tout en permutant les entres avec les sorties, et en remplaant chaque
instruction par sa transpose, obtenue en appliquant un nombre restreint de rgles
syntaxiques. Dans ce processus, les boucles for montantes deviennent des boucles
for descendantes.
De cette manire, on obtient automatiquement un algorithme pour le problme
de dpart, savoir, lvaluation de P sur a. Dans notre cas, il savre que lalgo-
rithme transpos concide avec la fameuse mthode de Horner, voir la Figure 1.
Observons que lalgorithme transpos utilise n oprations de plus que lalgorithme
direct. Cette perte sexplique par le thorme de Tellegen : il sagit tout simplement
de la dirence entre le nombre de colonnes et le nombre de lignes de M. Cette
observation peut tre utilise pour expliquer loptimalit de la rgle de Horner.
2. La version en termes de graphes du principe de Tellegen
Dans cette section nous donnons une version du thorme de Tellegen dans un
modle particulier, celui des graphes de calcul (DAG).
2. LA VERSION EN TERMES DE GRAPHES DU PRINCIPE DE TELLEGEN 159
M= [1, a, . . . , a
n
]
x
0
[x
0
, ax
0
, . . . , a
n
x
0
] [p
0
, . . . , p
n
]

n
i=0
p
i
a
i
Entre x
0
. Entre p = [p
0
, . . . p
n
].
p
0
x
0
; for j from n downto 1 do
for j from 1 to n do p
j
ap
j
;
p
j
p
j1
; p
j1
p
j
+p
j1
;
p
j
ap
j
; x
0
p
0
;
Sortie p = [p
0
, . . . , p
n
]. Sortie x
0
.
Figure 1. Le schma de Horner ( droite) obtenu en transposant
lalgorithme qui rsout le problme dual.
Definition 1. Un graphe acyclique orient, ou DAG (de langlais directed
acyclic graph) est un graphe orient G = (V, E) qui ne possde pas de cycle. Un
DAG K-linaire est un DAG muni dune fonction de poids : E K.
Soit I = x
1
, . . . , x
n
lensemble des nuds dentre de G. tout sommet
v V on associe une forme linaire dans K[X
1
, . . . , X
n
] de la faon suivante :
si v = x
i
I, alors h
v
:= X
i
,
si v V I, alors h
v
:=

e=(w,v)E
(e) h
w
.
Definition 2. On dit que G calcule la matrice M= [a
i,j
] de taille mn si les
formes linaires associes aux nuds de sortie sont F
i
=

n
j=1
a
i,j
X
j
, i = 1, . . . , m.
Le cot de G est le nombre doprations linaires c(G) induites par G.
Avec ces notations, le principe de Tellegen snonce comme suit.
Thorme 1. Soit G un K-DAG qui calcule une matrice M de /
m,n
(K).
Alors le graphe transpos
t
G, obtenu en inversant le sens des ches sans changer
leur poids, calcule la matrice
t
M. De plus,
c(
t
G) = c(G) n +m.
Esquisse de preuve. La forme linaire calcule par un sommet v de G est
h
v
=
n

j=1
_
_

p Chemin(x
j
,v)
(p)
_
_
X
j
, o (p) =

e arte de p
(e).
On a donc lgalit a
i,j
=

p Chemin(x
j
,F
i
)
(p), qui montre que
t
G calcule bien
t
M.
Lgalit entre les cots se dduit du fait que la quantit c(G)[I(G)[ ne dpend
pas de lorientation de G, comme montr par le lemme suivant.
Lemme 1 (formule pour le cot dun graphe de calcul). Avec les notations
prcdentes, on a lgalit
c(G) =

e E [ (e) ,= 1

+[E[ [V [ +[I[.
Esquisse de preuve. Tout sommet v qui reoit d(v) > 0 artes contribue au
cot de G avec

e = (w, v) E [ (e) ,= 1

+d(v) 1 oprations dans K.


Graphiquement, cela se voit sur la reprsentation suivante :
La conclusion se dduit alors aisment de la suite dgalits

vV \I
_
d(v) 1
_
=

vV \I
d(v)

vV \I
1 = [E[ ([V [ [I[).

160 12. PRINCIPE DE TRANSPOSITION DE TELLEGEN


3. Principe de Tellegen pour les programmes linaires
Le but de cette section est de dcrire le principe de Tellegen dans le modle des
programmes linaires sur des machines allocation de registres (machines RAM).
3.1. Machines registres. Commenons par dnir les machines RAM
instructions linaires.
Definition 3. On xe un entier M ; il reprsente la mmoire disponible, de
sorte que lon peut accder M registres R
1
, . . . , R
M
. On y stocke des nombres,
cest--dire des lments du corps K.
Un programme linaire est la donne des objets suivants :
un sous-ensemble R
i
1
, . . . , R
i
n
des registres que lon appelle entre ;
un sous-ensemble R
o
1
, . . . , R
o
m
des registres que lon appelle sortie ;
une suite dinstructions portant sur les registres, choisies parmi :
R
i
= R
j
R
k
, avec 1 i, j, k M,
R
i
= R
j
, avec 1 i, j M et dans K.
Le fonctionnement dun tel programme est le suivant : linitialisation, les
registres dentre reoivent des valeurs x
1
, . . . , x
n
K et les autres sont mis zro.
On eectue ensuite toutes les instructions, puis le programme renvoie les valeurs
des registres de sortie. Noter que lon calcule bel et bien une fonction linaire des x
i
.
3.2. Transposition de programme. Nous dcrivons maintenant le principe
de transposition des programmes linaires sur une machine RAM.
Cas dun jeu dinstructions rduit. Pour commencer, on traite le cas dune
machine avec un jeu dinstructions limit par rapport au cas gnral. On ne sau-
torise que les instructions du type :
R
i
= R
i
R
j
, avec 1 i, j M ;
R
i
= R
i
, avec 1 i M, K.
Pour transposer un programme comportant des instructions de ce type, on
interprte chacune de ces intructions comme une application linaire K
M
K
M
.
Pour motiver ce procd, considrons un exemple. Avec M = 3, linstruction
R
1
= R
1
+R
3
sinterprte comme lapplication linaire dont la matrice est
_
_
1 0 1
0 1 0
0 0 1
_
_
;
3. PRINCIPE DE TELLEGEN POUR LES PROGRAMMES LINAIRES 161
R
2
et R
3
nont pas chang et R
1
devient R
1
+R
3
. La transpose de cette application
linaire a pour matrice
_
_
1 0 0
0 1 0
1 0 1
_
_
;
on en dduit que lon peut la traduire par linstruction R
3
= R
3
+R
1
.
De manire gnrale, la transpose de linstruction R
i
= R
i
+R
j
est linstruction
R
j
= R
j
+ R
i
. Par criture matricielle, on voit que linstruction R
i
= R
i
est
inchange par transposition, et que R
i
= R
i
R
j
se transpose en R
j
= R
j
R
i
.
On peut alors dnir le programme transpos dun programme.
Definition 4. Le programme transpos
t
T du programme linaire T est donn
par :
les entres de
t
T sont les sorties de T ;
les sorties de
t
T sont les entres de T ;
les instructions de
t
T sont les transposes des instructions de T, prises en
sens inverse.
La dernire condition, le retournement de la liste des instructions, traduit lga-
lit matricielle
t
(AB) =
t
B
t
A. La dnition montre que si T calcule une application
linaire K
n
K
m
, alors
t
T calcule bien lapplication transpose K
m
K
n
.
Exemple 2. Considrons le programme
R4=R4+R2
R3=3*R3
R4=R4+R3
R2=2*R2
R3=R3+R2
R3=R3+R1
dont les entres sont R
1
, R
2
, R
3
et les sorties R
3
, R
4
. Ce programme calcule lappli-
cation linaire dont la matrice est
_
1 2 3
0 1 3
_
.
Le programme transpos scrit
R1=R1+R3
R2=R2+R3
R2=2*R2
R3=R3+R4
R3=3*R3
R2=R2+R4
et on vrie quil calcule lapplication linaire dont la matrice est
_
_
1 0
2 1
3 3
_
_
.
Cas gnral. Le cas du jeu dinstructions gnral se ramne au cas du jeu dins-
tructions rduit de manire immdiate. Ainsi, linstruction R
1
= R
2
+R
3
est qui-
valente la suite dinstructions
R1=0
R1=R1+R2
R1=R1+R3
162 12. PRINCIPE DE TRANSPOSITION DE TELLEGEN
Il est donc possible de le transposer sous la forme
R3=R3+R1
R2=R2+R1
R1=0
De mme, on rcrit aisment linstruction R
i
= R
j
en utilisant le jeu dinstruc-
tions rduit, ce qui permet de la transposer, . . .
3.3. Optimisations. Notre principe de transposition nest pas compltement
satisfaisant : au vu des rgles de rcriture ci-dessus, il semble que lon puisse perdre
jusqu un facteur 3 (en termes de nombre de lignes). On peut optimiser le code
produit, an de regagner, autant que possible, les lignes perdues. On utilise pour
ce faire les rgles suivantes :
Suppression des zros. La transformation pour passer du cas gnral au jeu
dinstructions rduit introduit des lignes du type R
i
= 0. On peut supprimer une
telle ligne, condition de rcrire les instructions suivantes en consquence.
Suppression des recopies. Aprs avoir supprim les zros, il se peut quil reste
des lignes du type R
i
= R
j
. On peut galement supprimer ce type de ligne,
condition de rcrire de manire judicieuse les instructions qui suivent.
Muni de ces rgles supplmentaires, on peut montrer quil est possible dobtenir
un code transpos qui fait exactement le mme nombre de lignes que loriginal mais
cela dpasse le cadre de ce cours.
4. Applications
Dans cette section, nous illustrons lutilit pratique du principe de Tellegen
travers quelques exemples. Les techniques de transposition permettront dengendrer
des programmes linaires pour eectuer les oprations suivantes sur les polynmes
une variable : multiplication, division euclidienne, valuation et interpolation
multipoint.
La gure 2 contient une liste (non-exhaustive) doprations linaires de base
sur les polynmes une variable et leurs problmes transposs. Tout algorithme
rsolvant un problme de la colonne de gauche peut tre transpos en un algorithme
de mme complexit pour le problme correspondant de la colonne de droite.
problme direct problme transpos
multiplication mul ( , ) produit mdian mul
t
( , )

X
0
X
n

X
0
X
n
=
X
0
X
n
X
2n

X
0
X
n

X
0
X
n
X
2n
=
X
0
X
n
X
2n
X
3n
division euclidienne extension de rcurrences
A A mod P (a
0
, . . . , a
n1
) (a
0
, . . . , a
2n1
)
valuation multipoint sommes de Newton pondres
P (P(a
0
), . . . , P(a
n1
)) (p
0
, . . . , p
n1
) (

p
i
, . . . ,

p
i
a
n1
i
)
interpolation dcomposition en lments simples
(systmes de Vandermonde) (systmes de Vandermonde transposs)
dcalage de polynmes valuation dans les factorielles descendantes
P(X) P(X + 1) P =

a
i
X
i
(P(0), . . . , P(n 1))
extrapolation sur 0, 1, 2, . . . division modulo (X 1)
n
q-dcalage valuation dans les q-factorielles descendantes
composition modulaire projection des puissances
. . . . . .
Figure 2. Dictionnaire de Tellegen pour les polynmes univaris.
4. APPLICATIONS 163
4.1. Produit mdian des polynmes. Commenons par transposer la mul-
tiplication des polynmes. Cette opration nest pas linaire, mais elle le devient
lorsquon xe lun des deux oprandes. Fixons une fois pour toutes un polynme f
dans K[X] de degr m. Pour n 0 quelconque, considrons lapplication de multi-
plication m
f,n
: K[X]
n
K[X]
m+n
qui un polynme g associe le produit fg. Il
est ais de voir que la transpose de cette opration
t
m
f,n
: K[X]
m+n
K[X]
n
consiste extraire les coecients de X
m
, X
m+1
, . . . , X
m+n
du produit dun poly-
nme de degr au plus m+n par le polynme rciproque

f de f.
Exemple 3. Par exemple, soit f = 2 +X + 3X
2
; la matrice de m
f,2
dans les
bases canoniques de K[X]
2
et K[X]
4
est donne par la matrice de type Toeplitz
_

_
2 0 0
1 2 0
3 1 2
0 3 1
0 0 3
_

_
.
Sa transpose est
_
_
2 1 3 0 0
0 2 1 3 0
0 0 2 1 3
_
_
.
Cette dernire matrice est la partie mdiane de la matrice de Toeplitz suivante
_

_
3 0 0 0 0
1 3 0 0 0
2 1 3 0 0
0 2 1 3 0
0 0 2 1 3
0 0 0 2 1
0 0 0 0 2
_

_
,
qui reprsente le produit du polynme

f = 3 + X + 2X
2
par un polynme h de
degr 4. Cette partie mdiane donne les coecients de degr 2, 3, 4 du produit

fh.
Cela explique pourquoi le produit transpos est appel produit mdian.
Le produit mdian est une opration importante, qui intervient comme brique
de base dans nombre dalgorithmes sur les polynmes et les sries. Son calcul ecace
est un problme important rsoudre avant de passer la transposition dautres
algorithmes plus sophistiqus.
Par exemple, lutilisation du produit mdian permet damliorer (dun facteur
constant) lecacit de loprateur de Newton pour linverse de sries formelles,
et mne aux optimisations mentionnes en page 63. Cette remarque sapplique
galement aux autres oprations rapides sur les sries dcrites au Chapitre 4. Lac-
clration se rpercute aussi sur la division euclidienne rapide, qui repose sur une
inversion de srie (Thorme 1 du Chapitre 5).
En vertu du principe de Tellegen (Thorme 1) appliqu aux matrices de Toe-
plitz, le cot du produit mdian est celui du produit fg, m oprations prs. En
particulier, si m = n, cela permet deectuer le calcul de la partie mdiane pour le
cot dune multiplication en degr n, au lieu des deux quon attendrait navement.
Il y a plusieurs algorithmes pour multiplier des polynmes, chacun correspond
donc un algorithme de mme complexit pour calculer le produit transpos ; cet
algorithme transpos peut tre obtenu en appliquant le principe de Tellegen, soit
dans sa version graphes, soit par transformation de programmes linaires. Plus
exactement, on a le rsultat gnral suivant.
164 12. PRINCIPE DE TRANSPOSITION DE TELLEGEN
Thorme 2. Tout algorithme de complexit arithmtique M(n) pour la mul-
tiplication polynomiale en degr n peut tre transform en un algorithme de com-
plexit arithmtique M(n) +O(n) pour le produit mdian en degrs (n, 2n).
Exercice 1. Vrier le thorme dans le cas de la multiplication nave des
polynmes. Expliciter lalgorithme transpos dans ce cas.
Exemple 4. En Figure 3, gauche, est reprsent un DAG qui calcule le
produit de deux polynmes de degr 1 la Karatsuba (en utilisant 3 multiplications
au lieu de 4). Par transposition, on dduit un algorithme la Karatsuba pour le
produit transpos de deux polynmes de degr 1 et 2. Lalgorithme direct utilise 6
oprations arithmtiques (3 additions et 3 multiplications) ; lalgorithme transpos
en utilise 7 (4 additions et 3 multiplications). La dirence de 1 opration est bien
sr prdite par le Thorme 1.
mul (2 + 3x, a +bx) mul
t
_
3 + 2x, a +bx +cx
2
_
Figure 3. Produit direct et transpos la Karatsuba, version DAG.
Lalgorithme de Karatsuba et son code transpos sont donns en Figure 4. Tous
les deux ont la mme complexit O(n
log(3)
).
a b c d U V
|W|
a b
t
U V
|W|
c d
mul mul
t
Entre (c, d). Entre (U, V, W).
V V W ;
e c +d ; U U W ;
U mul(a, c) ; e mul
t
(a +b, W) ;
V mul(b, d) ; d mul
t
(b, V ) ;
W mul(a +b, e) ; c mul
t
(a, U) ;
W W U V ; c c +e ;
d d +e ;
Sortie (U, V, W). Sortie (c, d).
Figure 4. Algorithme de Karatsuba et son transpos.
Exemple 5. La matrice de la DFT tant symtrique, tout algorithme (li-
naire) qui la calcule est associ un algorithme transpos de mme cot qui la
calcule galement. Par exemple, la variante de la DFT dcrite au Chapitre 2 (due
4. APPLICATIONS 165
Figure 5. Dualit entre deux classes dalgorithmes pour la DFT :
gauche, lalgorithme decimation-in-time de CooleyTukey,
droite lalgorithme decimation-in-frequency de GentlemanSande.
Gentleman et Sande) correspond un algorithme de Cooley et Tukey. En gure 5
sont reprsents les DAG de ces algorithmes pour une DFT sur 4 points.
4.2. Division avec reste et extension des rcurrences coecients
constants. On peut montrer que le dual du problme de la division avec reste
dun polynme de degr N par un polynme x de degr n est lextension des
rcurrences linaires coecients constants. tant donns les n premiers termes
dune suite qui vrie une rcurrence linaire coecients constants dordre n, il
sagit de calculer la tranche des N termes suivants.
Pour une rcurrence dordre n = 1, la preuve est immdiate : tendre une
rcurrence u
n+1
= au
n
, de condition initiale u
0
= x
0
revient calculer la suite des
valeurs x
0
, ax
0
, . . . , a
N
x
0
partir de x
0
. Or, on a vu en page 158 que le dual de
ce problme est lvaluation polynomiale en a, autrement dit, la division avec reste
modulo X a.
Exercice 2. Finir la preuve dans le cas gnral (n quelconque).
Exercice 3. Transposer lalgorithme rapide de division euclidienne donn au
Chapitre 5 dans la preuve du Thorme 1 (page 76). En dduire un algorithme
de complexit O(M(n)) permettant de calculer les 2n premiers termes dune suite
donne par une rcurrence linaire dordre n coecients constants et n conditions
initiales.
4.3. valuation multipoint et interpolation. Comme vu au Chapitre 6,
lvaluation multipoint se traduit en termes matriciels par un produit entre la
matrice de Vandermonde associe aux points a
i
et le vecteur des coecients du
polynme P, voir la Figure 6. Ainsi, le problme transpos est la multiplication
dune matrice de Vandermonde transpose par un vecteur, cest--dire, le calcul de
sommes de Newton pondres (on les appelle ainsi car si tous les p
i
valent 1, on
retrouve les sommes des puissances des a
i
).
_

_
1 a
0
a
n1
0
1 a
1
a
n1
1
.
.
.
.
.
.
.
.
.
1 a
n1
a
n1
n1
_

_
_

_
p
0
p
1
.
.
.
p
n1
_

_=
_

_
P(a
0
)
P(a
1
)
.
.
.
P(a
n1
)
_

_ et
_

_
1 1 1
a
0
a
1
a
n1
.
.
.
.
.
.
.
.
.
a
n1
0
a
n1
1
a
n1
n1
_

_
_

_
p
0
p
1
.
.
.
p
n1
_

_=
_

p
i

a
i
p
i
.
.
.

a
n1
i
p
i
_

_.
Figure 6. Lvaluation multipoint et sa transpose, les sommes
de Newton pondres.
166 12. PRINCIPE DE TRANSPOSITION DE TELLEGEN
Figure 7. Algorithme rapide dvaluation multipoint par produits
mdians rpts ( droite), obtenu par transposition dun algo-
rithme pour les sommes de Newton pondres ( gauche).
Il est possible dexploiter algorithmiquement cette dualit, laide du principe
de transposition. Lide est de proposer dabord un algorithme rapide pour le calcul
de ces sommes de Newton, et ensuite de le transposer.
Pour ce faire, le point de dpart est lobservation que la srie gnratrice des
sommes de Newton pondres

s0
_
n1

i=0
p
i
a
s
i
_
X
s1
est rationelle et vaut Q = B/A, o
A = (X a
0
) (X a
n1
) et B =
n1

i=0
p
i
A
X a
i
.
Do lalgorithme suivant : on calcule A et B et on retourne les n premiers
coecients du dveloppement en srie de Taylor linni de Q = B/A. Le calcul de
A se fait en utilisant lalgorithme ArbreSousProduits donn en Figure 1 (page 89),
de complexit
1
2
M(n) log(n) + O(M(n)). Celui de B peut se faire par lalgorithme
de type diviser pour rgner reprsent en Figure 7 gauche, de complexit
M(n) log(n) +O(M(n)). (Une solution quivalente serait de calculer simultanment
A et B par lalgorithme SommesFractions en page 91). Enn, le dveloppement en
srie de Q seectue en O(M(n)) oprations arithmtiques grce des itrations de
Newton, comme dcrit au Chapitre 4.
En rsum, on obtient un algorithme pour le calcul des sommes de Newton
pondres, de complexit
3
2
M(n) log(n) +O
_
M(n)
_
.
Par transposition, on construit un algorithme de mme complexit pour lvaluation
multipoint. Cet algorithme est reprsent graphiquement en Figure 7, droite.
Tout comme lalgorithme EvaluationRapide reprsent en Figure 2 (page 90), le
nouvel algorithme repose sur une stratgie diviser pour rgner , mais remplace,
chaque niveau de rcursion, les divisions avec reste par des produits mdians,
moins coteux, do le gain dun facteur constant dans la complexit.
Exercice 4. crire les dtails des deux algorithmes en Figure 7.
Exercice 5. Soit K un corps et soit n un entier. On considre le problme
suivant :
NOTES 167
tant donnes les valeurs en 0, 1, . . . , n1 dun polynme (inconnu) de K[X]
de degr au plus n, calculer les valeurs prises par ce polynme en n, n +
1, . . . , 2n 1.
Dterminer le problme dual, donner un algorithme de complexit O(M(n)) pour
ce dernier, et en dduire un algorithme explicite de complexit O(M(n)) pour le
problme de dpart.
4.4. Bonus : lvaluation et linterpolation ont des cots quivalents.
Un dernier exemple dapplication du thorme de Tellegen, de nature plus thorique,
est la preuve du fait que les problmes dvaluation multipoint et dinterpolation
polynomiale sont quivalents du point de vue de la complexit.
Thorme 3. Tout algorithme qui eectue lvaluation multipoint (resp. lin-
terpolation) sur une famille xe de points peut tre transform en un algorithme
dinterpolation (resp. dvaluation multipoint) sur la mme famille de points, de
mme complexit un nombre constant de multiplications polynomiales prs.
Autrement dit, si E(n) et I(n) reprsentent les complexits de lvaluation mul-
tipoint et de linterpolation en n points, alors :
I(n) O
_
E(n) + M(n)
_
et E(n) O
_
I(n) + M(n)
_
.
Esquisse de preuve. Supposons quon dispose dun algorithme J de com-
plexit I(n) pour linterpolation sur les points a = (a
0
, . . . , a
n1
). Le thorme de
Tellegen montre quon peut construire un algorithme
t
J de complexit I(n) pour
linterpolation transpose sur a. On va montrer comment en dduire un algorithme
c pour lvaluation multipoint sur a. Lide est dutiliser la factorisation matricielle
V
a
= (
t
V
a
)
1
H
a
, o H
a
=
_

_
n

i
a
i
. . .

i
a
n1
i

i
a
i

i
a
2
i
. . .

i
a
n
i
.
.
.
.
.
.
.
.
.

i
a
n1
i

i
a
n1
i
. . .

i
a
2(n1)
i
_

_
,
qui suggre lalgorithme c suivant :
Appliquer J pour calculer A(X) =

i
(X a
i
), en complexit I(n) ;
calculer H
a
partir des 2n 1 premires sommes de Newton de A(X), par
lalgorithme de complexit O(M(n)) donn en Proposition 4, page 66 ;
calculer v = H
a
p en O(M(n)) oprations, comme au Chapitre 11 ;
retourner V
a
p =
t
(V
1
a
) v en I(n) oprations en utilisant lalgorithme
t
J.
La preuve du sens inverse est laisse en exercice.
Exercice 6. Finir la preuve du Thorme 3.
Notes
La prsentation de la Section 2 est inspire de [24]. Lalgorithme rapide de
lexercice 3 pour lextension de rcurrences a t donn par Shoup dans [29, 31]. La
dualit division polynomiale extension de rcurrences prsente en Section 4.2
est implicite dans [12, IV.3]. Elle permet de clarier le statut de lalgorithme
de Shoup : cest la transpose de lalgorithme de Strassen [33] pour la division
euclidienne des polynmes. Ce fait a t mis en vidence dans [9].
Lalgorithme prsent en Section 4.3, amliorant (dun facteur constant) les
algorithmes classiques dvaluation, est d [9]. Le principe de transposition est
galement employ dans [9] pour acclrer (toujours par des facteurs constants) les
algorithmes classiques pour linterpolation et pour son problme dual (la rsolution
de systmes de Vandermonde transposs). Les mmes mthodes stendent au cas
plus gnral du thorme des restes chinois [7].
168 12. PRINCIPE DE TRANSPOSITION DE TELLEGEN
Le Thorme 3 est d [8]. La factorisation matricielle utilise dans sa preuve
est tire de [11].
Une autre application rcente du principe de transposition est la suivante [10] :
si (P

)
0
est une famille de polynmes de K[X], avec deg(P

) = , dont la srie
gnratrice exponentielle

0
P

(X)/! Y

est de la forme v(Y ) exp(X h(Y ))


1
,
alors les conversions entre la base canonique (X

)
0
de K[X] et la base (P

)
0
peuvent seectuer en O(M(n)) oprations ds lors que v mod Y
n
peut se calculer
en O(M(n)) oprations, et pour une large classe de sries h.
Historique. Le principe de transposition a une histoire longue et tortueuse. Cette
technique de transformation des algorithmes linaires est issue du domaine des cir-
cuits lectroniques [6, 27, 1] et de la thorie du contrle [20]. Le principe mme
remonte aux annes 1950 ; on en trouve les traces dans un article de Tellegen [34] sur
les rseaux lectriques. Il a t gnralis aux ltres digitaux par Fettweis [14], o
lon trouve une version embryonnaire de la version par graphes. Le thorme de Tel-
legen a t redmontr plusieurs fois, dans divers contextes et degrs de gnralit,
par Fiduccia [15, 16], Hopcroft et Musinski [19], Knuth et Papadimitriou [25],
et par Kaminski, Kirkpatrick et Bshouty [24]. En calcul formel, il a t popula-
ris dans les travaux de Ben-Or, Tiwari [3], Kaltofen, Canny, Lakshman [11, 21],
Shoup [29, 30, 31], Lecerf, Schost [26], Hanrot, Quercia, Zimmermann [18], Zip-
pel [37], von zur Gathen et Gerhard [35], . . . Il est rest longtemps mconnu, comme
le montre cet extrait de larticle [36] de Wiedemann : I was not able to nd an
example of a linear operator that is easy to apply but whose transpose is dicult
to apply . Le nom principe de transposition semble avoir t introduit par Kalto-
fen et Shoup dans [23, 32]. Un point de vue lgrement dirent sur les aspects
historiques lis au principe de transposition peut tre trouv dans [4].
Dans la littrature du calcul formel, cest surtout son caractre de thorme
dexistence qui est exploit : connaissant un algorithme pour une certaine opration
linaire, on en dduit lexistence dun algorithme de mme complexit pour lop-
ration duale. Un fait mis en vidence plus rcemment [9] est que la transposition
des programmes peut se faire de manire systmatique et (quasi-)automatique. Les
algorithmes sont transposs directement, dune manire similaire celle utilise en
direntiation automatique [17], mais en tirant prot des spcicits linaires. Par
ailleurs, lorsquun problme linaire doit tre rsolu ecacement, une dmarche
naturelle consiste essayer de trouver un algorithme rapide rsolvant le problme
dual. Le cas chant, une solution rapide pour le problme de dpart est obtenue
en re-transposant cet algorithme. Cest le point de vue adopt en Section 4.3.
Produit mdian. Le concept de produit mdian a t introduit dans larticle [18],
qui souligne limportance de cette nouvelle opration sur les polynmes.
En traitement du signal [5, 13], il tait dj connu que, si la multiplication est
eectue base de DFT, le produit mdian en degrs (n, 2n) a la mme complexit
que le produit en degr n. En eet, il se code matriciellement en un produit matrice
vecteur par une matrice de Hankel de taille n; or, celle-ci peut tre plonge dans une
matrice circulante de taille 2n. Cela implique que dans le modle de multiplication
polynomiale par FFT, un produit mdian (n, 2n) peut tre eectu en utilisant 3
DFT (deux directes et une inverse) de taille uniquement 2n (au lieu de 3n).
Cette interprtation nest plus utile dans le modle de multiplication par lal-
gorithme de Karatsuba. Larticle [18] est le premier avoir propos un algorithme
de type Karatsuba pour le produit mdian.
Lien avec la direntiation automatique. Il a t remarqu dans [11, 22] que
le principe de transposition est li au mode inverse en direntiation automatique
1. Une telle famille de polynmes est appele suite de Sheer [28].
Bibliographie 169
pour le calcul du gradient dune fonction. En eet, les lments de
t
M w sont les
drives partielles de
t
v
t
M w par rapport aux coordonnes de v. Ce produit
nest autre que
t
w M v, et le thorme de Baur-Strassen [2] montre que lon peut
calculer ces drives partielles au prix dun surcot linaire.
Lien avec la thorie de la complexit bilinaire. Hopcroft et Musinski ont
donn dans [19] une version bilinaire de lalgorithme de Tellegen. tant donn un
algorithme bilinaire qui utilise N multiplications pour le problme, not (m, n, p),
de la multiplication de deux matrices de tailles m n et n p, il est possible
dengendrer cinq algorithmes duaux, chacun utilisant exactement N multiplications,
pour les problmes (n, m, p), (p, m, n), (m, p, n), (n, p, m) et (p, n, m). Ce rsultat
admet la consquence utile suivante (mentionne en page 54) : si lon peut calculer
en N multiplications dans K le produit de deux matrices quelconques sur K de
tailles mn et n p, alors 3 log
mnp
(N).
Dualit pour lvaluation des monmes plusieurs variables. Knuth et Pa-
padimitriou [25] ont montr que si M= (a
i,j
) est une matrice carre inversible dont
les lments sont des entiers strictement positifs, alors, partant de X
1
, . . . , X
n
, le
nombre minimum de multiplications pour valuer les monmes
_
X
a
11
1
X
a
12
2
X
a
1n
n
, X
a
21
1
X
a
22
2
X
a
2n
n
, . . . , X
a
n1
1
X
a
n2
2
X
a
nn
n
_
est le mme que le nombre minimum de multiplications pour valuer les monmes
_
X
a
11
1
X
a
21
2
X
a
n1
n
, X
a
12
1
X
a
22
2
X
a
n2
n
, . . . , X
a
1n
1
X
a
2n
2
X
a
nn
n
_
.
Cet nonc peut tre vu comme cas particulier du thorme de Tellegen.
Lien entre les algorithmes de Keller-Gehrig et de Storjohann. Litra-
tion de Keller-Gehrig (Chapitre 3, page 49) permettant le calcul de la suite s =
[x, ax, a
2
x, . . . , a
N
x] (N = 2
k
1) est la transpose de lalgorithme diviser pour
rgner pour dvaluation dun polynme P(x) = a
0
+ + a
N
x
N
en a via la
dcomposition de type decimation-in-time P(x) = P
0
(x
2
)+x P
1
(x
2
). Lalgorithme
diviser pour rgner pour lvaluation de P en a via la dcomposition de type
decimation-in-frequency P(x) = P
0
(x)+x
N+1
2
P
1
(x) admet comme dual lalgorithme
de Storjohann (Chapitre 14, page 181) pour calculer s.
Bibliographie
[1] Antoniou (A.). Digital Filters : Analysis and Design. McGraw-Hill Book Co., ipp.
[2] Baur (W.) and Strassen (V.). The complexity of partial derivatives. Theoretical Computer
Science, vol. 22, ipS, pp. 317330.
[3] Ben-Or (M.) and Tiwari (P.). A deterministic algorithm for sparse multivariate polynomial
interpolation. In STOC88. pp. 301309. ACM Press, ipSS.
[4] Bernstein (D. J.). The transposition principle. http://cr.yp.to/transposition.html.
[5] Bluestein (Leo I.). A linear ltering approach to the computation of the discrete Fourier
transform. IEEE Northeast Electronics Research and Engineering Meeting, vol. 10, ip6S,
pp. 218219.
[6] Bordewijk (J. L.). Inter-reciprocity applied to electrical networks. Appl. Sci. Res. B., vol. 6,
ip6, pp. 174.
[7] Bostan (A.), Lecerf (G.), Salvy (B.), Schost (.), and Wiebelt (B.). Complexity issues in
bivariate polynomial factorization. In ISSAC04, pp. 4249. ACM, New York, oo.
[8] Bostan (A.) and Schost (.). On the complexities of multipoint evaluation and interpolation.
Theoret. Comput. Sci., vol. 329, n13, oo, pp. 223235.
[9] Bostan (Alin), Lecerf (Grgoire), and Schost (ric). Tellegens principle into practice. In
Sendra (J. R.) (editor), ISSAC03. pp. 3744. ACM Press, oo.
[10] Bostan (Alin), Salvy (Bruno), and Schost (ric). Power series composition and change of
basis. In ISSAC08, pp. 269276. ACM, New York, ooS.
[11] Canny (J.), Kaltofen (E.), and Yagati (L.). Solving systems of non-linear polynomial equa-
tions faster. In ISSAC89. pp. 121128. ACM Press, ipSp.
170 12. PRINCIPE DE TRANSPOSITION DE TELLEGEN
[12] Cerlienco (L.), Mignotte (M.), and Piras (F.). Suites rcurrentes linaires. Proprits alg-
briques et arithmtiques. LEnseignement Mathmatique, vol. 33, ipS, pp. 67108.
[13] Chu (Eleanor) and George (Alan). Inside the FFT black box. CRC Press, ooo, xxii+312p.
Serial and parallel fast Fourier transform algorithms.
[14] Fettweis (A.). A general theorem for signal-ow networks, with applications. Archiv fr
Elektronik und bertragungstechnik, vol. 25, n12, ipi, pp. 557561.
[15] Fiduccia (C. M.). On obtaining upper bounds on the complexity of matrix multiplication. In
Complexity of computer computations (Proc. Sympos., IBM Thomas J. Watson Res. Center,
Yorktown Heights, N.Y., 1972), pp. 3140. Plenum, New York, ip.
[16] Fiduccia (C. M.). On the algebraic complexity of matrix multiplication. PhD thesis, Brown
Univ., Providence, RI, Center Comput. Inform. Sci., Div. Engin., ip.
[17] Gilbert (J.-C.), Le Vey (G.), and Masse (J.). La direntiation automatique de fonctions
reprsentes par des programmes. Technical report, RR INRIA 1557, ippi.
[18] Hanrot (Guillaume), Quercia (Michel), and Zimmermann (Paul). The middle product al-
gorithm I. Appl. Algebra Engrg. Comm. Comput., vol. 14, n6, March oo, pp. 415438.
[19] Hopcroft (J.) and Musinski (J.). Duality applied to the complexity of matrix multiplication
and other bilinear forms. SIAM Journal on Computing, vol. 2, ip, pp. 159173.
[20] Kalman (R. E.). On the general theory of control systems. IRE Transactions on Automatic
Control, vol. 4, n3, ipp, pp. 481491.
[21] Kaltofen (E.), Corless (R. M.), and Jerey (D. J.). Challenges of symbolic computation :
my favorite open problems. Journal of Symbolic Computation, vol. 29, n6, ooo, pp. 891919.
[22] Kaltofen (Erich). Analysis of Coppersmiths block Wiedemann algorithm for the parallel
solution of sparse linear systems. In Applied algebra, algebraic algorithms and error-correcting
codes, pp. 195212. Springer, Berlin, ipp.
[23] Kaltofen (Erich). Computational dierentiation and algebraic complexity theory. In Work-
shop Report on First Theory Institute on Computational Dierentiation, pp. 2830. ipp.
[24] Kaminski (M.), Kirkpatrick (D. G.), and Bshouty (N. H.). Addition requirements for matrix
and transposed matrix products. Journal of Algorithms, vol. 9, n3, ipSS, pp. 354364.
[25] Knuth (Donald E.) and Papadimitriou (Christos H.). Duality in addition chains. Bulletin
of the European Association for Theoretical Computer Science, vol. 13, ipSi, pp. 24.
[26] Lecerf (G.) and Schost (.). Fast multivariate power series multiplication in characteristic
zero. SADIO Electronic Journal on Informatics and Operations Research, vol. 5, n1, oo,
pp. 110.
[27] Peneld, Jr. (P.), Spence (R.), and Duinker (S.). Tellegens theorem and electrical net-
works. The M.I.T. Press, Cambridge, Mass.-London, ipo, xv+143p.
[28] Roman (Steven). The umbral calculus. Academic Press Inc. [Harcourt Brace Jovanovich
Publishers], New York, ipS, Pure and Applied Mathematics, vol. 111, x+193p.
[29] Shoup (V.). A fast deterministic algorithm for factoring polynomials over nite elds of
small characteristic. In ISSAC91. pp. 1421. ACM Press, ippi.
[30] Shoup (V.). A new polynomial factorization algorithm and its implementation. Journal of
Symbolic Computation, vol. 20, n4, ipp, pp. 363397.
[31] Shoup (V.). Ecient computation of minimal polynomials in algebraic extensions of nite
elds. In ISSAC99. pp. 5358. ACM Press, New York, ippp.
[32] Shoup (Victor). Fast construction of irreducible polynomials over nite elds. J. Symbolic
Comput., vol. 17, n5, ipp, pp. 371391.
[33] Strassen (V.). Die Berechnungskomplexitt von elementarsymmetrischen Funktionen und
von Interpolationskoezienten. Numerische Mathematik, vol. 20, ip, pp. 238251.
[34] Tellegen (B.). A general network theorem, with applications. Philips Research Reports,
vol. 7, ip, pp. 259269.
[35] von zur Gathen (Joachim) and Gerhard (Jrgen). Modern computer algebra. Cambridge
University Press, New York, ippp, xiv+753p.
[36] Wiedemann (D.). Solving sparse linear equations over nite elds. IEEE Transactions on
Information Theory, vol. IT-32, ipS6, pp. 5462.
[37] Zippel (R.). Interpolating polynomials from their values. Journal of Symbolic Computation,
vol. 9, n3, ippo, pp. 375403.
CHAPITRE 13
Rcurrences linaires coecients polynomiaux :
N-ime terme, N premiers termes
Rsum
Pour calculer tous les N premiers termes dune suite P-rcursive, lalgo-
rithme direct par droulement de la rcurrence est quasi-optimal vis--
vis de N : sa complexit arithmtique (resp. binaire) est linaire en N
(resp. quasi-quadratique en N). Le N-ime terme dune telle suite peut
tre calcul plus rapidement que lensemble des N premiers termes, en
essentiellement

N oprations arithmtiques et N oprations binaires.
Le Chapitre 5 a montr comment calculer le N-ime terme dune suite donne
par une rcurrence coecients constants en complexit arithmtique O(log N).
Dans ce chapitre, nous nous attaquons au cadre plus gnral des rcurrences
coecients polynomiaux.
Le calcul du N-ime terme ou des N premiers termes
1
dune suite P-rcursive,
donne par la rcurrence coecients polynomiaux
(1) p
r
(n)u
n+r
+ +p
0
(n)u
n
= 0, (n N),
intervient frquemment en combinatoire et pour calculer des troncatures de sries,
ainsi que comme tape cl dans des algorithmes de recherche de solutions poly-
nomiales dquations fonctionnelles linaires, dans un algorithme de factorisation
dterministe dentiers, ou encore en cryptologie, dans des questions de comptage de
points sur des courbes.
Si les coecients p
i
(n) de la rcurrence (1) ont degr au plus d en n, lal-
gorithme naf par droulement de la rcurrence a une complexit arithmtique
en O(rdN) et une complexit binaire en O
_
rN
2
M
Z
(d log N)
_
. Ces complexits sont
quasi-optimales vis--vis de N pour le calcul de tous les N premiers termes.
Pour le calcul du N-ime terme seul, les algorithmes prsents dans ce chapitre
nont pas une aussi bonne complexit que pour des coecients constants, mais cette
fois encore, ils sont plus ecaces que le simple droulement de la rcurrence. La
situation se distingue de celle des problmes et algorithmes prsents jusquici : les
ides qui permettent le calcul du N-ime terme en bonne complexit arithmtique
ne sont pas les mmes que pour abaisser la complexit binaire. Ainsi, lalgorithme
par pas de bbs et pas de gants de la Section 2 donne un gain en racine de N sur la
complexit arithmtique, par rapport la mthode nave. Quant lalgorithme par
scindage binaire de la Section 3, il nabaisse en rien la complexit arithmtique, et
amliore pourtant la complexit binaire jusqu la rendre quasi-linaire en la taille
de sa sortie.
1. Calcul naf de N! et de suites P-rcursives
1.1. Cas de la factorielle. La dnition de la factorielle comme produit,
N! = 1 2 N,
1. Dans la suite on fait lhypothse que le coecient de tte j
r
de la rcurrence (1) ne sannule
sur aucun des entiers 0, . . ., . , o . est lindice du terme maximal que lon souhaite calculer.
171
172 13. RCURRENCES LINAIRES COEFFICIENTS POLYNOMIAUX
montre que N! peut tre calcul en N 1 oprations arithmtiques.
Lestimation de la complexit binaire de cette mthode repose sur la formule
de Stirling :
log N! = N log N N log e +
1
2
log N +O(1), N .
En particulier, nous retiendrons lquivalence log N! N log N qui donne la taille
de N!. La k-ime tape du produit multiplie k! par k + 1, soit donc un entier
de taille log k! k log k avec un entier de taille log(k + 1) log k. Ce produit
dsquilibr cote donc moins de ckM
Z
(log k) oprations binaires pour une certaine
constante c. Le calcul complet de N! par la mthode nave eectue donc moins de
N

k=1
ckM
Z
(log k) = O
_
N
2
M
Z
(log N)
_
oprations binaires.
La formule de Stirling montre que ces complexits arithmtique et binaire sont
quasi-optimales pour le calcul conjoint des nombres 1!, 2!, . . ., N!.
1.2. Cas gnral. Pour une suite P-rcursive donne par une rcurrence de
la forme (1), le calcul par lalgorithme direct de u
n+r
partir des r valeurs prc-
dentes demande O(rd) oprations arithmtiques pour lvaluation des polynmes
(par exemple par le schma de Horner) puis O(r) oprations pour eectuer la com-
binaison linaire des u
n+i
. Le calcul naf de u
0
, . . . , u
N
partir des valeurs initiales
u
0
, . . ., u
r1
demande donc O(rdN) oprations arithmtiques.
Une lgre amlioration de cette borne vient de lobservation que les coef-
cients p
i
(n) peuvent tre valus sur les entiers n = 0, 1, . . . , N en utilisant
des techniques dvaluation multipoint rapide, avant de procder au droulement
de (1). Cela permet dabaisser la complexit arithmtique du calcul de O(rdN)
O(rM(N+d) log(N+d)), ce qui devient

O(r(N+d)) si la multiplication polynomiale
est base de FFT.
Lorsque les coecients des polynmes p
i
sont entiers, la complexit binaire de
lalgorithme naf dcoule de nouveau essentiellement de la croissance de u
N
. Pour
estimer celle-ci, il est agrable dadopter une vision matricielle et de faire apparatre
le rationnel u
N
comme un quotient dentiers. Introduisons la suite vectorielle des
U
n
=
t
(u
n
, . . . , u
n+r1
), qui vrie la rcurrence du premier ordre
U
n+1
=
1
p
r
(n)
A(n)U
n
avec A(n) =
_
_
_
_
_
_
_
0 p
r
(n)
0 p
r
(n)
.
.
.
.
.
.
0 p
r
(n)
p
0
(n) . . . p
r1
(n)
_
_
_
_
_
_
_
.
Considrons aussi la suite hypergomtrique (w
n
) donne par la condition initiale
w
0
= 1 et la rcurrence
w
n+1
= p
r
(n)w
n
, (n N),
qui permet de rcrire U
n
sous la forme
U
n
=
1
w
n
_
A(n 1) A(0)
_
U
0
.
Le rationnel u
N
scrit alors u
N
= v
N
/w
N
, o v
N
est le premier coecient du
vecteur
_
A(N 1) A(0)
_
U
0
.
2. PAS DE BBS ET PAS DE GANTS 173
Pour estimer la croissance de v
N
, introduisons pour un vecteur U de taille r et
une matrice M de taille r r la norme dindice 1 et sa norme subordonne
|U| =
r

j=1
[v
j
[ et |M| = max
1jr
r

i=1
[m
i,j
[.
Soit un majorant commun pour la taille binaire des coecients des p
i
, 0
i r, et des conditions initiales u
j
, 0 j < r. Il sensuit que la norme de A(n) est
borne par r 2

(d + 1)(n + 1)
d
et celle de U
0
par r2

. Les majorations
[v
N
[ |A(N 1)| |A(0)| |U
0
| r
N+1
2
(N+1)
(d + 1)
N
(N!)
d
fournissent la borne O
_
dN log N +N +N log r
_
sur la taille log [v
N
[. Par le mme
raisonnement, la taille du dnominateur w
N
est du mme ordre (mmes formules
pour r = 1), si bien que par le mme type dargument que pour la factorielle, la
complexit binaire du calcul naf de u
N
est O
_
rN
2
M
Z
(d log N + + log r)
_
.
2. Pas de bbs et pas de gants
On a vu au Chapitre 5 que le N-ime terme dune rcurrence linaire coe-
cients constants peut tre calcul en complexit arithmtique O(log N). Dans le cas
des coecients polynomiaux, les choses se compliquent : ce jour, on ne connat pas
dalgorithme polynomial en log N (il est fort possible quun tel algorithme nexiste
pas). Lexemple typique en est le calcul du N-ime terme de la factorielle u
N
= N!,
qui vrie la rcurrence coecients polynomiaux u
n+1
= (n + 1)u
n
pour n 0.
Une solution ecace exploite le thorme valuation interpolation (thorme 1
du Chapitre 6). Elle utilise la technique des pas de bbs et pas de gants et requiert
un nombre doprations arithmtiques en

N, des facteurs logarithmiques prs.
Pour simplier la prsentation, supposons que N est un carr parfait. Lide de
lalgorithme est de poser
P(X) = (X + 1)(X + 2) (X +N
1/2
),
an dobtenir la valeur de u
N
laide de lquation
(2) u
N
=
N
1/2
1

j=0
P
_
jN
1/2
_
.
Cette galit suggre la procdure suivante :
1. Pas de bbs : Calculer les coecients de P. Ceci peut tre fait en utili-
sant O
_
M(

N ) log N
_
oprations arithmtiques (en construisant un arbre
binaire de feuilles X +i comme en Section 4.2 du Chapitre 6).
2. Pas de gants : valuer P sur les points 0,

N, 2

N, . . ., (

N 1)

N
et retrouver la valeur de u
N
laide de lquation (2). En utilisant les
techniques dvaluation multipoint rapide (Chapitre 6, Section 4.3), ceci
peut se faire galement en O
_
M(

N ) log N
_
oprations arithmtiques.
Le cot total de cet algorithme est O
_
M(

N) log N
_
oprations arithmtiques.
Si la FFT est utilise pour la multiplication des polynmes, le gain par rapport la
mthode directe est de lordre de

N, des facteurs logarithmiques prs, typique
pour la technique des pas de bbs et pas de gants. La technique gagne encore par
rapport lalgorithme naf si lon emploie une multiplication par Karatsuba, mais
ne prsente aucun intrt avec la multiplication nave.
Cette technique se gnralise aux suites hypergomtriques quelconques ainsi
quau calcul dun terme dune suite rcurrente linaire coecients polynomiaux.
cette n, le polynme considrer est maintenant le polynme matriciel
P(X) = A(X +m1) A(X + 1)A(X),
174 13. RCURRENCES LINAIRES COEFFICIENTS POLYNOMIAUX
pour m = (N/d)
1/2
, o A est la matrice dnie en page 172.
Le produit A(N 1) A(0) est alors le produit de (dN)
1/2
valuations de P,
lequel a degr (dN)
1/2
. Lalgorithme obtient ces valuations matricielles en ralisant
sparment les valuations multipoints des r
2
coordonnes de la matrice P.
La complexit arithmtique de cet algorithme est en O
_
r
2
M(md) log(md) +
MM(r, m) log m
_
= O
_
r
2
M(

dN) log(dN)+r

M(

dN) log(N/d)
_
oprations arith-
mtiques, soit O
_
M(

dN) log(dN)
_
si on ne tient pas compte de la dpendance en
lordre r de la rcurrence.
Exercice 1. crire les dtails de lalgorithme et de lanalyse de complexit.
Exercice 2. tant donn un polynme f K[X] de degr 2 et un entier
positif N, borner le nombre doprations dans K susantes pour dterminer le
coecient de X
N
du polynme f
N
. (Indication : La solution consiste calculer
par exponentiation binaire tous les coecients u
0
, . . ., u
N
de f
N
mod X
N+1
. Une
approche encore plus rapide repose sur le fait que les u
n
satisfont une rcurrence
coecients polynomiaux dordre 2.)
2.1. Factorisation dterministe des entiers. Supposons que nous devons
factoriser un entier N. Tester tous les diviseurs plus petits que

N a une complexit
binaire linaire en

N. An dacclrer ce calcul, on peut rassembler tous les entiers


plus petits que

N en
4

N blocs, chacun contenant


4

N entiers conscutifs. Soit


c de lordre de
4

N et notons f
0
= 1 c mod N, f
1
= (c + 1) (2c) mod N, . . .,
f
c1
= (c
2
c + 1) (c
2
) mod N. Si les valeurs f
0
, . . . , f
c1
sont connues, alors il
devient facile de dterminer un facteur de N, en prenant des pgcd de f
0
, . . . , f
c1
avec N : la complexit binaire associe est O
_
4

N M
Z
(log N) log log N).
Ainsi, la principale dicult est de calculer les valeurs f
i
. Pour ce faire, on
prend A = Z/NZ et F le polynme (X +1) (X +c) A[X], quon value en les
points 0, c, 2c, . . . , c(c 1) en O(M(c) log c) oprations de A. Par le thorme va-
luation interpolation , puisque c est dordre
4

N, la complexit pour calculer les f


i
est de O(M(
4

N) log N) oprations modulo N, soit O(M(


4

N) M
Z
(log N) log N)
oprations bits. Ce terme est dominant et est donc aussi la complexit totale du
calcul.
3. Scindage binaire
3.1. Cas de la factorielle. Pour exploiter la multiplication rapide, lide
consiste quilibrer les produits en calculant P(a, b) = (a + 1)(a + 2) b rcur-
sivement par
P(a, b) = P(a, m)P(m, b) o m =
_
a +b
2
_
.
Appelons C(a, b) le cot binaire du calcul de P(a, b). Il rsulte immdiatement
de la mthode que ce cot vrie lingalit
C(a, b) C(a, m) +C(m, b) + M
Z
_
log P(a, m), log P(m, b)
_
.
Sous lhypothse raisonnable que la complexit de la multiplication dentiers est
croissante avec la taille des entiers, le cot du calcul de P(a, m) est infrieur au
cot du calcul de P(m, b), do la nouvelle ingalit
C(a, b) 2C(m, b) + M
Z
_
P(m, b)
_
.
3. SCINDAGE BINAIRE 175
ce stade, le thorme diviser pour rgner nest pas susant pour conclure,
mais lutilisation de lingalit prcdente donne les ingalits successives
C(0, n) 2C(n/2, n) + M
Z
_
log P(n/2, n)
_
4C(3n/4, n) + 2M
Z
_
log P(3n/4, n)
_
+ M
Z
_
log P(n/2, n)
_

2
k
C(n2
k
n, n) + 2
k
M
Z
_
log P(n2
k
n, n)
_
+ +M
Z
_
log P(n/2, n)
_
,
pour tout entier positif k. Lentier P(n 2
k
n, n) est le produit de 2
k
n facteurs
de taille borne par log n; il a donc pour taille 2
k
nlog n. Par sous-additivit de la
fonction M
Z
, la dernire ingalit devient
C(0, n) 2
k
C(n/2
k
, n) +kM
Z
(nlog n).
En choisissant nalement darrter la rcursion lorsque n2
k
n et n dirent dau
plus un, ce qui impose k de lordre de log n, on aboutit la borne
C(0, n) O(log n) + M
Z
(nlog n) log n
donc une complexit binaire pour le calcul de N! dans O
_
M
Z
(N log N) log N
_
.
Si la multiplication entire utilise repose sur la FFT, cette complexit scrit
O(N log
3
N log log N) ; si la multiplication entire utilise est dexposant stricte-
ment plus grand que 1, elle scrit O
_
(N log N)

_
.
3.2. Rcurrences dordre 1. La factorielle de la section prcdente suit la
rcurrence u
n+1
= (n + 1)u
n
. On considre ici tout dabord les solutions de rcur-
rences de la forme
u
n+1
= p(n)u
n
, p Z[X].
Si p a degr d, log p(N) est dans O(d log N), si bien que la taille de u
N
est O(dN log N).
De mme, pour toute rcurrence de la forme
u
n+1
=
p(n)
q(n)
u
n
, p, q Z[X],
on peut pour calculer le terme u
N
appliquer sparment la mme technique de
scindage binaire sur le numrateur et le dnominateur. Si d est le maximum des
degrs de p et q, le calcul produit deux entiers de taille O(dN log N) en un nombre
doprations binaires en O
_
M
Z
(dN log N) log N
_
. Ensuite, si le dnominateur est
non nul, la mthode de Newton (Chapitre 5, thorme 2) permet deectuer la
division nale en O
_
M
Z
(dN log N)
_
oprations binaires.
3.3. Calcul de e = exp(1). Le point de dpart est la suite (e
n
) donne par
e
n
=
n

k=0
1
k!
.
Cette suite converge vers e. Plus prcisment, il est classique que le terme de reste
dans e e
n
se majore par une srie gomtrique de sorte que
0 e e
n

1
nn!
.
Pour calculer N dcimales de e par cette srie, il sut de rendre
1
nn!
infrieur
10
N
. Il sensuit quil sut de prendre N de sorte que nn! et 10
N
soient du
mme ordre, cest--dire davoir N proportionnel nlog n. Il sut donc de prendre
n = O(N/ log N) termes dans la srie.
La suite (e
n
)
n0
vrie e
n
e
n1
= 1/n! et donc
n(e
n
e
n1
) = e
n1
e
n2
.
176 13. RCURRENCES LINAIRES COEFFICIENTS POLYNOMIAUX
Cette rcurrence se rcrit
_
e
n
e
n1
_
=
1
n
_
n + 1 1
n 0
_
. .
A(n)
_
e
n1
e
n2
_
=
1
n!
A(n)A(n 1) A(2)
_
1
0
_
.
Le calcul du produit de matrices peut alors tre eectu par scindage binaire.
Le calcul de e
N
par ce procd demande donc O(M
Z
(N log N) log N) oprations
binaires.
Pour calculer n dcimales de e, la premire tape ci-dessus construit deux entiers
de taille O(N log N) = O(n) en O(M
Z
(n) log n) oprations binaires. Il faut ensuite
eectuer une division qui ne demande que O(M
Z
(n)) oprations par lalgorithme
de Newton. Lensemble du calcul est donc quasi-optimal. (En outre, le log n nest
pas prsent pour des multiplications comme celle de Karatsuba dont lexposant de
complexit est suprieur 1.)
Un autre exemple dapplication est donn dans les notes.
3.4. Suites polynomialement rcursives. Considrons le cas gnral dune
suite P-rcursive vriant la rcurrence (1) avec p
i
Z[X], i = 0, . . . , r. On garde
les notations d pour une borne sur les degrs des polynmes p
i
, et pour une borne
sur la taille de leurs coecients. La mme technique du scindage binaire permet
dobtenir le rsultat suivant.
Thorme 1. La complexit binaire de la mthode du scindage binaire pour
calculer u
N
est en O(r

M
Z
(dN log N +N +N log r) log N).
Comme prcdemment, cette borne de complexit peut tre amliore
O(r

M
Z
(dN log N+N+N log r)) si lexposant de la complexit M
Z
(m) = O(m

)
est suprieur 1.
Exercice 3. Vrier les formules de ce thorme.
Exercices
Exercice 4 (Calcul rapide de factorielle et de coecients binomiaux centraux).
Cet exercice montre comment calculer certaines suites rcurrentes linaires plus vite
que par la mthode de scindage binaire.
Soit N N et soit Q =

2N
i=0
q
i
X
i
Z[X] le polynme Q(X) = (1 +X)
2N
.
1. Montrer que q
N
peut tre calcul en utilisant uniquement des additions
dentiers du triangle de Pascal, cest--dire lidentit suivante sur les coef-
cients du binme :
_
n
k
_
=
_
n 1
k 1
_
+
_
n 1
k
_
, k 1, n 1.
Quelle est la complexit binaire de cet algorithme ?
On admet que le calcul de tous les nombres premiers infrieurs N peut tre eectu
en O(N log N/ log log N) oprations binaires, quil existe au plus 3N/ log(N) tels
nombres premiers et que la multiplicit avec laquelle apparat le nombre premier p
dans la factorisation de N! vaut
ind(p, N) =

i=1
_
N
p
i
_
,
o la notation x| reprsente la partie entire de x.
2. Montrer que le calcul de ind(p, N) peut tre eectu en O
_
M
Z
(log N) log N
_
oprations binaires.
Bibliographie 177
3. Montrer que la dcomposition en facteurs premiers de N! peut tre eectue
en O
_
M
Z
(N) log N
_
oprations binaires, ainsi que celle de q
N
.
4. Montrer que N! et q
N
peuvent alors tre reconstruits en respectivement
O
_
M
Z
(N log N) log log N
_
et O
_
M
Z
(N) log N
_
oprations binaires.
Exercice 5. Soit N N et soit P =

2N
i=0
p
i
X
i
Z[X] le polynme P(X) =
(1 +X +X
2
)
N
.
1. Montrer que O(M(N)) oprations binaires susent pour dterminer la pa-
rit de tous les coecients de P.
Indication : un entier n est pair si et seulement si n = 0 dans K = Z/2Z.
2. Montrer que P vrie une quation direntielle linaire dordre 1 coef-
cients polynomiaux. En dduire que les p
i
suivent une rcurrence dordre
2 que lon prcisera.
3. Donner un algorithme qui calcule p
N
en O(M(N log N) log N) oprations
binaires.
Notes
La mthode du scindage binaire est un grand classique en calcul formel. Elle a
t redcouverte plusieurs reprises dans la littrature, dans dirents contextes :
conversion dune base lautre, calcul de dcimales de constantes comme ou e [7],
calcul avec des rcurrences linaires [10], [8, 6].
Lune des premires rfrences mentionnant le scindage binaire est [1, 178],
qui suggre (sans preuve) quil permet lvaluation numrique rapide des fonctions
D-nies. Larticle de synthse [2, 12] est une bonne rfrence sur lhistorique de la
mthode.
Lalgorithme par pas de bbs et pas de gants a t introduit par Strassen [11]
et gnralis dans [8] au problme du calcul dun terme dune suite rcurrente
linaire coecients polynomiaux.
Lalgorithme de factorisation dterministe en Section 2.1 est bas galement
sur la rfrence [11]. Une amlioration de cet algorithme se trouve dans [6]. No-
tons quon ne connat pas de meilleur algorithme dterministe ; lexistence dun tel
algorithme est un grand problme ouvert.
On trouve galement dans [6] une application cryptographique du calcul du N-
ime terme dune suite P-rcursive au problme du comptage de points sur une
courbe hyperelliptique sur un corps ni. Le point de dpart de cette application est
lexercice 2, inspir de [9, Pb. 4].
Les algorithmes de recherche de solutions polynomiales dquations fonction-
nelles linaires voqus dans lintroduction sont donns dans [5, 4].
Le rsultat de la Section 3.3 est d [7] ; le mme raisonnement se gnralise
au calcul des sommes convergentes de suites hypergomtriques. En particulier,
cest ainsi que les systmes de calcul formel calculent rapidement par une formule
dcouverte en 1989 par les frres Chudnovsky :
1

=
12
C
3/2

n=0
(1)
n
(6n)!(A+nB)
(3n)!n!
3
C
3n
o A = 13591409, B = 545140134 et C = 640320.
La partie de lexercice 4 consacre au calcul de N! est due P. Borwein [3].
Bibliographie
[1] Beeler (Michael), Gosper (R.), and Schroeppel (Richard). HAKMEM. MIT, ip, Arti-
cial Intelligence Memo No. 239.
178 13. RCURRENCES LINAIRES COEFFICIENTS POLYNOMIAUX
[2] Bernstein (Daniel J.). Fast multiplication and its applications. In Algorithmic number
theory : lattices, number elds, curves and cryptography, pp. 325384. Cambridge Univ.
Press, ooS.
[3] Borwein (Peter B.). On the complexity of calculating factorials. Journal of Algorithms,
vol. 6, n3, ipS, pp. 376380.
[4] Bostan (A.), Chyzak (F.), Cluzeau (T.), and Salvy (B.). Low complexity algorithms for
linear recurrences. In ISSAC06, pp. 3138. ACM, New York, oo6.
[5] Bostan (Alin), Cluzeau (Thomas), and Salvy (Bruno). Fast algorithms for polynomial so-
lutions of linear dierential equations. In ISSAC05. pp. 4552. ACM Press, NY, oo.
[6] Bostan (Alin), Gaudry (Pierrick), and Schost (ric). Linear recurrences with polynomial
coecients and application to integer factorization and Cartier-Manin operator. SIAM J.
Comput., vol. 36, n6, oo, pp. 17771806.
[7] Brent (R. P.). Multiple-precision zero-nding methods and the complexity of elementary
function evaluation. In Analytic computational complexity (Proc. Sympos., Carnegie-Mellon
Univ., Pittsburgh, Pa., 1975), pp. 151176. Academic Press, New York, ip6.
[8] Chudnovsky (D. V.) and Chudnovsky (G. V.). Approximations and complex multiplication
according to Ramanujan. In Ramanujan revisited, pp. 375472. Academic Press, MA, ipSS.
[9] Flajolet (Philippe) and Salvy (Bruno). The Sigsam challenges : Symbolic asymptotics in
practice. SIGSAM Bulletin, vol. 31, n4, December ipp, pp. 3647.
[10] Kogge (P.) and Stone (H.). A parallel algorithm for the ecient solution of a general class
of recurrence equations. IEEE Trans. Comp., vol. C-22, ip, pp. 786793.
[11] Strassen (V.). Einige Resultate ber Berechnungskomplexitt. Jber. Deutsch. Math.-
Verein., vol. 78, n1, ip6, pp. 18.
CHAPITRE 14
Solutions rationnelles de systmes linaires
coecients polynomiaux
Rsum
Lalgorithmique des systmes linaires coecients des polynmes en
une variable est trs similaire celle des fractions rationnelles. En outre,
il est important de tirer parti du produit rapide de matrices.
On considre le systme linaire
(1) A(X)Y (X) = B(X),
o A et B sont donns et Y est inconnu. A est une matrice n n de polynmes,
rgulire (de dterminant non nul) et B est un vecteur de polynmes. De manire
quivalente, on peut voir A (ou B) comme un polynme coecients des matrices
(ou des vecteurs). Pour xer les notations, on suppose deg A d et deg B < d.
On notera /
m,k
(R) lensemble des matrices de taille mk coecients dans R.
On notera K[X]
d
lensemble des polynmes de degr au plus d coecients dans le
corps K. La fonction M est telle que la multiplication dans K[X]
d
cote au plus M(d)
oprations dans K. Lexposant est tel que la multiplication de deux matrices nn
coecients dans K cote O(n

) oprations dans K.
Nous aurons aussi besoin de produits de matrices de /
n
(K[X]
d
). Dans le cas
le plus gnral, ce produit est connu pour pouvoir tre excut en O(n

M(d))
oprations dans K, borne que nous utiliserons dans les estimations de complexit.
Lorsque le corps K contient susamment de points, par valuation-interpolation,
ce cot descend O(n

d+n
2
M(d) log d) ; dans les mmes conditions, en choisissant
des points en progression gomtrique, cette complexit peut tre encore abaisse
O(n

d +n
2
M(d)).
1. Des sries aux solutions rationnelles
Une premire observation est que la structure de la solution cherche est donne
par les formules de Cramer.
Lemme 1. Le systme possde une solution dont les coordonnes sont des frac-
tions rationnelles. Ses numrateurs et dnominateurs ont degrs borns par nd 1
et nd.
Dmonstration. Le systme (1) se rcrit
A
1
y
1
+ +A
n
y
n
= B,
o y
i
est la ime coordonne de Y et A
i
la ime colonne de A. La formule de Cramer
det(A
1
, . . . , A
i1
, B, A
i+1
, . . . , A
n
) = y
i
det(A),
est obtenue en remplaant B par sa valeur dans le membre gauche et en dveloppant
le dterminant.
Il en dcoule que y
i
est le quotient de dterminants de matrices appartenant
/
n
(K[X]
d
). Ces dterminants ont donc degr au plus nd1 pour le numrateur
et nd pour le dnominateur.
179
180 14. SYSTMES LINAIRES COEFFICIENTS POLYNOMIAUX
Lalgorithme de rsolution suivant est justi par la complexit quasi-optimale
des approximants de Pad (Chapitre 9).
Rsolution de A(X)Y (X) = B(X) [Moenk-Carter 1979]
Entre : A /
n
(K[X]
d
), B /
n,1
(K[X]
d1
)
Sortie : le vecteur de fractions rationnelles Y tel que AY = B.
1. Calculer le dveloppement en srie de A
1
B prcision 2nd.
2. Reconstruire les coecients de Y par approximant de Pad.
Dans tous les algorithmes qui vont suivre, cest la recherche de srie solution qui
va dominer la complexit.
2. Dveloppement comme une fraction rationnelle
La Proposition 3 du Chapitre 4 (page 64) montre que la mthode de Newton
fonctionne pour toute matrice inversible de sries. Avec cet algorithme, le calcul de
la fraction rationnelle solution de (1) demande O(n

M(nd)) oprations dans K.


Il est possible damliorer lecacit lorsque la matrice est une matrice de
polynmes. La base de cette amlioration est contenue dans le lemme suivant.
Lemme 2. Soit A(X) /
n
(K[X]
d
) et B(X) /
n,m
(K[X]
d1
), avec A in-
versible. Pour tout k, il existe une matrice B
k
/
n,m
(K[X]
d1
) telle que
(2) A
1
B = a
0
+a
1
X + +a
k1
X
k1
+X
k
A
1
B
k
,
o a
i
/
n,m
(K).
Dmonstration. Si les a
i
sont les coecients du dveloppement en srie
de A
1
B, alors
B A(a
0
+ +a
k1
X
k1
)
est une matrice de /
n,m
(K[X]
d+k1
) qui, par construction, est divisible par X
k
,
do le lemme.
Ce rsultat se traduit algorithmiquement comme suit.
Dveloppement de A
1
B
Entre : A, B, k et S = A
1
mod X
k
;
Sortie : a
0
, . . . , a
k1
et B
k
dnis par lquation (2).
1. Calculer SB =: a
0
+ +a
k1
X
k1
mod X
k
.
2. Calculer B
k
= (B A(a
0
+ +a
k1
X
k1
))X
k
.
3. Renvoyer a
0
, . . . , a
k1
, B
k
.
La proposition suivante estime le cot de cet algorithme. Elle peut tre vue comme
lanalogue matriciel du Thorme 4 au Chapitre 5 (page 81).
Proposition 1. Soit A /
n
(K[X]
d
) avec A(0) inversible, alors on peut
calculer les N d premiers coecients de A
1
en O(n

N M(d)/d) oprations
dans K. Pour B /
n,1
(K[X]
d1
), on peut calculer les N d premiers coe-
cients de A
1
B en O(n
2
N M(d)/d) oprations dans K.
Dmonstration. Lalgorithme calcule dabord linverse S = A
1
mod X
d
par
lalgorithme de Newton, en O(n

M(d)) oprations dans K.


Ensuite, on applique N/d fois lalgorithme ci-dessus avec k = d pour calculer
chaque itration d coecients et un nouveau B
(i+1)d
. Si on part de B
0
= I, le
rsultat fournit les N premiers coecients de A
1
; si B
0
= B, alors on obtient les
coecients de A
1
B.
Les deux tapes de lalgorithme ci-dessus (avec k = d) cotent O(n

M(d))
oprations dans K si B a n colonnes, O(n
2
M(d)) sil nen a quune.
3. LALGORITHME DE STORJOHANN 181
Avec cet algorithme, le calcul de la fraction rationnelle solution de (1) demande
O(n
3
M(d)) oprations dans K.
3. Lalgorithme de Storjohann
Lalgorithme de Storjohann permet de calculer les N premiers coecients du
dveloppement en srie de A
1
B en O(n
1
N log N M(d)) oprations dans K. Si
< 3, cette quantit crot avec n moins vite que la taille de linverse A
1
, qui nest
donc pas calcule en entier. Ainsi, la rsolution du systme linaire (1) a un cot
en O(n

M(d) log(nd)) oprations dans K.


Lalgorithme repose sur le dveloppement de A
1
B de la section prcdente,
joint dune part une technique de type diviser pour rgner , dautre part au
regroupement des calculs intermdiaires pour remplacer des groupes de n produits
matrice-vecteur par des produits matrice-matrice.
Pour commencer, on peut modier lalgorithme de dveloppement de A
1
B de
la section prcdente pour calculer B
k
sans calculer tous les coecients a
0
, . . . , a
k1
.
Lentre ncessaire est moins grosse, et la complexit plus faible lorsque k est grand
devant d. Pour une srie V = v
0
+v
1
X + , on note
[V ]
b
a
:= v
a
X
a
+ +v
a+b
X
a+b
,
avec la convention que les coecients dindice ngatif de V sont nuls.
Dveloppement de A
1
B tronqu
Entre : A, B, k et S = [A
1
]
2d2
k2d+1
;
Sortie : B
k
dni par lquation (2).
1. Calculer U := [SB]
d1
kd
.
2. Calculer B
k
:= [B AU]
d1
k
X
k
.
3. Renvoyer B
k
.
Dmonstration. Pour prouver la correction de cet algorithme, il faut sassu-
rer que les troncatures de sries sont susantes pour calculer le mme polynme B
k
que prcdemment.
Pour la premire tape de lalgorithme, il sut dobserver que B ayant degr
au plus d 1, le coecient de X
i
dans A
1
B ne dpend que de [A
1
]
d+1
id1
, pour
tout i. Donc les coecients calculs par cette premire tape sont les mmes que
les a
i
que prcdemment, pour i = k d, . . . , k 1.
Ensuite, il faut calculer [X
k
B
k
]
d1
k
. Lextraction des coecients de lqua-
tion (2) donne
[X
k
B
k
]
d1
k
= [B A(a
0
+ +a
k1
X
k1
)]
d1
k
= [B A(a
kd
X
kd
+ +a
k1
X
k1
)]
d1
k
,
ce qui conclut la preuve.
Une observation importante concernant cet algorithme est que cest le mme
polynme S qui peut servir pour calculer B
i+k
pour tout i. Lide est alors de grou-
per plusieurs vecteurs B
i
et de calculer les B
i+k
correspondants par des produits
matrice-matrice. Noter que la ressemblance entre cette ide et celle de lalgorithme
de Keller-Gehrig en page 49.
Ainsi, si lon connat B
0
, B
2m
, . . . , B
2sm
et [A
1
]
2d
m2d
, alors le calcul de la
suite B
m
, B
3m
, . . . , B
(2s+1)m
ne requiert que O(n
1
s M(d)) oprations dans K.
En itrant cette ide, en partant de B
0
et en supposant connus [A
1
]
2d2
2
k
2d+1
pour k = 0, . . . , ,log(N/d)| =: k
max
, on obtient dabord B
0
, B
2
k
max
, puis ltape
182 14. SYSTMES LINAIRES COEFFICIENTS POLYNOMIAUX
suivante B
0
, B
2
k
max
1, B
2
k
max
, B
32
k
max
1, et ainsi de suite jusqu calculer toute
la suite B
0
, B
d
, B
2d
, . . . , B
d|N/d|
en O(k
max
n
1
N M(d)/d) oprations dans K. En
multipliant alors ces vecteurs par [A
1
]
d
0
on obtient nalement les N premiers co-
ecients de A
1
B pour le mme cot.
Il reste voir comment calculer les [A
1
]
2d2
2
k
2d1
. L encore, le point de dpart
est lidentit (2), avec B = I, k = m et k = p :
A
1
= a
0
+ +a
m1
X
m1
+X
m
A
1
B
m
= a
0
+ +a
m1
X
m1
+X
m
(a
0
+ +a
p1
X
p1
+X
p
A
1
B
p
)B
m
.
La seconde ligne est obtenue par substitution de la valeur de A
1
donne par la
premire ligne avec m = p. Ces quations entranent pour tout 0 tel que
m+p d
_
B
m+p
= [A[A
1
]
2d2
p2d+1
B
m
]
d1
p
X
p
,
[A
1
]
1
m+p
= [[A
1
]
+d2
pd+1
B
m
]
1
m+p
.
Lalgorithme suivant sen dduit en utilisant cette identit avec m = 2
k
d, p = 2
k
et = d 1.
Dveloppement de A
1
indices puissances de 2
Entre : S = [A
1
]
d1
0
, T = [A
1
]
2d2
2
k
2d+1
et B
2
k
d
dni par (2)
avec B = I ;
Sortie : B
2
k+1
d
et [A
1
]
2d2
2
k+1
2d+1
.
1. Calculer [A
1
]
d2
2
k+1
2d+1
= [TB
2
k
d
]
d2
2
k+1
2d+1
.
2. Calculer B
2
k+1
d
:= [ATB
2
k
d
]
d1
2
k
/X
2
k
.
3. Calculer [A
1
]
d1
2
k+1
d
= [X
2
k+1
d
B
2
k+1
d
S]
d1
2
k+1
d
.
4. Renvoyer B
2
k+1
d
et [A
1
]
2d2
2
k+1
2d+1
.
Pour rsumer, ces algorithmes mnent au rsultat suivant.
Thorme 1 (Storjohann 2002). Soient A une matrice n n polynomiale de
degr d avec A(0) inversible et B un vecteur polynomial de degr au plus d1, alors
on peut calculer le numrateur et le dnominateur de A
1
B en O(n

M(d) log(nd))
oprations dans K.
Notes
Lide de rsoudre des systmes linaires coecients polynomiaux (resp. en-
tiers) par dveloppement de Taylor (resp. p-adique) et reconstruction rationnelle
provient de [4, 1]. Lalgorithme en page 181 et la Proposition 1 sont tirs de [4].
Dans tout ce texte, nous avons suppos que A(0) est inversible. En fait, les
rsultats stendent au cas o A est inversible sans que A(0) le soit. Il sut de tirer
alatoirement un point et deectuer les dveloppements en srie au voisinage de
ce point. Lalgorithme devient probabiliste. Si la caractristique est positive, il se
peut que A soit inversible sans que sa valeur en aucun point du corps ne le soit. On
peut alors construire une extension du corps assez grande pour trouver un point o
eectuer ces calculs. Ces considrations sont prises en compte dans [5, 6].
Larticle [6] montre que le dterminant dune matrice polynomiale de taille n
et degr au plus d peut se calculer en O(n

M(d) log
2
(n)) oprations arithmtiques.
Storjohann et Villard [8] montrent comment calculer le rang et une base du noyau
dune telle matrice en

O(n

d) oprations arithmtiques.
Bibliographie 183
Pour n une puissance de 2, Jeannerod et Villard [3] ont donn un algorithme
qui calcule linverse dune matrice polynomiale inversible de taille n et degr au plus
d en

O(n
3
d) oprations arithmtiques. Des rductions entre diverses oprations sur
les matrices polynomiales ont t tudies dans [2].
Lalgorithme de ce chapitre et tous les autres rsultats de [5, 6] ont t tendus
au cas entier dans [7]. Il nest toujours pas connu si lon peut calculer le polynme
caractristique dune matrice polynomiale de taille n et degr au plus d en

O(n

d)
oprations arithmtiques.
Bibliographie
[1] Dixon (John D.). Exact solution of linear equations using j-adic expansions. Numer. Math.,
vol. 40, n1, ipS, pp. 137141.
[2] Giorgi (Pascal), Jeannerod (Claude-Pierre), and Villard (Gilles). On the complexity of po-
lynomial matrix computations. In ISSAC03. pp. 135142. ACM, New York, oo.
[3] Jeannerod (Claude-Pierre) and Villard (Gilles). Essentially optimal computation of the in-
verse of generic polynomial matrices. J. Complexity, vol. 21, n1, oo, pp. 7286.
[4] Moenck (Robert T.) and Carter (John H.). Approximate algorithms to derive exact solutions
to systems of linear equations. In EUROSAM 79 : Proceedings of the International Sympo-
siumon on Symbolic and Algebraic Computation. Lecture Notes in Computer Science, vol. 72,
pp. 6573. Springer-Verlag, London, UK, ipp.
[5] Storjohann (Arne). High-order lifting. In Mora (Teo) (editor), ISSAC02. pp. 246254.
ACM Press, July oo. Proceedings of the 2002 International Symposium on Symbolic and
Algebraic Computation, July 0710, 2002, Universit de Lille, France.
[6] Storjohann (Arne). High-order lifting and integrality certication. J. Symbolic Comput.,
vol. 36, n3-4, oo, pp. 613648.
[7] Storjohann (Arne). The shifted number system for fast linear algebra on integer matrices. J.
Complexity, vol. 21, n4, oo, pp. 609650.
[8] Storjohann (Arne) and Villard (Gilles). Computing the rank and a small nullspace basis of
a polynomial matrix. In ISSAC05, pp. 309316. ACM, New York, oo.
CHAPITRE 15
Solutions sries dquations direntielles
Rsum
Lalgorithme de Newton dans un cadre direntiel permet de calculer des
sries tronques solutions dquations direntielles en complexit quasi-
optimale. Pour certaines classes particulires importantes dquations,
la complexit peut tre encore abaisse.
Comme pour le Chapitre 4 sur les calculs rapides de sries, N sera utilis pour
reprsenter le nombre de termes calculer, et srie sera employ pour srie
tronque lordre N , M(N) dnote une borne suprieure sur le nombre dopra-
tions arithmtiques ncessaires pour multiplier deux polynmes de degr au plus N
(et par consquent deux sries tronques lordre N). On suppose pour simplier
les expressions asymptotiques que la multiplication est plus coteuse que laddi-
tion, cest--dire que M(N)/N tend vers linni avec N. Lecacit des algorithmes
sera mesure par leurs complexits arithmtiques. La complexit est alors quasi-
optimale lorsquelle est linaire en N des facteurs logarithmiques prs. Nous nous
attacherons par ailleurs expliciter la dpendance de la complexit vis--vis des
autres paramtres (ordre r de lquation, degr d des coecients lorsquils sont po-
lynomiaux). Pour le cas particulier trs important des quations et des systmes
direntiels linaires, les rsultats de complexit de ce chapitre sont prsents au
tableau 1, dans lequel il faut comparer les complexits aux tailles des entres et des
sorties. Par comparaison, la mthode la plus directe (les coecients indtermins),
est quadratique en N pour le cas o les coecients sont des sries.
Tous les algorithmes sont noncs pour des coecients dans un anneau A (avec
en vue le cas de coecients polynomiaux par exemple). Dans tout ce chapitre nous
ferons lhypothse supplmentaire que 2, 3, . . . , N sont inversibles dans A.
1. quations direntielles dordre 1
Le cas de lordre 1 est plus simple que le cas gnral. Sa prsentation sert din-
troduction la section suivante, o les techniques employes ici seront gnralises.
Problme coecients coecients coecients taille
(entre, sortie) sries polynmes constants rsultat
(quation, base) O(r
2
M(N)) O(dr
2
N) O(rN) rN
(quation, 1 solution) O(r M(N) log N) O(drN) O
_
M(r)
N
r
_
N
(systme, base) O(r
2
M(N)) O(dr

N) O(rM(r)N) r
2
N
(systme, 1 solution) O(r
2
M(N) log N) O(dr
2
N) O(M(r)N) rN
Table 1. Complexit de la rsolution dquations et de systmes
direntiels linaires pour N r.
185
186 15. SOLUTIONS SRIES DQUATIONS DIFFRENTIELLES
1.1. Lquation linaire homogne du premier ordre. Cette quation,
y
t
= A(X)y,
o A(X) est une srie, admet la solution
(1) y(X) = y(0) exp
__
A(X)
_
.
Le calcul utilisant cette formule est domin par celui de lexponentielle, donc en
O(M(N)) par les algorithmes du Chapitre 4.
1.2. Lquation linaire inhomogne du premier ordre. Il sagit de
lquation
y
t
= A(X)y +B(X),
o A et B sont des sries. La mthode de la variation de la constante consiste
poser
y(X) = f(X) exp
__
A(X)
_
,
et injecter cette expression dans lquation pour obtenir que f vrie
f
t
(X) = B(X) exp
_

_
A(X)
_
.
Lensemble du calcul de y est donc encore born par O(M(N)) oprations.
1.3. Le cas non-linaire. Ces prliminaires avaient pour but de prouver le
rsultat plus gnral suivant.
Proposition 1. Soit F(X, Y ) A[[X, Y ]] une srie bivarie telle que, pour
toute srie s(X) A[[X]], les N premiers termes de F(X, s(X)) et de
F
y
(X, s(X))
se calculent en O(L(N)) oprations. Alors, lquation direntielle
y
t
= F(X, y), y(0) = a,
admet une srie formelle solution, et ses N premiers termes peuvent tre calculs
en O(L(N) + M(N)) oprations.
Lnonc de cette proposition en termes dune fonction L permet de ladapter
dirents besoins : dans le cas le pire, il est possible dinvoquer lalgorithme de
Brent et Kung du Chapitre 4 pour avoir L(N) = O(N

N log N M(N)) qui domine


alors la complexit de la rsolution. Cependant, pour des quations plus simples, la
composition avec F et sa drive pourra seectuer en O(M(N)). Ce sera le cas par
exemple si F sobtient laide dun nombre constant de sommes, dexponentielles,
de logarithmes, et de puissances.
Dmonstration. Lide de la preuve repose sur la mthode de Newton, ap-
plique cette fois-ci un oprateur :
: y y
t
F(X, y).
Le principe consiste linariser loprateur au voisinage dune approximation et
en annuler la partie linaire, pour obtenir une nouvelle approximation. partir
de
(y +h) = (y) +h
t

F
y
(X, y)h +O(h
2
),
il sagit donc de calculer un incrment h solution de lquation linaire inhomogne
du premier ordre
h
t
=
F
y
(X, y)h (y),
2. QUATIONS DORDRE SUPRIEUR ET SYSTMES DORDRE 1 187
qui peut tre rsolue par la mthode de la section prcdente. On dduit litration
suivante
y
k+1
:= y
k
+h
k
,
h
k
:= exp
__
F
y
(X, y
k
)
__
_
F(X, y
k
) y
t
k
_
exp
_

_
F
y
(X, y
k
)
_
mod X
2
k+1
.
Il reste prouver la convergence quadratique. Comme pour le thorme sur litra-
tion de Newton sur les sries du Chapitre 4 (p. 64), la preuve se fait par rcurrence
sur k en prouvant simultanment (y
k
) = O(X
2
k
) et h
k
= O(X
2
k
). Les calculs
sont les mmes et sont donc laisss en exercice.
Pour obtenir le rsultat de complexit, il sut dobserver que litration requiert
chaque tape la rsolution dune quation direntielle linaire inhomogne du
premier ordre et dinvoquer le thorme diviser pour rgner .
2. quations direntielles linaires dordre suprieur et systmes
dordre 1
Lquation direntielle dordre r
(2) a
r
(X)y
(r)
(X) + +a
1
(X)y
t
(X) +a
0
(X)y(X) = 0
o les coecients a
i
sont des sries en X, avec a
r
(0) ,= 0, peut tre rcrite comme
une quation dordre 1
(3) Y
t
= A(X)Y
en prenant pour Y le vecteur de sries (y(X), . . . , y
(r1)
(X)) et A une matrice
(compagnon) de sries en X.
linverse, un systme (3) induit une relation de dpendance linaire coef-
cients des sries entre Y, Y
t
, Y
tt
, . . . , Y
(r)
si r est la dimension de A (on a r + 1
vecteurs en dimension r). Le vecteur Y et chacun de ses coecients vrient donc
une quation de type (2).
Rsoudre un problme est donc quivalent rsoudre lautre. Dans certains cas,
exploiter le caractre compagnon de la matrice induite par (2) mne une meilleure
complexit pour le cas des quations.
Une dirence importante avec le cas des quations dordre 1 est que nous
avons, pour les quations de type (2) comme pour les systmes (3) deux problmes
considrer :
calculer une base des sries solutions ;
tant donnes des conditions initiales, calculer la srie solution correspon-
dante.
Les complexits de ces problmes sont lies : si lon sait rsoudre le second pour
un cot C, alors on sait rsoudre le premier pour un cot born par rC. Si lon sait
rsoudre le premier, alors une combinaison linaire des solutions permet de rsoudre
le second en au plus rN oprations supplmentaires.
Il est cependant utile de considrer les quatre problmes (systme ou quation,
base ou solution unique) car la structure de chacun des problmes permet de conce-
voir des algorithmes plus ecaces que nen donnent les conversions directes dun
problme lautre.
2.1. Une mthode par diviser pour rgner . Lquation rsoudre
prcision X
N
est ici
Y
t
AY = B, Y (0) = v,
o A est une matrice de sries formelles. Lide est de rsoudre dabord prcision
moiti et de dterminer puis rsoudre lquation satisfaite par le reste. La condition
188 15. SOLUTIONS SRIES DQUATIONS DIFFRENTIELLES
initiale est dabord traite sparment en crivant Y = v + XU et en linjectant
dans lquation, ce qui mne
XU
t
+ (I XA(X))U = C, C = B +A(X)v.
Soient maintenant d < N et U = U
0
+ X
d
U
1
o U
0
est un polynme de degr au
plus d 1 en X, lquation satisfaite par U donne :
XU
t
1
+ ((d + 1)I XA(X))U
1
= X
d
(XU
t
0
+ (I XA(X))U
0
C).
Si U
0
est une solution prcision d, le membre droit de lquation est bien un
polynme. Lapplication du paradigme diviser pour rgner amne donc natu-
rellement considrer lquation plus gnrale
XY
t
+ (pI XA)Y = R,
o R est une srie, A une matrice de sries et p 1, . . . , N.
Lalgorithme rcursif est donc le suivant :
DiviserPourRgner(A, p, s)
Entre : A
0
, . . . , A
Np
dans /
rr
(A), A =

A
i
X
i
,
s
0
, . . . , s
Np
dans /
r
(A), s =

s
i
X
i
, p 1, . . . , N.
Sortie : y dans /
r
(A)[X] tel que deg
X
y N p et
Xy
t
+ (pI XA)y = s +O(X
Np+1
).
m N p
Si m = 1 alors renvoyer p
1
s(0)
sinon
d m/2|
y
0
DiviserPourRgner(A, p +d, s mod X
d
)
R [s Xy
t
0
(pI XA)y
0
]
m
d
y
1
DiviserPourRgner(A, p +d, R)
renvoyer y
0
+X
d
y
1
La notation [s]
m
d
dsigne le quotient de la division euclidienne de s mod X
m
par X
d
.
Cet algorithme est invoqu par lalgorithme de rsolution suggr ci-dessus et
dont voici une version dtaille.
SolDPR(A, N, B, v)
Entre : A
0
, . . . , A
N
dans /
rr
(A), A =

A
i
X
i
,
B
0
, . . . , B
N
et v dans /
r
(A), B =

B
i
X
i
.
Sortie : y =

N
i=0
y
i
X
i
dans /
r
(A)[X] tel que
y
t
Ay = B et y(0) = v.
renvoyer v +XDiviserPourRgner(A, 1, B +Av)
Les rsultats de complexit se dduisent de cette mthode pour direntes
valeurs de A et de . En particulier, le cas des quations a une meilleure complexit
que le cas gnral dun systme dordre 1 car la matrice correspondante est une
matrice compagnon. Le produit dune telle matrice par un vecteur ne cote que r
oprations au lieu de r
2
dans le cas gnral.
Thorme 1 (Diviser pour rgner pour les quations direntielles). tant
donns les N premiers coecients de A /
rr
(A[[X]]), de B /
r
(A[[X]])
ainsi que des conditions initiales v /
r
(A), lalgorithme SolDPR calcule
lunique solution de
Y
t
AY = B +O(X
N
), Y (0) = v
en un nombre doprations dans A born par
1. O(r
2
M(N) log N) en gnral ;
2. QUATIONS DORDRE SUPRIEUR ET SYSTMES DORDRE 1 189
2. O(rM(N) log N) si A est une matrice compagnon.
Il est possible damliorer les estimations de complexit pour cet algorithme
lorsque = r (calcul de toute une base des solutions), mais dans ce cas, il vaut
mieux employer les algorithmes de la section suivante, qui sont plus ecaces.
Dmonstration. Il sut de prouver le rsultat pour N une puissance de 2,
et le cas gnral sen dduit par les hypothses habituelles sur la fonction de mul-
tiplication M.
Les oprations de troncature ne demandent pas de calcul dans A. Outre les
deux appels rcursifs, le calcul demande une drivation (linaire), un produit par p
fois lidentit (linaire) et un produit par A. La complexit C(N) vrie donc
C(N) = 2C(N/2) +N + Mult(A, V, N),
o Mult(A, V, N) dsigne le cot du produit de la matrice A par la matrice r de
sries prcision N. La conclusion sobtient par le thorme diviser pour rgner
en observant les complexits de base pour Mult(A, V, N).
2.2. Litration de Newton matricielle. Comme dans la preuve de la Pro-
position 1, le point de dpart de lalgorithme consiste appliquer litration de
Newton loprateur dont on cherche les solutions, en linarisant au voisinage
dune solution approche. Loprateur
Y Y
t
A(X)Y
tant linaire, il est son propre linaris. Formellement, litration de Newton scrit
donc
Y
k+1
= Y
k
U
k
, U
t
k
AU
k
= Y
t
k
AY
k
.
Lorsque Y
k
est une solution approche, le membre droit de lquation en U
k
a
une valuation strictement positive, et la solution U
k
cherche doit avoir aussi une
telle valuation. Une telle solution est obtenue par la mthode de la variation de la
constante si lon dispose dune base des solutions, cest--dire dans notre cas si Y
k
est une matrice r r avec det Y
k
(0) ,= 0. Dans ce cas, la mthode de la variation
de la constante suggre de poser U
k
= Y
k
T, ce qui donne
U
t
k
AU
k
= Y
k
T
t
+AY
k
T AY
k
T
. .
0
= Y
t
k
AY
k
do nalement
U
k
= Y
k
_
Y
1
k
(Y
t
k
AY
k
).
Cette mthode requiert le calcul de linverse dune base de solution, inverse qui
peut tre calcul simultanment par litration de Newton :
Z
k+1
= Z
k
+Z
k
(I Y
k
Z
k
).
Une version prcise de lalgorithme, avec les ordres de troncature, est donne en
Figure 1.
Lemme 1 (Correction de lalgorithme). Soit m un entier pair, soient y et z
dans /
rr
(A[X]) tels que
I yz = O(X
m/2
), y
t
Ay = O(X
m
).
Soient ensuite Y et Z dnis par
Z := z(2I yz) mod X
m
, Y := y
_
I
_
Z(y
t
Ay)
_
mod X
2m
.
Alors Y et Z vrient
I Y Z = O(X
m
), Y
t
AY = O(X
2m1
).
190 15. SOLUTIONS SRIES DQUATIONS DIFFRENTIELLES
SolSysDiHom(A, N, Y
0
)
Entre : Y
0
, A
0
, . . . , A
N2
in /
rr
(A), A =

A
i
X
i
.
Sortie : Y =

N1
i=0
Y
i
X
i
dans /
rr
(A)[X] tel que
Y
t
= AY +O(X
N1
), et Z = Y
1
+O(X
N/2
).
Y (I +XA
0
)Y
0
Z Y
1
0
m 2
tant que m N/2 faire
Z Z +Z(I
r
Y Z) mod X
m
Y Y Y
__
Z(Y
t
A mod X
2m1
Y )
_
mod X
2m
m 2m
renvoyer Y, Z
Figure 1. Rsolution de Y
t
= A(X)Y , Y (0) = Y
0
par itration de Newton.
Dmonstration. Daprs lhypothse sur y
t
Ay = O(X
m
), Y = y +O(X
m
)
et donc la convergence de linversion est donne par
I Y Z = I y
_
z +z(I yz)
_
+O(X
m
)
= (I yz) yz(I yz) +O(X
m
)
= (I yz)
2
+O(X
m
) = O(X
m
).
La seconde proprit sobtient en injectant la dnition de Y dans Y
t
AY (on
pose Q =
_
Z(y
t
Ay)) :
Y
t
AY = y
t
+y
t
QAy AyQyZ(y
t
Ay) +O(X
2m
),
= (I yZ)(y
t
Ay) (y
t
Ay)Q+O(X
2m
),
= O(X
m
)O(X
m
) +O(X
m
)O(X
m1
) +O(X
2m
) = O(X
2m1
).

Comme dhabitude, lapplication du thorme diviser pour rgner mne au


rsultat de complexit.
Thorme 2 (Newton pour les systmes direntiels linaires). Lalgorithme
SolSysDiHom calcule les N premiers termes dune base de solutions de Y
t
= AY
en O(MM(r, N)) oprations dans A.
La notation MM(r, N) reprsente la complexit du produit de matrices r r de
polynmes de degr au plus N ; des bornes non triviales sont donnes au Chapitre 6 :
MM(r, N) = O(r

N +r
2
M(N)).
Exercice 1. Lexponentielle dune srie est obtenue en O(M(N)) oprations
par cet algorithme lorsque r = 1. Vrier que la constante est meilleure que celle
de lalgorithme du Chapitre 4.
Exercice 2. Le cas dun systme inhomogne Y
t
= AY + B, o B est une
matrice de sries, sobtient partir de lalgorithme prcdent par variation de la
constante. tudier les prcisions requises dans les troncatures, et donner le rsultat
de complexit.
4. EXTENSIONS 191
3. Cas particuliers
3.1. quations direntielles linaires coecients polynomiaux.
Pour ces quations, la mthode des coecients indtermins donne une complexit
linaire en N. Lexplication tient une proprit vue au Chapitre 8 : les solutions
sries de ces quations ont des coecients qui vrient des rcurrences linaires.
Les rsultats du Chapitre 13 sur les rcurrences linaires coecients polyno-
miaux sappliquent alors, et en particulier les N premiers coecients dune solution
sobtiennent en O(drN) oprations si d est une borne sur le degr des q
i
.
Le cas matriciel se traite de la mme faon, la rcurrence ci-dessus tant alors
coecients matriciels. Les complexits sont de mme nature, avec en outre la
possibilit dutiliser un produit rapide de matrices dans le cas du calcul dune base
de solutions. Les rsultats correspondants sont donns dans la table 1.
3.2. quations direntielles linaires coecients constants. Dans
le cas o les coecients de lquation ou du systme sont constants, la formule (1)
sapplique encore et devient :
y(X) = exp(XA)y(0).
Pour tudier les proprits de cette solution, il est usuel de faire intervenir la forme
de Jordan de la matrice, mais cette forme ne se prte pas facilement au calcul.
Un algorithme ecace est obtenu en exploitant la transforme de Laplace for-
melle. Si S = s
0
+ s
1
X + s
2
X
2
+ . . . est une srie, cette transforme est dnie
par
/S = s
0
+ 1!s
1
X + 2!s
2
X
2
+. . . .
Les troncatures de /S + O(X
N
) et de la transforme inverse /
1
S + O(X
N
) se
calculent en N oprations. Cette transformation simplie les systmes direntiels
linaires coecients constants en les rendant linaires non-direntiels. Ceci d-
coule de
/(y) = /((I +XA+
1
2!
X
2
A
2
+. . . )y(0))
= (I +XA+X
2
A
2
+. . . )y(0)
= (I XA)
1
y(0).
Les vecteurs solutions ont donc des transformes de Laplace dont les coordonnes
sont rationnelles. En outre, daprs les formules de Cramer, le numrateur et le
dnominateur de ces fractions ont des degrs borns par lordre r du systme.
Lalgorithme suivant sen dduit :
Ltape 1 est eectue par la mthode nave en O(r
3
) oprations. Une mthode
plus ecace, en O(r

log r) oprations, est la base de lalgorithme de Keller-Gehrig


pour le calcul du polynme caractristique dune matrice prsent au Chapitre 3.
Ltape 2 (a) se ramne un calcul dalgbre linaire en posant des coecients
indtermins pour les numrateurs et dnominateurs. L aussi, le cot peut tre
diminu en faisant appel au calcul dapproximants de Pad (Chapitre 9), mais
cette partie du calcul ne dpend pas de N. Ltape 2 (b) utilise lalgorithme de
dveloppement de fractions rationnelles du Chapitre 5 (Thorme 4, page 81), et
cest l que se concentre le gain en complexit.
4. Extensions
4.1. Composer se ramne rsoudre. Le seul algorithme du Chapitre 4
dont la complexit nest pas quasi-optimale est lalgorithme de composition.
192 15. SOLUTIONS SRIES DQUATIONS DIFFRENTIELLES
CoecientsConstants(A, v, N)
Entre : A in /
rr
(A), v /
r1
(A).
Sortie : Y =

N1
i=0
Y
i
X
i
dans /
rr
(A)[X] tel que
Y
t
= AY +O(X
N1
).
1. Calculer les vecteurs
v, Av, A
2
v, A
3
v, . . . , A
2r
v ;
2. Pour tout j = 1, . . . , r :
(a) reconstruire la fraction rationnelle ayant
pour dveloppement en srie

(A
i
v)
j
X
i
;
(b) dvelopper cette fraction en srie prcision
X
N
en O(N M(r)/r) oprations ;
(c) reconstruire le dveloppement de y partir
de celui de z, en O(N) oprations.
Dans les applications o lon connat une quation (X, f, f
t
, . . . , f
(m)
) = 0
vrie par la srie f il est parfois possible de calculer la srie h = f g ecace-
ment sans passer par lalgorithme de composition en remarquant quelle vrie une
quation du mme ordre. Cette quation est obtenue en remplaant X par g dans
et en composant les drives. Si ne fait intervenir que des polynmes ou des
fractions rationnelles, le rsultat de cette opration a pour coecients des sries, ce
qui mne assez gnralement une complexit en O(M(N)) oprations en utilisant
les algorithmes de ce chapitre.
Exemple 1. Pour calculer le dveloppement de h = tan(f), il est possible de
calculer en O(M(N)) ceux de sin(f) et cos(f) (via lexponentielle) et de diviser, mais
il est aussi possible dobserver que h vrie lquation h
t
= 1+h
2
f
t
, et dutiliser les
mthodes ci-dessus. Il faut ensuite comparer les constantes dans les O() (ou deux
implantations !) pour dterminer laquelle des deux mthodes est prfrable.
Exercice 3. Les polynmes de Legendre sont dnis par
P
n
(X) =
1
2
n
n!
_
(X
2
1)
n
_
(n)
.
Montrer que P
n
(X) vrie lquation direntielle
d
dX
_
(1 X
2
)
d
dX
P
n
(X)
_
+n(n + 1)P
n
(X) = 0.
En dduire que pour toute srie de terme constant nul F Q[[X]], et pour tout
N 0, la srie compose P
N
F mod X
N
peut se calculer en O(M(N)) oprations.
4.2. Systmes non-linaires. La linarisation eectue dans le cas des qua-
tions dordre 1 se gnralise aux systmes. Lnonc devient alors le suivant.
Thorme 3. Soient
1
, . . . ,
r
r sries de A[[X, Y
1
, . . . , Y
r
]], telles que
pour tout r-uplet de sries (s
1
(X), . . . , s
r
(X)) A[[X]]
r
, les N premiers termes
des
i
(X, s
1
, . . . , s
r
) et de Jac()(X, s
1
(X), . . . , s
r
(X)) puissent tre calculs en
O(L(N)) oprations dans A. On suppose en outre que L(n)/n est une suite crois-
sante. Alors, le systme direntiel
_

_
y
t
1
(t) =
1
(t, y
1
(t), . . . , y
r
(t)),
.
.
.
y
t
r
(t) =
r
(t, y
1
(t), . . . , y
r
(t)),
Bibliographie 193
avec conditions initiales (y
1
, . . . , y
r
)(0) = v admet une solution srie formelle, et
ses N premiers termes peuvent tre calculs en
O(L(N) + min(MM(r, N), r
2
M(N) log N)).
Le symbole Jac() dsigne la matrice jacobienne : son coecient sur la ligne i
et la colonne j vaut
i
/y
j
.
Lintrt dnoncer le thorme laide de la fonction L est le mme que dans
le cas des quations.
Dmonstration. Il sagit dune gnralisation de la Proposition 1. La linari-
sation de : Y Y
t
(Y ) au voisinage dune solution approche y sobtient en
crivant :
(y +h) = (y) +h
t
+ Jac()(y)h +O(h
2
).
Lquation rsoudre pour une itration de Newton est donc le systme linaire
inhomogne
h
t
= Jac()(y)h (y
t
(y)).
Si h est un vecteur solution de ce systme prcision 2m et y une solution de
prcision m, ces quations montrent que y + h est solution prcision 2m. Le cas
non-linaire est ainsi ramen au cas linaire.
Notes
Les rsultats de la Section 1 sont tirs de [2]. Une bonne partie des rsultats de
ce chapitre est tire de [1]. La technique de la Section 2.2 dans le cas particulier de
lexponentielle dune srie est due [3]. Lalgorithme diviser pour rgner de la
Section 2.1 se trouve au moins implicitement dans [5]. Des algorithmes plus rcents
se trouvent dans [4].
Bibliographie
[1] Bostan (A.), Chyzak (F.), Ollivier (F.), Salvy (B.), Schost (.), and Sedoglavic (A.).
Fast computation of power series solutions of systems of dierential equations. In SODA07.
pp. 10121021. SIAM, January oo. Proceedings of the eighteenth annual ACM-SIAM sym-
posium on Discrete algorithms, New Orleans, Louisiana.
[2] Brent (R. P.) and Kung (H. T.). Fast algorithms for manipulating formal power series.
Journal of the ACM, vol. 25, n4, ipS, pp. 581595.
[3] Hanrot (Guillaume), Quercia (Michel), and Zimmermann (Paul). The middle product algo-
rithm I. Appl. Algebra Engrg. Comm. Comput., vol. 14, n6, March oo, pp. 415438.
[4] van der Hoeven (Joris). Newtons method and FFT trading. Journal of Symbolic Computa-
tion. To appear. Available at http://hal.archives-ouvertes.fr/hal-00434307/fr/.
[5] van der Hoeven (Joris). Relax, but dont be too lazy. Journal of Symbolic Computation,
vol. 34, n6, oo, pp. 479542.
Deuxime partie
Systmes Polynomiaux
CHAPITRE 16
Bases standard
Rsum
Les bases standard sont un outil central pour rendre eectifs les manipu-
lations des systmes dquations polynomiales. Dans leur avatar bases
de Grbner elles ncessitent dordonner les monmes de lalgbre des
polynmes.
Exemple 1. Essayons de faire prouver une machine le thorme dApollonius,
qui arme que les milieux des cts dun triangle rectangle, le sommet de langle
droit et le pied de la hauteur relative lhypotnuse sont sur un mme cercle. Ce
nest quune version simplie du thorme du cercle des 9 points dun triangle.
b
a
milieu
2b
2a
Figure 1. Le thorme dApollonius
Dmonstration. Soit donc OAB un triangle rectangle de sommet O. Nous
pouvons toujours choisir un systme de coordonnes tel que lorigine soit en O, et
les deux autres sommets les points (2a, 0) et (0, 2b). Le cercle (C) passant par le
sommet et les milieux (a, 0) et (0, b) des cts a pour quation C(X, Y ) = X
2
+
Y
2
aX bY = 0. Vrier que le milieu (a, b) de lhypotnuse appartient ce
cercle revient une valuation, savoir tester si C(a, b) est nul. Le pied de la
hauteur H = (x, y) est dni par les relations linaires de son appartenance
AB et lorthogonalit entre OH et AB. Il est donc solution du systme linaire
H
1
(X, Y ) = H
2
(X, Y ) = 0, avec H
1
= aY +bX 2ab et H
2
= bY aX.
Il sagit donc de dmontrer que les hypothses H
1
(x, y) = H
2
(x, y) = 0 im-
pliquent C(x, y) = 0, soit H appartient (C). Une voie royale consisterait prouver
que le polynme conclusion C est une combinaison linaire ( coecients polyno-
miaux) de H
1
et H
2
, autrement dit quil appartient lidal engendr par H
1
et H
2
.
Est-ce le cas ?
Un anneau de polynmes sur un corps eectif est eectif daprs le Cha-
pitre 1. Les ennuis commencent en prsence dun idal de cet anneau, quand il
sagit dtendre la reconnaissance du zro lanneau quotient, les autres oprations
arithmtiques ne posant pas de problmes. Autrement dit comment reconnatre
197
198 16. BASES STANDARD
lappartenance un idal dun anneau de polynmes ? Deux cas particuliers per-
mettent de dgager les concepts qui mnent au traitement gnral de cette question.
Dans le cas particulier des polynmes une variable, considrons un idal donn
par un nombre (ni) de gnrateurs. Lapplication successive du vnrable algo-
rithme dEuclide permet de calculer de proche en proche leur plus grand commun
diviseur ; moyennant quoi la question de lappartenance dun polynme candidat
lidal en question se rsume sa divisibilit par ledit PGCD, ce que rsout ga-
lement lalgorithme dEuclide. Deuximement, le non moins ancien et respectable
algorithme dlimination linaire (bien antrieur Gauss, voir Chapitre 7) aboutit
la solution si les gnrateurs sont des formes anes en un nombre quelconque de
variables.
Dans ce chapitre, nous allons gnraliser plusieurs variables la fois lalgo-
rithme dEuclide et lalgorithme de Gauss, sous le vocable des bases standard. Les
bases standard dans le cas des algbres de polynmes sont plus souvent appeles
bases de Grbner. La notion de base standard a t introduite par Hironaka pour
calculer des gnrateurs de lensemble des termes initiaux des fonctions analytiques
au voisinage dun point. Dans ce cours, nous parlons de base standard pour sug-
grer lexistence de cette gnralisation. Cependant nous resterons dans le cadre
polynomial des bases de Grbner.
Les systmes dquations polynomiales sont un outil pour modliser. La ques-
tion de leectivit des anneaux quotients provient entre autres des problmes sui-
vants. Par exemple en robotique, la position de la main dun robot en fonction de
la longueur de ses bras est caractrise par des quations polynomiales. Dautres
domaines dapplication sont le traitement du signal, la vision par ordinateur, la
cryptographie ainsi que la chimie ou la biologie. Pour ces deux derniers domaines,
on imagine un systme dont lvolution est rgie par un ensemble dquations dif-
frentielles coecients, polynomiaux. Si on sintresse aux tats dquilibres, on
est donc amen rsoudre un systme dquations polynomiales.
1. Lien entre algbre et gomtrie
La manipulation des systmes dquations polynomiales prend tout son sens
quand elle donne des informations sur lensemble des solutions, savoir le lieu des
zros communs aux quations polynomiales. Ainsi, un des grands intrts de la
la combinatoire des anneaux polynomiaux rside dans la description du substrat
gomtrique.
1.1. Le cas ane. Notons n le nombre de variables et R = k[X
1
, . . . , X
n
]
lanneau de polynmes sur un corps eectif k (le plus souvent Q mais aussi R ou C).
Notons A
n
k
, ou A
n
, lespace ane n dimension sur k, cest--dire lensemble k
n
.
Posons aussi f
1
, . . . , f
p
R des polynmes.
Dfinition 1. La varit algbrique V
k
(J) associe un ensemble de poly-
nmes J R est lensemble des racines communes dans k aux polynmes de J, i.
e.
V
k
(J) = (x
1
, . . . , x
n
) A
n
[ j J, j(x
1
, . . . , x
n
) = 0 .
On appelle varit algbrique tout sous-ensemble de A
n
obtenu de la manire pr-
cdente. Si il ny a pas dambigut sur le corps k, nous noterons V(J) := V
k
(J).
Dfinition 2. Un idal I dun anneau R est un sous-groupe de R stable par
multiplication par les lments de R. Cest--dire que 0 I et i, j I, i j I
et i I, a R, ai I.
Lidal (f
1
, . . . , f
p
) engendr par une partie f
1
, . . . , f
p
est lensemble

i
Rf
i
.
1. LIEN ENTRE ALGBRE ET GOMTRIE 199
Remarquons que lon a V(f
1
, . . . , f
p
) = V(I) avec I = (f
1
, . . . , f
p
). Si deux
ensembles de polynmes engendrent le mme idal alors ils dnissent la mme
varit. Ainsi lidal (f
1
, . . . , f
p
) est lobjet naturel associer au systme dquations
f
1
= 0, . . . , f
p
= 0. De mme que nous pouvons associer un idal sa varit, nous
pouvons faire lopration inverse.
Dfinition 3. Lidal I(E) associ un sous-ensemble E de A
n
est lensemble
des polynmes de R sannulant identiquement sur E, cest--dire
I
k
(E) = f R [ x E, f(x) = 0 .
Si il ny a pas dambigut sur le corps k, nous noterons I(E) := I
k
(E).
On vrie facilement que cest un idal.
Exemple 2. Lhyperbole dquation xy = 1 est la varit V(XY 1). De
mme le cercle dquation x
2
+y
2
= 1 est une varit.
La varit relle V
R
(X
2
+Y
2
+ 1) est vide. Cependant la varit complexe est
non vide.
Les varits algbriques sont des objets gomtriques et il est fructueux de
les manipuler en suivant une intuition gomtrique. La dmonstration algbrique
fonctionne alors (souvent) comme on le pense.
Exercice 1. Montrer que lunion de deux varits algbriques est une va-
rit algbrique. Montrer que V A
n
est une varit algbrique si et seulement si
V(I(V )) = V .
1.2. Le cas local. Notons n le nombre de variables et R = k[[X
1
, . . . , X
n
]]
lanneau des sries formelles sur un corps eectif k (le plus souvent Q mais aussi R
ou C). Notons (A
n
k
, O), ou (A
n
, 0), le germe en 0 de lespace ane n dimension
sur k. Posons aussi f
1
, . . . , f
p
R des sries formelles.
1.3. Le cas projectif. La situation projective peut tre considre la fois
comme aine et locale, et hrite donc des proprits des deux cas. Le passage la
gomtrie projective est motiv par la simplication par la suite des noncs et de
certains algorithmes dans ce cadre. Posons R = k[X
0
, . . . , X
n
].
Dfinition 4. Nous notons P
n
k
, ou P
n
, lespace projectif de dimension n sur
le corps k dni par lensemble k
n+1
0 quotient par la relation dquivalence
(x
0
, . . . , x
n
) (y
0
, . . . , y
n
) si k, i, x
i
= y
i
.
On note (x
0
: . . . : x
n
) le point correspondant la classe dquivalence de
(x
0
, . . . , x
n
).
Lespace projectif P
n
est une varit direntielle et algbrique. Prcisons ce que
cela signie pour nous. Posons U
i
= (a
0
: . . . : a
n
) [ a
i
,= 0 pour i 0, . . . , n. Les
U
i
sont des ouverts de P
n
qui sont isomorphes lespace ane A
n
via lisomorphisme
A
n
U
i
(x
1
, . . . , x
n
) (x
0
: . . . : x
i1
: 1 : x
i+1
: . . . : x
n
)
.
Les U
i
recouvrent lespace projectif. Nous appellerons U
i
la i-me partie ane
de P
n
.
Dfinition 5. On appelle points linni de P
n
les points de P
n
U
0
, une fois
le choix dune partie ane U
0
x. Ils correspondent aux directions dans A
n
.
Le formalisme ne doit pas faire oublier que lespace projectif est un objet na-
turel : cest lespace ane auquel on a ajout des points linni.
Dans un espace projectif, construire des quations partir de polynmes est
plus dlicat. Soit f R un polynme homogne, cest--dire tel que tous ses mo-
nmes soient de mme degr total. Alors f(x
0
: . . . : x
n
) = 0 a un sens car il est
200 16. BASES STANDARD
nul sur un reprsentant de (x
0
: . . . : x
n
) si et seulement si il est nul sur tout repr-
sentant de (x
0
: . . . : x
n
). Ainsi nous pouvons associer tout polynme homogne
f de R une quation f = 0 sur P
n
. Notons bien que R a n + 1 variables, o n est
la dimension de lespace projectif.
Dfinition 6. La varit projective V(J) associe un ensemble de polynmes
J R est lensemble des solutions communes aux quations homognes dans J,
cest--dire
(x
0
: . . . : x
n
) P
n
k
[ j J homogne, j(x
0
: . . . : x
n
) = 0 .
On appelle varit projective tout sous-ensemble de P
n
k
obtenu de la manire prc-
dente.
Le bon objet associer un systme dquations homognes est un idal ho-
mogne.
Exercice 2. Pour un idal I de R, les assertions suivantes sont quivalentes :
1. I est engendr par des polynmes homognes,
2. I =

d0
I
d
o I
d
est lensemble des polynmes de I homognes de degr
d.
On dit alors que lidal est homogne.
Lhomognisation des polynmes et des idaux permet de plonger naturelle-
ment une varit ane dans lespace projectif.
Dfinition 7. L homognis f
h
R dun polynme f k[X
1
, . . . , X
n
] est le
polynme X
deg(f)
0
f(X
1
/X
0
, . . . , X
n
/X
0
).
L idal homognis I
h
dun idal I de k[X
1
, . . . , X
n
] est lidal de R engendr
par f
h
[ f I.
Exercice 3. Montrer que le plongement du cercle V
C
(X
2
+ Y
2
1) dans
lespace projectif P
2
C
contient deux points linni.
Lopration de dshomognisation associe au polynme g k[X
0
, . . . , X
n
] le
polynme D(g) = g(1, X
1
, . . . , X
n
) k[X
1
, . . . , X
n
]. On vrie facilement que pour
g k[X
1
, . . . , X
n
] on a D(g
h
) = g. Cependant linverse nest pas toujours vrai :
D(X
0
)
h
= 1. La proposition suivante nous permet de lier D(g
h
) g.
Proposition 1. Soit g k[X
0
, . . . , X
n
] homogne, alors e N tel que
X
e
0
D(g)
h
= g.
Dmonstration. Soit d = deg g. Voyons g comme un polynme en X
0
et
notons e sa valuation en X
0
: g scrit g =

de
i=0
g
dei
X
e+i
0
avec g
i
k[X
1
, . . . , X
n
]
de degr i. Ainsi D(g) =

de
i=0
g
dei
et d = deg D(g) +e. Finalement X
e
0
D(g)
h
=
X
e
0

de
i=0
g
dei
X
i
0
= g.
2. Ordres totaux admissibles sur le monode des monmes
Notons R = k[X
1
, . . . , X
n
]. un lment a = (a
1
, . . . , a
n
) de N
n
est associ le
monme ou produit de puissances X = (X
a
1
1
X
a
n
n
) R. Ainsi les monmes de
lanneau R forment un monode multiplicatif /
n
isomorphe au monode additif
N
n
. Rappelons quun monode / vrie les axiomes des groupes lexecption de
lexistence de linverse pour un lment quelconque. Dans notre exemple, llment
neutre 1 /
n
correspond au point de coordonnes toutes nulles dans N
n
. Nous
nous autoriserons utiliser indiremment la notation additive ou multiplicative.
2. ORDRES TOTAUX ADMISSIBLES SUR LE MONODE DES MONMES 201
Dfinition 8. Un ordre total < sur les monmes est dit compatible sil est
compatible avec la structure de monode. Tous les lments distincts de llment
neutre sont dun mme ct de celui-ci, et la multiplication par un monme est
croissante. Lordre est dit de plus admissible si llment neutre est plus petit que
tous les autres :
1. 1 < m si m nest pas llment neutre ;
2. m
t
< m
tt
implique pour tout m, mm
t
< mm
tt
.
2.1. Ordres classiques.
Exemple 3 (Ordre lexicographique). Lordre lexicographique : pour ordonner
deux points dirents de N
n
, on regarde la premire coordonne qui dire. En fait,
on devrait plutt parler de lordre lexicographique induit par un ordre total sur
les variables. En Maple, on crit plex(x[1], . . .,x[n]) pour lordre lexicographique
pur avec X
1
> X
2
> > X
n
. Intuitivement cest ainsi que lordre des lettres de
lalphabet induit un ordre sur les mots du dictionnaire.
Exemple 4. Il existe aussi pour les rimailleurs des dictionnaires de rimes : les
mots sont ordonns daprs les dernires lettres ; et pour les amateurs de Scrabble,
des listes de mots rangs par longueur croissante. On peut lier ces dictionnaires
des ordres sur les monmes.
Lordre diagonal <
d
induit par un ordre total < est lordre a = (a
1
, . . . , a
n
) <
d
(b
1
, . . . , b
n
) = b si

a
i
<

b
i
ou (

a
i
=

b
i
et a < b). En Maple, nous avons
grlex(x[1], . . .,x[n]) ( graded lexicographic order ) pour lordre diagonal induit
par lordre lexicographique classique.
Exemple 5. Le dernier ordre usuel est lordre gradu lexicographique inverse
(tdeg(x[1], . . .,x[n]) en Maple). Soit <
lex
lordre lexicographique inverse induit
par X
n
> > X
1
. Lordre <
r
est dnit par a = (a
1
, . . . , a
n
) <
r
(b
1
, . . . , b
n
) = b
si

a
i
<

b
i
ou (

a
i
=

b
i
et a >
lex
b). Cela consiste donc ordonner par
degr total puis prendre le moins de X
n
puis de X
n1
et ainsi de suite. Notons
que la notation Maple est justie par X
1
>
r
>
r
X
n
.
Voici un exemple quil est important de bien saisir. Lordre gradu lexicogra-
phique inverse tdeg(X,Y,Z) pour X > Y > Z donne pour les monmes de degr
3
X
3
> X
2
Y > XY
2
> Y
3
> X
2
Z > XY Z > Y
2
Z > XZ
2
> Y Z
2
> Z
3
.
Nous raccourcirons par la suite en plex, grlex, tdeg les ordres prcdents
induits par X
1
> > X
n
.
Exemple 6 (Ordre dlimination). Soit i 1, . . . , n et <
lex
lordre lexico-
graphique avec x
1
> > x
n
. Le i-ime ordre dlimination >
i
de N
n
est lordre
dni par a <
i
b si

i
j=1
a
j
<

i
j=1
b
j
ou
_

i
j=1
a
j
=

i
j=1
b
j
et a <
lex
b
_
.
On retrouve pour i = 1 lordre lexicographique usuel et pour i = n lordre
lexicographique gradu.
2.2. Classication des ordres.
Exemple 7. Une dernire mthode pour crer des ordres compatibles partir
de lordre lexicographique est de prendre une matrice M Mat
n
(R) et de poser
a <
M
b si Ma <
lex
Mb. Lhypothse supplmentaire que toutes les colonnes C
de M vrient 0 <
lex
C est ncessaire pour que lordre devienne admissible. Ce
changement dordre permet toujours de se ramener lordre lexicographique via le
thorme suivant.
Thorme 1 (Robbiano 1985). Soit < un ordre total admissible sur N. Alors
il existe M Mat
n
(R) telle que a < b Ma <
lex
Mb.
202 16. BASES STANDARD
Exercice 4. Trouver les matrices du thorme prcdent pour les ordres pr-
sents prcdemment.
Le thorme de classication des ordres totaux compatibles ne nous servira pas
dans la pratique car les exemples fondamentaux prcdents suront nos besoins.
Lemme 1. Tout ordre total admissible est un bon ordre, cest--dire que toute
chane descendante (cest--dire une suite dcroissante) stationne.
Dmonstration. Le thorme de Robbiano ramne au cas particulier de
lordre lexicographique avec X
1
< < X
n
sur N
n
. Celui-ci se traite par r-
currence sur la taille n. Ceci est trivial pour 1. Soit une suite (a
j
)
jN
dcroissante
pour <
lex
dans N
n
. La suite des n-imes termes des a
n
est dcroissante et stationne
(rcurrence pour n = 1). Mais la suite tronqu sur les n 1 premiers termes est
donc dcroissante partir dun certain rang. Donc elle stationne et la suite complte
(a
j
)
jN
stationne.
Remarquons que la proprit est triviale pour les ordres diagonaux (nitude du
nombre de monmes de mme degr).
3. Filtrations, exposants privilgis et escaliers
Un ordre total sur les monmes sert dnir une ltration de lanneau des
polynmes, avec sa graduation associe.
Dfinition 9. tout polynme homogne non nul :
f =

aN
n+1
f
a
X
a
est associ son support a N
n+1
[ f
a
,= 0 dans N
n+1
.
Dfinition 10. L exposant privilgi dun polynme f non nul, not exp(f)
pour un ordre donn < est le plus grand (n + 1)-uplet du support de f pour lordre
<. Le monme de tte est lm(f) := X
exp(f)
. Le terme de tte de f est lt(f) :=
f
exp(f)
X
exp(f)
, sachant quun terme est le produit dun monme avec un coecient,
cest--dire de la forme c

.
Notons bien que cette notion nest pas dnie pour le polynme nul.
Dfinition 11. Un idal de monmes est une partie de /
n
stable par multipli-
cation externe : tout multiple dun lment de cet idal par un monme quelconque
appartient encore cet idal.
De manire analogue, une partie stable de N
n
est stable par addition de qua-
drant : tout translat dun point de cette partie stable par un lment de N
n
est
encore dans cette partie stable.
On parle de manire image dun escalier.
Dfinition 12. L escalier E(I) associ lidal I pour un ordre < est la partie
stable de N
n
donne par exp
<
(f) [ f I.
Par convention, et bien que le polynme nul ne possde pas dexposant privi-
lgi, E(0) est lensemble vide ; tandis que plus naturellement E(R) est N
n
tout
entier puisque R = (1).
4. NOETHRIANIT DU MONODE DES MONMES 203
Figure 2. Un exemple descalier dans N
2
4. Noethrianit du monode des monmes
Proposition 2. Les proprits suivantes sont quivalentes :
i) Toute partie stable de N
n
est engendr par un nombre ni dlments, cest-
-dire :
E =
q
_
i=1
(a
i
+N
n
);
ii) Toute suite croissante de parties stables de N
n
stationne.
Dmonstration. i implique ii : Soit E
i
, i N une suite croissante de parties
stables. Leur runion E est encore stable, donc niment engendre. Chacun des
gnrateurs appartient un membre de la suite, on prend le dernier qui contient
tous les autres prcedents et la suite sarrte dessus.
ii implique i : Par contrapose. Soient donc une partie stable E non niment
engendre, et a
1
un de ses lments, qui ne peut donc pas lengendrer. Cest donc
quil existe un autre lment a
2
dans E mais pas dans a
1
+ N
n
. Ainsi de suite on
construit une suite croissante qui ne stationne pas.
Lemme 2 (Lemme de Dickson). Toute partie stable E de N
n+1
est niment
engendre, cest--dire quil existe une famille a
(1)
, . . . , a
(p)
telle que :
E =
p
_
i=1
(a
(i)
+N
n+1
).
Dmonstration. La dmonstration de cette noethrianit de N
n+1
se fait par
rcurrence sur n. Lassertion est immdiate pour n = 0. Ensuite soit : N
n+1
N
n
la projection canonique sur N
n
(identi N
n
0). La partie (E) de N
n
est
stable, engendre par hypothse de rcurrence par une famille nie a
(1)
, . . . , a
(p)
.
Pour tout i (1 i p) il existe donc un entier a
(i)
n+1
tel que (a
(i)
1
, . . . , a
(i)
n
, a
(i)
n+1
)
appartienne E. Posons m = max
1ip
(a
(i)
n+1
). Maintenant chacune des sections
E
j
de E par lhyperplan de coordonnes x
n+1
= j sidentie par une partie
stable de N
n
, engendre par une famille nie. Les (E
j
) forment une suite croissante
de parties stables qui stationnent, gales (E), pour j assez grand (en fait pour
j m). On en dduit lexistence dune famille nie de gnrateurs de E.
Dfinition 13. Une base standard dun idal de lanneau de polynmes est
un ensemble ni de polynmes de lidal dont les exposants privilgis engendrent
lescalier de lidal.
Le lemme de Dickson nous donne lexistence dune base standard pour tout
idal I de R. Notons bien que les lments doivent appartenir lidal mais que
rien pour linstant hormis la terminologie ne prouve quils lengendrent. Cest le
204 16. BASES STANDARD
paragraphe suivant qui va nous le dmontrer, grce une gnralisation plusieurs
variables de la notion de division.
5. Divisions
Dans lalgorithme de division dEuclide, une tape lmentaire consiste tuer le
terme de plus haut degr du dividende par le terme de plus haut degr du diviseur.
Nous pouvons tendre ce principe aux polynmes multivaris une fois un ordre
admissible < sur les monmes choisi.
Pour ce faire, commencons par dnir une division lmentaire faible (resp.
forte) dun polynme dividende f par un seul diviseur d. Posons r := lt(d) d et
associons notre diviseur la rgle de rcriture lt(d)
d
r. Elle consiste remplacer
une occurrence ventuelle de lt(d) comme facteur du monme privilgi (resp. de
tout monme) du dividende par le polynme r.
La division faible consiste appliquer cette rgle de rcriture lm(f) (si
possible) et ditrer la rcriture au nouveau polynme tant que possible. La division
forte consiste appliquer la rgle de rcriture tout terme de f et de sarrter
quand on ne peut plus lappliquer aucun terme.
Litration du processus de division faible (resp. forte) sarrte (car < est un
bon ordre) sur un reste dont lexposant privilgi nest plus divisible par exp(f)
(resp. dont aucun exposant nest divisible par exp(f)).
La division faible (resp. forte) par une famille d
1
, . . . , d
p
consiste appliquer
rcursivement lune des rgles de rcriture lt(d
i
)
d
i
r
i
, i 1, . . . , p un
dividende f jusqu ce quon ne puisse plus lappliquer au terme de tte lt(f) de
f (resp. nimporte quel terme de f). Ce processus dpend de lordre dans lequel
sont faites les rcritures comme le montre lexemple suivant.
Exemple 8. Soient les diviseurs d
1
= Y X 1, d
2
= X
2
et le dividende f =
Y X
2
X. Alors pour lordre lexicographique avec X < Y , dun ct f
d
1
0 et
de lautre f
d
2
X et on ne peut plus rcrire X. Ceci signie que les rgles de
rcriture ne sont pas compltes et quil faut rajouter X 0.
Cependant si la famille forme une base standard alors on a les rsultats suivants.
Proposition 3. Si un reste par une division faible dun dividende f quelconque
par une base standard (g
1
, . . . , g
r
) est nul, tout autre reste lest aussi. Sinon, lex-
posant privilgi du reste ne dpends pas de lordre des rcritures.
Dmonstration. Le procd de rcriture change de reprsentant mais pas de
classe dans R/I avec I = (g
1
, . . . , g
r
). Soient r et r
t
deux restes dune division faible
par (g
1
, . . . , g
r
), on a f = r = r
t
dans R/I donc r r
t
I. Si exp(r) ,= exp(r
t
), on
peut supposer exp(r) > exp(r
t
) auquel cas exp(r) = exp(r r
t
) E(I). Absurde
car on peut encore rduire r.
Proposition 4. Le reste dune division forte dun dividende f par une base
standard (g
1
, . . . , g
r
) est unique.
Dmonstration. Avec les mmes notations que dans la preuve prcdente, si
r r
t
,= 0 alors exp(r r
t
) E(I) provient de lun des termes de r ou r
t
. Absurde
car aucun terme de r ni r
t
nest dans E(I) sinon on pourrait le rcrire.
Corollaire 1 (Thorme de division dHironaka). Soient I un idal de R, >
un ordre admissible et E(I) lescalier de I pour cet ordre. Tout polynme de R est
congru modulo I un unique polynme appel reste de la division par lidal qui
est soit nul, soit dont le support est extrieur E(I), cest--dire sous lescalier.
5. DIVISIONS 205
Dmonstration. Lopration de division forte par une base standard donne
lexistence dun tel reste. Lunicit est identique la preuve de la proposition pr-
cdente.
Corollaire 2 (Noethrianit de lanneau des polynmes). Toute base stan-
dard dun idal lengendre.
Dmonstration. En fait, le reste de la division dun lment de lidal par
une base standard ne peut tre que nul puisque sinon, son monme dominant de-
vrait tre la fois lextrieur de E(I) (par construction du reste) et dans E(I)
(par dnition de ce dernier). Ce corollaire tablit la noethrianit de lanneau de
polynmes.
Corollaire 3 (Dcomposition du quotient). En tant que k-espace vectoriel,
on a la dcomposition R = I R/I o le quotient R/I est vu dans R comme la
somme directe :
R/I =

a,E(I)
kX
a
.
Nous avons vu dans ce chapitre que pour eectuer le test zro eectivement,
il nous sut de disposer dune base standard. Le calcul dune telle base est le sujet
du chapitre suivant.
CHAPITRE 17
Syzygies et construction de bases standard
Rsum
Pour construire une base standard, il faut trouver des gnrateurs dun
idal monomial. Ltude des syzygies donne la manire de complter une
base en base standard.
1. Lalgorithme naf
Dans le cadre homogne, lalgorithme naf revient faire de lalgbre linaire
en se ramenant des espaces vectoriels de dimension nie.
Dfinition 1. Un anneau R est gradu sil existe des sous-groupes R
n
de
(R, +) tels que R =

nN
R
n
et R
n
R
m
R
n+m
.
Lanneau R = k[X
0
, . . . , X
n
] est muni dune graduation R =

nN
R
n
o R
n
est lensemble des polynmes homognes de degr n. Notons que chaque R
n
est un
k-espace vectoriel de dimension nie. Soit I = (f
1
, . . . , f
s
) un idal homogne. Par
lexercice 2 du Chapitre 16, lanneau R/I est gradu en posant (R/I)
n
= R
n
/I
n
pour n entier.
Pour tout u N, introduisons lapplication

u
:
_
R
ud
1
R
ud
s
R
u
(g
1
, . . . , g
s
)

i
g
i
f
i
.
dimage I
u
. Adoptons un ordre admissible < et, pour tout u, posons B
u
la base
de R
u
forme des monmes homognes de degr u ordonns par <. Les colonnes
de la matrice de
u
dans ces bases engendrent I
u
comme k-espace vectoriel. Par
oprations lmentaires sur les colonnes de la matrice, on peut la mettre sous forme
chelonne (voir Chapitre 3). Les colonnes de la nouvelle matrice engendrent en-
core I
u
. Les premiers coecients non nuls des colomnes donnent les termes de tte
des polynmes de I
u
.
Par noethrianit, la runion des colonnes obtenues en itrant le processus
pour u 1, . . . , D(E) avec D(E) assez grand forme une base standard. Pour
transformer cette ide en algorithme il faudrait assurer eectivement la terminaison
par une borne suprieure du degr maximal D(E) atteindre. Une telle borne existe
mais est disproportionne.
Ce qui prcde consiste considrer la structure k-vectorielle de I. Du point
de vue R-module, le noyau de la mme application est par dnition le module des
relations entre f
1
, . . . , f
s
, ou premier module de syzygie. On peut le construire par
algbre linaire sur k en degr donn car cela revient trouver le noyau de
u
.
Il se trouve que le module des relations entre les lments dune base standard se
construit facilement ; en retour ceci nous conduira un algorithme de construction
dune base standard partir dun systme donn de gnrateurs.
207
208 17. SYZYGIES ET CONSTRUCTION DE BASES STANDARD
2. Polynme de syzygie
Dfinition 2. Soit (f
1
, . . . , f
s
) une base standard de I. Pour i dirent de j,
formons le polynme (dit de syzygie) :
S(f
i
, f
j
) = (lm(f
j
)f
i
lm(f
i
)f
j
)/ppcm(lm(f
i
), lm(f
j
)).
Divisant faiblement S(f
i
, f
j
) par (f
1
, . . . , f
s
), on obtient un reste nul et donc une
relation entre les polynmes de la base standard ; ce que nous conviendrons dappeler
relation bilatrale vidente.
Exemple 1. La base standard g
1
= XY XZ, g
2
= X
2
, g
3
= X
2
Z pour lordre
plex avec X > Y > Z donne les relations bilatrales videntes : Xg
1
Y g
2
=
g
3
, XZg
1
Y g
3
= Zg
3
, Zg
2
g
3
= 0.
Lensemble de celles-ci nest pas aussi particulier quon pourrait le penser,
cause du thorme suivant.
Thorme 1 (Spear-Schreyer). Les relations bilatrales videntes engendrent
le module des relations entre les lments dune base standard.
Dmonstration. Donnons-nous une relation entre les gnrateurs :

s
i=1
g
i
f
i
= 0. Posons a
i
= exp(g
i
f
i
), a le dominant des a
i
, la tte T comme
lensemble des indices i tels que a
i
soit gal a. Remarquons que la tte ne peut
pas tre rduite un seul lment. Soient r, t T deux lments distincts ; x
a
est
un multiple commun de exp(f
r
) et exp(f
t
), donc laide de la relation bilatrale
vidente entre f
r
et f
t
on peut rcrire la relation initiale en une nouvelle o soit
la tte contient moins dlments, soit le coecient dominant a est plus petit. Il
sut alors de rappliquer le procd pour conclure. Nous renvoyons au livre [2]
section 2.6, thorme 6 pour plus de dtails.
3. Lalgorithme de construction de Buchberger
Inspir par ce qui prcde, on peut imaginer un algorithme de construction
dune base standard de I, partir dun systme donn F de gnrateurs, bas par
adjonctions successives de restes de divisions non nulles de polynmes de syzygie.
Mais cette ide revient historiquement [1] qui la introduite pour dautres raisons
et exprim dans le cas ane, en appelant le rsultat base de Grbner (du nom de
son directeur de thse) :
Algorithme de Buchberger
Entre : Un systme de gnrateurs F de lidal I.
Sortie : Une base standard G de lidal I.
G F
RPTER
G
t
G
POUR toute paire p, q (p ,= q) de G
t
FAIRE
Diviser S(p, q) par G
t
SI le reste r est non nul ALORS G G r
JUSQU G = G
t
.
Figure 1. Algorithme de construction de bases standard
Nous allons donner une preuve rapide de la correction et de la terminaison de
lalgorithme. Pour plus de dtail, nous renvoyons au [2] section 2.7.
4. LALGORITHME DE CONSTRUCTION EN AFFINE 209
Proposition 1. Une famille (g
1
, . . . , g
r
) est une base standard de lidal quils
engendrent si et seulement si pour tout 1 i, j r le polynme de syzygie S(g
i
, g
j
)
se rduit zro aprs division faible par (g
1
, . . . , g
r
).
Dmonstration. La partie directe est une consquence du Corollaire 2 du
chapitre prcdent. La rciproque est du mme acabit que la preuve du thorme
de Spear-Schreyer. Soit f =

i
f
i
g
i
un polynme de lidal non nul. Montrons que
son terme de tte est dans lidal monomial lm(G) engendr par lm(g
1
), . . . , lm(g
r
).
Posons a
i
= lt(g
i
f
i
), a le dominant des a
i
, la tte T comme lensemble des
indices i tels que a
i
soit gal a. Si a = lt(f) alors cest gagn. Sinon la tte a au
moins deux lments, et on utilise la rcriture donn par S(g
i
, g
j
) pour diminuer
la tte jusqu ce que a = lt(f).
La correction de lalgorithme est un corollaire : si lalgorithme sarrte, cest
que tous les polynmes de syzygies se rduisent zro.
Pour la terminaison, il sut de considrer lidal monomial lm(G). chaque
tour de la boucle lidal crot. Il est constant partir dun certain rang par noethria-
nit. Or si lm(G) stagne, G stagne. En eet un reste r non nul agrandirait lidal
monomial. Autrement son terme de tte serait rductible et la division continuerait
aprs r.
Exercice 1 (Critres de Buchberger). Les deux critres de Buchberger per-
mettent d savoir sans calcul que certains S-polynmes se rduisent zro Ceci
permet dacclrer lalgorithme de Buchberger. Fixons R = k[X
1
. . . , X
n
] et < un
ordre monomial sur R
1. Premier critre : Soient f, g R tels que leurs termes d tte naient aucune
variable en commun. Alors le reste de la divisio forte de S(f, g) par la
famille f, g est nul
2. Second critre : Soient F R une famille de R, f, g, R des polynmes
tels que
i) lm(p) | ppcm(lm(f),lm(g))
ii) Les restes de la division forte de S(f, p) et S(g, p) pa F sont nulles
Alors le reste de la division forte de S(f, g) par F est nul
4. Lalgorithme de construction en ane
De lalgorithme de construction de bases standard en homogne se dduit celui
dans le cas non homogne. Rappelons la notion descalier linni dj introduite
dans la preuve du Lemme de Dickson. Les sections E
i
dun lescalier E par lhyper-
plan deg X
0
= i sont croissantes donc constantes partir dun certain rang. Cette
valeur est la section linni E

.
Thorme 2. Soient f
1
, . . . , f
s
des polynmes et I = f
1
, . . . , f
s
lidal quils
engendrent. Soient J = f
h
1
, . . . , f
h
s
lidal homogne correspondant et g
1
, . . . , g
u
,
g
u+1
, . . . , g
n
une base standard de J pour lordre tdeg avec x
0
> > x
n
. Sup-
posons que g
u+1
, . . . , g
n
engendrent lescalier linni E

. Alors D(g
1
), . . . , D(g
u
)
est une base standard non ncessairement minimale pour tdeg de I.
Dmonstration. Ceci est un corollaire du Lemme de spcialisation 1 qui sera
dmontr dans le chapitre suivant.
Remarque. En fait, lalgorithme de Buchberger (Figure 1) marche sans modi-
cation dans le cas ane. Cependant lalgorithme en homogne est mieux compris
car le degr des polynmes dans lalgorithme est croissant. Dans le cas ane, lvo-
lution du degr des polynmes dans lalgorithme est erratique. Il est donc commode
de voir le cas ane comme consquence du cas homogne.
210 17. SYZYGIES ET CONSTRUCTION DE BASES STANDARD
5. Proprits des bases standards pour quelques ordres
tudions les proprits des bases standard pour les ordres tdeg et plex. Com-
menons par lordre tdeg dont les proprits ne sont valables quen homogne.
Proposition 2. Soit g k[X
0
, . . . , X
n
] homogne. Si X
n
divise le terme de
tte de g pour tdeg alors X
n
divise g.
Dmonstration. Comme g est homogne, son monme de tte est lun des
monmes contenant le moins de X
n
. Sil y a du X
n
dans le monme de tte de g,
il y en a dans tous les autres termes et ainsi X
n
divise g.
Proposition 3. Soit g
1
, . . . , g
u
, g
u+1
, . . . , g
s
une base standard homogne dun
idal I pour tdeg ordonne tel que X
n
divise uniquement les termes de tte de
g
u+1
, . . . , g
s
. Alors la famille g
1
, . . . , g
u
, X
n
engendre I + X
n
et en forme une
base standard.
Dmonstration. La proposition prcdente nous donne que X
n
divise g
u+1
,
. . . , g
s
. On en dduit facilement que g
1
, . . . , g
u
, X
n
= I +X
n
. Soit f I +X
n
.
Montrons que son terme de tte lt(f) est un multiple de lun des termes de tte
lt(g
1
), . . . , lt(g
u
), X
n
. Si X
n
divise le terme de tte lt(f) de f alors cest bon. Sinon
h X
n
tel que f h I. On vrie que lt(f) = lt(f h). On peut donc
supposer que f I. Alors lt(f) est multiple de lun des lt(g
i
) pour i 1, . . . , u.
Cependant i / u + 1, . . . , s car X
n
ne divise pas lt(f). Nous venons de montrer
que g
1
, . . . , g
u
, X
n
est une base standard de lidal I +X
n
.
Lopration de rajouter lquation X
n
lidal I correspond lopration de
section de V (I) avec lhyperplan X
n
.
Intressons-nous maintenant aux proprits des bases standard (quelconques)
pour lordre plex.
Proposition 4. Soit g k[X
1
, . . . , X
n
]. Si X
1
ne divise pas le terme de tte
pour plex de g alors g k[X
2
, . . . , X
n
].
Dmonstration. En eet le terme de tte est lun des monmes qui contient
le plus de X
1
. Si un monme de g contient du X
1
alors son terme de tte en
contient.
Proposition 5. Soit g
1
, . . . , g
u
, g
u+1
, . . . , g
s
une base standard dun idal I
pour plex. Supposons que X
1
divise les termes de tte de g
1
, . . . , g
u
uniquement.
Alors la famille g
u+1
, . . . , g
s
engendre I k[X
2
, . . . , X
n
] et en forme une base stan-
dard.
Dmonstration. La proposition prcdente nous donne que g
u+1
, . . . , g
s

k[X
2
, . . . , X
n
] donc g
u+1
, . . . , g
s
I k[X
2
, . . . , X
n
]. Soit f I k[X
2
, . . . , X
n
].
Le terme de tte lt(f) est dans lescalier engendr par lt(g
1
), . . . , lt(g
s
) donc cest
un multiple dun lt(g
i
) pour un certain i 1, . . . , s. On a ncessairement i /
1, . . . , u car X
1
ne divise pas lt(f). Nous venons de montrer que g
u+1
, . . . , g
s
est
une base standard de I k[X
2
, . . . , X
n
] et donc que cette famille lengendre.
Le pendant gomtrique de llimination de X
1
dans lidal I est une projection
selon X
1
sur les autres coordonnes. Nous prouverons ce rsultat dans le chapitre
suivant qui nous donnera plus doutils pour faire le lien entre lalgbre et la gom-
trie.
Bibliographie 211
Exercices
Exercice 2. 1. Calculer une base standard de lidal engendr par (x +
y z, x
2
2t
2
, y
2
5t
2
) pour lordre lexicographique induit par x > y >
z > t, le monme dominant tant le plus grand.
2. Dduire des calculs prcdents que

2 +

5 est un nombre algbrique


sur le corps des rationnels Q, en exhibant un polynme une variable
coecients rationnels dont il est racine.
3. Quel est le rsultant de (y z)
2
2 et y
2
5 par rapport y ?
4. Dduire des calculs prcdents que Q(

2,

5) = Q(

2 +

5). Exprimer

2 et

5 en fonction de

2 +

5.
Bibliographie
[1] Buchberger (B.). Ein Algorithmus zum Aunden der Basiselemente des Restklassenringes
nach einem nulldimensionalen Polynomideal (An Algorithm for Finding the Basis Elements
in the Residue Class Ring Modulo a Zero Dimensional Polynomial Ideal). PhD thesis, Ma-
thematical Institute, University of Innsbruck, Austria, ip6. (English translation to appear in
Journal of Symbolic Computation, 2004).
[2] Cox (David), Little (John), and OShea (Donal). Ideals, varieties, and algorithms. Springer-
Verlag, New York, ipp6, second edition, xiv+536p.
CHAPITRE 18
Triangularisation des idaux, Nullstellensatz
Rsum
Le Nullstellensatz
1
est le thorme qui fait le lien entre les varits alg-
briques et les idaux. Il en dcoule que certaines oprations gomtriques
se traduisent aisment en algorithmes sur les quations. Lexemple de
la projection dune varit algbrique sur un hyperplan sera trait en
application. La triangulation des quations permet de choisir de bonnes
coordonnes pour une varit algbrique.
1. Le lemme de spcialisation
Proposition 1 (Lemme de spcialisation). Soient R et S deux algbres de
polynmes. Soient <
R
et <
S
deux ordres admissibles sur leur algbre respective.
Soit un morphisme dalgbre surjectif. Supposons que est croissant ( f <
R
g (f) <
S
(g)) et respecte lexposant privilgi c.--d. tel que le diagramme
suivant commute :
R
<
R

//
exp
R

S
<
S
exp
S

/(R)

//
/(S)
.
Soient I un idal de R et (g
1
, . . . , g
s
) une base standard de I pour <
R
. Alors
((g
1
), . . . , (g
s
)) est une base standard de lidal (I) pour <
S
.
Lhypothse de surjectivit est essentielle pour que (I) soit un idal de S. La
base standard ((f
1
), . . . , (f
s
)) de (I) peut ne pas tre minimale.
Dmonstration. Lensemble (I) est un idal de S car est un mor-
phisme dalgbre surjectif. Soit f (I), montrons que exp(f) est dans lesca-
lier engendr par exp((g
1
)), . . . , exp((g
s
)). Soit g I tel que f = (g). Alors
lm(f) = lm((g)) = (lm(g)) = (x

lm(g
i
)) = (x

) lm((g
i
)) pour un cer-
tain i car (g
1
, . . . , g
s
) est une base standard. Or le diagramme commute donc
(x

) /(S) et on conclut.
La proposition suivante permet de tester quun morphisme vrie les hypothses
du lemme de spcialisation.
Proposition 2. Soient R et S deux algbres de polynmes. Soient <
R
et <
S
deux ordres admissibles sur leur algbre respective. Soient f R et : R S qui
envoie un monme sur un monme. Si la fonction est strictement croissante sur
lensemble des monmes de f alors lm((f)) = (lm(f)).
Dmonstration. Exercice !
1. en allemand, thorme des zros
213
214 18. TRIANGULARISATION DES IDAUX, NULLSTELLENSATZ
Dtaillons deux exemples dutilisation du lemme de spcialisation. Du premier
exemple dcoule la dmonstration du thorme 2 du Chapitre 17 du passage des
bases standard de projectif en ane.
Exemple 1 (De lhomogne lane). Soient R = k[X
0
, . . . , X
n
] et S =
k[X
1
, . . . , X
n
] avec lordre tdeg. Soit lapplication de dshomognisation
:
_
R S
f f(1, X
1
, . . . , X
n
)
.
Lapplication est surjective. Notons X
0...n
lensemble des variables X
0
, . . . , X
n
.
Remarquons que est une bijection croissante entre les monmes de degr d en
X
0...n
et les monmes de degr au plus d en X
1...n
. Appliquons la proposition
prcdente pour vrier que satisfait les hypothses du lemme de spcialisation.
Ceci ne marcherait pas si f tait non homogne en prenant par exemple f =
X
1
(X
0
1). On peut remplacer dans cet exemple tdeg par plex. Il ny a que la
croissance a vrier.
Lapplication correspond gomtriquement au passage dune varit projective
sa partie ane en enlevant les points linni. Du point de vue de lescalier ceci
consiste passer lescalier linni E

selon la direction X
0
.
Exemple 2 (De lhomogne lhomogne). Soient R = S = k[X
0
, . . . , X
n
]
avec lordre tdeg. Soit lapplication
:
_
R S
f f(X
0
, . . . , X
n1
, 0)
.
Soit f R homogne. Montrons que (lm(f)) = lm((f)). Soit f = X
n
q + r
la division euclidienne par X
n
. Comme lm(f) = lm(r) et (f) = (r), on peut
supposer f k[X
0
, . . . , X
n1
] homogne. Alors la proposition prcdente est vrie
car est injective sur les monmes en X
0...n1
et croissante.
Ceci correspond gomtriquement regarder les points linni de la varit
projective. Lescalier est envoy sur sa section avec lhyperplan deg
X
n
= 0.
2. Triangulation des idaux
Le procd de triangulation des idaux est un procd itratif que lon va mon-
trer par rcurrence sur le nombre de variables. Il consiste en un changement de
variables linaire tel quon ait pour plex une base standard (g
1,1
, . . . , g
1,l
1
, . . . ,
g
n,1
, . . . , g
n,l
n
) avec les proprits suivantes pour tout j dans 1, . . . , n :
g
j,1
est unitaire en X
j
,
k 1, . . . , l
j
, g
j,k
k[X
j
, . . . , X
n
]k[X
j+1
, . . . , X
n
],
h, k 1, . . . , l
j
, exp(g
j,h
) < exp(g
j,k
) si h > k.
Lalgorithme prend en entre un idal I donn par ses gnrateurs (f
1
, . . . , f
s
)
rangs par degr total croissant. Montrons dabord que lon peut supposer f
1
uni-
taire en X
1
.
Pour ceci, eectuons pour a = (a
1
, . . . , a
n
) k
n
, a
1
,= 0, le changement de
variables inversible
_

_
X
1
a
1
X
1
X
2
X
2
+a
2
X
1
.
.
.
.
.
.
X
n
X
n
+a
n
X
1
.
Si A est la matrice du changement de variables, nous noterons f
A
(x) := f(Ax).
Notons

f la partie homogne de plus haut degr de f. On a alors
3. LE NULLSTELLENSATZ 215
f
A
(x) = f(a
1
X
1
, X
2
+a
2
X
1
, . . . , X
n
+a
n
X
1
)
=

f(a
1
X
1
, . . . , a
n
X
1
) +. . . deg
X
1
plus petit . . .
= X
deg f
1

f(a
1
, . . . , a
n
) +. . . deg
X
1
plus petit . . .
Proposition 3. Supposons k inni. Soit f k[X
1
, . . . , X
n
] non nul, alors il
existe a / V(f).
Dmonstration. Par rcurrence sur le nombre de variables. Voyons f comme
polynme en X
n
coecients dans k[X
1
, . . . , X
n1
]. Par hypothse de rcurrence
sur le terme constant de f, il existe (a
1
, . . . , a
n1
) k
n1
qui nannule pas ce terme
constant. Ainsi f(a
1
, . . . , a
n1
, X
n
) est un polynme non nul. Il a donc un nombre
ni de racines.
Comme k est inni, prenons a / V(

f
1
X
1
). Alors le changement de variable
nous ramne f
1
unitaire. Notons I
A
lidal f
A
[ f I aprs changement de
variables.
Appliquons rcursivement notre algorithme I
A
k[X
2
, . . . , X
n
]. Il existe donc
un changement de variables A
t
sur X
2...n
tel que lon ait pour lidal
_
I
A
k[X
2
, . . . , X
n
]
_
A

= I
AA

k[X
2
, . . . , X
n
]
une base standard
B = (g
2,1
, . . . , g
2,l
2
, . . . , g
n,1
, . . . , g
n,l
n
)
vriant les proprits souhaits.
Construisons alors une base standard B
t
de I
AA

pour plex. On retrouve la


base B comme une partie de la base B
t
. Ainsi crivons notre base
B
t
= (g
1,1
, . . . , g
1,l
1
, B) = (g
1,1
, . . . , g
1,l
1
, g
2,1
, . . . , g
2,l
2
, . . . , g
n,1
, . . . , g
n,l
n
)
avec g
1,i
K[X
1
, . . . , X
n
] pour i 1, . . . , l
1
. Il reste alors montrer que g
1,1
est unitaire. Or lun des lm(g
1,1...l
1
) divise lm(f
1
). Comme lm(f
1
) = X
j
1
E(I)
alors ncessairement ce lm(g
1,i
) = X
r
1
avec r < j. De plus, ce g
1,i
est le plus grand
lment de la base car cest un multiple de X
1
, la plus grande variable.
Exemple 3. Appliquons notre algorithme un exemple. Soient f
1
= X
2
+
Y
2
+ XZ, f
2
= XY 1 et prenons lordre plex avec X < Y < Z. Le polynme
f
1
nest pas unitaire en Z. Le changement de variables X X + Z donne f
t
1
=
2Z
2
+ 3ZX + X
2
+ Y
2
et f
t
2
= ZY + XY 1. Un algorithme de bases standard
pour notre ordre renvoie g
1
= 2Z +Y
3
+X et g
2
= Y
4
XY +2. Le polynme g
2
est dj unitaire en Y et on a ni.
3. Le Nullstellensatz
Dans toute cette section le corps k est suppos algbriquement clos.
3.1. Lien entre lalgbre et la gomtrie ane. Nullstellensatz veut dire
littralement thorme sur le lieu dannulation . Cest un rsultat central dans
le lien entre lalgbre et la gomtrie.
Thorme 1 (Nullstellensatz ane fort). Soient I un idal de R =
k[X
1
, . . . , X
n
] et g R tel que g sannule identiquement sur V(I). Alors il existe
r N

tel que g
r
I.
Pour le prouver, nous allons nous ramener sa version faible.
Thorme 2 (Nullstellensatz ane faible). Soit I un idal de k[X
1
, . . . , X
n
]
tel que V(I) = . Alors I = k[X
1
, . . . , X
n
].
216 18. TRIANGULARISATION DES IDAUX, NULLSTELLENSATZ
Exemple 4. Il est ncessaire de regarder les zros sur un corps k algbrique-
ment clos. En eet soit I = (X
2
+1). Alors V
R
(I) = mais 1 / I. Ceci est cohrent
avec le rsultat prcdent car la varit V
C
(I) se rduit aux points complexes i.
Nous allons montrer que la version faible implique la version forte.
Astuce de Rabinowicz. Soient I = (f
1
, . . . , f
s
) et g comme dans lnonc.
Considrons lidal I
t
= I +(Y g1) de k[X
1
, . . . , X
n
, Y ]. Montrons que V(I
t
) = :
premirement I I
t
implique V(I
t
) V(I) dans A
n+1
. Mais dautre part V(I
t
)
V(g)
C
V(I)
C
car y.g(x
1
, . . . , x
n
) 1 = 0 implique g(x
1
, . . . , x
n
) ,= 0.
Ainsi 1 I
t
. crivons donc
1 =

p
i
(X
1
, . . . , X
n
, Y )f
i
(X
1
, . . . , X
n
) +p(X
1
, . . . , X
n
, Y )(Y g(X
1
, . . . , X
n
) 1).
Substituons dans cette galit Y = 1/g(X
1
, . . . , X
n
). Ainsi
1 =

i
p
i
(X
1
, . . . , X
n
, 1/g)f
i
(X
1
, . . . , X
n
).
En multipliant par une puissance susante de g nous tuons les dnominateurs.
Ainsi pour r = max(deg
Y
p
i
) nous avons
g
r
=

i
g
r
p
i
(X
1
, . . . , X
n
, 1/g)f
i
(X
1
, . . . , X
n
)
avec g
r
p
i
(X
1
, . . . , X
n
, 1/g) k[X
1
, . . . , X
n
]. Cest--dire g
r
I.
Prouvons maintenant la version faible.
Dmonstration. Cette dmonstration est tire de [1]. Montrons que si I =
(f
1
, . . . , f
s
) est un idal propre alors V(I) ,= . Raisonnons par rcurrence sur la
dimension n de lespace ambiant. Si n = 1 alors comme k[X] est principal, I = (f)
avec f ,= 1. Alors f a une racine dans k algbriquement clos.
Supposons le rsultat vri en dimension n1. Quitte faire un changement de
coordonnes comme dans le paragraphe prcdent, on peut supposer f
1
unitaire en
X
n
. Comme J = I k[X
1
, . . . , X
n1
] ne contient pas 1, il est propre. Par rcurrence,
il existe (a
1
, . . . , a
n1
) V(J). Considrons lidal H = f(a
1
, . . . , a
n1
, X
n
) [ f
I de k[X
n
]. Montrons quil est propre et nous en dduirons comme pour n = 1
quil y a un zro dans V(H) et donc un zro dans V(I).
Par contrapose si 1 H alors il existe h I tel que h(a
1
, . . . , a
n1
, X
n
) = 1.
Considrons alors g = Res
X
n
(h, f
1
) I k[X
1
, . . . , X
n1
] (voir le Chapitre 7 pour
le rsultant). Une tude rapide du dterminant de Sylvester donnant g montre que
g(a
1
, . . . , a
n1
) = 1 ce qui contredit (a
1
, . . . , a
n1
) V(J).
Dfinition 1. Soit I un idal de R = k[X
1
, . . . , X
n
]. Le radical de I, not

I, est lidal f R [ r N, f
r
I.
Un idal I est dit radical si I =

I.
Remarque. Lastuce de Rabinowicz nous donne un algorithme pour tester
lappartenance dunpolynme g au radical dun idal I = (f
1
, . . . , f
s
). Il faut tester
si lidal J = (f
1
, . . . , f
s
, yg) en une variable y supplmentaire est lanneau tout
entier. Ceci est le cas si sa base standard contient une constante non nulle.
Corollaire 1. Soit I un idal, alors I(V(I)) =

I.
Ces thormes font le lien entre les varits anes et les idaux qui les d-
nissent. Nous avons aussi un premier lien entre lescalier et la varit gomtrique.
Proposition 4. Soit I un idal ane. Les assertions suivantes sont quiva-
lentes :
i) il existe un ordre admissible pour lequel le complmentaire de E(I) est ni ;
3. LE NULLSTELLENSATZ 217
Algbre Gomtrie
Idal radical Varit
I V(I)
I(V ) V
ii) le complmentaire de lescalier E(I) est ni pour tout ordre admissible ;
iii) dim
k
k[X
1
, . . . , X
n
]/I < ;
iv) la varit V(I) contient un nombre ni de points.
Dfinition 2. Les idaux vriant la proposition prcdente sont appels les
idaux zro-dimensionnels.
Dmonstration. ii) i) : vident.
i) iii) : Comme R/I =

a,E(I)
kx
a
alors dim
k
R/I est le cardinal du
complmentaire de lescalier.
iii) iv) : Soit d = dim
k
R/I < . Pour tout j 1, . . . , n, la famille
(1, X
j
, . . . , X
d
j
) est lie dans R/I. Donc il existe P
j
k[X
j
]
d
qui appartienne
lidal I. Mais alors pour tout j, V(I) V(P
j
) donc V(I)

j
V(P
j
). Ce dernier
contient au plus d
n
points donc V(I) est ni.
iv) ii) : Soit j 1, . . . , n. La projection de V(I) sur laxe des X
j
est nie
donc il existe P k[X
j
] qui sannule sur cette projection. Par le Nullstellensatz, on
dduit de V(I) V(P) que n N tel que P
n
I k[X
j
]. Donc lescalier touche
chaque axe et son complmentaire est ni.
3.2. Lien entre lalgbre et la gomtrie projective. Nous avons des
thormes analogues pour les varits projectives et les idaux homognes.
Thorme 3 (Nullstellensatz projectif faible). Soit I un idal homogne de
k[X
0
, . . . , X
n
] tel que V(I) = . Soit J lidal I((0, . . . , 0)) = (X
0
, . . . , X
n
). Alors
r N, J
r
I.
Dmonstration. Nous noterons ici

V(I) le cne ane de V(I) (voir la dni-
tion 3 de la Section 3.3). Le cne C est rduit au point (0, . . . , 0). Soit i 1, . . . , n.
Le polynme X
i
sannule sur la varit ane

V(I). Par le Nullstellensatz ane fort,
r
i
N tel que X
r
i
i
I. Soient m = max(r
i
) et r = n(m 1) + 1. Montrons que
(X
0
, . . . , X
n
)
r
I.
Lidal J
r
est lidal engendr par les produits r termes dlments de J.
Ainsi J
r
est engendr par les monmes de degr r. Soit X

un tel monme avec


= (
0
, . . . ,
n
) N
n+1
et [[ =

i
= r. Alors il existe i tel que
i
m donc
X

= X
r
i
X

I pour un certain N
n+1
. Ainsi chaque gnrateur de J
r
est
dans I et J
r
I.
Thorme 4 (Nullstellensatz projectif fort). Soient I un idal homogne de
R = k[X
0
, . . . , X
n
] et g R homogne tel que g sannule identiquement sur V(I).
Alors il existe r N

tel que g
r
I.
Dmonstration. Comme dans la dmonstration prcdente, nous nous rame-
nons au cas ane en considrant le cne ane

V(I) dans A
n+1
dni par I. Le
polynme g sannule alors identiquement et il existe r N tel que g
r
I.
Corollaire 2. Soit I un idal homogne, alors I(V(I)) =

I. En particulier,

I est un idal homogne.


3.3. Application : Lien entre llimination et la projection.
218 18. TRIANGULARISATION DES IDAUX, NULLSTELLENSATZ
3.3.1. Un peu plus de gomtrie projective. Commenons par complter
quelques notions de gomtrie projective.
Dfinition 3. Le cne ane

V dune varit projective V est lensemble des
reprsentants des lments de V :

V := (x
0
, . . . , x
n
) A
n
[ (x
0
, . . . , x
n
) = (0, . . . , 0) ou (x
0
: . . . : x
n
) V .
Dfinition 4. Un espace linaire projectif E est un sous-ensemble de points
(x
0
: . . . : x
n
) de lespace projectif P
n
vriant un systme dquations linaires
_

_
a
1,0
x
0
+ . . . + a
1,n
x
n
= 0
.
.
. + . . . +
.
.
. =
.
.
.
a
s,0
x
0
+ . . . + a
s,n
x
n
= 0
.
Un hyperplan projectif est un espace linaire projectif donn par une seule
quation non nulle.
Dfinition 5. La somme E + F de deux sous-espaces linaires projectifs de
P
n
est dnie par (x
0
: . . . : x
n
) P
n
[ (x
0
, . . . , x
n
)

E +

F.
On tend naturellement la notion de dimension aux espaces linaires projectifs.
Dfinition 6. Dnissons la dimension dun espace linaire projectif E par
dimE := dim

E 1 o

E est son cne ane.
On vrie facilement que P
n
est de dimension n, que les hyperplans sont de
dimension n1 et ainsi de suite. Une proprit voulue du plan projectif est que deux
droites se coupent toujours. Ceci est une consquence de la proposition suivante en
dimension quelconque.
Proposition 5. Soient E et F deux sous-espaces linaires de P
n
. Alors
dim(E +F) + dim(E F) = dimE + dimF.
Dmonstration. Les espaces vectoriels associs

E et

F sont respectivement
de dimension dimE+1 et dimF +1. Ainsi dim

E

F +dim(

E+

F) = dim

E+dim

F.
Puis

E

F =

E F et

E +

F =

E +F donc dim(E + F) + dim(E F) =
dimE + dimF.
Corollaire 3. Soient E et F deux sous-espaces linaires de P
n
tels que
dimE + dimF n. Alors E F ,= .
Dmonstration. Par la proposition prcdente, dimE F 0. Donc
dim

E F 1 et contient au moins une droite. Cest--dire que E F nest pas
vide.
3.3.2. Les projections anes. Le pendant gomtrique de llimination de X
n
est une projection.
Thorme 5. Soit I un idal de k[X
1
, . . . , X
n
]. La projection
n
(V(I)) de la
varit ane V(I) est contenue dans la varit ane V(I k[X
1
, . . . , X
n1
]).
De plus V(I k[X
1
, . . . , X
n1
]) est la plus petite varit contenant (V(I)).
On dit que cest la clture de Zariski de (V(I)).
Dmonstration. Soient x = (x
1
, . . . , x
n1
) (V(I)) et f I
k[X
1
, . . . , X
n1
]. Il existe x
n
k tel que x
t
= (x
1
, . . . , x
n
) V(I) donc f(x
t
) = 0.
Comme f ne dpend pas de X
n
on a f(x) = f(x
t
) = 0. Donc (V(I))
V(I k[X
1
, . . . , X
n1
]).
Soit f k[X
1
, . . . , X
n1
] tel que f 0 sur (V(I)) A
n1
. Comme f ne
dpend pas de X
n
alors f 0 sur (V(I)) k A
n
. Mais V(I) (V(I)) k
3. LE NULLSTELLENSATZ 219
donc f

I et sannule sur V(I k[X


1
, . . . , X
n1
]). Cette dernire est bien la plus
petite varit algbrique contenant (V(I)).
Exemple 5. Soit la varit algbrique XY 1 = 0. Alors la projection de
lhyperbole sur laxe des X est toute la droite prive de lorigine. La plus petite
varit la contenant est bien V((0)) car XY 1 k[X] = (0). On voit quil peut
manquer des points lorsque lon projette des varits algbriques anes.
On peut prciser le thorme prcdent en tudiant le lieu des points qui nap-
partiennent pas la projection.
Proposition 6. Soit I = (f
1
, . . . , f
s
) et I
t
= I k[X
1
, . . . , X
n1
] son premier
idal liminant. Considrons les polynmes f
i
comme des polynmes en X
n
co-
ecients dans k[X
1
, . . . , X
n1
] et notons g
i
k[X
1
, . . . , X
n1
] le terme de tte de
f
i
. Alors
V(I
t
) = (V(I)) (V(g
1
, . . . , g
s
) V(I
t
)).
En dautres termes, tout point de V(I
t
) qui nannule pas tous les termes de tte
se remonte en un point de V(I).
Nous en dduisons directement limportant cas particulier qui suit.
Corollaire 4. Supposons quil existe un polynme unitaire en X
n
dans I.
Alors V(I
t
) = (V(I)).
Dmonstration du thorme. Il sut de montrer que
V(I
t
)V(g
1
, . . . , g
s
) (V(I)). Soit a = (a
1
, . . . , a
n1
) V(I
t
). Supposons que
g
1
(a) ,= 0. De manire analogue la preuve du Nullstellensatz, introduisons lidal
J = f(a
1
, . . . , a
n1
, X
n
) [ f I. Lidal J ,= (1) si et seulement si a (V(I)).
Cependant si J = (1) alors il existe h I tel que h(a
1
, . . . , a
n1
, X
n
) = 1. En
regardant la matrice de Sylvester, on voit que Res
X
n
(f
1
, h) I
t
ne sannule pas
en a ce qui contredit lhypothse J = (1).
Quitte prendre de bons gnrateurs de lidal, on peut toujours supposer si
I ,= (1) que V(I
t
) , V(g
1
, . . . , g
s
) (cf. [2] page 123). Ainsi lensemble des points de
V(I
t
) qui ne sont pas des projets sont inclus dans une sous-varit de V(I
t
) et en
ce sens il y en a peu.
Exemple 6. Reprenons lexemple prcdent de lhyperbole XY 1 = 0 projete
sur laxe des X. Seul le point 0 de laxe des X nest pas un projet. Tournons les
axes de manire semblable la triangulation. Soit A le changement de variables
X X +Y, Y Y . Alors f
A
= Y
2
+XY 1. On se trouve dans la situation du
corollaire et on vrie que la projection est surjective.
Figure 1. Les projections de lhyperbole
220 18. TRIANGULARISATION DES IDAUX, NULLSTELLENSATZ
3.3.3. Les projections projectives. Nous allons dnir les projections de lespace
projectif et vrier que cela correspond bien la notion habituelle ane.
Dfinition 7. Soient L et B deux sous-espaces linaires propres de P
n
qui ne
se coupent pas et tels que dimL + dimB = n 1. Alors la projection de base B
avec L comme centre de projection est lapplication
:
_
P
n
L P
n
x (L +x) B
qui associe un point x P
n
lunique point de (L +x) B (voir Corollaire 3).
Cette dnition gnralise bien les projections anes usuelles. En eet soit la
projection ane
:
_
A
n
A
n1
(x
1
, . . . , x
n
) (x
1
, . . . , x
n1
)
.
Considrons lespace ane A
n
comme une partie de P
n
via linclusion
_
A
n
P
n
(x
1
, . . . , x
n
) (1 : x
1
: . . . : x
n
)
.
On vrie (exercice) que la projection ane est la restriction A
n
de la projection
sur X
n
= 0 de centre (0 : . . . : 0 : 1).
Comme laccoutume, les choses se passent mieux dans lespace projectif : les
varits algbriques projectives sont stables par projection.
Thorme 6. Soient L et B deux sous-espaces linaires propres de P
n
tels que
dimL + dimB = n 1. Le projet dune varit algbrique disjointe de L par la
projection de base B et de centre de projection L est encore une varit algbrique.
Dmonstration. Quitte faire un changement de coordonnes linaire, on
peut supposer que E est inclus dans lhyperplan X
0
= 0. Une projection depuis
linni correspond la projection ane habituelle. Il sut de montrer le thorme
dans le cas o lon projette sur un hyperplan. Nous renvoyons alors la dmons-
tration dans le livre [2], section 8.5 .
Bibliographie
[1] Arrondo (Enrique). Another elementary proof of the Nullstellensatz. The American Mathe-
matical Monthly, vol. 113, n2, oo6, pp. 169171.
[2] Cox (David), Little (John), and OShea (Donal). Ideals, varieties, and algorithms. Springer-
Verlag, New York, ipp6, second edition, xiv+536p.
CHAPITRE 19
Fonction et polynme de Hilbert, dimension, degr
Rsum
Le polynme de Hilbert est un objet combinatoire li un idal. On
peut lire sur ce polynme des informations gomtriques sur la varit
correspondant lidal : sa dimension, son degr . . .
Sauf indication contraire, nous sommes dans ce chapitre dans le contexte pro-
jectif. Lanneau R est donc k[X
0
, . . . , X
n
].
1. Dnitions
Le degr dun point a = (a
0
, . . . , a
n
) de N
n+1
est lentier [ a[= a
0
+ +a
n
.
Dfinition 1 (Fonction de Hilbert). Soit E une partie stable de N
n+1
; la fonc-
tion HF
E
, qui associe tout entier u le nombre de points de degr u nappartenant
pas E, est appel fonction de Hilbert du complmentaire de E :
HF
E
(u) = #a N
n+1
[ a , E, [ a[= u.
On tend HF
E
aux entiers ngatifs par la valeur 0.
Thorme 1 (Hilbert). Pour u assez grand, la fonction HF
E
est gale un
polynme HP
E
(dit de Hilbert). De plus, il existe des entiers c
0
, . . . , c
d
tels que :
HP
E
(u) =
d

i=0
c
i
_
u
d i
_
o
_
u
r
_
est la fonction binomiale.
Dfinition 2. Avec les notations prcdentes, d est la dimension de E, et c
0
son degr. Nous attribuerons par convention le degr 1 au polynme nul.
En gardant les mme notations, le coecient de tte du polynme HP
E
est
c
0
/d!.
Dfinition 3 (Rgularit et degr maximum). La rgularit H(E) de la fonc-
tion de Hilbert est le plus petit entier partir duquel la fonction de Hilbert concide
avec le polynme de Hilbert. Nous noterons D(E) le degr maximum des lments
engendrant minimalement E.
Toutes ces dnitions stendent directement aux idaux homognes ainsi
quaux varits algbriques projectives.
Dfinition 4. Soient R = k[X
0
, . . . , X
n
], < un ordre sur R. Soit R
t
= R/I un
quotient de R par un idal I homogne. On note alors HF
R
:= HF
E
<
(I)
la fonction
de Hilbert du quotient R
t
. Cette dnition est indpendante de lordre choisi par le
corollaire 3, Chapitre 16.
221
222 19. FONCTION ET POLYNME DE HILBERT, DIMENSION, DEGR
2. Dmonstration du thorme et dune borne suprieure de la
rgularit
Nous allons aussi montrer la borne suprieure suivante :
(1) H(E) (n + 1)(D(E) 1) + 1.
Par rcurrence sur n. Lassertion est claire pour n = 0. Puis daprs le lemme de
Dickson, la section E
i
de E par lhyperplan x
n+1
= i est constant ds que lindice
i dpasse un certain entier e et pas auparavant. Considrons alors le dveloppement
suivant de la fonction de Hilbert :
HF
E
(u) =
u

i=0
HF
E
i
(u i)
qui se casse en trois morceaux ds que u est assez grand :
HF
E
(u) =

0ie1
HF
E
i
(u i) +

eiuH(E
e
)
HF
E
e
(u i) +

uH(E
e
)+1iu
HF
E
e
(u i)
=

0ie1
HF
E
i
(u i) +

H(E
e
)iue
HF
E
e
(i) +

0iH(E
e
)1
HF
E
e
(i)
Pour u susamment grand la fonction devient :
(2) HF
E
(u) =

0ie1
HP
E
i
(ui) +

H(E
e
)iue
HP
E
e
(i) +

0iH(E
e
)1
HF
E
e
(i)
qui nest autre que le polynme de Hilbert HP
E
puisque

H(E
e
)iue
HP
E
e
(i)
est eectivement un polynme en u, daprs le lemme classique suivant.
Lemme 1. Soit P un polynme en X de degr d. tant donns deux entiers r
et s, la fonction

ris
P(i) est polynomiale en s de degr d + 1.
Dmonstration. La dmonstration est immdiate une fois le polynme P
dcompos sur la base binomiale
_
X(X1)(Xd+1)
d!
_
dN
, note
_
_
X
d
_
_
dN
, des po-
lynmes en X.
Plus prcisment lquation (2) est vraie ds que u dpasse maxi+H(E
i
) [ 0
i e, ce qui est une consquence de lhypothse de rcurrence ds que u dpasse
(n + 1)(D(E) 1) + 1.
Pour ce qui est de lintgrit des coecients sur la base binomiale, ceci est une
consquence du lemme suivant.
Lemme 2. Soit P C[X] un polynme qui prend des valeurs entires sur tous
les entiers. Alors les coecients de P sur la base binomiale sont entiers.
Dmonstration. Soit : P(X) P(X+1)P(X) loprateur de drivation
discrte. Les formes linaires
n
(0) : P (
n
(P)) (0) forment la base duale de la
base binomiale. Remarquons que si P(Z) Z alors (P)(Z) Z. Les coecients

n
(0)(P) de P sur la base binomiale sont donc entiers.
3. Optimalit de la borne sur le degr de rgularit
tant donns n + 1 entiers positifs a
0
, . . . , a
n
, considrons lidal
(X
a
0
0
, . . . , X
a
n
n
), dont ces gnrateurs monomiaux forment videmment une base
standard. La partie stable associe E est le complment dun paralllpipde
dont llment de degr maximal est (a
0
1, . . . , a
n
1). La rgularit est donc
1 +

n
i=0
(a
i
1) ; dans le cas o tous les a
i
sont gaux, ceci prouve que la borne
ci-dessus peut tre atteinte.
5. THORIE DE LA DIMENSION 223
4. Le cas des suites rgulires
Dfinition 5. Soit R un anneau. On dit quun lment a R est un diviseur
de zro dans R sil existe d R 0 tel que ad = 0. Ceci est quivalent ce que
lhomomorphisme de R dans R de multiplication par a ne soit pas injectif.
Dfinition 6. Soit f
1
, . . . , f
s
une suite de polynmes. La suite est dite rgu-
lire si pour tout i 1, . . . , s, la classe de f
i
dans k[X
0
, . . . , X
n
]/(f
1
, . . . , f
i1
)
nest pas un diviseur de zro.
Proposition 1. Soit I un idal homogne engendr par une suite rgulire
homogne f
1
, . . . , f
s
de degrs respectifs d
1
, . . . , d
s
. Alors la varit V(I) a pour
dimension ns, pour degr

i
d
i
et un degr de rgularit major par (

i
d
i
) n.
Dmonstration. Procdons par rcurrence sur la longueur s de la suite. Si
s = 0 alors R
0
= R et
HF
R
0
(u) =
_ _
u+n
n
_
pour u positif
0 pour u ngatif
.
La rgularit est n car HF
R
concide avec HP
R
(u) =
_
u+n
n
_
si et seulement si
u n.
Supposons le rsultat vrai au rang i 1. Notons R
i
= R/(f
1
, . . . , f
i
). Consid-
rons la suite exacte (cest--dire que limage de chaque morphisme danneaux est le
noyau du suivant) suivante :
0 R
i1
.f
i
R
i1
R
i
0.
Les anneaux R
i
hritent de la graduation de R car les idaux (f
1
, . . . , f
i
) sont
homognes. La suite exacte respecte la graduation, i.e. pour tout j entier la suite
suivante est exacte :
0 (R
i1
)
jd
i
.f
i
(R
i1
)
j
(R
i
)
j
0.
Ainsi HF
R
i
(u) = HF
R
i1
(u) HF
R
i1
(u d
i
), do la mme galit sur les poly-
nmes de Hilbert. On a aussi directement que H
R
i
H
R
i1
+ d
i
=

i
l=1
d
l
n.
Par hypothse de rcurrence nous avons
HP
R
i1
(u) = d
1
. . . d
i1
u
ni+1
(n i + 1)!
+cu
ni
+. . .
o c Q. Ainsi
HP
R
i
(u) = HF
R
i1
(u) HF
R
i1
(u d
i
)
=
d
1
. . . d
i1
(n i + 1)!
_
u
ni+1
(u d
i
)
ni+1

+c
_
u
ni
(u d
i
)
ni

+. . .
= d
1
. . . d
i
u
ni
(n i)!
+c
t
u
ni1
+ +cd
i
u
ni1
+. . .
o c
t
Q.
Remarquons que la borne sur la rgularit pour les suites rgulires est lie
celle du thorme de Hilbert.
5. Thorie de la dimension
Rappelons la dnition algbrique de la dimension.
Dfinition 7. Soit I un idal homogne. La dimension de Hilbert de la
varit projective V(I) est le degr du polynme de Hilbert associ R/I, cest--
dire la dimension de lescalier dni par I pour nimporte quel ordre.
224 19. FONCTION ET POLYNME DE HILBERT, DIMENSION, DEGR
Puis deux dnitions gomtriques.
Dfinition 8. La dimension de section est le plus petit entier tel quil existe
une sous-varit linaire de codimension +1 vitant V(I). La dimension de projec-
tion est le plus grand entier tel quil existe une projection envoyant surjectivement
V(I) sur une base de dimension .
Ces trois notions concident classiquement, ce que nous allons prouver via leur
galit avec deux autres notions qui se lisent sur les bases standard.
Dfinition 9 (Dimension lexicographique infrieure (resp. suprieure)). Soit
x un systme de coordonnes de P
n
. Nous appellerons linf
x
(resp. lsup
x
) le plus
petit (resp. le plus grand) entier e tel que E
x
(I) relativement aux ordres tdeg (resp.
plex) rencontre les derniers ne axes de coordonnes de N
n+1
(resp. ne rencontre
pas le plan des e + 1 premires coordonnes).
Le minimum linf des linf
x
(resp. le maximum lsup des lsup
x
) pris sur tous les
systmes de coordonnes est appel la dimension lexicographique infrieure (resp.
suprieure).
Thorme 2 (Dimension). Les cinq notions de dimension ci-dessus concident.
Avant de commencer la preuve, nous pouvons faire deux remarques. La premire
est que cette dnition de la dimension est compatible avec celle dune varit
linaire. Lquivalence gomtrique est vidente et le lien avec les escaliers revient
se placer dans de bonnes coordonnes par de lalgbre linaire. Ceci est dtaill
dans le dbut du prochain chapitre. La deuxime remarque est que la Proposition 4
du Chapitre 18 sur les idaux zro-dimensionnel a pour consquence lquivalence
des dimensions pour les idaux zro-dimensionnels.
Dmonstration. Montrons les cinq ingalits successives.
lsup. Supposons quil existe des coordonnes de P
n
pour lesquelles, relati-
vement un ordre compatible, par exemple le lexicographique, E(I) ne rencontre
pas le plan des e +1 premires coordonnes. Ainsi la fonction de Hilbert HF(u) est
minore par le nombre de monmes de degr u sur e + 1 lettres, qui est un O(u
e
)
quand u tend vers linni. Donc est minor par lsup.
lsup . Supposons que V(I) puisse tre projet surjectivement sur un plan P
de dimension p. Nous pouvons choisir des coordonnes telles que ce plan soit dni
par les quations x
p+1
= = x
n
= 0. Ainsi lidal I k[x
0
, . . . , x
p
] se rduit 0 ;
sinon il existerait un polynme non nul f(x
0
, . . . , x
p
) dans I qui ne peut sannuler
sur tout le plan, et lensemble algbrique V(I) ne peut se projeter surjectivement.
Considrons par rapport de telles coordonnes la partie stable E(I) relativement
lordre plex : elle ne peut rencontrer le plan des p +1 premires variables daprs
la Proposition 4 du Chapitre 17.
. Par dnition de , il existe une sous-varit linaire L de codimension
+1 vitant V(I). Par ailleurs nous pouvons choisir une sous-varit linaire B de
dimension vitant L. La projection de centre L envoie surjectivement V(I) sur
B, puisque est minimal ; car si b est un point de B, la sous-varit linaire quil
engendre avec L est de codimension , donc coupe V(I) en au moins un point qui
se projette sur b.
linf . Par dnition de , il existe une sous-varit linaire L de codimen-
sion + 1 vitant V(I). Nous pouvons choisir des coordonnes telles que L soit
dnie par les quations x
0
= = x

= 0. Lidal J = I + (x
0
, . . . , x

) d-
nit la varit vide, donc daprs le Nullstellensatz contient une puissance de lidal
maximal (x
0
, . . . , x
n
) (voir Chapitre 18, Proposition 4). Quelque soit lordre, en
particulier lordre tdeg, E(J) coupe tous les axes de coordonnes. Considrons un
polynme dont le monme dominant est sur un des axes x
+1
, . . . , x
n
; il est congru
Bibliographie 225
modulo (x
0
, . . . , x

) un polynme de I, non nul et de mme monme dominant.


Cest donc que la section de E(I) par le plan des n dernires coordonnes
recoupe tous les axes.
linf . Supposons quil y ait des coordonnes de P
n
telles que, relativement
lordre tdeg, E(I) coupe les derniers nlinf axes. En degr u susamment grand,
le complmentaire de E(I) ne contient que des monmes dont les n linf derniers
exposants sont majors par un un entier x ; une constante multiplicative prs, la
fonction de Hilbert HF(u) est donc majore par le nombre de monmes sur linf +1
lettres, soit un O(u
linf
) quand u tend vers linni.
6. Remarque sur la calculabilit de la dimension
Soit I un idal engendr par des polynmes de degr infrieur d. Une fois
construite une base standard, on peut calculer la dimension de Hilbert. Mais il
existe une famille didaux, donns par des gnrateurs de degr au plus d, dont
le degr des lments dune base standard est minor par Cd
a
n
, C > 0 , a > 1
(exemple de [2], voir aussi [1], ou [3] pour un rsum de tous les pires cas).
Cependant, il y a des classes didaux qui natteignent pas cette borne de pire
complexit.
Lemme 3. Soit E un escalier de complmentaire ni. Alors le degr maximal
des gnrateurs minimaux de lescalier est infrieur la rgularit de lescalier,
c.--d. D(E) H(E).
Dmonstration. Le polynme de Hilbert est le polynme nul. Soit (A
i
) un
systme de gnrateur minimal de E. Notons e
j
N
n+1
le vecteur dont toutes
les coordonnes sont nulles sauf celle dindice j qui vaut 1. Pour tout i, lun des
translats A
i
e
j
de A
i
pour 0 j n nest pas dans lescalier. Ainsi HF([A
i
[1) >
0 donc H(E) [A
i
[ pour tout i do le rsultat.
Proposition 2 (Admise). Soit I un idal engendr par une suite rgulire
(f
1
, . . . , f
s
) de degrs majors par d. Alors il existe un changement de coordonnes
tel que la base standard de I pour tdeg vrie D(E) (n + 1)d n.
On peut donc attendre des bases standard pour tdeg que leur degr maximal
soit gnralement linaire en n, bien moins que la borne de pire degr prcdemment
cite.
Bibliographie
[1] Demazure (M.). Le thorme de complexit de Mayr et Meyer. In Gomtrie algbrique et
applications, I (La Rbida, 1984), pp. 3558. Hermann, Paris, ipS.
[2] Mayr (Ernst W.) and Meyer (Albert R.). The complexity of the word problems for commu-
tative semigroups and polynomial ideals. Adv. in Math., vol. 46, n3, ipS, pp. 305329.
[3] von zur Gathen (Joachim) and Gerhard (Jrgen). Modern computer algebra. Cambridge
University Press, New York, oo, 2nd edition, xiv+785p.
CHAPITRE 20
Le lemme de normalisation de Noether
Rsum
tant donn un systme dquations linaires homognes, les formules de
Cramer permettent de paramtrer les solutions en fonction dun certain
nombre de variables que lon peut choisir arbitrairement.
Le lemme de normalisation de Noether fournit un rsultat analogue
pour des systmes dquations polynomiales. Nous labordons du point
de vue de lalgorithmique et de la complexit.
1. La situation linaire
Soient f
1
, . . . , f
s
des formes linaires homognes n + 1 variables X
0
, . . . , X
n
,
coecients dans un corps k :
f
i
(X
0
, . . . , X
n
) =
n

j=0
f
ij
X
j
i = 1, . . . , s.
1.1. Point de vue de lalgbre. On peut supposer, quitte en enlever cer-
taines, que les formes linaires f
1
, . . . , f
s
sont linairement indpendantes. Comme
la s (n + 1) matrice F qui leur est associe est de rang s, il existe un mineur M
non nul de taille s. Quitte renumroter les variables, nous pouvons supposer que
F scrit
F =
1 . . . s s + 1 . . . n
1
.
.
.
s
_
M N
_
avec det M ,= 0. Alors nous avons lquivalence
F
_
_
_
X
0
.
.
.
X
n
_
_
_ = 0 M
_
_
_
X
0
.
.
.
X
s1
_
_
_ = N
_
_
_
X
s
.
.
.
X
n
_
_
_

_
_
_
X
0
.
.
.
X
s1
_
_
_ = M
1
N
_
_
_
X
s
.
.
.
X
n
_
_
_.
Ainsi, les s premires coordonnes (variables lies) sont donnes en fonction des
n s + 1 dernires arbitrairement choisies (variables libres). Lespace vectoriel des
solutions devient ainsi le graphe dune application linaire k
ns+1
k
s
.
1.2. Point de vue de la gomtrie. Linterprtation gomtrique des for-
mules de Cramer est la suivante : si le rang est s, nous pouvons partitionner len-
semble des variables en deux paquets, X
0
, . . . , X
s1
(variables lies) et X
s
, . . . , X
n
(variables libres) aprs renumrotation. Dnissons les deux sous-varits linaires
B dquations X
0
= = X
s1
= 0 et L dquations X
r+1
= = X
n
= 0. La
227
228 20. LE LEMME DE NORMALISATION DE NOETHER
sous-varit linaire dquations f
1
= = f
s
= 0 ne coupe pas L, et la projection
de centre L lenvoie surjectivement sur B.
1.3. Point de vue de lalgorithmique. partir de la matrice F, lalgo-
rithme du pivot de Gauss permet dexhiber un mineur non nul de taille maximale,
avec un nombre doprations arithmtiques polynomial en s, n. Ces questions ont
t abordes au Chapitre 3.
2. La situation gnrale
Soient f
1
, . . . , f
s
des formes homognes n+1 variables X
0
, . . . , X
n
, de degrs
d
1
, . . . , d
s
, coecients dans un corps k :
f
i
(X
0
, . . . , X
n
) =

]a]=d
i
f
ia
X
a
0
0
X
a
n
n
i = 1, . . . , s.
o a = (a
0
, . . . , a
n
) est un lment de N
n+1
de degr [a[ = a
0
+ +a
n
.
2.1. Point de vue de lalgbre. Lanneau R = k[X
0
, . . . , X
n
] peut tre muni
dune structure danneau gradu par la dcomposition canonique R =

s0
R
s
o
R
s
est lensemble des polynmes homognes de degr s. Lidal I de R engendr
par les formes f
1
, . . . , f
s
est homogne et est donc gradu par I =

s0
(I R
s
).
Dfinition 1. Soient A B deux anneaux. On dit que b B est entier sur A
si il existe P A[X] unitaire tel que P(b) = 0. Lextension A B est en entire
si tout b B est entier sur A.
Exemple 1. Les entiers de lextention Z Q sont les entiers Z.
Proposition 1. Soient A B et b, c B. Supposons que b est entier sur A
et c est entier sur lanneau A[b]. Alors c est entier sur A.
Dmonstration. Considrons les relations de dpendance intgrale P(b) =
b
q
+

q1
i=0
a
i
b
i
= 0 et Q(c) = c
t
+

t1
j=0
A
j
(b)c
j
= 0 avec a
i
A et A
j
A[X].
Considrons ces relations comme des polynmes coecients dans A[c] valus en
b. Leur rsultant Res(P, Q) est nul car ils ont b comme racine commune. On voit en
regardant la matrice de Sylvester que cest la diagonale qui donne la plus grande
puissance de c. En loccurrence, 0 = Res(P, Q) = c
tq
+. . . et on a bien une relation
unitaire coecients dans A.
Proposition 2 (Version algbrique du lemme de normalisation de Noether).
Aprs changement linaire de variables, que nous noterons encore X
0
, . . . , X
n
, il
existe un indice r tel que la compose :
0 k[X
0
, . . . , X
r
] k[X
0
, . . . , X
n
] k[X
0
, . . . , X
n
]/I 0
de linjection et de la surjection canoniques soit encore injective et ralise une ex-
tension entire danneaux.
Dit autrement, nous pouvons aprs changement de variables partitionner ce
dernires en deux paquets : les r + 1 premires seront dites libres et les n r
dernires lies, telles que :
il nexiste pas dans lidal I de polynme non nul ne dpendant que des
variables libres ;
il existe pour i [r + 1, . . . , n] des polynmes p
i
de k[X
0
, . . . , X
i1
][T], uni-
taires en t, tels que les p
i
(X
0
, . . . , X
i1
)(X
i
) appartiennent lidal I (rela-
tions de dpendance intgrale).
NOTES 229
Dmonstration. Plaons-nous dans k[X
0
, . . . , X
n
]/I. Notons X
i
la classe de
X
i
dans le quotient. Triangulons notre idal. Quitte faire un changement de co-
ordonnes linaire, le rsultat de la triangulation nous donne des relations unitaires
en X
i
coecients dans k[X
0
, . . . , X
i1
] pour i [r . . . n]. Par la proposition 1
rpte, nous avons donc que X
r+1
, . . . X
n
sont entiers sur k[X
0
, . . . , X
r
]. De plus
nous avons que I k[X
0
, . . . , X
r
] = 0, ce qui donne la premire assertion.
2.2. Point de vue de la gomtrie. Dornavant nous supposerons quand
nous parlerons de gomtrie que k est algbriquement clos et nous noterons le
projectif P
n
.
La version algbrique implique alors :
Proposition 3 (Version gomtrique du lemme de normalisation de Noether).
Pour tout idal homogne I, il existe deux sous-varits linaires L
r+1
de codimen-
sion r + 1 et B
r
de dimension r telles que :
les deux ensembles V(I) et L
r+1
ne se coupent pas ;
la restriction V(I) de la projection de centre L
r+1
et de base B
r
est
surjective et nie, cest--dire que pour tout point b de B
r
, la bre
1
(b)
est constitu dun nombre ni non nul de points.
Exercice 1. Montrer que la version algbrique implique la version gom-
trique. (Indication : Poser B gal X
0
= = X
r
= 0 et L gal X
r+1
= =
X
n
= 0. Une dicult est de montrer que les bres ne sont pas vides.)
Nous donnons aussi une preuve gomtrique car celle-ci est naturelle.
Dmonstration. Ce rsultat est un corollaire du thorme 2 du Chapitre 19.
En eet le thorme nous donne lexistence de L disjoint de V(I) de codimension
maximale gale r +1. Posons B un espace de dimension r ne coupant pas L. Soit
la projection de centre L et de base B. Montrons dabord, par labsurde, que la
restriction de V(I) est surjective. Si un point b B nest pas une projection
alors lespace linaire projectif P +b ne coupe pas V(I). Cet espace est de dimension
r + 2 ce qui contredit le thorme de la dimension. Montrons enn que la bre est
nie. Soit b B et
1
(b) = V(I) (L + b) la bre au dessus de b. Toujours
par le thorme 2, lintersection dune varit algbrique et dune varit linaire
dont la somme des dimensions est suprieure ou gal la dimension de lespace
ambiant est non vide. Ainsi dans lespace L + b de dimension r + 1, lhyperplan L
rencontre V(I) ds que celui-ci est de dimension 1. Or L est disjoint de V(I). Donc

1
(b) = V(I) (L +b) est de dimension 0.
En fait cette assertion mme aaiblie par la suppression de lhypothse de
nitude implique en retour la version algbrique.
2.3. Point de vue de lalgorithmique. Lalgorithme de triangulation du
Chapitre 18 met en position de Noether un idal quelconque. Cependant il cal-
cule des bases standard et sa complexit dans le pire cas ne peut tre mieux que
doublement exponentielle (voir Chapitre 19, Section 6).
Il est propos dans [1] un algorithme de mise en position de Noether, avec
un nombre doprations arithmtiques polynomial en d
n
2
, toujours bas sur des
constructions de bases standard mais tronqus en degr. Pour faire mieux il faut
sy prendre autrement...
Notes
Le point de vue utilis dans ce cours provient essentiellement des deux ar-
ticles [1] et [2].
230 20. LE LEMME DE NORMALISATION DE NOETHER
Bibliographie
[1] Giusti (Marc). Combinatorial dimension theory of algebraic varieties. Journal of Symbolic
Computation, vol. 6, n2-3, ipSS, pp. 249265. Special issue on Computational aspects of
commutative algebra.
[2] Giusti (Marc) and Heintz (Joos). La dtermination des points isols et de la dimension dune
varit algbrique peut se faire en temps polynomial. In Computational algebraic geometry
and commutative algebra (Cortona, 1991), pp. 216256. Cambridge Univ. Press, Cambridge,
ipp.
CHAPITRE 21
Qute dune meilleure complexit
Rsum
La reprsentation dense des polynmes donne des algorithmes asymp-
totiquement trop coteux. Nous introduisons donc une autre structure
de donnes plus adapte.
1. Test zro, ensembles questeurs
Pour pouvoir tourner les coordonnes dans lalgorithme de triangulation, il
faut trouver un point qui nannule pas un polynme non nul. Le problme inverse
consiste tester la nullit dun polynme en lvaluant en dirents points. Nous
allons nous intresser la complexit de ces problmes.
Dfinition 1. Soient P k[X
1
, . . . , X
n
] un ensemble de polynmes et Q k
n
.
On dit que lensemble Q est questeur pour P si aucun polynme de P non nul ne
sannule identiquement sur Q. Ceci revient dire que lvaluation sur Q est un test
zro pour les polynmes de P.
Proposition 1. Soient E
1
, . . . , E
n
k des parties de cardinal suprieur
d +1. Alors Q := E
1
E
n
k
n
est un ensemble questeur pour les polynmes
k[X
1
, . . . , X
n
]
d
coecients dans k de degr au plus d.
Dmonstration. Procdons par rcurrence sur n. Pour n = 1, un polynme
de degr au plus d qui admet d + 1 racines est nul. Remarquons que ceci est vrai
gnralement pour les polynmes coecients dans un anneau unitaire car la d-
monstration repose sur la division euclidienne par X x si x est une racine. Sup-
posons le rsultat vrai au rang n 1. Soit p P, crivons-le p =

p
i
X
i
n
avec
p
i
k[X
0
, . . . , X
n1
]. Soit x E
n
, alors p(X
1
, . . . , X
n1
, x) est nul car il sannule
sur E
1
E
n1
. Le polynme p a au moins d + 1 racines en X
n
donc il est
nul.
Corollaire 1. Sur un corps inni, on peut toujours trouver un point qui
nannule pas un polynme non nul.
Le problme de cet ensemble questeur est quil est de taille exponentielle en
n. On peut trouver dautres ensemble questeurs plus adapt la structure dun
polynme.
Conjecture. Soit A N
n
. Posons W
A
=

aA
c
a
X
a
[ c
a
k les poly-
nmes de k[X
1
, . . . , X
n
] support dans A. Alors A est un ensemble questeur pour
W
A
.
Un rsultat analogue a quant lui t dmontr.
Thorme 1 (Risler, Ronga [6]). Lensemble 2
A]
=
(2
a
1
, . . . , 2
a
n
) [ (a
1
, . . . , a
n
) A est questeur pour W
A
.
231
232 21. QUTE DUNE MEILLEURE COMPLEXIT
2. Structures de donnes pour les polynmes multivaris
La reprsentation dense consiste se donner un polynme par son degr et
par la liste de tous les coecients des monmes de degr plus petits. Dans cette
reprsentation, le test zro seectue en testant zro chaque coecient. Le cot
du test est donc proportionnel la taille du codage du polynme. Par exemple,
pour un polynme de degr d en n variables, on devra coder
_
n+d
d1
_
coecients.
Or, mme dans le cas simple des suites rgulires, si on a en entre n polynmes
de degr d, un calcul de base standard fait intervenir des polynmes de degr de
lordre de grandeur de d
n
. Le nombre de monmes en ce degr est de lordre de
grandeur de d
n
2
. Pour pallier ce problme nous allons introduire une autre structure
de donnes. Lobjectif est davoir des algorithmes de complexit polynomiale en d
n
pour les tches usuelles de la gomtrie algbrique.
Nous allons considrer un modle thorique dalgorithmes. Les DAG, pour di-
rected acyclic graphs, reprsentent un algorithme par son arbre de calcul. Nous
renvoyons [1] pour plus de dtails sur le sujet.
Soit donc un arbre ayant les proprits suivantes : les ls de larbre sont soit
des lments de k soit des variables X
i
. Les noeuds possibles du graphe sont soit
des noeuds binaires qui eectuent une opration arithmtique (+,,,/) entre les
deux ls, soit un noeud ternaire if = 0 qui eectue une opration arithmtique
entre ses deux premiers ls si le troisime est non nul. Les noeuds sans parents sont
les sorties de lalgorithme. La taille de larbre dnit la complexit squentielle de
lalgorithme.
Cette reprsentation est utile, bien que pas toujours explicite. Pour preuve la
fonction dErds,
n N
_
n/2 si n est pair
(3n + 1)/2 si n est impair
est conjectur dtre la fonction nulle, sans preuve pour linstant.
Un SLP, pour Straight-Line Program, est un DAG sans noeud if = 0 ni divi-
sion. Un SLP est un polynme qui est encod par son algorithme dvaluation. La
taille du graphe est alors appel la complexit dvaluation du SLP.
Exemple 1. Tout polynme se code en un SLP. Le schma de Horner consiste
calculer P =

a
i
X
i
par P = ((a
n
X + a
n1
)X + a
n2
. . . )X + a
0
. Il code tout
polynme univari de degr d par un SLP de complexit dvaluation d. linverse,
le polynme (X +1)
10
6
se code beaucoup mieux en valuation (par exponentiation
rapide) que par sa reprsentation sur la base monomiale.
Dfinition 2. La complexit dvaluation dun polynme est le minimum des
complexits dvaluation des SLP qui le reprsentent.
Exemple 2. Soit M = (X
i,j
) la matrice gnrique. Alors le polynme dter-
minant de M se code mal par sa reprsentation sur la base monomiale car il a n!
monmes. Par contre, il se code en complexit dvaluation O(n
4
) par lalgorithme
de Berkowitz, qui est un analogue sans test zro et sans division de celui de Stras-
sen. Cette exemple est important car il illustre que les polynmes dlimination,
dont le dterminant est un bon reprsentant, svaluent bien.
Le problme des SLP est le test zro. Nous allons voir quil existe des
ensembles questeurs de taille polynomiales. Cependant ils peuvent tre durs
construire.
Thorme 2 (Heintz, Schnorr [5]). Soit W(D, n, L) lensemble des polynmes
en n variables de degr au plus D et de complexit dvaluation au plus L. Fixons
Bibliographie 233
k de cardinal 2L(D+1)
2
et m := 6(L+1)(L+n+1). Soient (D, n, L, ) len-
semble des m-uplets de n-uplets dlments de et (D, n, L, ) celui des lments
de qui ne sont pas questeurs.
Alors
[(D, n, L, )[
[[
nm

1
[[
m/6
.
Le membre droit est major par 1/264000 dans les cas non triviaux.
Nous parlerons donc dans nos algorithmes utilisant des SLP de deux types de
complexit. La complexit non uniforme revient dire, au prix dun prcalcul, la
complexit est . . . . Ce prcalcul revient pour nous trouver un ensemble questeur.
Lautre complexit, dite probabiliste, revient dire Si on choisit un ensemble
questeur au hasard... .
3. Quelques algorithmes utilisant des SLP
Dans larticle [3], il est dcrit un premier algorithme de mise en position de
Noether polynomial en d
n
. Cet algorithme permet, entre autre, de calculer la di-
mension dune varit. Comme suggr plus haut, la complexit est non uniforme
pour les mmes raisons densemble questeur.
Une premire implmentation est faite dans [2]. Finalement une implmentation
plus gnrale, connue sous le nom dalgorithme de rsolution gomtrique, se trouve
dans [4]. En utilisant la mise en position de Noether, cet algorithme permet de
rsoudre des systmes dquations polynomiales sans calculer de bases standard.
Bibliographie
[1] Brgisser (Peter), Clausen (Michael), and Shokrollahi (M. Amin). Algebraic complexity
theory. Springer-Verlag, Berlin, ipp, Grundlehren Math. Wiss., vol. 315, xxiv+618p.
[2] Giusti (Marc), Hgele (Klemens), Lecerf (Grgoire), Marchand (Jol), and Salvy (Bruno).
The projective Noether Maple package : computing the dimension of a projective variety. J.
Symbolic Comput., vol. 30, n3, ooo, pp. 291307.
[3] Giusti (Marc) and Heintz (Joos). La dtermination des points isols et de la dimension dune
varit algbrique peut se faire en temps polynomial. In Computational algebraic geometry
and commutative algebra (Cortona, 1991), pp. 216256. Cambridge Univ. Press, Cambridge,
ipp.
[4] Giusti (Marc), Lecerf (Grgoire), and Salvy (Bruno). A Grbner free alternative for polyno-
mial system solving. J. Complexity, vol. 17, n1, ooi, pp. 154211.
[5] Heintz (J.) and Schnorr (C.-P.). Testing polynomials which are easy to compute. In Logic
and algorithmic (Zurich, 1980), pp. 237254. Univ. Genve, Geneva, ipS.
[6] Risler (Jean-Jacques) and Ronga (Felice). Testing polynomials. J. Symbolic Comput., vol. 10,
n1, ippo, pp. 15.
CHAPITRE 22
Rsolution gomtrique
235
Troisime partie
Sommation et intgration de suites
et fonctions spciales
CHAPITRE 23
Rsolution dquations direntielles linaires
Rsum
Les solutions polynomiales ou rationnelles dquations direntielles li-
naires sobtiennent en utilisant des dveloppements en srie et la struc-
ture des ensembles de sries solutions.
Lobjectif de ce cours est de dcrire des algorithmes permettant de calculer les
solutions rationnelles dune quation de la forme
(1) Ly(x) =
n

k=0
a
k
(x)y
(k)
(x) = 0,
o les coecients a
k
, k = 0, . . . , n sont des polynmes coecients dans un corps K.
De manire quivalente (voir 1), ces algorithmes permettront de rsoudre le sys-
tme
(2) Y
t
(x) = A(x)Y (x),
o A(x) est une matrice de fractions rationnelles de K(x) et Y un vecteur.
Ces algorithmes seront utiliss dans un cours ultrieur pour le calcul dintgrales
dnies.
1. Systme et quation
Lquivalence entre quation linaire dordre n et systme linaire dordre 1 sur
des vecteurs de taille n est classique. Nous dtaillons les calculs en jeu.
Lquation (1) est transforme en une quation de la forme (2), en posant
Y = (y
0
, . . . , y
n1
) o y
i
= y
(i)
pour i = 0, . . . , n 1. La matrice A est alors une
matrice compagnon
(3) A =
_
_
_
_
_
_
_
_
0 1 0 . . . 0
.
.
.
.
.
.
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0
0 . . . . . . 0 1

a
0
a
n
. . . . . . . . .
a
n1
a
n
_
_
_
_
_
_
_
_
.
linverse, pour toute matrice A intervenant dans un systme de type (2),
une quation direntielle de type (1) peut tre obtenue pour nimporte quelle
combinaison linaire coecients dans K des coordonnes dune solution. En eet,
les drives de Y sobtiennent par
Y
t
= AY, Y
tt
= A
t
Y +AY
t
= (A
t
+A
2
)Y, . . .
et la drive dordre k scrit donc Y
(k)
= A
k
Y o A
k
est une matrice de fractions
rationnelles. Une combinaison linaire des coordonnes dune solution scrit comme
le produit y = KY o K est une matrice (ligne) coecients dans K. Les n + 1
vecteurs K, KA, . . . , KA
n
sont ncessairement lis sur K(x). Si
a
0
(x)K + +a
n
(x)KA
n
= 0
239
240 23. RSOLUTION DQUATIONS DIFFRENTIELLES LINAIRES
est une relation de liaison, alors multiplier par Y droite fournit une quation de
la forme (1) pour y = KY .
Exercice 1. Trouver une quation direntielle linaire satisfaite par y
1
solu-
tion de
y
t
1
= xy
1
y
2
, y
t
2
= y
1
xy
2
.
2. Solutions sries et singularits
Avant de rechercher le dveloppement en srie de solutions de lquation (1) ou
du systme (2), il est utile de localiser les singularits. Le point de dpart est une
version du thorme de Cauchy sur les quations direntielles :
Thorme 1. Si A(x) est une fonction de C dans C
nn
analytique dans une
rgion simplement connexe R du plan complexe, alors lquation
Y
t
(x) = A(x)Y (x)
possde une unique solution telle que Y () = U pour tout R et U C
n
. Cette
solution est analytique dans R.
Lapplication de ce rsultat lquation (2) montre quen tout point o A est
analytique (dveloppable en srie entire), il existe une base de solutions sries en-
tires convergentes. Au vu de la matrice compagnon (3), il en va de mme pour les
solutions de lquation (1) en tout point o le coecient de tte a
n
est non-nul. A
contrario, les seuls points o les solutions peuvent ne pas admettre de dveloppe-
ment en srie sont les racines de a
n
.
Definition 1. On dit que C est un point ordinaire de lquation (1)
si a
n
() ,= 0. On dit quil est singulier dans le cas contraire.
Exemple 1. La fraction rationnelle y = 1/(1 x) est solution de lquation
(1 x)y
t
(x) y(x) = 0.
Le complexe 1 est singularit de la solution et donc ncessairement point singulier
de lquation, ce qui sy traduit par lannulation du coecient de tte.
Exemple 2. Le polynme x
10
est solution de lquation
10xy
t
(x) y(x) = 0.
La solution na pas de point singulier distance nie, mais le complexe 0 est point
singulier de lquation; le thorme de Cauchy ne sy applique pas.
Une autre consquence utile de ce thorme est que les fonctions D-nies ne
peuvent avoir quun nombre ni de singularits (les racines du coecient de tte).
Il sen dduit des rsultats ngatifs.
Exemple 3. La fonction 1/ sin x ne satisfait pas dquation direntielle li-
naire coecients polynomiaux.
Exemple 4. La suite des nombres de Bernoulli, qui interviennent en particulier
dans la formule dEuler-Maclaurin, ne peut tre solution dune rcurrence linaire
coecients polynomiaux, puisque la srie gnratrice exponentielle

n=0
B
n
z
n
n!
=
z
exp(z) 1
a une innit de ples (aux 2ik, k Z

).
3. SOLUTIONS POLYNOMIALES 241
Le thorme ci-dessus entrane aussi la possibilit de dvelopper les solutions
en srie. Soit
:= min
k
(val(a
k
) k), := max
k
(deg(a
k
) k),
o val(p(x)) dsigne le plus grand entier m tel que x
m
divise p(x), que lon appelle
la valuation de p. Alors les coecients de lquation (1) se rcrivent
a
k
(x) =

i=
a
k,i
x
i+k
.
Ceci permet de dnir les polynmes
u
i
(t) =
n

k=0
a
k,i
t(t 1) (t k + 1),
de sorte que si y =

i=K
y
i
x
i
(K Z) est une srie de Laurent solution de (1),
ses coecients satisfont la rcurrence
(4) u

(i )y
i
+ +u

(i )y
i
= 0
pour tout i Z (les y
i
dindice infrieur K sont supposs nuls).
Definition 2. Le polynme u

sappelle polynme indiciel de lquation (1)


lorigine ; le polynme u

est son polynme indiciel linni.


En changeant la variable x en x + dans lquation, le mme calcul fournit
deux polynmes. Cest un exercice de montrer que le polynme indiciel linni est
inchang. Lautre sappelle le polynme indiciel en .
Proposition 1. Si 0 est un point ordinaire pour lquation (1), alors pour
tout U = (u
0
, . . . , u
n1
) C
n
, les coecients du dveloppement en srie de la
solution y de (1) telle que y
(k)
(0) = u
k
, k = 0, . . . , n 1 sont donns par la
rcurrence linaire (4).
Dmonstration. Il sut de prouver que le coecient de tte de la rcurrence,
savoir u

(i ), ne sannule pas pour i = n, n + 1, . . . , ce qui permet alors


le calcul de y
i+
partir des prcdents. En eet, lorsque lorigine est ordinaire,
le coecient a
n
est tel que a
n
(0) ,= 0 et donc val(a
n
) n = n est minimal.
Donc = n et u

(x) = a
n
(0)x(x1) (xn+1), ce qui permet de conclure.
En eectuant le changement de variable x x + , le mme raisonnement
sapplique tout point ordinaire.
3. Solutions polynomiales
Sil existe une solution polynomiale de degr N, lquation (4) avec i = N
montre que u

(N) = 0. Ceci fournit un procd pour trouver les degrs possibles


des solutions polynomiales.
Supposons dabord que lorigine est un point ordinaire de lquation. Alors une
solution polynomiale est une solution dont le dveloppement en srie na que des
coecients nuls partir du degr N. Daprs la rcurrence (4), il sut que les
coecients des degrs N + 1 N + le soient. Lide est alors de constater
que cette observation se ramne un calcul dalgbre linaire. Voici le dtail de
lalgorithme :
1. Calculer la rcurrence (4) ;
2. Calculer la plus grande racine entire positive N de u

. Si N nexiste pas,
il nexiste pas de solution polynomiale non-nulle ;
242 23. RSOLUTION DQUATIONS DIFFRENTIELLES LINAIRES
3. Pour 0 i n 1, utiliser la rcurrence pour calculer une srie solution
y
i
= x
i
+
N+

j=n
y
i,j
x
j
+O(x
N++1
);
4. Former la matrice M = [y
i,j
], 0 i < n, N + 1 j N + ;
5. Calculer une base B du noyau de la transpose M
t
;
6. Lensemble des c
0
y
0
+ +c
n1
y
n1
pour (c
0
, . . . , c
n1
) dans B forme une
base de lespace des solutions polynomiales.
Si lorigine nest pas un point ordinaire de lquation, il nest pas garanti que
la rcurrence (4) permette de calculer les sries solutions. Deux approches sont
alors possibles : soit on tend les calculs prcdents pour sadapter au cas singulier,
soit, plus simplement, on trouve un point ordinaire (il y en a au moins un parmi
0, 1, . . . , deg(a
n
)) et on eectue les calculs en ce point.
Exercice 2. Imaginez un algorithme qui teste si une quation direntielle
coecients dans Z[X] admet une solution polynomiale de degr au plus N, en
O(M(

N) log(N)) oprations bits.


4. Solutions rationnelles
Les solutions rationnelles ne peuvent avoir de ple (zro de leur dnominateur)
quen une singularit de lquation. De la mme manire que pour les degrs des
solutions polynomiales, les multiplicits possibles des ples sont donnes par les
racines entires ngatives du polynme indiciel en ces singularits. Ceci conduit
un algorithme simple, essentiellement d Liouville, pour calculer les solutions
rationnelles de (1).
1. En toute racine de a
n
:
calculer le polynme indiciel p

(n) ;
calculer la plus petite racine entire ngative N

de p

, sil nen
existe pas, faire N

:= 0 ;
2. Former le polynme P =

a
n
()=0
(x )
N

;
3. Eectuer le changement de fonction inconnue y = Y/P et rduire au mme
dnominateur ;
4. Chercher une base B des solutions polynomiales de cette nouvelle quation.
Une base des solutions rationnelles est forme des fractions b/P, b B.
La preuve de lalgorithme se rduit observer que P est un multiple du dnomina-
teur de toute solution rationnelle.
Cet algorithme permet galement de trouver les solutions rationnelles du sys-
tme (2), en se ramenant une quation. Il existe aussi dautres algorithmes plus
directs.
Notes
Les ides de base de lalgorithme de recherche de solutions rationnelles sont
dues Liouville [3] qui donne galement une mthode par coecients indtermins
pour trouver les solutions polynomiales. La prsentation qui utilise les rcurrences
donne un algorithme de mme complexit mais fait mieux ressortir la structure du
calcul [1].
La recherche de solutions dquations direntielles linaires ne sarrte pas
aux solutions rationnelles. En utilisant la thorie de Galois direntielle, il existe
une algorithmique sophistique de recherche de solutions liouvilliennes (cest--dire
formes par lapplication rpte dexponentielles, dintgrales et de prise de racines
Bibliographie 243
de polynmes). Les calculs se ramnent la recherche prsente ici de solutions
rationnelles pour des quations (les puissances symtriques) formes partir de
lquation de dpart [4, 5, 6].
Bibliographie
[1] Abramov (Sergei A.), Bronstein (Manuel), and Petkovek (Marko). On polynomial solutions
of linear operator equations. In Levelt (A. H. M.) (editor), ISSAC95. pp. 290296. ACM
Press, New York, ipp.
[2] Ince (E. L.). Ordinary dierential equations. Dover Publications, New York, ip6,
viii+558p. Reprint of the 1926 edition.
[3] Liouville (Joseph). Second mmoire sur la dtermination des intgrales dont la valeur est
algbrique. Journal de lcole polytechnique, vol. 14, iS, pp. 149193.
[4] Marotte (F. M.). Les quations direntielles linaires et la thorie des groupes. PhD
thesis, Facult des Sciences de Paris, iSpS.
[5] Singer (Michael F.). Liouvillian solutions of a-th order homogeneous linear dierential equa-
tions. American Journal of Mathematics, vol. 103, n4, ipSi, pp. 661682.
[6] Singer (Michael F.) and Ulmer (Felix). Linear dierential equations and products of linear
forms. Journal of Pure and Applied Algebra, vol. 117/118, ipp, pp. 549563.
CHAPITRE 24
Solutions rationnelles de rcurrences et sommation
hypergomtrique indnie
Rsum
Un petit noyau dalgorithmes relativement simples permet de trouver les
solutions polynomiales et rationnelles de rcurrences linaires. Nous les
appliquons dans ce cours pour trouver les sommes indnies de suites
hypergomtriques. Au Chapitre 25, ils resserviront pour la recherche
de solutions hypergomtriques de rcurrences linaires et pour trouver
des sommes dnies de suites hypergomtriques.
Le dbut du cours porte sur la rsolution dune relation de rcurrence linaire
en ses solutions polynomiales et rationnelles, cest--dire en ses suites solutions
dont le terme gnral est donn par lvaluation dun polynme, respectivement
dune fraction rationnelle, en lindice de la suite. La rsolution dans ces classes
lmentaires est la base de toute une algorithmique sur les suites. Dans la
suite du cours, lalgorithme de Gosper pour la sommation indnie un analogue
discret de la primitive se ramne des rsolutions en solutions rationnelles. Deux
exemples sont donns par les sommes suivantes :
n

k=1
k 1
k(k + 1)
2
k
=
2
n+1
n + 1
2,
n

k=0
(3k)!
k! (k + 1)! (k + 2)! 27
k
=
(81n
2
+ 261n + 200)(3n + 2)!
40(n + 2)! (n + 1)! n! 27
n

9
2
,
La rsolution en solutions rationnelles permet dautres applications, telles la rsolu-
tion de rcurrences dans des classes de solutions plus complexes (sommes embotes,
quotients de sommes, au Chapitre 25), ou encore la dsingularisation et la factori-
sation dune rcurrence.
Les questions de complexit ne sont pas abordes ici. Le corps K qui est utilis
dans certains noncs a toujours caractristique nulle, et on peut penser que K est le
corps Q sans que cela limite la porte des ides. Le terme constante est employ
pour dsigner un lment du corps K : une constante est alors indpendante de
lindice de sommation.
Pour xer la notation, la rcurrence dont on cherche les solutions est
(1) (L u)(n) =
m

k=0
a
k
(n)u(n +k),
o les a
k
(n) sont des polynmes de K[n] ; on note d le maximum des degrs des a
k
pour k = 0, . . . , m.
1. Solutions polynomiales
Il sagit ici de trouver les polynmes P(n) tels que (L P)(n) = 0. Une premire
observation simple est que, en notant K[n]

pour lespace vectoriel des polynmes


245
246 24. SOLUTIONS RATIONNELLES DE RCURRENCES ET SOMMATION HYPERGOMTRIQUE INDFINIE
de degrs au plus , L est une application linaire de K[n]
D
dans K[n]
D+d
, pour
tout D N. Les noyaux des restrictions de L K[n]
D
pour D = 0, 1, . . . forment
une suite croissante despaces vectoriels stationnaire partir dun certain indice D
0
.
Lalgorithme consiste donc trouver une borne sur cet indice (cest--dire sur le
degr maximal des polynmes solutions) et calculer une base de lespace corres-
pondant.
Exemple 1. La rcurrence
(L u)(n) = nu(n + 1) (n + 100)u(n) = 0
a pour solution le polynme u(n) = n(n+1) (n+99) de degr 100. Le degr des
solutions nest donc pas born par lordre ou le degr des coecients, mais dpend
bien des valeurs de ces coecients.
Il est facile de voir que lensemble des solutions polynomiales de cette rcurrence
est exactement lensemble des multiples de u par une constante. Lapplication de
loprateur L sur un monme n
d
donne
L n
d
= (d 100)n
d
+ ,
o les points de suspension correspondent des termes de degr au plus d 1. Par
linarit, un polynme f de degr d autre que 100 est tel que Lf a aussi degr d.
Il sensuit que les solutions polynomiales ne peuvent avoir que degr 100, do le
rsultat annonc.
Cet exemple se gnralise. Pour y voir plus clair, il est plus commode de rcrire
les dcalages u(n + k) de la suite initiale en terme de dirences nies. Ainsi, on
note ( u)(n) = u(n + 1) u(n) et, par rcurrence, (
k+1
u)(n) = (
k
u)(n +
1) (
k
u)(n). La rcurrence annuler prend la forme
L u =
m

k=0
b
k
(n)
k
u = 0
pour de nouveaux polynmes b
k
. Loprateur fait dcrotre de 1 exactement le
degr des polynmes. Ainsi,
deg(
k
P) max(deg P k, 0),
avec galit tant que
k
P nest pas nul, et donc deg(LP) deg P+max
k
deg(b
k
)
k. Soient alors les quantits
b := max
k
deg(b
k
) k, E := k [ deg(b
k
) k = b ,
qui vont servir fournir une borne sur le degr des solutions.
Exemple 2. La rcurrence de lexemple prcdent se rcrit
(n100)(u
n
) = 0 ;
lentier b vaut 0 et lensemble E est 0, 1.
Soit D le degr dune solution. La discussion distingue deux cas :
soit D +b < 0, et alors (b + 1) est une borne sur D;
sinon le coecient de degr D +b dans L(n
D
+ ) vaut

kE
lc(b
k
)D(D 1) (D k + 1),
o lc dsigne le coecient de tte (leading coecient). Cette expression, vue
comme un polynme en D, sappelle le polynme indiciel de la rcurrence,
lequel est non nul.
Cette discussion mne au rsultat suivant.
2. SOLUTIONS RATIONNELLES : ALGORITHME DABRAMOV 247
Proposition 1. Une borne sur le degr des solutions polynomiales de lopra-
teur L =

b
k
(n)
k
est donne par le maximum de (b + 1) et de la plus grande
racine entire positive du polynme indiciel de L.
Un algorithme simple consiste alors calculer cette borne et rechercher ensuite
les solutions par un calcul dalgbre linaire.
Exercice 1. Trouver les solutions polynomiales de la rcurrence
3u(n + 2) nu(n + 1) + (n 1)u(n) = 0.
2. Solutions rationnelles : Algorithme dAbramov
Le problme est maintenant de trouver les fractions rationnelles u(n) =
P(n)/Q(n) solutions de lquation (L u)(n) = 0 (o on peut supposer P et Q
premiers entre eux). Lalgorithme procde en deux temps : dabord le calcul dun
multiple de Q, ensuite un changement de fonction inconnue pour ramener la re-
cherche du numrateur celle de solutions polynomiales dune nouvelle quation
linaire, problme qui vient dtre trait.
Pour trouver un multiple du dnominateur, on peut observer que les ples de
u(n), u(n+1), . . . , u(n+m) sont dcals les uns des autres. Si u na pas deux ples
dirant dun entier, il ne peut donc y avoir de solution rationnelle que si Q vrie
Q(n) [ a
0
(n), Q(n + 1) [ a
1
(n), . . . , Q(n +m) [ a
m
(n),
et donc dans ce cas un multiple du dnominateur est donn par
pgcd
_
a
0
(n), a
1
(n 1), . . . , a
m
(n m)
_
.
En gnral cependant, il peut y avoir des racines de Q qui dirent dun entier et
cet argument nest plus valable. Cependant, si et sont deux racines de Q telles
que = k N est maximal, alors ncessairement a
0
() = 0 et a
m
( m) = 0.
La plus grande dirence entire H entre les racines de Q peut donc tre borne
tant donns a
0
et a
m
.
Soit ensuite
M(n) = ppcm(Q(n + 1), . . . , Q(n +m)).
La rcurrence multiplie par M(n) scrit
a
0
(n)P(n)
M(n)
Q(n)
+ +a
m
(n)P(n +m)
M(n)
Q(n +m)
= 0.
Dans cette rcurrence, tous les coecients M(n)/Q(n + k), k = 1, . . . , m sont des
polynmes. Par consquent Q divise a
0
M, ce qui se rcrit
Q(n) [ a
0
(n) ppcm(Q(n + 1), . . . , Q(n +m)).
En dcalant n et en reportant, il vient
Q(n) [ a
0
(n) ppcm(a
0
(n + 1) ppcm(Q(n + 2), . . . , Q(n +m+ 1)), Q(n + 2), . . . , Q(n +m))
[ a
0
(n)a
0
(n + 1) ppcm(Q(n + 2), . . . , Q(n +m+ 1))
[ a
0
(n) a
0
(n +j) ppcm(Q(n +j + 1), . . . , Q(n +j +m)).
Cependant, pour j > H, pgcd(Q(n), Q(n +j)) = 1 et donc nous avons obtenu
Q(n) [ a
0
(n) a
0
(n +H).
De la mme manire, multiplier le polynme
ppcm(Q(n), . . . , Q(n +m1))
par la rcurrence permet de voir que
Q(n) [ a
m
(n m) a
m
(n mH)
248 24. SOLUTIONS RATIONNELLES DE RCURRENCES ET SOMMATION HYPERGOMTRIQUE INDFINIE
et nalement
Q(n) [ pgcd(a
0
(n) a
0
(n +H), a
m
(n m) a
m
(n mH))
fournit un multiple de Q. Il est possible de calculer ce multiple ecacement en vi-
tant de calculer des produits de degr trop lev, et cest ce que russit lalgorithme
ci-dessous.
Multiple du dnominateur
Entre : la rcurrence (L u)(n) = 0, avec L donn par lqua-
tion (1) ;
Sortie : un multiple du dnominateur des solutions rationnelles.
1. Calculer le polynme
R(h) = Res
n
_
a
0
(n +h), a
m
(n m)
_
.
2. Si R na pas de racines dans N, alors renvoyer le po-
lynme 1 ; sinon, soit h
1
> h
2
> > h
m
0 ses
racines entires positives. Initialiser Q 1, A a
0
(n),
B a
m
(n m) ;
3. Pour i = 1, . . . , m faire
g(n) := pgcd
_
A(n +h
i
), B(n)
_
;
Q(n) := g(n)g(n 1) g(n h
i
)Q(n) ;
A(n) := A(n)/g(n h
i
) ;
B(n) := B(n)/g(n).
4. Renvoyer Q.
Le polynme dans ltape (1) est un rsultant particulier qui peut se calculer
ecacement comme une somme compose. Ce calcul est prsent dans le Chapitre 4
comme application du calcul rapide de lexponentielle des sries.
Il est possible de raner un peu cet algorithme pour obtenir des multiples de
degr plus petit que le dnominateur ; cest ce que fait Abramov dans [2] et aussi
dans certains cas en tenant compte de tous les a
i
dans [1]. Une manire plus directe
daboutir ces ranements t donne par van Hoeij [5].
Exercice 2. Trouver les solutions rationnelles des rcurrences suivantes :
(n + 1)u
n+1
nu
n
= 0,
(n + 1)(n + 3)u
n+2
2(n + 2)nu
n+1
+ (n 1)(n + 1) = 0,
(n + 3)(n + 2)(n
2
+ 6n + 4)u(n + 2) (n + 1)(3n
3
+ 27n
2
+ 64n + 48)u(n + 1)
+ 2n
2
(n
2
+ 8n + 11)u(n) = 0.
3. quations inhomognes
Les algorithmes de sommation que nous tudierons au Chapitres 25 et 28 font
apparatre dans des tapes intermdiaires des quations inhomognes quil faut aussi
savoir rsoudre.
3.1. Solutions polynomiales. Loprateur L tant un endomorphisme li-
naire de K[n], lquation inhomogne (L u)(n) = Q(n) ne peut avoir de solutions
polynomiales que si Q est un polynme. La discussion de la Section 1 montre quune
borne sur le degr de ces solutions est donne par le maximum de deg(Q) b et de
la borne obtenue pour la partie homogne. Le reste du calcul se rduit nouveau
de lalgbre linaire en dimension nie. Une autre manire daboutir cette borne
consiste appliquer
deg Q+1
aux deux membres de lquation inhomogne pour la
rendre homogne et appliquer le calcul prcdent.
4. SOMMATION HYPERGOMTRIQUE INDFINIE. ALGORITHME DE GOSPER 249
Exercice 3. Montrer que pour = 0 la rcurrence
3u(n + 2) nu(n + 1) + (n 1)u(n) = 2(n )
3
na pas de solution, alors que pour = 5, elle en a.
3.2. Solutions rationnelles. Comme pour les solutions polynomiales,
limage dune fraction rationnelle par L tant une fraction rationnelle, il ne peut y
avoir solution rationnelle de lquation inhomogne que si le membre droit est ra-
tionnel. Dans ce cas, rduire lquation au mme dnominateur mne une quation
pour laquelle un multiple du dnominateur des solutions rationnelles est obtenu en
considrant la partie homogne. Aprs changement de fonction inconnue, le calcul
se ramne la recherche de solutions polynomiales dune quation inhomogne.
3.3. Lordre 1. Lorsque la rcurrence est dordre 1, il est en outre possible
de prdire un facteur du numrateur, ce qui gagne en ecacit pratique. En eet,
dans la rcurrence
a(n)u(n + 1) +b(n)u(n) = c(n),
si b et c ont une racine commune qui nest ni un ple de u ni une racine de a, alors
celle-ci est ncessairement racine de u(n + 1). De mme, si a et c ont une racine
commune qui nest ni un ple de u(n + 1) ni une racine de b, alors elle est racine
de u.
Ces calculs pralables permettent de rduire le degr des coecients de lqua-
tion dont on recherche ensuite les solutions polynomiales.
3.4. quation inhomogne paramtre. Des polynmes Q
i
tant donns,
le problme est ici de trouver sil existe des constantes
1
, . . . ,
k
K telles que
(L u)(n) =
1
Q
1
(n) + +
k
Q
k
(n)
admette des solutions polynomiales ou rationnelles.
Pour les solutions polynomiales, la borne sur le degr de u(n) donne ci-dessus
ne dpend pas des
i
. Il ne reste qu observer que les quations quil faut ensuite
rsoudre sont linaires non seulement en les coecients du polynme, mais aussi en
les
i
. Une fois encore, le problme est ainsi rduit un calcul dalgbre linaire.
Exercice 4. Rsoudre en (u, , ) la rcurrence
3u(n + 2) nu(n + 1) + (n 1)u(n) = n
3
+n
2
.
Pour les solutions rationnelles, le mme argument que ci-dessus mne une
conclusion similaire : un multiple du dnominateur sobtient par les mthodes du
cas homogne, et le changement de fonction inconnue ramne la recherche de
polynmes solutions.
4. Sommation hypergomtrique indnie. Algorithme de Gosper
La recherche de formes closes pour la sommation est souvent naturellement
pose en terme de suites hypergomtriques. Aprs quelques dnitions et proprits
de ces suites, nous abordons leur sommation.
4.1. Suites hypergomtriques.
Definition 1. On appelle suite hypergomtrique une suite P-rcursive vri-
ant au moins asymptotiquement une rcurrence linaire dordre 1.
Une telle rcurrence, de la forme
(2) u
n+1
=
P(n)
Q(n)
u
n
,
250 24. SOLUTIONS RATIONNELLES DE RCURRENCES ET SOMMATION HYPERGOMTRIQUE INDFINIE
o P et Q sont des polynmes, admet une solution explicite laide de la fonction .
Cette fonction est classiquement dnie pour 1(z) > 0 par lintgrale dEuler
(z) =
_
+
0
t
z1
e
t
dt.
Une intgration par parties aboutit lquation fonctionnelle
(z + 1) = z(z).
Une premire consquence de cette quation est de fournir un prolongement mro-
morphe de C Z

. Grce la valeur facile calculer (1) = 1, cette quation


montre aussi que pour tout entier positif n, (n + 1) = n!. Enn, lquation fonc-
tionnelle permet de rsoudre la rcurrence (2) sous la forme
u
n
= u
0
_
lc(P)
lc(Q)
_
n

P()=0
(n )
()

Q()=0
()
(n )
,
o lc(p) dsigne le coecient de tte du polynme p.
Cette formule est valable tant quelle ne requiert pas dvaluer en des entiers
ngatifs ou nuls, cest--dire tant que , N et , N. Elle continue dtre valable
lorsque N condition dinterprter le premier quotient impliquant comme
une limite : daprs lquation fonctionnelle, pour k et n deux entiers positifs ou
nuls,
lim
sk
(n s)
(s)
=
_
0, si n > k ;
(1)
n k!
(kn)!
, si n k.
Cette limite correspond bien ce qui est attendu : si k N est une racine de P,
alors u
k+1
= 0 et par suite u
n
= 0 pour n > k.
Lorsque N, la mme limite peut tre utilise tant que n , et la suite
cesse dtre dnie pour n > .
Les suites hypergomtriques jouent un rle important en analyse classique,
o elles apparaissent comme coecients de Taylor des sries introduites par la
dnition suivante.
Definition 2. On appelle srie hypergomtrique gnralise et on note
p
F
q
_
a
1
, . . . , a
p
b
1
, . . . , b
q

x
_
la srie

n0
(a
1
)
n
(a
p
)
n
(b
1
)
n
(b
q
)
n
x
n
n!
,
o la notation (a)
n
reprsente le produit a(a 1) (a n + 1).
Des cas particuliers de sries qui sexpriment laide de sries hypergom-
triques gnralises sont les sries exp(x), log(1 +x), les dilogarithmes et polyloga-
rithmes, les fonctions J

de Bessel, les fonctions dAiry, etc. Ainsi :


exp(x) =
0
F
0
_

x
_
,
J

(x) =
_
x
2
_

1
( + 1)
0
F
1
_

+ 1

x
_
,
Ai(x) =
x
6

3(2/3)
2
0
F
1
_

4/3

x
3
9
_
+
3

3
3(2/3)
0
F
1
_

2/3

x
3
9
_
.
Exercice 5. Rcrire lidentit de Dixon en terme de valeur dune
3
F
2
en 1.
4. SOMMATION HYPERGOMTRIQUE INDFINIE. ALGORITHME DE GOSPER 251
4.2. Algorithme de Gosper. tant donne une suite hypergomtri-
que u(n), le problme de sommation indnie hypergomtrique de u(n) consiste
dterminer sil existe une autre suite hypergomtrique U(n) telle que U(n + 1)
U(n) = u(n), et si oui, la calculer.
Une observation simple est formule dans le lemme suivant.
Lemme 1. Si U(n) est une suite hypergomtrique et L un oprateur de rcur-
rence linaire coecients polynomiaux, alors il existe une fraction rationnelle r(n)
telle que LU(n) = r(n)U(n).
Dmonstration. La fonction r(n) nest autre que le reste de la division eu-
clidienne non commutative de L par le polynme unitaire de degr 1 donnant la
rcurrence qui annule U(n). Plus explicitement, si U(n) est hypergomtrique, par
dnition, il existe une fraction rationnelle R(n) telle que U(n +1) = R(n)U(n) et
donc par rcurrence U(n+k) = R(n+k 1) R(n)U(n) pour tout k. Le rsultat
sen dduit en additionnant les contributions.
Ce lemme entrane quune somme hypergomtrique U(n) de u(n) doit tre le
produit de u(n) par une fraction rationnelle R(n). Diviser la rcurrence U(n+1)
U(n) = u(n) par u(n) rduit alors le calcul celui de la recherche de solutions
rationnelles de lquation inhomogne
(3) R(n + 1)
u(n + 1)
u(n)
R(n) = 1,
dordre 1, problme trait dans la section prcdente, particulirement en 3.3. Lal-
gorithme ainsi obtenu est connu sous le nom dalgorithme de Gosper [4].
Exercice 6. Calculer une somme indnie de 2
k
(k 1)/k/(k + 1).
Exemple 3. Lalgorithme de Gosper permet galement de donner des rponses
ngatives. Voici en dtail comment il permet de prouver par labsurde que la suite
des S(n) :=

n
k=1
1/k! nest pas hypergomtrique.
Supposons que S(n) est hypergomtrique. Alors, elle doit tre le produit
de 1/n! par une fraction rationnelle r(n). Cette fraction est donc solution de la
rcurrence
S(n + 1) S(n) =
1
(n + 1)!
=
r(n + 1)
(n + 1)!

r(n)
n!
.
En chassant les dnominateurs, il reste
r(n + 1) (n + 1)r(n) = 1.
Le rsultat de lalgorithme Multiple du dnominateur dAbramov montre que
r doit tre un polynme : les ples de plus petite partie relle de r doivent tre des
zros du pgcd, trivial, de 1 et n+1. Enn, r ne peut pas non plus tre un polynme :
son terme de plus haut degr ne disparat pas par valuation de la rcurrence.
4.3. Sommation paramtre. Soient des suites u
1
(n), . . . , u
k
(n) hypergo-
mtriques et deux deux similaires, au sens o tous les rapports u
i
(n)/u
j
(n) sont
rationnels. Il sagit de dterminer, si elles existent, une suite hypergomtrique S(n)
et des constantes
1
, . . . ,
k
telles que
S(n + 1) S(n) =
1
u
1
(n) + +
k
u
k
(n).
Comme toutes les u
i
sont similaires une mme suite u(n), le membre droit de (3)
peut tre remplac par une combinaison linaire des
i
coecients des fractions
rationnelles et la mthode de la Section 3.4 sapplique.
252 24. SOLUTIONS RATIONNELLES DE RCURRENCES ET SOMMATION HYPERGOMTRIQUE INDFINIE
Notes
Lalgorithme originel de Gosper [4] a t introduit avant les travaux dAbramov.
Sa prsentation initiale passe directement par lquation de lalgorithme dAbramov
dont on recherche les solutions polynomiales, et tient compte de loptimisation de
la Section 3.3.
Bibliographie
[1] Abramov (S. A.). Rational solutions of linear dierential and dierence equations with po-
lynomial coecients. USSR Computational Mathematics and Mathematical Physics, vol. 29,
n11, ipSp, pp. 16111620.
[2] Abramov (S. A.). Rational solutions of linear dierence and q-dierence equations with
polynomial coecients. In Levelt (A. H. M.) (editor), ISSAC95. pp. 285289. ACM Press,
New York, ipp.
[3] Chen (William Y. C.), Paule (Peter), and Saad (Husam L.). Converging to Gospers Algo-
rithm. Technical Report n0711.3386, arXiv, oo.
[4] Gosper (R. William). Decision procedure for indenite hypergeometric summation. Procee-
dings of the National Academy of Sciences USA, vol. 75, n1, January ipS, pp. 4042.
[5] van Hoeij (Mark). Rational solutions of linear dierence equations. In Proceedings of the 1998
International Symposium on Symbolic and Algebraic Computation (Rostock). pp. 120123.
ACM, New York, ippS.
CHAPITRE 25
Solutions hypergomtriques de rcurrences et
sommation hypergomtrique dnie
Rsum
Le Chapitre 24 a indiqu comment un petit noyau dalgorithmes relative-
ment simples permet de trouver les solutions polynomiales et rationnelles
de rcurrences linaires, et les a appliqus la recherche de sommes in-
dnies de suites hypergomtriques. Nous adaptons et appliquons ici
tout cet ensemble dalgorithmes la recherche de solutions hypergom-
triques de rcurrences linaires et pour trouver des sommes dnies de
suites hypergomtriques. La suite du cours prolongera les mthodes du
prsent chapitre aux questions de sommation et dintgration de suites
et fonctions spciales plus gnrales, solutions de systmes dquations
direntielles et de rcurrence dordre quelconque.
Voici deux exemples de sommes dont le traitement algorithmique est dtaill
dans ce cours ; pour la seconde, on adopte la convention que les binomiaux
_
a
b
_
sont
nuls lorsque b < 0 ou b > a :
2
F
1
_
a, b
c

1
_
=

k=0
(a)
k
(b)
k
(c)
k
k!
=
(c a b)(c)
(c a)(c b)
,

kZ
(1)
k
_
a +b
a +k
__
a +c
c +k
__
b +c
b +k
_
=
(a +b +c)!
a! b! c!
.
Pour ces deux sommes classiques la premire est due Gauss, la seconde
Dixon , il nexiste pas de somme indnie hypergomtrique, mais ces sommes
dnies o toutes les valeurs possibles de lindice de sommation sont parcourues
peuvent nanmoins tre calcules automatiquement.
Une chane complte dalgorithmes permettant de trouver les membres droits
des identits ci-dessus est dtaille.
1. Sommation hypergomtrique dnie. Algorithme de Zeilberger
Lalgorithme considr dans cette section sapplique des suites u dites hyper-
gomtriques en deux variables, cest--dire pour lesquelles
u(n + 1, k)
u(n, k)
et
u(n, k + 1)
u(n, k)
sont deux fractions rationnelles en n et k.
Le problme de sommation dnie hypergomtrique est de dterminer si pour
une telle suite u,
U(n) =

k
u(n, k)
vrie une rcurrence linaire et si oui, la calculer. Labsence de bornes explicites
de sommation signie que la somme porte en fait sur toutes les valeurs k Z, tant
entendu que, bien souvent, ces sommes ont en fait un support ni. Bien souvent
253
254 25. SOLUTIONS HYPERGOMTRIQUES DE RCURRENCES ET SOMMATION HYPERGOMTRIQUE DFINIE
aussi, lintervalle de sommation sarrte aux bornes naturelles de sommation, cest-
-dire aux indices o par construction la suite et toutes ses dcales par rapport
lautre indice, n, sannulent.
Exemple 1. Des sommes simples sont

k
_
n
k
_
= 2
n
et

k
_
n
k
_
2
=
_
2n
n
_
.
Dans ces deux exemples, pour k en dehors de 0, . . . , n, les binomiaux sont nuls.
Ainsi, les bornes 0 et n sont naturelles.
Un cas trs favorable pour obtenir des sommation explicite est lorsque U(n) est
elle-mme hypergomtrique. Mais pour bien des applications, il est tout aussi utile
de trouver une rcurrence linaire laquelle U(n) obit. Cest ce que ralise lal-
gorithme de Zeilberger, par une approche dite de tlescopage cratif. Trouver si la
somme est hypergomtrique se ramne alors la recherche de solutions hyper-
gomtriques de rcurrences linaires, problme qui est trait par lalgorithme de
Petkovek en Section 2.
1.1. Principe du tlescopage cratif. On cherche un oprateur
(1) P(n, S
n
) (S
k
1)Q(n, k, S
n
, S
k
)
qui annule la suite u(n, k) sommer (S
n
et S
k
dsignent les oprateurs de dcalage
en n et k, (S
n
u)(n, k) = u(n + 1, k) et (S
k
u)(n, k) = u(n, k + 1)). Une fois un
tel oprateur trouv, la sommation sur k est aise, et, sous lhypothse de bornes
naturelles, conduit lgalit
(2) P(n, S
n
)U(n) = 0.
Exemple 2. En suivant ce modle, voici une preuve complique que
U(n) =

k
_
n
k
_
= 2
n
.
Le point de dpart est lidentit du triangle de Pascal
_
n + 1
k + 1
_
=
_
n
k + 1
_
+
_
n
k
_
,
qui se transpose en loprateur annulateur
S
n
S
k
S
k
1.
Ce dernier se rcrit
(S
k
1)(S
n
1) + (S
n
2),
oprateur qui traduit la relation explicite
__
n + 1
k + 1
_

_
n + 1
k
__

__
n
k + 1
_

_
n
k
__
+
__
n + 1
k
_
2
_
n
k
__
= 0.
En sommant sur k Z, les premiers termes se tlscopent deux deux, et il reste
((S
n
2) U)(n) = U(n + 1) 2U(n) = 0.
La n de la preuve se ramne vrier la condition initiale S(0) = 1.
En labsence de bornes naturelles, (2) scrit plutt
(P U)(n) = (Q u)(n, b + 1) (Q u)(n, a).
Les cltures du Chapitre 8 fournissent alors un oprateur

P(n, S
n
) qui annule le
membre droit de lgalit ci-dessus. On obtient ainsi une quation homogne, sous
la forme
(

PP) U = 0.
2. SOLUTIONS HYPERGOMTRIQUES. ALGORITHME DE PETKOVEK 255
1.2. Algorithme de Zeilberger. Il reste voir comment trouver les opra-
teurs P et Q de lquation (1) dans le cas gnral. Lide de Zeilberger est que cette
quation,
_
P(n, S
n
) u
_
(n, k) =
_
(S
k
1)Q(n, k, S
n
, S
k
) u
_
(n, k),
signie que Q u est une somme hypergomtrique indnie de P(n, S
n
) u par
rapport k. Comme u est suppose hypergomtrique, Q u est en fait de la
forme q(n, k)u(n, k) pour une fraction rationnelle q : si P tait connu, lalgorithme
de Gosper du Chapitre 24 saurait donner q.
La mthode donne par Zeilberger procde alors incrmentalement sur le degr
de P en S
n
. Pour m = 0, 1, . . . , il cherche sil existe des
i
(n) (les coecients de
P) tels que

0
(n)u(n, k) +
1
(n)u(n + 1, k) + +
m
(n)u(n +m, k)
ait une somme hypergomtrique. Lalgorithme pour cela est la variante paramtre
de lalgorithme de Gosper prsent au Chapitre 24.
1.3. Terminaison. La mthode ne termine pas en gnral. Wilf et Zeilberger
ont t les premiers dlimiter une classe importante, celle des suites proprement
hypergomtriques sur lesquelles la terminaison et par consquent le succs de la
mthode sont garantis. Ces suites sont de la forme
u(n, k) = P(n, k)Z
k

i=1
(a
i
n +b
i
k +c
i
)!

m
i=1
(u
i
n +v
i
k +d
i
)!
,
o les a
i
, b
i
, u
i
et v
i
sont des entiers, et m sont des entiers positifs, P est un
polynme et Z une constante.
Proposition 1. Lalgorithme de Zeilberger termine si u est proprement hy-
pergomtrique.
Dmonstration. Lide de la preuve est de prouver un rsultat lgrement
plus fort, savoir lexistence dun polynme A(n, S
k
, S
n
) qui ne dpend pas de
k et annule u. Une division euclidienne de A par S
k
1 permet den dduire un
couple (P, Q) tel que loprateur (1) annule u et de plus Q ne dpend pas de k.
Lexistence de A est obtenue en considrant les monmes en n, S
n
, S
k
par degr
total croissant et leur action sur u. Lapplication de ces monmes sur u produit un
multiple rationnel de u. Comme les coecients a
i
, b
i
, u
i
et v
i
sont des entiers, le
nombre de nouveaux facteurs de ces fractions rationnelles nit par crotre moins
vite que le nombre de monmes, et il sensuit lexistence dune relation de liaison.
La partie technique de la preuve se concentre donc sur ltude soigneuse des facteurs
de ces fractions rationnelles et de leur nombre. De plus, il convient de sassurer que
le P obtenu est non nul. Pour cela, on montre quun tel P peut toujours tre obtenu
non nul, moyennant au besoin une lgre modication sur A.
2. Solutions hypergomtriques. Algorithme de Petkovek
Si (L u)(n) = 0 avec u(n) hypergomtrique, il existe deux polynmes P et Q
vriant
u(n + 1) =
P(n)
Q(n)
u(n),
et on peut prendre Q unitaire. Il sensuit que
u(n +) =
P(n + 1)
Q(n + 1)
. . .
P(n)
Q(n)
u(n).
256 25. SOLUTIONS HYPERGOMTRIQUES DE RCURRENCES ET SOMMATION HYPERGOMTRIQUE DFINIE
Pour une rcurrence donne par un oprateur L = a
m
S
m
n
+ +a
0
une condition
ncessaire et susante dexistence de solution hypergomtrique scrit
(3) a
m
(n)P(n +m1)P(n +m2) P(n)
+a
m1
(n)Q(n +m1)P(n +m2) P(n)
+ +a
0
(n)Q(n +m1) Q(n) = 0.
On peut voir cette expression comme une renormalisation du reste de la division
euclidienne de L par S
n
P/Q, aprs rduction au mme dnominateur. Si on savait
prdire que pgcd
_
P(n), Q(n + i)
_
= 1 pour i = 0, . . . , m1, alors on en dduirait
facilement que P(n) divise a
0
(n) et Q(n+m1) divise a
m
(n). Ceci nous donnerait
un algorithme : toute paire de facteurs unitaires de a
0
(n) et a
m
(nm+1) donnerait
un candidat pour Q(n) et un candidat pour P une constante prs, il surait alors
dinjecter ces candidats dans (3) et de chercher sil existe une constante satisfaisant
lquation. En itrant sur les facteurs de a
0
et a
m
, le travail serait termin.
En gnral, il se peut trs bien que P(n) et Q(n+i) aient des facteurs communs.
La solution trouve par Petkovek consiste recourir une dcomposition plus forte
de la fraction rationnelle. On cherche une solution telle que
u(n + 1)
u(n)
= Z
A(n)
B(n)
C(n + 1)
C(n)
,
o Z est une constante, A, B, C sont des polynmes unitaires, pgcd(A, C) = 1,
pgcd
_
B(n), C(n+1)
_
= 1 et pgcd
_
A(n), B(n+i)
_
= 1 pour tout i N. Cette dcom-
position des fractions rationnelles est appele dcomposition de GosperPetkovek.
Exercice 1. Montrer que toute fraction rationnelle peut se dcomposer sous
la forme ci-dessus. Donner un algorithme calculant les polynmes A, B, C et la
constante Z correspondant une fraction rationnelle donne en entre. (Indice :
sinspirer de lalgorithme dAbramov.)
Avec cette dcomposition, lquation (3) devient
(4) Z
m
a
m
(n)A(n +m1) A(n)C(n +m)+
Z
m1
a
m1
(n)B(n +m1)A(n +m2) A(n)C(n +m1)
+ +a
0
(n)B(n +m1) B(n)C(n) = 0.
Les contraintes de la dcomposition permettent de dduire immdiatement
A(n) [ a
0
(n), B(n +m1) [ a
m
(n).
Lalgorithme de Petkovek sen dduit : pour chaque paire (A, B) de facteurs de
a
0
et a
m
, le coecient de tte du polynme au membre gauche de (4) donne une
quation polynomiale sur Z, une fois Z ainsi x, il reste chercher les solutions
polynomiales C de lquation, sil en existe.
Exercice 2. Rsoudre ainsi
(n 1)u(n + 2) (n
2
+ 3n 2)u(n + 1) + 2n(n + 1)u(n) = 0,
u(n + 2) (2n + 1)u(n + 1) + (n
2
2)u(n) = 0.
Le cas inhomogne nest pas trait en cours, mail il nest pas dicile : le membre
droit doit tre hypergomtrique et, outre les solutions hypergomtriques de la
partie homogne, la solution doit tre le produit du membre droit par une fraction
rationnelle. Ceci ramne le problme la recherche de solutions rationnelles.
Bibliographie 257
Notes
Le livre [3] est une bonne introduction aux questions abordes dans ce cours.
Lalgorithme de Petkovek possde une extension intressante, par rduction de
lordre, une plus grande classe de solutions, appeles solutions dAlembertiennes.
Cette extension na pas t dcrite dans le cours, elle lest dans [2].
La proposition 1 ne donne quune condition susante pour lexistence dun
P(n, S
n
) et consquemment pour la terminaison de lalgorithme de Zeilberger. Il
existe des suites qui ne sont pas proprement hypergomtriques et pour lesquelles
la mthode fonctionne quand mme. Cela a donn lieu une srie de travaux,
et le dernier mot revient un travail rcent dAbramov [1] o il donne un test
algorithmique de terminaison de lalgorithme.
De nombreuses gnralisations de lalgorithme de Zeilberger sont possibles :
par exemple la suite sommer peut ne pas tre hypergomtrique, tout en tant
P-rcursive, ou il peut sagir dune suite de fonctions D-nies et lon cherche une
quation direntielle satisfaite par la somme dnie, etc. Ces questions seront
abordes dans un chapitre ultrieur du cours.
Bibliographie
[1] Abramov (S. A.). When does Zeilbergers algorithm succeed ? Advances in Applied Mathe-
matics, vol. 30, n3, oo, pp. 424441.
[2] Abramov (Sergei A.) and Petkovek (Marko). Dalembertian solutions of linear dierential
and dierence equations. In Proceedings of the international symposium on Symbolic and
algebraic computation. pp. 169174. ACM Press, ipp.
[3] Petkovek (Marko), Wilf (Herbert S.), and Zeilberger (Doron). = 1. A. K. Peters,
Wellesley, MA, ipp6, xii+212p.
CHAPITRE 26
quations fonctionnelles linaires et polynmes
tordus
Rsum
Une certaine varit de polynmes non commutatifs fournit une repr-
sentation unie pour une large classe dquations fonctionnelles linai-
res. Celle-ci savre bien adapte pour les calculs. Nous rinterprtons
nombre des algorithmes vus dans ce cours dans ce point de vue.
1. Des polynmes non commutatifs pour calculer avec des oprateurs
linaires
Dans les annes 1930, le mathmaticien Oystein Ore (18991968) sest intress
la rsolution de systmes linaires liant des drives f
(j)
i
(x), des dcales f
i
(x+j),
ou les substitutions f
i
(q
j
x) de fonctions inconnues f
i
(x). cette n, il a introduit de
nouvelles familles de polynmes en une variable ayant la proprit que cette variable
ne commute pas avec les coecients des polynmes. Ce dfaut de commutativit
rete une sorte de loi de Leibniz.
Rappelons la relation de Leibniz pour deux fonctions quelconques f et g :
(fg)
t
(x) = f
t
(x)g(x) +f(x)g
t
(x).
En notant D loprateur de drivation, M celui qui une fonction f associe la
fonction donne par M(f)(x) = xf(x), id loprateur identit sur les fonctions,
et la composition doprateurs, la rgle de Leibniz donne, pour f(x) = x et
g quelconque,
(D M)(g) = D
_
M(g)
_
= M
_
D(g)
_
+g = (M D + id)(g).
Lidentit tant vrie par toute g, on obtient lgalit D M = M D + id
entre oprateurs linaires direntiels. Dautres oprateurs vrient des analogues
de la rgle de Leibniz : loprateur de dirence nie, donn par (f)(x) =
f(x+1) f(x) ; loprateur S = +id de dcalage, donn par S(f)(x) = f(x+1) ;
pour une constante q xe autre que 0 et 1, loprateur H de dilatation, donn
par H(f)(x) = f(qx). On a les relations :
(fg)(x) = f(x + 1)(g)(x) + (f)(x)g(x),
(fg)(x + 1) = f(x + 1)g(x + 1), (fg)(qx) = f(qx)g(qx),
qui mnent aux relations M = (M + id) + id, S M = (M + id) S,
H M = Q M H entre oprateurs linaires, aprs avoir introduit un nouvel
oprateur Q donn par Q(f)(x) = qf(x).
Le point de vue dOre est dabstraire ces dirents contextes doprateurs dans
un mme cadre algbrique.
Dfinition. Soit A un anneau commutatif unitaire de caractristique zro,
que nous supposons muni dun endomorphisme injectif et dune -drivation ,
259
260 26. QUATIONS FONCTIONNELLES LINAIRES ET POLYNMES TORDUS
au sens o pour tout a et tout b de A,
(a +b) = (a) +(b), (ab) = (a)(b), (ab) = (a)(b) +(a)b.
Pour une nouvelle variable , on appelle anneau de polynmes tordus lalgbre
sur A engendre par et les relations, pour tout a de A,
a = (a) +(a).
On note cet anneau A; , .
La terminologie polynme tordu est la traduction de langlais skew po-
lynomial , o skew signie de biais , oblique . Certains auteurs ont
propos la traduction polynme gauche , o gauche a le sens de voil ,
par opposition plan . Mais nous voulons viter ici toute confusion avec des
notions algbriques de multiple, module, fraction, etc, pour lesquelles gauche
a le sens oppos de droite . De plus, la littrature note gnralement les an-
neaux de polynmes tordus avec des crochets, par A[; , ], mais les chevrons nous
semblent mieux voquer que lanneau en question est une algbre sur A donne
par le gnrateur et des relations induites par et , et nest en gnral pas
commutatif.
Une consquence immdiate de la dnition est que tout lment f dun anneau
de polynmes tordus admet une rcriture canonique de la forme
f = a
r

r
+ +a
0
pour des a
i
dans A, avec a
r
non nul sauf si la somme ne comprend aucun terme (et
alors f = 0). On montre que les a
i
et lentier r ainsi dnis (sauf pour f = 0) sont
uniques et que r a les proprits dun degr. En particulier, le degr dun produit
est la somme des degrs de ses facteurs.
Des choix adquats de et nous font retrouver les quelques exemples donns
plus haut. Pour simplier la notation, nous supposons que A peut sidentier un
bon espace de fonctions. On a alors, en notant 0 lapplication qui a toute fonction
associe la fonction constante nulle :
Q(x); id, D reprsente lalgbre des oprateurs direntiels linaires ;
Q(x); S, 0 reprsente lalgbre des oprateurs de rcurrence ;
Q(x); S, reprsente lalgbre des oprateurs de dirence nie ;
Q(x); H, 0 pour q Q 0, 1 reprsente lalgbre des oprateurs de q-
dilatation ;
Q(x); id, 0 nest autre que lanneau commutatif Q(x)[] des polynmes
usuels.
Toutes ces algbres doprateurs sont coecients dans Q(x) ; on dispose aussi
danalogues pour A = Q[x] et, pour A ne faisant pas intervenir S, pour A =
Q[x, x
1
].
On fera attention la notation. Si la composition entre oprateurs est note
par , nous ne ferons quune simple juxtaposition pour le produit de polynmes
tordus, et nous noterons 1 llment neutre pour le produit de polynmes tordus.
Nanmoins, on fera labus de notation de noter de la mme faon, D
x
, la drivation
par rapport x quel que soit lanneau A, et id, sans indice, pour lidentit de
nimporte quel A. De plus, nous noterons simplement x pour M. Ainsi, on a :
x = x + 1 dans Q(x); id, D, car plus gnralement, pour u Q(x),
u = (u) +(u) = id(u) +D(u) = u +u
t
;
x = (x + 1) dans Q(x); S, 0, car plus gnralement, pour u Q(x),
u = (u) +(u) = S(u) + 0(u) = u(x + 1);
x = (x + 1) + 1 dans Q(x); S, ;
2. CLTURES PAR MORPHISMES ENTRE ANNEAUX DE POLYNMES TORDUS 261
x = qx dans Q(x); H, 0 ;
x = x dans Q(x); id, 0 = Q(x)[].
Le cas = 0 est frquent, et on crit alors A; , sans rfrence au 0. De mme
que dans le cas commutatif on dnit les polynmes de Laurent, dont lalgbre est
note A[X, X
1
], et dans laquelle XX
1
= X
1
X = 1, le cas o est inversible et
autre que lidentit permet de reprsenter des oprateurs qui possdent un inverse.
Dans ce cas, on notera A,
1
; lalgbre o a = (a),
1
a =
1
(a)
1
,

1
=
1
= 1.
Pour nir de se dtacher de la notation en termes doprateurs, on fait agir
les anneaux de polynmes tordus sur les espaces de fonctions, au sens de laction
dun anneau sur un module. Rappelons quun module M sur un anneau A est
un ensemble non vide, muni dune loi + en faisant un groupe additif, stable sous
laction dune produit externe par les lments de A, tel que laction par produit
externe par 1 soit lidentit, et vriant les formules (PQ) f = P (Q f) et
(P + Q) f = (P f) + (Q f). Un anneau de polynmes tordus na pas daction
unique sur un espace de fonctions donn, aussi adoptons-nous quelques conventions.
Convention. Dans toute la suite du texte :
un anneau de la forme A; agit par f = (f) pour une extension
convenable de ,
un anneau de la forme A; , agit par f = (f) pour une extension
convenable de ,
les coecients dans A agissent par simple multiplication, a f = af.
Remarquons que lalgbre des suites A
N
ne peut pas tre vue comme un module
sur lalgbre A,
1
; quand est le dcalage avant. En eet, laction de sur
la suite valant 1 en 0 et nulle ensuite donne la suite nulle : laction de ne peut
donc pas tre inverse. Ce problme technique peut tre contourn en considrant
les classes de suites identies lorsquelles sont gales aprs un certain rang (qui
dpend des deux suites). (On parle de germe de suite linni .) Mais on perd
alors la possibilit dexprimer certaines suites, celles support ni, justement.
laide de ces notations gnriques, nous allons maintenant rexprimer des
algorithmes dj vus et petit petit introduire de nouveaux calculs.
2. Cltures par morphismes entre anneaux de polynmes tordus
Dans cette section, nous sommes amens considrer simultanment des fonc-
tions de x et des fonctions dune autre variable. Aussi indiquerons-nous en indice
de D, S, , , , etc, la variable laquelle ces objets font rfrence. De plus, les
anneaux A qui servent construire les anneaux de polynmes tordus sont de la
forme Q[x] ou Q[x, x
1
].
2.1. Rcurrence sur les coecients extraits dune srie D-nie et
srie gnratrice dune suite P-rcursive. On a dj vu que lorsquune srie
f =

n0
u
n
x
n
est D-nie, ses coecients vrient une relation de rcurrence
nie. Autrement dit, la suite u = (u
n
)
n0
est P-rcursive. La preuve repose sur les
identits
xf =

n1
u
n1
x
n
=

n1
(
1
n
u)(n) x
n
et
D
x
(f) = f
t
=

n0
(n + 1)u
n+1
x
n
=

n0
_
(n + 1)
n
u
_
(n) x
n
,
262 26. QUATIONS FONCTIONNELLES LINAIRES ET POLYNMES TORDUS
o nous avons introduit lanneau Q[n]
n
,
1
n
; S
n
. Par rcurrence, ceci donne
x

x
(f) =

n
_

n
_
(n + 1)
n
_

u
_
(n) x
n
=

n
_
(n + 1 ) (n + )

n
u
_
(n) x
n
.
Pour une srie f solution de lquation direntielle
a
r
(x)f
(r)
(x) + +a
0
(x)f(x) = 0
o les a
i
sont dans Q[x], nous obtenons ainsi une rcurrence sur u, valable pour des n
assez grands. Cette rcurrence sexprime en termes de polynmes tordus de la faon
suivante. On reprsente loprateur direntiel associ lquation par le polynme
tordu L = a
r
(x)
r
x
+ +a
0
(x) dans Q[x]
x
; id, D
x
sur Q. De la sorte, lquation
direntielle scrit L f = 0. On introduit aussi lalgbre Q[n]
n
,
1
n
; S
n
et le
morphisme dalgbres dni par (x) =
1
n
et (
x
) = (n + 1)
n
. Alors, la
suite u des coecients est solution pour n assez grand de la rcurrence reprsente
par limage (L). Pour comprendre pour quels n cette rcurrence est valide, crivons
(L) = b
p
(n)
p
n
+ +b
q
(n)
q
n
pour p q et b
p
b
q
,= 0, de sorte que la rcurrence prend la forme
_
(L) u
_
(n) = b
p
(n)u
n+p
+ +b
q
(n)u
n+q
= 0
et est vrie pour tout n si p 0 et pour tout n p si p < 0.
De faon duale, une suite P-rcursive u a une srie gnratrice f =

n0
u
n
x
n
D-nie, ce que nous allons retrouver en termes de polynmes tordus. Pour ce point,
nous supposons en fait que la suite u est prolonge aux indices ngatifs par u
n
= 0
pour n < 0, et quelle est P-rcursive sur Z tout entier. Ceci ne constitue aucune
perte de gnralit : une rcurrence valable pour la suite initiale devient valable
pour la suite prolonge aprs multiplication par un polynme de la forme (n +
1)(n + 2) . . . (n +r). Les formules

nZ
nu
n
x
n
= x
x
f et

nZ
u
n+1
x
n
= x
1
f
donnent par rcurrence

n0
n

u
n+
x
n
= (x
x
)

f = x

(x
x
)

f,
et fournissent un autre morphisme, , de Q[n]
n
; S
n
dans Q[x, x
1
]
x
; id, D
x
,
donn par (n) = x
x
et par (
n
) = x
1
. Pour une suite u solution sur Z de
lquation de rcurrence
b
p
(n)u
n+p
+ +b
0
(n)u
n
= 0
o les b
i
sont dans Q[n], nous introduisons le polynme tordu P = b
p
(n)
p
n
+
+ b
0
(n) de Q[n]
n
; S
n
. Pour obtenir une relation direntielle sur la srie
gnratrice f, nous considrons (P) que nous crivons
(P) = a
0
(x) + +a
r
(x)
r
x
.
Alors, comme

nZ
(P u)(n)x
n
= 0, la srie f vrie la relation direntielle
a
0
(x)f(x) + +a
r
(x)f
(r)
(x) = 0.
Algbriquement, les proprits prcdentes sexpriment par le fait que stend
en un isomorphisme dalgbres entre Q[x, x
1
]
x
; id, D
x
et Q[n]
n
,
1
n
; S
n
, dont
linverse tend . Ce morphisme vrie (x
i
) =
i
n
et (
i
x
) =
_
(n + 1)
n
_
i
=
3. DIVISION EUCLIDIENNE 263
(n + 1) . . . (n + i)
i
n
. Les deux algbres isomorphes peuvent tre vues comme agis-
sant naturellement sur Q((x)) = x
r
f [ r N, f Q[[x]] , qui nest autre
que lalgbre des suites sur Z nulles pour les indices n strictement infrieurs un
entier r (dpendant de la suite considre).
2.2. Sries binomiales.
Exercice 1. Une srie binomiale est une srie de la forme

n0
u
n
_
x
n
_
. Mon-
trer que les solutions en srie binomiale dune quation fonctionnelle dirence
a
r
(x)f(x +r) + +a
0
(x)f(x) = 0
ont des coecients u
n
qui vrient une rcurrence et expliciter le morphisme entre
algbres de polynmes tordus correspondant.
2.3. Changements de variables. Lorsquune srie D-nie f(x) est solution
dune quation direntielle L f = 0 donne par un polynme tordu
L = L(x,
x
) = a
r
(x)
r
x
+ +a
0
(x),
la srie g(x) := f(x) vrie g
(i)
(x) =
i
f
(i)
)(x) pour chaque i N. En sub-
stituant x pour x dans L f = 0, on obtient que g est solution de lquation
direntielle associe
L(x,
1

x
) = a
r
(x)
r

r
x
+ +a
0
(x).
Cest encore le rsultat dun morphisme dalgbres, , dni cette fois par (x) =
x et (
x
) =
1

x
.
Lorsque f est une fonction D-nie, la fonction z f(1/z) est elle aussi D-
nie, en z cette fois, pour autant que la fonction compose ait un sens. En eet,
pour toute fonction g, notons g(z) = g(1/z) (avec la mme rserve de dnition).
Puisque g(x) = g(1/x), par drivation on a g
t
(x) = g
t
(1/x)/x
2
, ce qui est lva-
luation en z = 1/x de z
2

z
g. Autrement dit, on a

g
t
= z
2

z
g, do par
rcurrence

g
()
= (z
2

z
)

g. Ainsi,

f est D-nie, donne comme vriant lqua-
tion direntielle associe limage de L par le morphisme de Q[x]
x
; id, D
x

dans Q[z, z
1
]
z
; id, D
z
qui envoie x sur z
1
et
x
sur z
2

z
.
Exercice 2. Plus gnralement, la fonction obtenue par substitution ration-
nelle de la variable, donne par h(u) = f
_
r(u)
_
, est encore D-nie. Nous laissons
en exercice le soin de montrer ce rsultat par la mme approche dans le cas o la
drive r
t
sexprime comme une fraction rationnelle en r.
3. Division euclidienne
Dans cette section et les suivantes, nous nous appuyons sur des proprits
particulires des anneaux de polynmes tordus quand lanneau A de la construction
est un corps, que nous prendrons de la form