Vous êtes sur la page 1sur 16

To explain all nature is too difficult a task for any one man

or even for any one age. Tis much better to do a little with certainty,
and leave the rest for others that come after you, than to explain all things.
Isaac Newton (1642-1727)

CHAPITRE XVII

Methodes iteratives pour la resolution dequations


Objectif. Les methodes iteratives figurent parmi les methodes numeriques les plus courantes et le plus
puissantes. Lidee est de partir dune valeur approchee (souvent grossi`ere) de la solution, puis daugmenter
la precision par lapplication iteree dun algorithme bien choisi.
Dans ce chapitre nous discutons deux methodes iteratives classiques : la methode du point fixe pour
resoudre une e quation du type f (x) = x o`u f est une fonction contractante, puis son raffinement, la methode
de Newton pour resoudre f (x) = 0 o`u f est une fonction derivable. Pour des complements voir le livre de
J.-P. Demailly, Analyse numerique et e quations differentielles, EDP Sciences, 1996.
Sommaire
1. La methode du point fixe. 1.1. Dynamique autour dun point fixe. 1.2. Espaces metriques.
1.3. Fonctions contractantes. 1.4. Le theor`eme du point fixe. 1.5. Quelques applications.
2. La methode de Newton. 2.1. Vitesse de convergence. 2.2. Iteration de Newton. 2.3. Exemples.
2.4. Bassin dattraction. 2.5. Version quantitative. 2.6. Crit`eres pratiques.
3. Application aux polynomes complexes. 3.1. Le theor`eme de Gauss-dAlembert. 3.2. Relation
entre racines et coefficients. 3.3. Instabilite des racines mal conditionnees.
Retour sur la methode dichotomique
Commencons par la methode par tatonnement que lon appelle plus savamment la methode dichotomique . Cette methode a le merite detre e lementaire, mais elle a deux inconvenients : dabord elle
ne converge que lentement, puis implementee navement (avec des arrondis aleatoires) elle peut e tre inutilisable a` cause des phenom`enes de bruit, dej`a discutes au chapitre XV, 5.6.
Exemple 0.1. Le programme dichotomie.cc resout le probl`eme de bruit par un calcul fiable base sur
larithmetique dintervalles. (Le lire puis le tester.) La difficulte principale est dimplementer soigneusement la fonction donnee f : R R selon larithmetique dintervalles arrondie en une fonction
Interval f( const Interval& x ) .
Dune part il faut garantir lencadrement de limage exacte, et dautre part cet encadrement doit e tre assez
precis, cest-`a-dire on veut e viter des sur-encadrements grossiers. Discuter limportance de ces prerequis
pour la correction et lefficacite de la methode dichotomique. Puis analyser bri`evement comment satisfaire
ces exigences pour un polynome comme f (x) = x6 9x5 + 30x4 40x3 + 48x 32.
Exemple 0.2. La methode dichotomique se generalise du cas unidimensionnel f : R R aux fonctions
f : Rm Rn , disons avec m = n = 2 pour fixer les idees. Si cela vous interesse, vous pouvez regarder le
film www-sop.inria.fr/coprin/logiciels/ALIAS/Movie/movie_undergraduate.mpg puis analyser la methode proposee. Essayez dabord de decrire lalgorithme plus en detail : comme avant la prin
cipale difficulte est de bien implementer f selon larithmetique dintervalles arrondie. Etant
donnee une
telle implementation de f , formulez lalgorithme dichotomique puis prouver sa correction. (Si vous e tes
courageux, vous pouvez limplementer en partant du programme dichotomie.cc .)
Dans ce chapitre nous chercherons a` obtenir des methodes iteratives qui convergent plus rapidement
et qui seront plus faciles a` implementer que la methode dichotomique. Nous developpons lessentiel de la
theorie, le theor`eme du point fixe et la methode de Newton, sous une forme prete a` programmer. Par contre,
la problematique des calculs fiables sera (temporairement) neglige afin de ne pas encombrer la premi`ere
presentation. Ceci est partiellement justifie par le fait quune fonction contractante soit numeriquement
stable, et lors des iterations les erreurs accumulees restent bornees (et on esp`ere meme negligeables).
311

312

Chapitre XVII Methodes iteratives pour la resolution dequations

1. La methode du point fixe


1.1. Dynamique autour dun point fixe. Nous allons nous interesser aux iterations dune fonction
m
f : E E, o`u (E, d) est un espace
p metrique. Typiquement E est une partie de R et d : E E R est la
2
distance euclidienne d(x, y) = i (xi yi ) . La fonction f peut e tre compliquee, dautant plus ses iterees
f 2 = f f , f 3 = f f f , f 4 = f f f f , . . . Nous ne calculons jamais ces iterees toutes enti`eres. Nous
supposons seulement quil est facile a` e valuer f en un point donne, et nous allons suivre sa trajectoire :

Definition 1.1. Etant


donnee f : E E et une valeur initiale x0 nous construisons la suite iterative (xn )nN
partant de x0 par lapplication iteree de la fonction f , de sorte que xn+1 = f (xn ) pour tout n N.
Le cas trivial est celui dun point fixe de f , cest-`a-dire dun point a E tel que f (a) = a. Par contre,
le comportement de f dans un voisinage dun point fixe a peut nous donner des renseignements utiles :
Exemple 1.2. Lexemple le plus simple est une fonction lineaire f : R R, f (x) = kx avec une constante
k R. Elle admet a = 0 pour point fixe. Pour x0 6= 0 deux phenom`enes peuvent se produire :
(1) Si |k| < 1, par exemple k = 12 , alors les images successives xn = f n (x0 ) sapprochent de a, car
| f n (x0 ) a| = |k|n |x0 a| 0. On dit que a est un point fixe attractif (ou stable).
(2) Si |k| > 1, par exemple k = 2, alors les images successives xn = f n (x0 ) seloignent de a, car
| f n (x0 ) a| = |k|n |x0 a| . On dit que a est un point fixe repulsif (ou instable).

Exemple 1.3. Plus generalement, e tudions une fonction f : R R que lon suppose continument derivable.
Comme avant nous supposons quelle admet un point fixe a = f (a).
(1) Supposons que | f (a)| < 1. Dans ce cas on peut choisir nimporte quelle constante k telle que
| f (a)| < k < 1, et la continuite de f nous assure lexistence dun voisinage V = [a , a + ] tel
que | f ( )| k pour tout V . Pour tout x V nous pouvons ainsi majorer les accroissements :
il existe entre a et x tel que f (x) f (a) = f ( )(x a), et par consequent
| f (x) a| = | f (x) f (a)| = | f ( )(x a)| k|x a|.

Ainsi les images iterees de x V sont de plus en plus proches de a, plus precisement :
| f n (x) a| kn |x a|

pour tout n N.

Autrement dit, a est un point fixe attractif.


(2) Reciproquement linegalite | f (a)| > 1 implique que | f | k > 1 dans un voisinage V de a : toute
valeur initiale x V r {a} seloigne de a, dans le sens que | f (x) a| k|x a|. Autrement dit,
a est un point fixe repulsif.
Astuce. Dans ce cas on peut inverser f , au moins localement : la restriction f |V : V U
est une bijection de V sur U = f (V ) ; son inverse g = f |V1 est une fonction continument derivable
avec g(a) = a et g (a) = f 1(a) . (Le prouver.) On peut ainsi se ramener au premier cas.
(3) Dans le cas douteux | f (a)| = 1, une analyse plus fine simpose. Pour x 7 x x3 le point fixe
a = 0 est attractif, pour x 7 x + x3 il est repulsif. (Le detailler.) Pour x 7 x + x2 il est attractif a`
gauche mais repulsif a` droite, pour x 7 x x2 cest linverse. (Le detailler.)
Remarque 1.4. En dimension 2 la situation peut e tre plus complexe. Considerons une application
lineaire ( xy ) 7 0 0 ( xy ). Si | |, | | < 1, le point fixe a = 0 est attractif. Si | |, | | > 1, il est repulsif.
Si | | < 1 < | |, il existe une direction stable et une direction instable.

1.2. Espaces metriques. Etant


donne un ensemble E et une suite (xn )nN dans E, comment definir la
notion de convergence ? La facon la plus commode serait de disposer dune notion de distance d(x, y) entre
deux points x, y E, cest-`a-dire une application d : E E R. Pour que la distance se comporte comme
on le souhaite, nous exigeons les trois proprietes suivantes :
Positivite: d(x, y) 0 pour tout x, y E, avec d(x, y) = 0 si et seulement si x = y.

Symetrie: d(x, y) = d(y, x) pour tout x, y E.

Inegalite triangulaire: d(x, z) d(x, y) + d(y, z) pour tout x, y, z E.


MAE 22 juin 2009

1 La methode du point fixe

313

Si d : E E R satisfait a` ces axiomes, on appelle d une metrique sur E, et la paire (E, d) est appelee un
espace metrique. (Souvent on appelle E un espace metrique si d est sous-entendue sans e quivoque.)
Exemple 1.5. Tout ensemble E peut e tre muni de la metrique discr`ete d : E E R definie par d(x, y) = 0
si x = y, et d(x, y) = 1 si x 6= y. (Exercice.) Cest gratuit et peu interessant.

Exemple 1.6. Sur R on a bien sur lap


metrique usuelle d(x, y) = |x y|. Lensemble Rm peut e tre muni
de la metrique euclidienne d2 (x, y) = k (xk yk )2 . Plus generalement, pour tout p 1, on obtient une
metrique d p (x, y) = (k |xk yk | p )1/p . Pour p = on pose d (x, y) = supk |xk yk |.
(Pour ces metriques la positivite et la symetrie sont immediates, mais linegalite triangulaire est delicate.
Cest un bon exercice de revision si vous lavez dej`a vu.)
Exemple 1.7. Si (E, d) est un espace metrique et F E est une partie, alors (F, dF ) est un espace metrique
muni de la metrique induite dF := d|FF : F F R obtenue par restriction. Ainsi toute partie de Rm est
munie de la metrique d p heritee de Rm .
Definition 1.8. Soit (E, d) un espace metrique. On dit quune suite (xn )nN dans E converge vers a E
(pour la metrique d) si la distance d(xn , a) converge vers 0. Plus explicitement : pour tout > 0 il existe
N N tel que d(xn , a) < pour tout n N.
Exercice 1.9. Verifier que sur R1 toutes les metriques d p concident. Dans le plan R2 dessiner la boule B(0, 1) =
{x R2 | d(x, 0) 1} de rayon 1 autour de 0 pour les metriques d1 , d2 , d . Bien que ces metriques soient distinctes,
la notion de convergence est la meme : une suite xn dans R2 converge vers a pour la metrique d p si et seulement si xn
converge vers a pour la metrique dq . Il existe des constantes , > 0 telles que d p (x, y) dq (x, y) d p (x, y). On
dit que ces metriques sont e quivalentes.

Voici une fonction


contractante n

fonction
Voici une te
contractanction

fon
ci une te
Voi tractan
con

Vo
con ici u
tra ne fo
cta n
n c

Voici une te tion


fon
contrac
tante ction

t
ici ac
Vo ontr
c

Vo
con ici
tra un

Definition 1.10. Soit (E, d) un espace metrique, soit f : E E une application, et soit k < 1 une constante. On dit que f est contractante de rapport k
si d( f (x), f (y)) kd(x, y) pour tout x, y E. Autrement dit, lapplication f
rapproche les points au moins de rapport k (toujours avec k < 1 fixe).

o
ncti
e fo
i un te on
Voictractan foncti
e te
con
un an

cta e fon
Voic
contri unente cti
actanfonct on
te ion

1.3. Fonctions contractantes. Souvent lequation a` resoudre se presente


(ou peut se reformuler) comme un probl`eme de point fixe f (x) = x. Cette approche se prete a` une vaste generalite qui sav`ere tr`es utile. Soulignons dabord
le caract`ere purement metrique :

Remarque 1.11. Soit I R un intervalle et soit f : I R une fonction derivable. On pose k := supI | f |.
Alors f est contractante si k < 1. Effectivement, pour tout x, y I le theor`eme des accroissements finis nous
assure quil existe entre x et y tel que f (x) f (y) = f ( )(x y), donc | f (x) f (y)| k|x y|.
Exercice 1.12. Prouver un crit`ere analogue pour f : I Rm sur une partie convexe I Rm .
Attention. Il ne suffit pas de supposer I Rm connexe. (Esquisser un contre-exemple.)

Exercice 1.13. Comme on a vu, la convergence dune suite xn vers un point x est une propriete topologique : elle
ne change pas lorsquon remplace la metrique d par une metrique e quivalente. Par contre la propriete dune fonction
2
2
detre contractante
la metrique.
 dependdesin
 En sinspirant de la figure ci-dessus, regardons la fonction affine f : R R
x + ( a ). Verifier que pour la metrique d cette application est contractante si et
donnee par f xy = k cos
y
2
b
sin cos
seulement si k < 1. Pour = 4 et k proche de 1, lapplication f nest pas contractante par rapport a` la metrique d1 , ni
par rapport a` la metrique d .

1.4. Le theor`eme du point fixe. Intuitivement, une fonction contractante f : E E se contracte sur
un point, lunique point fixe de f . Le but de ce paragraphe est justement detablir ce theor`eme, dit de point
fixe. Malheureusement lintuition trompe facilement : le point crucial est lexistence dun point fixe.
Exemple 1.14. Comme on a vu au chapitre XV, literation de la fonction f (x) = 21 (x + 2x ) permet dappro
cher la valeur de 2, lunique point fixe de f . Restreint a` lintervalle I = [1, +[ il sagit dune fonction
contractante car la derivee f (x) = 21 x12 est a` valeur dans [ 12 , 12 [.
Dans la pratique on ne calcule quavec des nombres rationnels, et sur E = [1, +[ Q la restriction
h = f |E : E E est toujours contractante. Mais, malheureusement, elle na plus de point fixe dans E : le
probl`eme est que lespace E contienne des trous , il nest pas ce que lon appelle complet.
MAE 22 juin 2009

314

Chapitre XVII Methodes iteratives pour la resolution dequations

Definition 1.15. Une suite (xn )nN dans un espace metrique (E, d) est dite de Cauchy si pour tout > 0 il
existe N N tel que d(xn , xm ) < pour tout n, m N.
Toute suite convergente
est de Cauchy mais la reciproque est fausse en general : regarder une suite
dans Q qui converge vers 2 R. On arrive ainsi a` la definition suivante :
Definition 1.16. Un espace metrique (E, d) est complet si toute suite de Cauchy converge.
Remarque 1.17. Lespace R avec la metrique usuelle est complet. Lespace Rm avec la metrique d p est
complet, quelque soit p [1, [. Il en est de meme pour tout sous-ensemble ferme. (Le montrer.) Par
exemple, tout intervalle ferme [a, b] R avec la metrique induite est un espace metrique complet. Par
contre Q R nest pas complet.
Les espaces metriques complets sont tr`es importants en analyse parce quils permettent de construire
certains objets comme limites de suites de Cauchy, lexistence e tant assuree par lhypoth`ese de completude.
En voici un exemple fondamental aussi bien pour la theorie que pour le calcul numerique :
Theor`eme 1.18 (le theor`eme du point fixe). Soit (E, d) un espace metrique complet et soit f : E E une
application contractante de rapport k < 1. Alors :
(1) Il existe un et un seul point a E verifiant f (a) = a.

(2) Pour tout x0 E la suite iterative xn+1 = f (xn ) converge vers a, verifiant d(xn , a) kn d(x0 , a).
La convergence est donc au moins aussi rapide que celle de la suite geometrique kn 0.
(3) Pour le calcul concret on a la majoration derreur d(xn , a)

k
1k d(xn , xn1 ).

Remarque. Pour le calcul concret on suppose, comme dans les exemples precedents, que lon sache
calculer xn+1 = f (xn ) a` partir de xn . Par contre on ignore typiquement la valeur limite a. Dans cette situation
k
d(xn , xn1 ) nous est tr`es utile car elle permet de majorer la distance de la valeur
linegalite d(xn , a) 1k
approchee xn a` la valeur inconnue a en fonction de xn et xn1 seulement. Contrairement a` d(xn , a), la
k
d(xn , xn1 ) est en general tr`es facile a` calculer.
quantite 1k
D E MONSTRATION . Unicite. Si a, b E sont deux points fixes dune fonction contractante de rapport k < 1, alors d(a, b) = d( f (a), f (b)) kd(a, b) entrane d(a, b) = 0 donc a = b.
Existence. Une recurrence facile montre d(xn+1 , xn ) kn d(x1 , x0 ) pour tout n N, puis
d(xn+p , xn ) d(xn+p , xn+p1) + + d(xn+2, xn+1 ) + d(xn+1, xn )
(k p1 + + k1 + k0 )d(xn+1 , xn )

kn
1k d(x1 , x0 )

pour tout n, p N. La suite (xn )nN est donc de Cauchy et converge puisque E est complet. Notons a sa
limite, et verifions quil sagit dun point fixe : lapplication f , e tant contractante, est continue. Lequation
de recurrence xn+1 = f (xn ) donne donc a = lim xn+1 = lim f (xn ) = f (lim xn ) = f (a).
Vitesse de convergence. On a d(xn , a) kn d(x0 , a), donc pour toute valeur initiale x0 E la suite
iterative xn+1 = f (xn ) converge vers le point fixe a. Pour estimer la distance de xn a` a, on a la majoration
k
d(xn , xn1 ). Le passage a` la limite p donne linegalite cherchee.

d(xn+p , xn ) 1k
Exemple 1.19. Dans notre exemple prefere la fonction f : [1, 2] [1, 2], f (x) = 21 (x + 2x ) est contractante
de rapport k = 21 . Le theor`eme affirme donc que pour toute valeur initiale x0 [1, 2] la suite iterative

xn+1 = f (xn ) converge vers lunique point fixe a = 2, et que |xn a| ( 21 )n |x0 a|. (La convergence est
n
en fait beaucoup plus rapide que celle de la suite geometrique 21 0, voir plus bas.)

Remarque 1.20. La majoration d(xn , a) kn d(x0 , a), donne log d(xn , a) logd(x0 , a)n log(k). Dans
le cas E = R le nombre de decimales exactes de xn comme approximation de a est donc minore par une
fonction affine de n. On parle dune convergence lineaire. On remarquera que la constante de contraction
k < 1 influence sensiblement la vitesse de convergence.
Exemple 1.21. Soulignons que la majoration d(xn , xn1 ) < nimplique pas forcement que d(xn , a) < .
k
: appliquons la condition darret |xn xn1 | < 104 a` literation de
Il faut tenir compte du facteur 1k
f : R R, f (x) = 0, 999999x et la valeur initiale x0 = 100. Cette fonction est contractante, mais seulement
tr`es faiblement : x0 = 100 et x1 = 99, 9999 sont proches, mais encore loin du point fixe a = 0.
MAE 22 juin 2009

1 La methode du point fixe

315

` titre davertisExemple 1.22. Pour appliquer le theor`eme il faut soigneusement verifier les hypoth`eses. A
sement, voici quelques exemples voisins o`u le theor`eme ne sapplique pas :
(1) f : [0, 1] R, f (x) = 1 + 21 x est contractante mais nadmet pas de point fixe. Pourquoi ?
(2) g : ]0, 1] ]0, 1], g(x) = 21 x est contractante mais nadmet pas de point fixe. Pourquoi ?

(3) Sur E = [1, 2] Q la fonction h(x) = 12 (x + 2x ) nadmet pas de point fixe. Pourquoi ?

1
(4) La fonction f : R R, f (x) = x + 1+e
erifie 0 < f (x) < 1. Est-elle contractante ? sur un
x v
compact [a, b] ? Admet-elle un point fixe ? Pourquoi le theor`eme ne sapplique-t-il pas ?

1.5. Quelques applications. Pour f (a) = a et | f (a)| < 1 nous avons vu quil existe un voisinage
V = [a , a + ] sur lequel la fonction f est contractante de rapport k = supV | f | < 1. Pour tout x V
nous avons | f (x) a| k|x a|, donc f (V ) V , et nous pouvons appliquer le theor`eme : pour tout x0 V
on a convergence xn a de vitesse (au moins) lineaire |xn a| kn |x0 a|.
Remarque 1.23. Dans la pratique, on se donne souvent une fonction f : R R. Il faut dabord expliciter
un ferme V R tel que f (V ) V et une constante k telle que supV | f | k < 1. Ceci correspond a` localiser
le point fixe a en explicitant un voisinage V qui soit suffisamment precis pour appliquer le theor`eme.
Plus la constante k est petite, plus la convergence kn 0 est rapide. Comme k est minoree par | f (a)|,
on a interet a` choisir plutot un petit voisinage V de a, si possible, afin de minimiser k.
Si supV | f | 1, alors on a choisi V trop grand et il faut recommencer avec un ferme mieux adapte. Si
lon sait davance que V ne contient pas de point fixe, ou si le point fixe a verifie | f (a)| 1, il est inutile
dinsister : le theor`eme ne pourra pas sappliquer.
Exemple 1.24. On se propose dapprocher lunique solution x R de lequation x = cos x.
Exercice preparatoire. Tracer sommairement le graphe de cos x afin de localiser la solution. (Il ny
a quune seule.) Determiner un intervalle [a, b] sur lequel le theor`eme du point fixe sapplique. Quelle
constante de contraction obtenez-vous ?
Calcul numerique. Le programme iter1.cc calcule la suite iterative xn+1 = cos xn a` partir de x0 = 0. La
suite converge numeriquement, mais cette observation empirique ne remplace pas lanalyse mathematique

precedente. Etant
donnee la constante de contraction k, le programme peut determiner la marge derreur
k
|x

x
|.
Ainsi
on it`ere jusqu`a la precision souhaitee, et on peut conclure que |xn x| .
n
n1
1k
Exercice 1.25. Encadrer les solutions reelles de lequation exp(x) = x3 a` 108 pr`es.
Indication. Reformuler le probl`eme sous forme de point fixe, f (x) = x. Tracer sommairement le graphe
de f ; il y a deux solutions. Les points fixes sont ils attractifs ou repulsifs ? Dans le cas attractif, appliquer
le theor`eme du point fixe. Dans le cas repulsif passer a` la fonction inverse f 1 .
Exercice/M 1.26. On se propose danalyser lapplication f : R2 R2 , f ( xx12 ) =

x1 + 23 x2 + 54
12 x1 +x22 + 43

Determiner les points fixes de f , puis calculer la derivee ( xfi ) dans ces points. Quelles sont les valeurs propres ?
j
Les points fixes sont-ils attractifs ? Soit x le point fixe non attractif de f . Montrer que f est localement inversible autour
de x, cest-`a-dire il existe un voisinage V de x tel que f |V : V U soit une bijection sur U := f (V ), et que linverse
g = f |V1 : U V soit une application continument derivable. Est-ce que le point fixe x est attractif pour g ?

Exercice/M 1.27. Quels sont les points fixes de lapplication f : R2+ R2+ , (x, y) 7 ( x+y
2 , xy) ? Ecrire un programme
n
qui calcule une valeur approchee de la limite limn f (x, y) et admirer la vitesse.
Remarque. La limite AGM(x, y) := lim f n (x, y) est un compromis astucieux, invente par Gauss, entre la moyenne

xy. Pour cette raison on appelle la valeur AGM(x, y) la moyenne


arithmetique x+y
2 et la moyenne geometrique
arithmetico-geometrique, ou arithmetic-geometric mean en anglais.
Quelques pistes de reflexion. Comment expliquer la convergence super-rapide ? La fonction f est-elle contractante ?
Est-ce que la suite iterative f n (x, y) converge pour tout (x, y) R2+ ? Dans quel sens est-ce que la fonction f contracte
vers la diagonale ? Pour un point (x, x) de la diagonale calculer la derivee dans la direction orthogonale (1, 1). Dans
quel sens la diagonale est-elle super-attractive ? (Voir la suite.)
MAE 22 juin 2009

316

Chapitre XVII Methodes iteratives pour la resolution dequations

2. La methode de Newton
2.1. Vitesse de convergence. Regardons a` nouveau la dynamique autour dun point fixe attractif : soit
: R R une fonction continument derivable, et soit a = (a) un point fixe verifiant | (a)| < 1. On a vu
que dans un voisinage V = [a , a + ], la fonction est contractante de rapport k = supV | | < 1, et pour
tout x0 V on a convergence lineaire : | n (x0 ) a| kn |x0 a|. Le cas (a) = 0 est particulier : quand
n (x0 ) approche a, la fonction contracte de plus en plus fortement, ce qui accel`ere la convergence :
Remarque 2.1. Soit : R R de classe C2 telle que (a) = a et (a) = 0. Soit V = [a , a + ] et
M := maxV | |. Dapr`es le developpement de Taylor, pour tout x il existe entre a et x tel que
1
(x) = (a) + (a)(x a) + ( )(x a)2.
2

Pour tout x0 V ceci implique | (x0 ) a| M2 |x0 a|2 . On conclut que pour toute valeur initiale x0 V
verifiant |x0 a| < M2 on a une convergence particuli`erement rapide :
2n
M n
M
.
2 | (x0 ) a| 2 |x0 a|

Ceci veut dire que le nombre de decimales exactes de xn = n (x0 ) comme approximation de a double a`
chaque iteration ! Cest cette convergence super-rapide qui fait de cette observation un outil tr`es puissant :
si vous avez calcule une approximation xn avec un e cart M2 |xn a| 21 pr`es, disons, literation suivante
ne laissera quun e cart 22 , celle dapr`es 24 , puis 28 , puis 216 , puis 232 etc.

Definition 2.2. Dans un espace metrique (E, d) soit (xn )nN une suite convergente de limite a. On note
en = d(xn , a) lecart entre xn et la limite cherchee a, et on suppose en > 0 pour tout n.
e

(1) On dit que la convergence est asymptotiquement (au moins) lineaire si lim sup n+1
en < 1.
Ceci e quivaut a` dire quil existe k < 1 et n0 N tels que en+1 ken pour tout n n0 .
Dans le cas E = R, le nombre de decimales exactes est minore par une fonction affine de n.
e

(2) On dit que la convergence est asymptotiquement (au moins) quadratique si lim sup n+1
< +.
e2n
Ceci e quivaut a` dire quil existe K R+ tel que en+1 Ke2n pour tout n N.
Dans le cas E = R, le nombre de decimales exactes double a` peu pr`es a` chaque iteration.
Exemple 2.3. Le theor`eme du point fixe promet une convergence lineaire. Nous avons vu la convergence
quadratique de la methode de Newton-Heron au chapitre XV, 3.1.

Proposition 2.4. Soit U Rm un ouvert et : U Rm une application de classe C2 . Si (a) = a et


(a) = 0 alors existe un voisinage V de a tel que |V soit contractante de rapport 12 . Par consequent :
(1) On a (V ) V et pour tout x0 V la suite iterative xn = n (x0 ) converge vers a.

(2) La vitesse de convergence est au moins lineaire, |xn a| 2n |x0 a|.

(3) Finalement la convergence devient quadratique, |xn+1 a|

M
2
2 |xn a| .

Exercice/M 2.5. Prouver cette proposition dans le cas Rm en generalisant les arguments donnes pour R.
(Cf. Demailly, IV.2.3.) Ce resultat motive la definition suivante :

Definition 2.6. Soit : Rm U Rm de classe C1 . Un point fixe a = (a) est super-attractif si (a) = 0.
Un voisinage V de a est dit newtonien pour sil satisfait aux conditions (1), (2), (3) ci-dessus.
2.2. Iteration de Newton. On cherche a` resoudre une e quation
f (x) = 0 dans Rm dont on connat une solution approchee xn . La
methode de Newton permet de transformer lequation f (x) = 0 en un
probl`eme de point fixe (x) = x. Son interet reside dans le fait que les
zeros de f deviennent des points fixes super-attractifs pour , ce qui
nous permettra des calculs extremement efficaces.
Au lieu dune approche purement metrique a` la methode du point
fixe, on veut tirer profit du calcul differentiel ! On approche donc la fonction f par la tangente en xn , cest-`a-dire t(x) := f (xn ) + f (xn )(x xn ).
Cest lapproximation de Taylor dordre 1.
MAE 22 juin 2009

x n+1 x n

2 La methode de Newton

317

Pour xn+1 on prendra lunique solution de lequation affine t(x) = 0, a` savoir xn+1 = xn f (xn )1 f (xn ).
Autrement dit, pour approcher les zeros de f on it`ere lapplication (x) = x f (x)1 f (x).
Theor`eme 2.7 (methode de Newton, version qualitative). Soit U Rm un ouvert et soit f : U Rm une
fonction de classe C2 telle que f (x) soit inversible pour tout x U. Alors la fonction : U Rm definie
par (x) = x f (x)1 f (x) est de classe C1 , les points fixes de sont exactement les zeros de f , et en tout
point fixe a = (a) la derivee sannule : (a) = 0.

Les zeros de f deviennent ainsi des points fixes super-attractifs de , comme souhaite, et dans un
voisinage convenable on a convergence quadratique :
Corollaire 2.8. Soit f : Rm U Rm une fonction de classe C3 et soit a U une racine simple de
f , cest-`a-dire f (a) = 0 a` derivee f (a) inversible. Alors il existe un rayon > 0 de sorte que la boule
B(a, ) = {x Rm | |x a| } soit contenue dans U et soit newtonienne pour .
Exercice/M 2.9. Prouver ce theor`eme et son corollaire (pour m = 1 si vous voulez simplifier). Quobtienton quand on lapplique a` f : R+ R, f (x) = xn a ? Pour quelles valeurs initiales x0 literation de Newton
converge-t-elle ? Comparer avec le resultat du chapitre XV, 3.1 : en quoi notre formulation du theor`eme
de Newton-Heron est-elle plus precise ou plus generale que le resultat qualitatif precedent ?

Heuristique : Si f (a) = 0 et lon dispose dune valeur initiale x0 a suffisamment proche


de a, alors literation de Newton xn = n (x0 ) converge tr`es rapidement vers a.

2.3. Exemples. En vue dune implementation sur ordinateur nous sous-entendons ici quil est raisonnablement facile devaluer f et f en xn , cest-`a-dire on sait implementer des approximations de f (xn ) et
de f (xn ) avec une precision et une efficacite satisfaisantes. Cest le cas pour tous nos exemples, mais pour
un probl`eme realiste cette e tape peut en elle-meme necessiter une analyse approfondie. Nous supposerons
ce probl`eme resolu par une biblioth`eque convenable.
Exemple 2.10. On reprend lequation cos(x) = x qui a e te resolue par le programme iter1.cc en utilisant
la methode du point fixe. Testez le programme iter2.cc qui resout cette e quation par la methode de
Newton, et admirez la vitesse de convergence.
Exercice/P 2.11. Si vous voulez, vous pouvez reprendre lequation exp(x) = x3 , resolue plus haut par la
methode du point fixe, et approcher ses deux solutions par la methode de Newton.
Remarque 2.12. Avant dappliquer la methode de Newton il faut bien verifier que lon est en presence
dun zero simple, cest-`a-dire f (a) = 0 mais f (a) inversible. Dans ce cas il existe un voisinage U tel que
f (x) reste inversible pour tout x U, et on peut appliquer le theor`eme precedent.
2.4. Bassin dattraction. La convergence de la methode de Newton nest assuree que pour une valeur
initiale proche dun zero. Nos resultats precedents motivent la definition suivante :
Definition 2.13 (Rayon de Newton). Soit f : Rm U Rm une fonction de classe C2 et soit a U une
racine simple de f , cest-`a-dire f (a) = 0 a` derivee f (a) inversible. Dans ce cas on appelle

a := sup{ R+ | la boule B(a, ) U est newtonienne pour }


le rayon de Newton de la racine a.
Remarque 2.14. Le corollaire 2.8 assure que a > 0 (pourvu que f est de classe C3 , mais C2 suffit dapr`es
le theor`eme 2.20 plus bas). Une fois on dispose dune valeur approchee x0 de la racine a a` une marge a
pr`es, on peut approcher a aussi precisement que lon le souhaite. Il suffit diterer la methode de Newton :
la convergence est assuree et on peut meme garantir une bonne vitesse de convergence !
Remarque 2.15. Comment majorer la marge derreur entre lapproximation calculee xn (mais erronee) et
la valeur exacte cherchee a (mais inconnue) ? La formulation ci-dessus fait semblant de connatre a, mais
dans la pratique on ignore la valeur exacte et on ne dispose que de la valeur approchee. Une fois on est sur
detre dans un voisinage newtonien, le theor`eme du point fixe nous dit que |xn a| |xn xn1 |.
MAE 22 juin 2009

318

Chapitre XVII Methodes iteratives pour la resolution dequations

Remarque 2.16. Dans un cours danalyse on se contente souvent de la formulation qualitative du theor`eme
2.7 donnee ci-dessus. Quant a` lapplication pratique avouons quelle laisse encore a` desirer :
(1) Comment determiner (ou au moins minorer) le rayon de Newton a dune racine a ? La formulation qualitative ne donne pas de reponse explicite, elle assure seulement que a > 0. Une version
quantitative sera donnee par le theor`eme 2.20 plus bas.
(2) Comment savoir pour une valeur initiale x0 si lon est dans le rayon de Newton dune racine a ?
Normalement on ne connat pas les racines, donc on veut un crit`ere en fonction de x0 seulement.
Un tel crit`ere sera donne par le theor`eme 2.25.
(3) Comment trouver une approximation initiale x0 telle que lon puisse garantir la convergence
rapide xn = n (x0 ) a ? Certes, il suffit de localiser la racine a a` a pr`es, mais comment faire ?
En general, partant juste de la fonction f sans aucune connaissance au prealable de ses racines,
cest un probl`eme delicat quil faut analyser au cas par cas.

Lalgorithme de Newton est une methode locale et non globale : il faut


de bonnes valeurs initiales pour assurer sa convergence et son efficacite.

` titre dexemple, analyser f : R R, f (x) = arctan(x) afin dillustrer la convergence ou


Exercice 2.17. A
divergence de la methode de Newton. Lunique zero est a = 0. Tracer le graphe de f et determiner pour
quelles valeurs initiales x0 literation de Newton n (x0 ) converge, puis pour lesquelles elle diverge. Que se
passe-t-il pour les cas critiques intermediaires ? (Lequation arctan(x) = 2x/(1 + x2 ) peut elle-meme e tre
resolue par la methode de Newton.) Construire ainsi une suite iterative de Newton qui converge, mais dont
la convergence est initialement aussi lente que lon veut. Determiner finalement le rayon de Newton a .
Exercice 2.18. Pour les fonctions unidimensionnelles f : R R il est tr`es commode de donner des crit`eres
geometriques de convergence pour de literation Newton xn = n (x0 ) :
(1) Supposons que f (a) = 0 ainsi que f > 0 et f 0 sur I = [a, a + ]. Alors (I) I et pour toute
valeur initiale x0 I on obtient une suite decroissante x0 x1 x2 . . . qui converge vers a.
(2) Supposons que f (a) = 0 ainsi que f > 0 et f 0 sur I = [a , a]. Alors (I) I et pour toute
valeur initiale x0 I on obtient une suite croissante x0 x1 x2 . . . qui converge vers a.

Dans les deux cas on obtient la majoration derreur



f (xn )

|xn a| .
f (a)

En particulier, pour f (a) > 0 et f (a) > 0 il suffit de commencer literation leg`erement a` droite de a afin
de garantir xn a. Pour f (a) > 0 et f (a) < 0 il suffit de commencer leg`erement a` gauche de a. La taille
exacte de lintervalle peut e tre determine en e tudiant f . Que faire dans le cas f (a) < 0 ? Dessin !
Exercice 2.19. On consid`ere la fonction polynomiale
f : R R,

f (x) = 3x3 10x2 4x + 8.

(1) Montrer que f admet trois racines reelles distinctes, que lon notera a, b, c R avec a < b < c.
Encadrer ces racines par trois intervalles de la forme ]k, k + 1[ avec k Z. Dans la suite on veut
appliquer la methode de Newton pour approcher les racines a, b, c avec plus de precision.
(2) Sur quels intervalles la fonction f est-elle croissante/decroissante ? Sur quels intervalles est-elle
concave/convexe ? En deduire une valeur initiale c0 Z pour laquelle vous pouvez garantir que
la methode de Newton donne une suite recurrente cn = n (c0 ) qui converge vers la racine c.
(Justifiez votre choix.) Meme question pour a0 tel que an a, puis b0 tel que bn b.
(3) Calculer les valeurs approchees a3 , b3 , c3 des trois racines a, b, c par la methode de Newton,
comme preparee ci-dessus, en effectuant 3 iterations pour chacune. Majorer lecart |a3 a|, |b3
b|, |c3 c|. Verifier les approximations en developpant f3 (x) = 3(x a3)(x b3)(x c3 ). Obtienton f (x) exactement ? Que se passe-t-il pour cinq puis dix iterations ?

(4) Exhiber une valeur initiale u0 pour laquelle la methode de Newton donne une suite (un )nN qui
ne converge pas. Pourquoi ceci ne met pas en cause le theor`eme 2.7 ?
MAE 22 juin 2009

2 La methode de Newton

319

2.5. Version quantitative. Le theor`eme 2.7 reste seulement qualitatif dans le sens quil nexplicite
pas de voisinage sur lequel il garantit une convergence. Les exercices precedents montrent des crit`eres
geometriques pour les fonctions convexes/concaves, ce qui fait intervenir f . Le theor`eme suivant donne
une version quantitative qui explicite un intervalle sur lequel on peut garantir la convergence :
Theor`eme 2.20 (methode de Newton, version quantitative). Soit f : R R de classe C2 . Supposons que
f (a) = 0 ainsi que | f | m > 0 et | f | M sur un intervalle I = [a , a + ] avec > 0. Nous posons
:= min( , m/M) et V := [a , a + ]. Alors pour toute valeur initiale x0 V la suite xn = n (x0 ) verifie
 2n 1
1
|xn a|
|x0 a|.
2
En particulier V est un voisinage newtonien de a dans le sens de la definition 2.6.
D E MONSTRATION . Par translation nous pouvons supposer que a = 0. Nous avons

xn+1 = (xn ) = xn f (xn )1 f (xn ) = f (xn )1 f (xn )xn f (xn ) .

Dautre part le developpement de Taylor en xn nous donne

0 = f (0) = f (xn ) f (xn )xn +

1
f (n )x2n
2

pour un n [0, xn ] convenable. De ces deux e quations on deduit


xn+1 =

1
f (xn )1 f (n ) x2n .
2

Avec | f | m > 0 et | f | M ceci donne


|xn+1 |
ou encore

M
M
2
2m |xn+1 | ( 2m |xn |) .

Par recurrence on obtient


M
|xn |
2m

Pour x0 V on a |x0 |

m
M,

M
|xn |2
2m

donc

M
2m |x0 |

2n
M
|x0 |
.
2m

21 . On conclut que |xn |

n
1 2 1
|x0 |.
2

Exercice/M 2.21. Verifier soigneusement le theor`eme precedent, puis essayer de formuler et de prouver
une version pour les fonctions complexes f : C C, ou plus generalement pour f : Rn Rn .
Exercice/M 2.22. La methode de Newton est assez universelle et sa convergence foudroyante en fait un outil omnipresent. En voici un exemple plus pousse, dapr`es Demailly, IV, qui sert pour linversion des matrices :
Soit A une alg`ebre unitaire normee sur R, par exemple les matrices carrees m m.

(a) Soit u A un e lement inversible. Determiner deux constantes , R de sorte que lapplication : A A,
(x) = x + xux, admette u1 comme point fixe super-attractif. Montrer que | (x)| 2|u| |x u1 |. En
1
deduire que la suite xn = n (x0 ) converge vers u1 pour tout x0 B(u1 , r) avec r < 2|u|
.

(b) On suppose desormais que A est compl`ete. (Cest automatique si A est de dimension finie.) En supposant
k
|v| < 1 montrer que u = 1 v est inversible et u1 =
k=0 v . En quoi la methode (a) est-elle plus efficace ?
Determiner un entier n N de sorte que la methode (a) converge pour x0 = 1 + v + + vn .
Pour resumer : quels sont les avantages et inconvenients des deux methodes (a) et (b) utilisees separement ? Quel
est linteret de les combiner ?

2.6. Crit`eres pratiques. La problematique de choisir de bonnes valeurs initiales pour la methode de
Newton reste dactualite. On peut se poser une question plus facile : e tant donne z0 , comment savoir si
literation de Newton zn = n (z0 ) convergera ? Le theor`eme 2.20 part de la racine a et minore son rayon de
Newton. Ceci nest souvent pas pratique car on ignore les racines encore a` trouver. Le crit`ere suivant, par
contre, part dune valeur initiale z0 donnee :
MAE 22 juin 2009

320

Chapitre XVII Methodes iteratives pour la resolution dequations

Theor`eme 2.23. Considerons une fonction analytique f : C U C avec son application de Newton
| f (z0 )|

(z) = z ff(z)
(z) . Soit z0 U une valeur initiale telle que f (z0 ) 6= 0 et f (z0 ) 6= 0, et soit r := | f (z0 )| le pas
initial dans literation de Newton. Supposons que la boule B(z0 , 2r) soit incluse dans U, et que
| f (z)| 1 | f (z0 )|

| f (z)|
8 | f (z0 )|

pour tout z B(z0 , 2r) =: V .

Alors |V est contractante de rapport 21 et verifie (V ) V . Par consequent f |V admet une unique racine
a V , et la suite iterative zn = n (z0 ) converge vers a. La convergence est quadratique comme explique
dans la proposition 2.4.
Remarque. Par hypoth`ese on a | (z0 ) z0 | = r. La premi`ere iteration reste donc
bien dans V = B(z0 , 2r), mais il faut encore controler les suivantes. Lidee est de
montrer que |V est contractante de rapport 12 , cest-`a-dire | (x) (y)| 12 |x y|
pour tout x, y V . Ceci entrane (V ) V , car pour tout z avec |z z0 | 2r on
trouve | (z) (z0 )| r et donc

z0

z1

| (z) z0 | | (z) (z0 )| + | (z0 ) z0| 2r.

D E MONSTRATION . Apr`es translation on peut supposer que z0 = 0. Par hypoth`ese f ne sannule pas
dans V = B(0, 2r), donc est definie sur V . Pour montrer que |V est contractante de rapport 12 on montrera

que sa derivee (z) = f (z) f (z)/ f (z)2 verifie | | 21 sur V . Etudions


le quotient u(z) = f (z)/ f (z) et

sa derivee u (z) = 1 u(z) f (z)/ f (z). On a |u(0)| = r et |u (z)| 1 + M|u(z)| avec M := supV

| f |
| f | .

Pour

tout R > r la fonction auxiliaire v : R R definie par v(t) = (R + M 1 ) exp(Mt) M 1 est croissante et
verifie v(0) > |u(0)| et v (t) = 1 + Mv(t). Ceci entrane que |u(z)| < v(|z|) pour tout z B(0, 2r). Sinon il
existerait z tel que |u(z)| = v(|z|) avec |z| minimal, et on arriverait a` la contradiction suivante :
Z z
Zz
Z z


|u(z)| |u(0)| |u(z) u(0)| = u ( ) d
|u ( )| d
1 + M|u( )| d
0

<

Z |z|
0

1 + Mv(t) dt =

Z |z|
0

v (t) dt = v(|z|) v(0) = |u(z)| v(0) < |u(z)| |u(0)|.

On en deduit que | (z)| M|u(z)| < Mv(2r) pour tout z B(0, 2r). Puisque cest valable pour tout R > r
on obtient | (z)| Mv(2r) dans le cas limite R = r. Il ne reste qu`a determiner M de sorte que Mv(2r) =
(Mr + 1) exp(2Mr) 1 21 . Le choix Mr = 18 convient, ce qui prouve le theor`eme.

Exercice 2.24. Verifier la preuve precedente, en particulier la majoration |u(z)| < v(|z|). Montrer que
lequation (x + 1) exp(2x) = 3/2 admet une unique solution x0 et verifier que x0 0.1381 > 18 = 0.125.
Le theor`eme precedent est un premier pas vers un crit`ere pratique, mais il nous demande encore
detudier f dans une boule B(z0 , 2r) afin de majorer la proportion | f (z)1 f (z)|. Le theor`eme suivant,
developpe par S. Smale, remplace cette e tude par des informations locales en z0 seulement, a` savoir les
derivees f (k) (z0 ) pour k N. Ces informations suffisent a` controler le comportement de f si f est un
polynome, ou plus generalement une fonction analytique :
Theor`eme 2.25 (S. Smale, 1986). Soit f : C C une fonction analytique. Pour que literation de la fonction (z) = z f (z)1 f (z) converge pour une valeur initiale z0 C il suffit que
s



(k) (z0 ) 1 f (z0 )
k1 f



sup
k! f (z0 ) 8 f (z0 ) .
k2

Dans ce cas f admet une unique racine a dans la boule B(z0 , 2r) o`u r := | f (z0 )/ f (z0 )| est le pas initial
n

dans literation de Newton, et la suite zn = n (z0 ) verifie |zn a| ( 12 )2 1 |z0 a|.

A noter que le theor`eme de Smale sappuie uniquement sur des estimations au point z0 donne, et que
ce crit`ere sapplique tr`es facilement aux polynomes f : il suffit de verifier la condition pour k = 2, . . . , n.
Pour une discussion detaillee voir le chapitre 8 intitule Newtons method du livre de L. Blum,
F. Cucker, M. Shub, S. Smale : Complexity and real computation, Springer, New York 1997.
MAE 22 juin 2009

3 Application aux polynomes complexes

321

3. Application aux polynomes complexes


En 1685 Wallis publia son livre nomme Alg`ebre dans lequel il decrit une methode inventee par Newton
pour la resolution dequations. Une version modifiee fut publiee par Raphson en 1690 ; cest la methode
qui est maintenant connue sous le nom de Newton ou de Newton-Raphson. Newton lui-meme avait discute
sa methode en 1669 et lavait illustree par lexemple X 3 2X 5 = 0. Continuons cette tradition vielle de
plus de 300 ans qui veut que tout e tudiant de methodes numeriques resolve cette venerable e quation :
Exercice/P 3.1. Appliquez la methode de Newton au polynome X 3 2X 5. Experimentez avec le programme newton1669.cc pour trouver les trois racines de ce polynome. Comme de nos jours ces calculs
ne coutent pas cher, vous pouvez facilement faire varier la valeur initiale z0 . Voyez-vous une correlation
entre le choix de z0 et le resultat obtenu ? et le nombre diterations ? Tester plusieurs cas o`u z0 est proche
dune racine, puis des cas o`u z0 en est loin . Apr`es plusieurs experiences reussies, regarder par exemple
z0 = 60, 61, 62, . . ., 70 afin de tester deliberement les limites de la methode.

Etant
donne un polynome P C[X] on peut appliquer literation de Newton (z) = z P (z)1 P(z) a` une
valeur initiale z0 C choisie au hasard, en esperant que
n (z0 ) convergera vers une racine de P. De mani`ere empirique, on constate que la plupart des choix initiaux
m`enent a` une racine. Une fois on sait localiser une racine,
la methode de Newton permet de calculer de tr`es bonnes
approximations au bout de quelques iterations seulement.
Sans connaissance prealable des racines, par contre, il
est difficile de deviner de bonnes valeurs initiales. Pour
une valeur initiale loin des racines il semble impossible
de predire vers quelle racine convergera literation. Linconvenient pratique est surtout que la convergence peut
e tre tr`es lente. Dans le pire des cas, certains choix naboutiront jamais : pour X 2 + 1 une valeur initiale z0 R ne
permet pas de trouver une des deux racines. (Pourquoi ?)
On peut samuser avec des graphiques suivantes : Le polynome P(z) = z3 1 poss`ede trois racines
complexes : 1, j et j2 . On souhaite visualiser la dynamique de lapplication (z) = z P (z)1 P(z). Pour
a {1, j, j2 } on veut representer graphiquement lensemble A(a) = {z0 C | n (z0 ) a}, dit bassin
dattraction . On peut e crire un programme representant les ensembles A(a) par trois couleurs distinctes
et utilisant une quatri`eme couleur pour lensemble des z0 C tels que la suite (zn ) ne semble pas
converger. Il existe des logiciels specialises pour ces graphiques dites fractales , comme fractint .
` titre davertissement, considerons le polynome p(z) = z3 2z + 2. La methode de Newton
Exemple 3.2. A
3
4
2 +12z
2z3 2
it`ere (z) = z z 3z2z+2
erivee est (z) = 6z9z412z
. Comme (0) = 1 et (1) = 0,
2 2 = 3z2 2 , dont la d
12z2 +4
on a un cycle de longueur 2. Ce cycle est super-attractif car (0) = 0 : tous les points dans un voisinage
de {0, 1} sont attires vers le cycle 0 1 0 1 . . . , et ne convergerons pas vers une racine de p. Ce
phenom`ene montre que lon ne peut pas esperer la convergence pour presque tout point initial.

3.1. Le theor`eme de Gauss-dAlembert. Soit K un corps et P K[X] un polynome de degre n. Pour


a K la division euclidienne donne P(X) = (X a)Q(X) + r avec Q K[X] et r K. Ceci veut dire que a
est une racine de P si et seulement si le facteur lineaire (X a) divise le polynome P.
Soit a1 K une racine de P. Par recurrence on trouve m1 1 tel que P(X) = (X a1 )m1 Q(X) et
Q(a1 ) 6= 0. On appelle m1 la multiplicite de la racine a1 . Si a1 , . . . , ak sont des racines distinctes de P
dans K alors P = (X a1 )m1 (X ak )mk Q(X) avec des multiplicites m1 , . . . , mk 1 et le polynome
restant Q K[X] ne sannule pas en a1 , . . . , ak . Puisque deg(P) = m1 + + mk + deg(Q), on conclut que
m1 + + mk n, et ce procede doit sarreter quand Q na plus aucune racine dans K :
Proposition 3.3. Sur un corps K tout polynome P K[X] de degre n admet au plus n racines.

MAE 22 juin 2009

322

Chapitre XVII Methodes iteratives pour la resolution dequations

Si P admet n racines a1 , a2 , . . . , an K (eventuellement avec repetitions) alors il se factorise comme


P = c (X a1)(X a2 ) (X an ).

Une telle factorisation en polynomes de degre 1 nest pas toujours possible : le polynome X 2 + 1 R[X]
par exemple nadmet aucune racine dans R. Sur C la situation est beaucoup meilleure :
Theor`eme 3.4 (de Gauss-dAlembert). Pour tout polynome P C[X] unitaire de degre n il existe des
nombres complexes a1 , a2 , . . . , an C tels que P = (X a1)(X a2) (X an).
On dit aussi que sur C tout polynome est scinde, ou quil se factorise en facteurs lineaires sur C.
Cette propriete est tellement importante en alg`ebre quon lui donne un nom : on dit que le corps C est
algebriquement clos. Ce superbe theor`eme est parfois appele le theor`eme fondamental de lalg`ebre
(bien que le corps C appartienne plutot a` lanalyse). Remarquons toutefois quil sagit dun pur resultat
dexistence. Il ne nous indique nullement comment trouver les racines. Reste le probl`eme pratique e vident :
e tant donne P, comment calculer ses racines ? Au moins deux approches se presentent :
Lapproche
algebrique. En degre 2 on peut calculer les racines de P = X 2 + aX + b par la formule

2
a 4b). De formules similaires existent en degre 3 (formule de Cardan) et degre 4 (formule de
Ferrari). Elles sont malheureusement assez complexes, et par consequent rarement utilisees.
Jusquau XIXe si`ecle des generalisations aux degres 5 furent cherchees en vain. Cest un des succ`es
spectaculaires de la theorie de Galois den montrer limpossibilite :
1
2 (a

Theor`eme 3.5 (N.H. Abel, 1824). Il nexiste pas de formule construite a` partir des operations arithmetiques
du corps C et des racines ni`emes qui resolve une e quation polynomiale generale de degre 5.

Sont resolubles par radicaux seulement certaines e quations particuli`eres, comme X n a = 0 pour un
exemple e vident. Lequation X 5 X + 1 = 0 par contre nest pas resoluble par radicaux. La theorie de
Galois e tablit le crit`ere general : une e quation est resoluble par radicaux si et seulement si le groupe de
Galois associe est resoluble.

Lapproche numerique. Etant


donne un polynome P C[X] il ne reste souvent que le recours aux

methodes numeriques pour localiser les racines. Evidemment


on ne peut en general pas esperer de tomber
sur les racines exactes, mais de bonnes valeurs approchees donnent dej`a des informations precieuses. Le
projet mettra en uvre une telle demarche.

3.2. Relation entre racines et coefficients. Intuitivement, les racines a1 , . . . , an C dun polynome
p(z) = zn + p1zn1 + + pn1z + pn varient continument en fonction des coefficients p1 , . . . , pn C. Cest
vrai mais pas si facile a` montrer. La proposition suivante donne une preuve dans le cas generique o`u
toutes les racines sont simples ; la situation est plus lisse et le resultat est plus fort :
Proposition 3.6. On consid`ere lapplication : Cn Cn qui associe a` n racines (a1 , . . . , an ) Cn les
coefficients (s1 , . . . , sn ) Cn du polynome
n

p(z) = (z ak ) =
k=1

(1)k sk znk .

k=0

On a s0 = 1 et les fonctions s1 , . . . , sn sont les fonctions symetriques e lementaires :


sk =

i1 <i2 <<ik

ai1 ai2 aik .


Lapplication est polynomiale, et = asij a pour determinant det = i< j (ai a j ). Par consequent
la derivee (a1 , . . . , an ) est inversible si et seulement si a1 , . . . , an sont distincts deux a` deux. Le theor`eme
dinversion locale implique que dans un voisinage dun polynome separable p (avec discriminant non nul)
les racines dependent de mani`ere C (meme analytiquement) des coefficients.

Remarque 3.7. Le carre (det )2 = i< j (ai a j )2 est appele le discriminant du polynome p. Cest un polynome
symetrique dans les ai et peut donc e tre exprime comme un polynome dans les coefficients s j . Il existe des methodes
efficaces, similaires a` lalgorithme dEuclide, qui permettent de calculer le discriminant dun polynome donne.
Exercice/M 3.8. Si vous vous interessez au calcul differentiel et/ou lalg`ebre, vous e tes vivement invite a` effectuer les
calculs e nonces ci-dessus et de profiter des outils utilises dans votre cours de calcul differentiel ou dalg`ebre.
MAE 22 juin 2009

3 Application aux polynomes complexes

323

3.3. Instabilite des racines mal conditionnees. Meme si les racines dependent continument des coefficients, on constate malheureusement un probl`eme damplification derreur : des petites perturbations
dans les coefficients peuvent entraner des grandes perturbations dans les racines. Dans la pratique ceci se
traduit a` nouveau en un phenom`ene dinstabilite numerique.
Exemple 3.9. Les racines de P(X) = X n 2bn sont faciles a` expliciter : ak = 2b exp(k 2 i/n) avec
k = 1, . . . , n. Si lon consid`ere le polynome voisin Q(X) = X n on trouve la racine 0 de multiplicite n. Un
changement dordre 2bn dans les coefficients entrane ici un changement dordre 2b dans les racines.
(Pensez par exemple a` b = 50 et n = 10.) Pour la pratique on retient la r`egle suivante :

Afin de calculer les racines dun polynome de degre n a` une precision de b bits,
il faut en general connatre les coefficients de p a` une precision de nb bits.

Exercice 3.10. Dans des implementations il est important de verifier la qualite des racines approchees
a1 , . . . , an en comparant P = (X a1 ) (X an) au polynome P donne au depart. Nous sommes contents
de notre factorisation si P et P sont proches. Est-ce un crit`ere valable ? Discuter cette verification.
Precisons nos observations de mani`ere qualitative : Soit P C[X] un polynome unitaire de degre n a`
racines distinctes a1 , . . . , an . En particulier P (ak ) 6= 0 en toute racine ak . On regarde le polynome perturbe
Pt = P + tQ, o`u t R et Q est un polynome de degre < n.
Supposons que a est une racine de P, cest-`a-dire P(a) = 0, et que at = a + (t) est la racine correspondante du polynome perturbe Pt , donc 0 = Pt (at ) = P(at ) + tQ(at ). La derivation par rapport a` t donne


Q(a)
d
donc
Pt (at )
0=
= P (a) (0) + Q(a)
(0) = .
dt
P (a)
t=0

Pour Q = X k on obtient ainsi (0) = ak /P (a) ; cest le taux de changement de la racine a quand on
perturbe le ki`eme coefficient du polynome P.
Pour une racine a avec |a| > 1 le maximum est atteint pour k = n 1 ; ce sont donc les plus hauts
coefficients qui influencent le plus les grandes racines.
Pour une racine a avec |a| < 1 le maximum est atteint pour k = 0 ; ce sont donc les plus bas coefficients qui influencent le plus les petites racines.

La sensibilite dune racine a aux perturbations des coefficients est amplifiee par
le facteur P (a)1 . Plus la derivee P (a) est proche de zero, plus la racine a est instable.

Le pire des cas arrive si m racines a1 , . . . , am sont tr`es proches, car dans ce cas P (ak ) 0. Dans la
limite on peut supposer quelles concident en une seule racine a de multiplicite m, et dans ce cas P (a) = 0.
Linstabilite dune telle situation a dej`a e te illustree dans lexemple 3.9.
Exercice 3.11. Verifiez ces constats de mani`ere empirique sur des exemples de votre choix. Pour les calculs vous pouvez utiliser un logiciel de votre choix, ou bien votre propre implementation issue du projet
suivant. Est-ce que des petits changements dans les coefficients peuvent entraner des grands changement
P) < ?
des racines ? Quest-ce que cela veut dire pour notre verification dist(P,
Exercice/M 3.12. Si le polynome P risque davoir de racines multiples, on calcule dabord Q = pgcd(P, P ) :
les racines de Q sont exactement les racines multiples de P, et P/Q nadmet que de racines simples. Cette
astuce peut considerablement faciliter le calcul des racines. Detailler cette approche algorithmiquement
pour P K[X] avec K = Q ou K = Q[i]. Quels probl`emes apparaissent pour K = R et K = C ?

MAE 22 juin 2009

Vous avez trouve par de long ennuis


ce que Newton trouva sans sortir de chez lui.
Voltaire (1694-1778)

PROJET XVII

Factorisation de polynomes complexes

1. Approche probabiliste
Nous nous proposons de developper un programme pour factoriser des polynomes complexes. Soit
P C[X] un polynome unitaire de degre n, donne sous la forme P(X) = X n + p1 X n1 + + pn1 X + pn
par ses coefficients p1 , . . . , pn C. Nous cherchons les racines a1 , a2 , . . . , an C telles que
P = (X a1)(X a2 ) (X an )
Le theor`eme de Gauss-dAlembert nous assure que ces nombres existent : sur C tout polynome se factorise
en facteurs lineaires. Il ne nous dit pas, par contre, comment les trouver.
Apr`es nos experiences on peut esperer que pour beaucoup de valeurs initiales z0 , la suite de Newton
n (z0 ) convergera vers une racine a. Ceci donne un procede probabiliste pour trouver une valeur approchee
dune des racines de P. Comment les trouver toutes ? On pourrait essayer differentes valeurs initiales z0 et
esperer de tomber par chance sur les autres racines. . .
Lidee suivante se rev`ele plus efficace : on met la premi`ere racine trouvee a1 en facteur, par une division
euclidienne P = (X a1 )Q1 , puis on recommence avec Q1 . De mani`ere iteree on calculera ainsi toutes les
racines de P. Vous trouverez les rudiments dune telle implementation dans le fichier newton.cc . Les
exercices suivants vous demandent de completer les fonctions qui manquent.
Remarque 1.1 (Propagation des erreurs darrondi). Afin dapprocher les racines de P une par une, la
fonction factoriser met en facteur les racines dej`a trouvees, P = (X a1 ) (X ak )Qk . Literation de
Newton produira (au moins probablement) une racine ak+1 de Qk ; sans erreurs darrondi, ce serait aussi
une racine de P. Malheureusement, nous ne disposons que de racines approchees a1 , . . . , ak , qui ne sont en
general pas de racines exactes ! Dej`a la premi`ere factorisation P = (X a1)Q 1 + r1 laissera donc un petit
reste r1 = P(a1 ) 6= 0. Les factorisations suivantes accumulent forcement de telles erreurs.
Par consequent il faut sattendre a` un polynome errone Q k , et une racine ak+1 de Q k peut seloigner
considerablement de la racine correspondante ak+1 de P. Neanmoins elle peut nous servir pour localiser
grossi`erement la vraie racine ak+1 de P. Pour augmenter la precision de ak+1 on reapplique donc literation
de Newton par rapport a` P (au lieu de Q k ). Cette deuxi`eme iteration convergera vite vers ak+1 pourvu
que ak+1 soit suffisamment proche. Cette approche en deux phases motive lintroduction des param`etres
localisation et affinage : le premier specifie le nombre diterations pour localiser une racine approchee de Q k , le deuxi`eme specifie le nombre diterations pour laffinage par rapport a` P.

2. Implementation
Exercice/P 2.1. Lisez attentivement le code dej`a implemente dans newton.cc et survoler le fichier auxi
liaire polynome.cc . Ecrire
une fonction diff qui implemente la derivation P 7 P .
Exercice/P 2.2. Pour mettre en facteur une racine approchee a,
implementer une fonction fact , qui effectue la division euclidienne P = (X a)Q
+ r, puis renvoie Q.

Exercice/P 2.3. Afin de verifier les racines approchees a1 , a2 , . . . , an , on comparera P au produit P =

(X a1 )(X a2 ) (X an). Ecrire


une fonction prod qui implemente ce calcul.
325

326

Projet XVII Factorisation de polynomes complexes

3. Tests empiriques
Exercice 3.1. Pour tester votre programme, appliquez-le a` quelques polynomes de votre choix, comme
le polynome X 3 2X 5 regarde ci-dessus. Sil vous manque didees, vous pouvez tester X n 1 dont
on connat toutes les racines e2i k/n , ou bien Pn = 1 + 2X + 3X 2 + + nX n1 + X n , pour n de plus en
plus grand. Quelles difficultes rencontrez-vous ? Peut-on tout de meme parvenir a` une factorisation en
augmentant les param`etres localisation et affinage ?
Experimenter avec ces param`etres pour mieux comprendre la problematique des arrondis :
(1) Sans affinage, jusqu`a quel degre les resultats sont-ils satisfaisants ?
(2) Pour P10 , P20 , P30 , disons, quels param`etres donnent de resultats satisfaisants ?
(3) Quand le degre crot, peut-on formuler une r`egle pour adapter les param`etres ?
(4) Arrive-t-on a` factoriser P50 ? puis P100 ? Quel est lobstacle ?
Exercice 3.2. Les types primitifs double et long double du C++ sont tr`es efficaces quant au temps
dexecution, mais ils imposent aussi de sev`eres restrictions (rappeler leur precision). Pour plus de precision
on calculera avec des nombres flottants en precision arbitraire, par exemple notre classe RReal faite maison. Pour ceci il suffit de remplacer la premi`ere ligne par
#include "rreal.cc"
// nombres flottants faits maison
using namespace Numeric; // acc`
es `
a lespace de noms Numeric
typedef RReal Flo;
// synonyme utilis
e dans la suite

Pour rassurer le compilateur les constantes litterales comme 2.0 sont a` e crire comme Flo(2.0) , et
de la meme mani`ere deventuelles conversions implicites ambigues sont a` rendre explicites. Avec cette
precaution, votre programme devrait compiler avec la classe RReal . Noublier pas loption -lgmpxx : on
utilise la biblioth`eque GMP. Mettez au point et testez cette nouvelle version de votre programme.
Exercice 3.3. Expliquer pourquoi on doit calculer les premi`eres racines avec une tr`es grande precision
si le degre n est grand. Supposons que lon veut calculer toutes les racines a` 20 decimales, soit 60 bits
environs, ou bien une precision a` demander a` lutilisateur. Comment adapter la precision durant les calculs
intermediaires afin dassurer la precision souhaitee dans les resultats finaux ? Explicitez une r`egle pratique,
implementez-l`a, et testez-l`a sur des polynomes de plus en plus grands. Arrive-t-on a` la precision souhaitee ?
Comment la verifier dune mani`ere convainquante ? Que dire du temps dexecution ?
4. La danse des racines
On peut joindre deux polynomes unitaires P0 et P1 de degre n par le chemin Pt = (1 t)P0 + tP1 parametre par t [0, 1]. Si lon connat une racine a0 de P0 on peut la suivre : puisque Pt change continument,
il existe un chemin [0, 1] C, t 7 at tel que Pt (at ) = 0 pour tout t [0, 1]. Nous allons tacitement supposer
que tout polynome intermediaire Pt est separable : dans ce cas la proposition 3.6 nous assure que la fonction
t 7 at est analytique en t.
Dans la pratique on pourra commencer par le polynome P0 = X n 1 dont on connat toutes les racines
(k)
a0 = e2i k/n . On subdivise lintervalle [0, 1] par 0 = t0 < t1 < < tN = 1. Les racines initiales at(k)
sont
0
,
on
peut
appliquer
la
m
e
thode
de
Newton
pour
le
connues. Ayant calcule les racines at(k)
du
polyn
o
me
P
t
j
j
convergera
rapidement
vers
polynome Pt j+1 : avec une subdivision suffisamment fine, la valeur initiale at(k)
j
de Pt j+1 . Apr`es N e tapes on arrive finalement au polynome P1 et toutes ses racines a(k)
la racine at(k)
1 .
j+1
Exercice/P 4.1. Si cette approche par homotopie vous interesse, vous pouvez limplementer en e tendant
votre programme. Experimenter avec la subdivision t j = Nj et la precision avec laquelle vous calculer. On
peut combiner cette approche avec le crit`ere du theor`eme 2.25 pour assurer la convergence. Ceci permet
dadapter la subdivision localement comme necessaire. (La seule difficulte est dassurer disc(Pt )2 > 0.)

MAE 22 juin 2009

Vous aimerez peut-être aussi