Sunteți pe pagina 1din 168

Introduction ` a lAnalyse Num erique

Ernst Hairer

Travaux Pratiques
en collaboration avec

Assyr Abdulle

Universit e de Gen` eve Section de math ematiques Case postale 240 CH-1211 Gen` eve 24

Octobre 2001

Table des mati` eres


I Int egration Num erique I.1 Formules de quadrature et leur ordre . I.2 Etude de lerreur . . . . . . . . . . . I.3 Superconvergence . . . . . . . . . . I.4 Polyn omes orthogonaux . . . . . . . I.5 Formules de quadrature de Gauss . . I.6 Un programme adaptatif TEGRAL I.7 Lepsilon-algorithme . . . . . . . . . I.8 Exercices . . . . . . . . . . . . . . . 1 1 4 9 10 13 16 19 21 25 25 28 33 36 39 44 46 51 54 57 58 59 61 65 66 69 74 75 77 79 83 84 86 88 91

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

II

Interpolation et Approximation II.1 Diff erences divis ees et formule de Newton . . . . . . . . . . . . . II.2 Erreur de linterpolation et polyn omes de Chebyshev . . . . . . . . II.3 Convergence de linterpolation . . . . . . . . . . . . . . . . . . . . II.4 Inuence des erreurs darrondi sur linterpolation . . . . . . . . . . II.5 Transformation de Fourier discr` ete et interpolation trigonom etrique II.6 Transformation de Fourier rapide (FFT) . . . . . . . . . . . . . . . II.7 Interpolation par fonctions spline . . . . . . . . . . . . . . . . . . II.8 Lerreur du spline . . . . . . . . . . . . . . . . . . . . . . . . . . . II.9 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

III Equations Diff erentielles Ordinaires III.1 Un exemple: probl` eme restreint a ` trois corps III.2 M ethodes de Runge-Kutta . . . . . . . . . . III.3 Construction de m ethodes dordre 4 . . . . . III.4 Un programme a ` pas variables . . . . . . . . III.5 Convergence des m ethodes de Runge-Kutta . III.6 M ethodes multipas (multistep methods) . . . III.7 Etude de lerreur locale . . . . . . . . . . . . III.8 Stabilit e. . . . . . . . . . . . . . . . . . . . III.9 Convergence des m ethodes multipas . . . . . III.10 Exercices . . . . . . . . . . . . . . . . . . . IV Syst` emes dEquations Lin eaires IV.1 Elimination de Gauss . . . . IV.2 Le choix du pivot . . . . . . IV.3 La condition dune matrice . IV.4 La stabilit e dun algorithme

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

IV.5 IV.6 IV.7 IV.8 IV.9 V

Lalgorithme de Cholesky . . . . . . . . . . . . . . . . Syst` emes surd etermin es m ethode des moindres carr es D ecomposition QR dune matrice . . . . . . . . . . . . Etude de lerreur de la m ethode des moindres carr es . . Exercices . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

94 96 97 100 106 111 111 116 118 120 122 125 129 133 133 135 137 140 145 147 147 148 149 149 151 152 154 156 157 160

Valeurs et Vecteurs Propres V.1 La condition du calcul des valeurs propres . . . . . . . . . . V.2 La m ethode de la puissance . . . . . . . . . . . . . . . . . V.3 Transformation sous forme de Hessenberg (ou tridiagonale) V.4 M ethode de bissection pour des matrices tridiagonales . . . V.5 Lit eration orthogonale . . . . . . . . . . . . . . . . . . . . V.6 L algorithme QR . . . . . . . . . . . . . . . . . . . . . . . V.7 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

VI M ethodes It eratives Equations Non Lin eaires VI.1 M ethode des approximations successives . VI.2 M ethodes it eratives pour syst` emes lin eaires VI.3 M ethode de Newton . . . . . . . . . . . . VI.4 M ethode de Gauss-Newton . . . . . . . . . VI.5 Exercices . . . . . . . . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

VII Travaux Pratiques VII.1 Introduction au FORTRAN 90 . . . . . . . . . . . . . . . . . . . . . . . . VII.2 Int egration par la r` egle du Trap` eze et Simpson . . . . . . . . . . . . . . . VII.3 Calcul de racines par la m ethode de la bissection . . . . . . . . . . . . . . VII.4 Wegral: programme dint egration dordre 8 . . . . . . . . . . . . . . . . . VII.5 Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VII.6 Interpolation et erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . VII.7 R esolution d equations diff erentielles et calcul de la trajectoire des plan` etes VII.8 D ecomposition LR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VII.9 D ecomposition QR et trajectoire dun ast ero de . . . . . . . . . . . . . . . VII.10 FORTRAN 90/95 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

Avant-propos Cette brochure est une revision des polycopi es distribu es pendant le cours Analyse Num erique (2 heures par semaine) donn e en 2000/2001. Elle est une version corrig ee des polycopi es distribu es en 1991/92. Durant des ann ees, ce cours a e t e donn e alternativement par Gerhard Wanner et par lauteur. Je remercie Gerhard pour avoir mis a ` ma disposition ses notes de cours (en particulier lexemple de la section VI.4). En ce lieu, jaimerais remercier Laurent Jay, Luc Rey-Bellet, St ephane Cirilli, Pierre Leone, Assyr Abdulle, Michael Hauth, mon ls Martin et des nombreux e tudiants soit pour leur aide dans la pr eparation des exercices soit pour la correction des erreurs (typographiques et math ematiques).

uvres g en erales sur lanalyse num erique


Il y a un grand assortiment de livres qui introduisent le sujet danalyse num erique (voir le rayon 65 a ` la biblioth` eque de la section de math ematiques avec plus de 400 livres). En voici quelques ref erences. Les num eros entre chrochets (p. ex. [MA 65/403]) vous permettent de trouver le livre facilement a ` la biblioth` eque.
K.E. Atkinson (1978): An Introduction to Numerical Analysis. John Wiley & Sons. [MA 65/142] W. Boehm & H. Pautzsch (1993): Numerical Methods. AK Peters. [Ma 65/332] G. Dahlquist & A. Bj orck (1969): Numeriska Metoder. CWK Gleerup, Bokfoerlag, Lund, Sweden. Traduction anglaise: Numerical Methods. Prentice-Hall, 1974. [MA 65/84] P. Deuhard & A. Hohmann (1993): Numerische Mathematik I. Eine algorithmisch orientierte Einf uhrung. Walter de Gruyter & Co. Traduction anglaise: Numerical analysis. A rst course in scientic computation. Walter de Gruyter & Co., 1995. [MA 65/301, MA 65/309] G. Evans (1995): Practical Numerical Analysis. John Wiley & Sons. [MA 65/374] W. Gautschi (1997): Numerical Analysis. An Introduction. Birkh auser. [MA 65/393] G. H ammerlin & K.-H. Hoffmann (1991): Numerische Mathematik. Zweite Auage. Springer. [MA 65/303] M.J. Maron (1982): Numerical analysis: a practical approach. Macmillan. W.H. Press, B.P. Flannery, S.A. Teukolsky & W.T. Vetterling (1986): Numerical Recipes (FORTRAN). The Art of Scientic Computing. Cambridge Univ. Press. [MA 65/239] J. Rappaz & M. Picasso (1998): Introduction a erique. Presses polytechniques et universitaires ` lanalyse num romandes. [MA 65/404] A. Quarteroni, R. Sacco & F. Saleri (2000): Numerical Mathematics. Springer. [MA 65/432] M. Schatzman (1991): Analyse num erique : cours et exercices pour la licence. Paris : InterEditions. [MA E188] H.R. Schwarz (1986): Numerische Mathematik. B.G. Teubner. [MA 65/249] G.W. Stewart (1996): Afternotes on Numerical Analysis. SIAM. [MA 65/389] J. Stoer & R. Bulirsch (1972): Einf uhrung in die Numerische Mathematik. Heidelberger Taschenb ucher, Springer. Traduction anglaise: Introduction to Numerical Analysis. Springer, 1980. [MA 65/48] Ch. Uberhuber (1995): Computer-Numerik 1 und 2. Springer.

Chapitre I Int egration Num erique


Etant donn e une fonction continue sur un intervalle born e

f : a; b] ! IR;
on cherche a ` calculer lint egrale

(0.1)

f (x) dx: (0.2) a Dans ce chapitre, nous allons pr esenter la th eorie des formules de quadrature (ordre, e tude de lerreur et de la convergence) et nous d evelopperons les id ees n ecessaires a ` l ecriture dun programme qui permette de calculer la valeur de (0.2) a ` une pr ecision donn ee, ceci pour nimporte quelle fonction f (x).
Bibliographie sur ce chapitre H. Brass (1977): Quadraturverfahren. Vandenhoeck & Ruprecht. [MA 65/124] P.J. Davis & P. Rabinowitz (1975): Methods of Numerical Integration. Academic Press, New York. H. Engels (1980): Numerical Quadrature and Cubature. Academic Press. G. Evans (1993): Practical Numerical Integration. John Wiley & Sons. [MA 65/336] V.I. Krylov (1959): Priblizhennoe Vychislenie Integralov. Goz. Izd. Fiz.-Mat. Lit., Moscow. Traduction anglaise: Approximate calculation of integrals. Macmillan, 1962. [MA 65/185] R. Piessens, E. de Doncker-Kapenga, C.W. Uberhuber & D.K. Kahaner (1983): QUADPACK. A Subroutine Package for Automatic Integration. Springer Series in Comput. Math., vol. 1. [MA 65/210] A.H. Stroud (1974): Numerical quadrature and Solution of Ordinary Differential Equations. Springer. [MA 65/89]

Zb

I.1 Formules de quadrature et leur ordre


La plupart des algorithmes num eriques proc` edent comme suit: on subdivise sous-intervalles (a = x0 < x1 < x2 < : : : < xN = b) et on utilise le fait que

a; b] en plusieurs
(1.1)

Zb
a

f (x) dx =

N X1 Z xj+1 j =0 xj

f (x) dx:

De cette mani` ere, on est ramen e au calcul de plusieurs int egrales pour lesquelles la longueur de lintervalle dint egration est relativement petite. Prenons une de ces int egrales et notons la longueur

Int egration Num erique

f (x)

a = x0 x1
de lintervalle par hj

x2

xj xj+1

xN = b

F IG . I.1 Une division dun intervalle en sous-intervalles

:= xj+1 xj . Un changement de variable nous donne alors

Z xj+1
xj

f (x) dx = hj

Z1
0

f (xj + thj ) dt:

Notons enn g (t) := f (xj + thj ). Il reste alors a ` calculer une approximation de

Z1
0

g(t) dt:

(1.2)

Exemples. 1. La formule du point milieu

Z1
0

g(t) dt g(1=2): g(0) + g(1) :

2. La formule du trap` eze

Z1
0

g(t) dt

1 2

Ces deux formules (point milieu et trap` eze) sont exactes si g (t) repr esente une droite (polyn ome de degr e 1). 3. On obtient la formule de Simpson si lon passe une parabole (polyn ome de degr e 2) par les trois points (0; g (0)), (1=2; g (1=2)), (1; g (1)) et si lon approche lint egrale (1.2) par laire sous la parabole:

Z1
0

g(t) dt

1 6

g(0) + 4g(1=2) + g(1) :

4. En g en eralisant cette id ee (passer un polyn ome de degr e s 1 par les s points e quidistants (i=(s 1); g(i=(s 1))), i = 0; : : : ; s 1), on obtient les formules de Newton-Cotes (Newton ees dans le tableau I.1. 1680, Cotes 1711). Pour s 7 ces formules sont donn D enition 1.1 Une formule de quadrature a ee par ` se tages est donn

Z1
0

g(t) dt

s X i=1

bi g(ci):

(1.3)

Les ci sont les nuds de la formule de quadrature et les bi en sont les poids.

Int egration Num erique

TAB . I.1 Formules de Newton-Cotes

s
2 3 4 5 6 7

ordre 2 4 4 6 6 8
1 2 1 6 1 8 7 90 19 288 41 840 1 2 4 6 3 8 32 90 75 288 216 840 1 6 3 8 12 90 50 288 27 840

poids bi

nom trap` eze Simpson

1 8 32 90 50 288 272 840 7 90 75 288 27 840 19 288 216 840 41 840

Newton Boole Weddle

D enition 1.2 On dit que lordre de la formule de quadrature (1.3) est p, si la formule est exacte pour tous les polyn omes de degr e p 1, c.-` a-d.,

Z1
0

g(t) dt =

s X i=1

bi g(ci)

pour

deg g p 1:

(1.4)

On voit que les formules du point milieu et du trap` eze sont dordre 2. La formule de NewtonCotes a `se tages a un ordre p s (par d enition). Th eor` eme 1.3 La formule de quadrature (1.3) a un ordre p si et seulement si

s X

1 1 bi cq i =q i=1

pour

q = 1; 2; : : : ; p:

(1.5)

D emonstration. La n ecessit e de (1.5) est une cons equence de (1.4) si lon pose g (t) = tq 1 . Pour en montrer la sufsance, on utilise le fait quun polyn ome de degr e p 1 est une combinaison liR P b g(c ) sont lin 1 p 1 n eaire de 1; t; : : : ; t et que lint egrale 0 g (t) dt ainsi que lexpression s eaires i=1 i i en g . En xant les nuds c1 ; : : : ; cs (distincts), la condition (1.5) avec p lin eaire pour b1 ; : : : ; bs

= s repr esente un syst` eme

0 10 1 0 1 1 1 1 ::: 1 b1 B C B B 1=2 C B c1 c2 : : : cs C B b2 C C B C B C B C B = B .. C : . . . . B C B C . . . . . . A@ . A @ . C @ . A 1 cs 1 : : : cs 1 cs bs 1=s 1 2 s

(1.6)

Comme la matrice dans (1.6) est inversible (matrice de Vandermonde), la r esolution de ce syst` eme nous donne une formule de quadrature dordre p = s. Si lon v erie les conditions (1.5) pour la formule de Simpson, on fait une observation int eressante. Par d enition, il est e vident que la condition (1.5) est satisfaite pour q = 1; 2; 3, mais on

4 remarque quelle satisfait aussi (1.5) pour q


1 6 1 6

Int egration Num erique

= 4:
3 4

03 + 04 +

4 6 4 6

1 2 1 2

+ +

1 6 1 6

13 = 14 =

1 4 5 24

6= :
1 5

Elle est donc dordre 4. Par cons equent, elle nest pas seulement exacte pour des polyn omes de degr e 2 mais aussi pour des polyn omes de degr e 3. Ceci est une propri et e g en erale dune formule sym etrique. m eme bi

0 c1 c2

c3

c4 c5 1

F IG . I.2 Coefcients et nuds dune formule de quadrature symetrique Th eor` eme 1.4 Une formule de quadrature sym etrique (ci = 1 cs+1 i , bi = bs+1 i pour tout i; voir la g. I.2) a toujours un ordre pair. C.-` a-d., si elle est exacte pour les polyn omes de degr e 2m 2, elle est automatiquement exacte pour les polyn omes de degr e 2m 1. D emonstration. Chaque polyn ome de degr e 2m e crit sous la forme

1 peut e tre (t 1=2)2m


1

g(t) = C (t 1=2)2m 1 + g1 (t) o` u g1 (t) est de degr e 2m 2. Il suft alors de montrer quune formule sym etrique est exacte pour (t 1=2)2m 1 . A cause de
la sym etrie de cette fonction, la valeur exacte vaut

ci

Z1
0

0:5 cs+1 i

(t 1=2)2m 1 dt = 0: 1=2)2m 1 = 0.

Pour une formule de quadrature sym etrique on a bi (ci 1=2)2m 1 + bs+1 i (cs+1 i R 1 Donc, lapproximation num erique de 0 (t 1=2)2m 1 dt est e galement z ero.

I.2 Etude de lerreur


An d etudier lerreur commise en approchant lint egrale par une formule de quadrature, commenc ons par une exp erience num erique : Prenons une fonction f (x), d enie sur a; b], divisons lintervalle en plusieurs sous-intervalles e quidistants (h = (b a)=N ) et appliquons une formule de quadrature du paragraphe pr ecedent. Ensuite, e tudions lerreur (en e chelle logarithmique)

err =

Zb
a

f (x) dx

N X1 j =0

s X i=1

bi f (xj + cih)

(2.1)

en fonction de fe (nombre d evaluations de la fonction f (x); on a fe = N (s 1) + 1 pour Newton-Cotes). Le nombre fe repr esente une mesure pour le travail (proportionnel au temps de

Int egration Num erique calcul sur un ordinateur). La g. I.3 montre les r esultats (pour N par les formules de Newton-Cotes pour les deux int egrales :

= 1; 2; 4; 8; 16; 32; : : :) obtenus cos(x) dx:

Z3
0
103

cos(x) exp(sin(x)) dx

et
103

Z2
0

fe
102 102

fe

101

101

erreur
100 103

erreur
100 103

trap` eze (ordre 2) Simpson (ordre 4) Newton (ordre 4)

106

109

1012

Boole (ordre 6) s = 6 (ordre 6) Weddle (ordre 8)

106

109

1012

F IG . I.3 Le travail fe en fonction de lerreur pour les formules de Newton-Cotes En e tudiant les r esultats de la g. I.3, nous constatons que : log10 (fe) d epend lin eairement du nombre de chiffres exacts, donn e par log10 (err ); la pente de chaque droite est 1=p (o` u p est lordre de la formule); pour un travail e quivalent, les formules avec un ordre e lev e ont une meilleure pr ecision. Explication des r esultats de la g. I.3. Etudions dabord lerreur faite sur un sous-intervalle de longueur h

E (f; x0 ; h) =

bi f (x0 + cih) Z1 s X = h f (x0 + th) dt bi f (x0 + cih) :


x0 i=1
0

Z x0+h

f (x) dx h

s X

(2.2)

i=1

erentiable, on peut remplacer f (x0 + th) et f (x0 + ci h) par les En supposant f sufsamment diff s eries de Taylor (d evelopp ees autour de x0 ), et on obtient ainsi

s X hq+1 Z 1 q X q (q) E (f; x0 ; h) = t dt b i ci f (x0 ) 0 i=1 q 0 q! (2.3) s p +1 X h 1 p (p) p+2 = p! p + 1 i=1 bici f (x0 ) + O(h ) (ici, on a bien suppos e que la formule de quadrature ait lordre p mais pas lordre p + 1). La constante s X 1 1 C = p! p + 1 bi cp (2.4) i i=1

Int egration Num erique

sappelle constante de lerreur. Supposons que h soit petit de mani` ere a ` ce que le terme O (hp+2 ) dans (2.3) soit n egligeable par rapport au terme Chp+1 , alors on obtient

err =

N X1 j =0

E (f; xj ; h)

Chp

N X1 j =0

hf (p) (x

j)

Zb p Ch f (p)(x) dx = Chp a

f (p 1)(b) f (p 1) (a) : C1 hp
(2.5)

Cette formule nous permet de mieux comprendre les r esultats de la g. I.3. Comme err et fe C2 =h, nous avons

log10 (err)

log10 (C1) p log10 (h) Const + p log10 (fe): log10 (err), et aussi le fait que la pente soit

Ceci montre la d ependance lin eaire entre log10 (fe) et de 1=p.

Estimation rigoureuse de lerreur. Notre but suivant est de trouver une estimation exacte de lerreur dune formule de quadrature. Une telle estimation nous permettra de d emontrer des th eor` emes de convergence et assurera une certaine pr ecision du r esultat num erique. Th eor` eme 2.1 Consid erons une formule de quadrature dordre p et un entier k satisfaisant k Si f : x0 ; x0 + h] ! IR est k fois contin ument diff erentiable, lerreur (2.2) v erie

p.
(2.6)

E (f; x0 ; h) = hk+1
e par o` u Nk ( ), le noyau de Peano, est donn

Z1
0

Nk ( )f (k) (x0 + h) d
k := ( )0

k (1 ) Nk ( ) = k!

s (c k 1 X ) i + bi (k 1)! i=1

o` u

1 )k +

1 si si

> 0, 0.

D emonstration. Nous introduisons la s erie de Taylor avec reste 1

f (x0 + th) =

k 1 (th)j X j =0

(j ) k j ! f (x0 ) + h

Z t (t
0

)k 1 f (k)(x + h) d 0 (k 1)!

(2.7)

dans la formule (2.2) pour E (f; x0 ; h). En utilisant

Zt
0

(t

)k 1 g (

)d =

Z1
0

(t

1 )k + g( ) d

et le fait que la partie polynomiale de (2.7) ne donne pas de contribution a ` lerreur (` a cause de p k), nous obtenons

Z1 k +1 E (f; x0 ; h) = h 0

Z 1 (t
0

s 1 1 )k )k + dt X b (ci + f (k) (x + h) d : i 0 (k 1)! (k 1)! i=1

Une e valuation de lint egrale int erieure donne le r esultat.


1: voir le paragraphe III.7 du livre de E. Hairer & G. Wanner (1995), Analysis by Its History. Undergraduate Texts in Mathematics, Springer.

Int egration Num erique

Th eor` eme 2.2 (Propri et es du noyau de Peano) Consid erons une formule de quadrature dordre p et un nombre k satisfaisant 1 k p. Alors, on a: 0 ( ) = Nk 1 ( ) pour k 2 (pour 6= ci si k = 2); a) Nk b) Nk (1) = 0 pour k 1 si ci 1 (i = 1; : : : ; s); c) Nk (0) = 0 pour k 2 si ci 0 (i = 1; : : : ; s); Z1 s X 1 1 b cp = C (constante de lerreur (2.4)); d) Np( ) d = p ! p + 1 i=1 i i 0 e) N1 ( ) est lin eaire par morceaux, de pente 1 et avec des sauts de hauteur bi aux points ci (i = 1; : : : ; s).

c1 b1

c2

b2

c3 b3

c4

b4

F IG . I.4 Le noyau de Peano N1 (

) dune formule de quadrature

Les noyaux de Peano pour la formule du point milieu sont

2 1=2 N2( ) = (1 =2 )2 =2 si si 1=2 (voir la g. I.5). Pour la formule de Newton-Cotes (s = 5), ils sont dessin es dans la g. I.6.

N1( ) = 1

si si

< 1=2 1=2

N1( )

N2 ( )

F IG . I.5 Noyaux de Peano pour la formule du point milieu Gr ace au r esultat du th eor` eme pr ec edent, on peut facilement estimer lerreur pour lintervalle entier a; b]. Pour une division arbitraire ( equidistante ou non; hj = xj +1 xj ), notons lerreur par

bif (xj + cihj ): (2.8) j =0 i=1 Th eor` eme 2.3 Soit f : a; b] ! IR k fois contin ument diff erentiable et soit lordre de la formule de quadrature e gal a ` p (p k). Alors, lerreur (2.8) admet lestimation
a

err =

Zb

f (x) dx

N X1

hj

s X

jerrj
o` u

hk

(b a)

Z1
0

h = maxj hj .

jNk ( )j d xmax jf (k)(x)j 2 a;b]

(2.9)

Int egration Num erique

N1( )

N2 ( )

N3( )

N4( )

N5 ( )

N6( )

F IG . I.6 Noyaux de Peano pour la formule de Newton-Cotes avec s = 5 D emonstration. La formule (2.6) donne

jE (f; x0 ; h)j hk+1


hk+1
N X1 j =0

Z1 Z01
0

jNk ( )j jf (k)(x0 + h)j d jNk ( )j d


Z1
0

x2 x0 ;x0 +h]

max jf (k)(x)j:

Comme lerreur (2.8) est la somme des erreurs sur les sous-intervalles de la division, on obtient

jerrj

jE (f; xj ; hj )j

N X1 j =0

+1 hk j | {z } hk hj

jNk ( )j d

x2 xj ;xj+1 ]

max jf (k)(x)j

ce qui montre lassertion (2.9), car

PN 1 h = b a. j =0 j
1 24

{z } ( k ) max jf (x)j x2 a;b]

Exemples. Pour la formule du point milieu, on a

jerrj h2 (b a)
pour la formule du trap` eze

x2 a;b]

max jf 00(x)j;

jerrj h2 (b a)
pour la formule de Simpson

1 12

x2 a;b]

max jf 00(x)j;

jerrj h4 (b a)
pour la formule de Newton-Cotes (s = 5)

1 2880

x2 a;b]

max jf (4)(x)j;

jerrj h6 (b a)

1 1935360

x2 a;b]

max jf (6) (x)j:

Int egration Num erique

R Le calcul de 01 jNp ( )j d pour ces formules nest pas difcile. Consid erons par exemple la formule de Newton-Cotes (s = 5). On constate que N6 ( ) ne change pas de signe sur 0; 1] (voir g. I.6) et on utilise la propri et e (d) du th eor` eme 2.2. Ceci donne Z1
0

jN6( )j d =

Z1
0

N6 ( ) d =

1 6!

1 7

32 90

1 4

12 90

1 2

32 90

3 4

+ 16 =
7 90

1 1935360

I.3 Superconvergence
Si lon xe les nuds c1 ; : : : ; cs (distincts), il existe une unique formule de quadrature (bi ; ci ) ayant un ordre p s. On obtient les poids bi soit par la r esolution du syst` eme lin eaire (1.6), soit par la formule de lexercice 1. Question. Y a-t-il un choix particulier des ci permettant davoir un ordre sup erieur? Th eor` eme 3.1 Soit (bi ; ci )s i=1 une formule de quadrature dordre p

s et soit
(3.1)

M (t) = (t c1) : : : (t cs):


Alors, lordre est

Z1
0

s + m si et seulement si
pour tout polyn ome g (t) de degr e

M (t)g(t) dt = 0

m 1.

(3.2)

D emonstration. Soit f (t) un polyn ome de degr es+m diviser f (t) par M (t) et d ecrire f (t) sous la forme

1. Lid ee, due a ` Jacobi (1826), est de

f (t) = M (t)g(t) + r(t)


o` u deg r

s 1 et deg g m 1. Alors, lint egrale exacte et lapproximation num erique satisfont Z1 Z1 Z1 f (t) dt = M (t)g(t) dt + r(t) dt 0 0 0 s s s X X X bi f (ci) = bi M ( c ) g ( c ) + bi r(ci): i i i=1 i=1 | {z } i=1 =0 Comme la formule de quadrature R est exacte pour r (t) (lordre est s par hypoth` ese), elle est 1 exacte pour f (t) si et seulement si 0 M (t)g (t) dt = 0.
Exemple 3.2 Pour quune formule de quadrature a `s=3e tages ait un ordre

0=

Z1
0

4, il faut que
1 2

(t c1 )(t c2)(t c3) dt =

1 4

(c1 + c2 + c3 ) + (c1 c2 + c1 c3 + c2 c3)


1 3

c1 c2c3;

ce qui est e quivalent a `

Corollaire 3.3

4 (c1 + c2)=3 + c1c2 =2 : c3 = 1= 1=3 (c1 + c2 )=2 + c1 c2 Si p est lordre dune formule de quadrature a ` se tages, alors

p 2s:

(3.3)

10

Int egration Num erique

D emonstration. Supposons, par labsurde, que lordre satisfasse p 2s + 1. Alors, lint egrale dans (3.2) est nulle pour tout polyn ome g (t) de degr e s. Ceci contredit le fait que

Z1
0

M (t)M (t) dt =

Z1
0

(t c1)2 : : : (t cs)2 dt > 0:

Pour construire une formule de quadrature dordre 2s (si elle existe), il faut trouver un polyn ome M (t) de degr e s qui satisfasse (3.2) avec m = s. Ceci peut e tre r ealis ea ` laide de polyn omes orthogonaux, car la condition (3.2) signie que M (t) est orthogonal a ` tous les polyn omes de degr e R 1 m 1 pour le produit scalaire hf; gi = 0 f (t)g(t) dt.

I.4 Polyn omes orthogonaux


Nous nous mettons dans une situation un peu plus g en erale. Consid erons une fonction de poids ! : (a; b) ! IR qui satisfasse les deux propri et es suivantes:

Zb
a

!(t) > 0 !(t)jtjk dt < 1

pour pour

t 2 (a; b) k = 0; 1; 2; : : :

(4.1) (4.2)

Des exemples typiques sont ! (t) = 1 sur un intervalle born e, ou ! (t) = 1= 1 t2 sur ( 1; 1), ou ! (t) = e t sur (0; 1). Sur lensemble des polyn omes (` a coefcients r eels), nous d enissons un produit scalaire par

hf; gi =

Zb
a

!(t)f (t)g(t) dt:

(4.3)

Les propri et es du produit scalaire (bilin earit e, sym etrie et positivit e) sont faciles a ` v erier. A laide de ce produit scalaire, on peut parler dorthogonalit e. On dit que

est orthogonal a `

()

hf; gi = 0:

(4.4)

Th eor` eme 4.1 (existence et unicit e des polyn omes orthogonaux) Il existe une suite de polyn omes p0; p1; p2 ; : : : telle que

pk (t) = tk + hpk ; gi = 0

polyn ome de degr ek 1 pour tout polyn ome de degr e

k 1:

(normalisation) (orthogonalit e)

Ces polyn omes sont uniques et ils satisfont la formule de r ecurrence

pk+1(t) = (t p 1(t) = 0;
k ; pk i = hhtp p ;p i ; k k

2 k+1 ) pk (t) k+1 pk 1 (t) p0(t) = 1

(4.5)

o` u les coefcients k+1 , k+1 sont donn es par

k+1

2 k+1 =

hpk ; pk i : hpk 1; pk 1i

(4.6)

Int egration Num erique

11

TAB . I.2 Polyn omes orthogonaux

(a; b) !(t) Pk (t) ( 1; 1) 1 p 2 Tk (t) ( 1; 1) 1= 1 t Pk( ; )(t) ( 1; 1) (1 t) (1 + t) L(k ) (t) (0; 1) tet Hk (t) ( 1; 1) e t2
notation

nom Legendre

normalisation

Pk (1) = 1 Chebyshev Tk (1) = 1 ( ; ) Jacobi, ; > 1 Pk (1) = k+ k ( ) k + Laguerre, > 1 Lk (0) = k


Hermite

D emonstration. (Orthogonalisation de Gram-Schmidt). Le polyn ome p0 (t) = 1 satisfait les deux propri et es demand ees. Supposons, par r ecurrence, quon connaisse d ej` a p0 ; p1 ; : : : ; pk et construisons le polyn ome pk+1 . La normalisation choisie implique que pk+1 (t) tpk (t) soit un polyn ome de degr e k , et on a k X pk+1(t) = tpk (t) + (4.7) j pj (t); j =0 car chaque polyn ome de degr e k peut e tre e crit comme une combinaison lin eaire de p0 ; p1 ; : : : ; pk . Il reste a ` montrer que lorthogonalit e d etermine uniquement les j . Le produit scalaire de la formule (4.7) avec pk donne

0 = hpk+1; pk i = htpk ; pk i + k hpk ; pk i: Cette relation nous permet de calculer k ; on obtient k = k+1 avec Ensuite, nous prenons le produit scalaire de (4.7) avec pk 1 : 0 = hpk+1; pk 1i = htpk ; pk 1i + Nous reformulons htpk ; pk 1 i comme suit
k 1 hpk 1 ; pk 1i:

eni dans (4.6). k+1 d (4.8)

htpk ; pk 1i = hpk ; tpk 1i = hpk ; pk +


et nous ins erons (4.9) dans (4.8) pour obtenir k 1 scalaire de (4.7) avec pi o` u i 2 f0; 1; : : : ; k 2g

pol. de degr ek

1i = hpk ; pk i;

(4.9)

2 k+1. Finalement, nous prenons le produit

et nous en d eduisons que r ecurrence (4.5). Cette construction des i ne nous laisse pas dautre choix, do` u lunicit e de pk+1 (t).

0 = hpk+1; pii = h ; pii |tpk {z } + ihpi; pii hpk ; tpii = 0 ees, la formule (4.7) devient la i = 0. Avec les valeurs de i ainsi trouv

Les fonctions de poids et les intervalles consid er es pour quelques polyn omes orthogonaux importants sont pr esent es dans le tableau I.2. Souvent, on utilise une autre normalisation (voir derni` ere colonne) que celle du th eor` eme 4.1. Les polyn omes du th eor` eme 4.1 vont jouer le r ole de M (t) dans (3.2). Nous sommes fort int eress es a ` trouver de tels polyn omes ayant uniquement des racines r eelles.

12

Int egration Num erique

Th eor` eme 4.2 Soit pk (t) un polyn ome de degr e k orthogonal a omes de degr ek ` tous les polyn Alors, toutes les racines de pk (t) sont r eelles, simples et dans lintervalle ouvert (a; b).

1.

eelles, dans (a; b) et o` u pk (t) D emonstration. Notons par t1 ; : : : ; tr les racines de pk (t) qui sont r change de signe (voir la g. I.7).

pk (t) a t1 t2 b

g(t)

F IG . I.7 Illustration de la d emonstration du th eor` eme 4.2 Le but est de montrer r = k . Supposons, par labsurde, que r < k . Avec le polyn ome g (t) = (t t1 ) : : : (t tr ) de degr e r < k, on a

0 6=

Zb
a

! (t) |{z} >0

ne change pas de signe sur (a; b)

pk (t) | {z g(t) }

dt = hpk ; gi = 0;

do` u la contradiction.

Th eor` eme 4.3 (formule de Rodrigues) Les polyn omes orthogonaux du th eor` eme 4.1 satisfont

dk !(t)(t a)k (b t)k ; pk (t) = Ck !1 (t) dtk


si la partie droite de (4.10) est un polyn ome de degr e k. La constante normalisation de pk .

(4.10)

Ck est d etermin ee par la

D emonstration. Soit g (t) un polyn ome de degr e k 1. Il suft de montrer que le polyn ome, d eni par (4.10), satisfait hpk ; g i = 0. Plusieurs int egrations par parties donnent

hpk ; gi = Ck

dk : : : g(t) dt !(t) !1 (t) dtk a Z b dk 1 k 1 b d = Ck dtk 1 : : : g(t) a Ck dtk 1 : : : g0(t) dt a | {z } =0 Z b = : : : = ( 1)k Ck : : : g(k)(t) dt = 0;
a

Zb

ce qui montre lafrmation.

Int egration Num erique

13

Polyn omes de Legendre Pk (t). On consid` ere lintervalle ( 1; 1) et la fonction de poids ! (t) = 1. Au lieu de supposer que le coefcient le plus haut de Pk (t) soit 1 (voir le th eor` eme 4.1), on demande que Pk (1) = 1 (voir le tableau I.2). Comme

dk (1 + t)k (1 t)k k k! 2k ; = ( 1) k t =1 dt la formule (4.10) pour t = 1 donne 1 = Ck ( 1)k k ! 2k . Par cons equent, les polyn omes de
Legendre sont donn es par

1)k dk (1 + t)k (1 t)k : Pk (t) = ( k! 2k dtk


Les premiers de ces polyn omes sont

(4.11)

P0(t) = 1;

P1(t) = t;

P2(t) = t2
3 2

1 2

P3(t) = t3
5 2

3 2

t:

(4.12)

Ils sont dessin es dans la g. I.8.

P3(t)

P1(t) P4(t) P5(t)

P2(t)
F IG . I.8 Polyn omes de Legendre Une cons equence de (1 + t)k (1

t)k = (1 t2)k est que


si k est pair si k est impair. (4.13)

Pk (t) = Pk ( t) Pk (t) = Pk ( t)

I.5 Formules de quadrature de Gauss


Dans ce paragraphe, nous construisons des formules de quadrature avec un ordre p = 2s. Selon le th eor` eme 4.1, il existe un unique polyn ome M (t) de degr e s qui soit orthogonal a ` tous les polyn omes de degr e s 1, c.-` a-d.,

Z1
0

M (t)g(t) dt = 0

si deg g

s 1:
(5.1)

Ce polyn ome est donn e par

M (t) = C Ps(2t 1);

14
` me polyn o` u Ps(x) est le se ome de Legendre, car

Int egration Num erique

Z1
0

Ps(2t 1)g(t) dt =

1 2

Z1
1

Ps(x)g((x + 1)=2) dx = 0:

Toutes les racines de Ps (2t 1) sont r eelles et situ ees dans lintervalle (0; 1) (th eor` eme 4.2). Alors, le th eor` eme 3.1 nous donne le r esultat suivant. Th eor` eme 5.1 Il existe une formule de quadrature unique dordre 2s. Elle est donn ee par: c1 ; : : : ; cs sont les racines de Ps(2t 1); b1 ; : : : ; bs sont donn es par (1.6). Exemple 5.2 (formules de Gauss) Les formules de quadrature du th eor` eme pr ec edent sappellent formules de Gauss. Pour de petites valeurs de s, elles sont faciles a ` obtenir: il suft de calculer les racines de (4.12) et de r esoudre le syst` eme (1.6) tout en exploitant la sym etrie de la formule. Pour s 3, on obtient ainsi:

s=1: s=2: s=3:

Z1 Z0
1 1

g(t) dt g(t) dt g(t) dt

g
1 2

1 2

Z0
0

g g

1 2 1 2

(formule du point milieu)


3

5 18

+ g
1 2 8

1 2

+
1 2

15

10

+ g
18

+ g +
5 1 18 2

15

10

Si s est grand (disons s 10), le calcul exact des racines de Ps (x) nest pas toujours possible et la r esolution exacte du syst` eme (1.6) peut poser des probl` emes. D ecrivons alors leur calcul pratique. Calcul de nuds. En utilisant la formule de r ecurrence

(k + 1) Pk+1(x) = (2k + 1) x Pk (x) k Pk 1(x);

(5.2)

(exercice 11) on peut facilement calculer la valeur de Ps (x) pour un x donn e. Le calcul des racines ome Ps (x) peut alors e tre fait par bissection (voir exercice??? 12), et on obtient 1 ; : : : ; s du polyn les nuds de la formule de Gauss a ` laide de ci = (1 + i )=2. Calcul de poids. Au lieu de r esoudre le syst` eme (1.6), on peut aussi utiliser la formule explicite

bi =

(1

1 1 i2 ; = 2 2 0 s2 (Ps 1( i))2 i )(Ps( i ))

(5.3)

qui est donn ee ici sans d emonstration 2. La deuxi` eme identit e de (5.3) est une cons equence de lexercice 11. Th eor` eme 5.3 Une formule de quadrature a lordre p si les nuds c1 ; : : : ; cs sont les racines de

2s k (avec 1 k

s) si et seulement
(5.4)

M (t) = 0 Ps(2t 1) + 1Ps 1(2t 1) + : : : + k Ps k (2t 1)


(avec des nombres r eels 0 ; : : : ; k , 0
2

6= 0) et si les poids b1 ; : : : ; bs sont donn es par (1.6).

: voir M. Abramowitz & I.A. Stegun, Handbook of Mathematical Functions, Dover Publ., page 887

Int egration Num erique D emonstration. Ecrivons le polyn ome M (t) = (t

15

c1 ) : : : (t cs) sous la forme


s X i=1 i Ps i(2t

M (t) = 0 Ps(2t 1) +

1):

Dapr` es le th eor` eme 3.1, la formule de quadrature a lorder s + (s k ) si et seulement si M (t) est orthogonal aux polyn omes de degr e s k 1. Ceci est le cas si k+1 = : : : = s = 0, ce qui d emontre (5.4). Exemple 5.4 (formules de Lobatto) Si c1 ; : : : ; cs sont les racines de

M (t) = Ps(2t 1) Ps 2(2t 1); (5.5) on obtient une formule de quadrature dordre 2s 2. Elle sappelle formule de Lobatto. A cause de Pk (1) = 1 et de Pk ( 1) = ( 1)k , on a c1 = 0 et cs = 1. Des cas particuliers sont la formule du trap` eze (s = 2) et la formule de Simpson (s = 3). Pour s = 4, on obtient p p Z1 g(t) dt g(0) + g + g + + g(1):
1 5 1 2 5 5 1 2 5 1

12

12

10

12

10

12

Etudions encore la positivit e de lapproximation num erique obtenue par une formule de quadrature. On sait que lint egrale exacte satisfait

g(t) 0
Lanalogue num erique

sur

(0; 1)

=) =)

Z1
0

g(t) dt 0: bi g(ci) 0

(5.6)

g(t) 0

sur

(0; 1)

s X i=1

(5.7)

est vrai pour toute fonction g (t) si et seulement si

bi > 0

i = 1; : : : ; s

(5.8)

(on ne consid` ere pas de formule de quadrature ayant des poids nuls). Th eor` eme 5.5 Pour une formule de quadrature dordre poids bi satisfont (5.8). D emonstration. Consid erons le polyn ome de degr es

2s 1 (s e etages), les tant le nombre d 1

`i(t) =
s X j =1

Y (t cj ) j 6=i (ci cj ) Z1
0

et int egrons son carr e par la formule de quadrature. On obtient

bi =

bj `2 i (cj ) =

`2 i (t) dt > 0;

car la formule de quadrature est exacte pour `2 i (t).

16

Int egration Num erique

Remarque. Les formules de Gauss satisfont (5.8) pour tout s. Les formules de Newton-Cotes (voir le paragraphe I.1) ne satisfont (5.8) que pour s 8 et pour s = 10.

I.6 Un programme adaptatif TEGRAL


Posons-nous le probl` eme d ecrire un programme

R b f (x) dx a qui, pour une fonction f : a; b] ! IR donn ee, calcule la valeur de a ` une pr ecision relative de TOL. Si lon xe la formule de quadrature (par exemple la formule de Gauss dordre 30 avec s = 15), il faut trouver une division = fa = x0 < x1 < : : : < xN = bg de lintervalle (a; b) an que lapproximation num erique I satisfasse
FUNCTION TEGRAL ( FCN, A, B, TOL )

Zb
a

f (x) dx

TOL

Zb
a

jf (x)j dx:

(6.1)

Pour une fonction f ne changeant pas de signe sur (a; b), la condition (6.1) signie que lerreur relative est born ee par . On a mis la valeur absolue sous lint egrale de droite pour e viter des R bTOL ennuis dans le cas o` u a f (x) dx est tr` es petit ou nul. Pour e crire un tel programme, on est confront e aux deux probl` emes suivants: choix de la division pour que (6.1) soit satisfait; R b f (x) dx. estimation de lerreur I a D etermination de la division. Pour un sous-intervalle (x0 ; x0 + h) de (a; b), on sait calculer les valeurs res (x0 ; x0 + h) = h resabs (x0 ; x0 + h) = h

s X i=1 s X i=1

bi f (x0 + cih); bi jf (x0 + ci h)j:

(6.2) (6.3)

Supposons, pour le moment, quon connaisse aussi une estimation de lerreur err (x0 ; x0 + h) res (x0 ; x0 + h)

Z x0+h
x0

f (x) dx:

(6.4)

Lalgorithme pour trouver une division convenable est le suivant: i) on calcule res (a; b), resabs (a; b) et err (a; b). Si

jerr (a; b)j

TOL resabs (a; b);

b f (x) dx et on arr on accepte res (a; b) comme approximation de a ete le calcul; sinon ii) on subdivise (a; b) en deux sous-intervalles I1 = (a; (a + b)=2) et I2 = ((a + b)=2; b) et on calcule res (I1 ), resabs (I1 ), err (I1 ) et res (I2 ), resabs (I2 ), err (I2 ). On pose N = 2 et on regarde si N N X X jerr (Ij )j TOL resabs (Ij ) : (6.5) j =1 j =1 R b f (x) dx; sinon Si (6.5) est v eri e, on accepte res (I1 ) + res (I2 ) comme approximation de a

Int egration Num erique

17

iii) on pose N := N + 1 et on subdivise lintervalle o` u lerreur est maximale (disons Ik ) en deux sous-intervalles e quidistants quon denote par Ik et IN +1 . Ensuite, on calcule res, resabs et err pour ces deux intervalles. Si (6.5) est v eri e, on arr ete le calcul et on accepte

N X j =1

res (Ij )

Zb
a

f (x) dx

(6.6)

comme approximation de lint egrale; sinon on r ep` ete la partie (iii) de cet algorithme. Estimation de lerreur (6.4). Malheureusement, les formules pour lerreur, obtenues dans le paragraphe I.2, ne sont pas tr` es utiles pour un programme g en eral, car on ne conna t que tr` es rarement ` me d eriv ee de la fonction f (x) (dans notre situation p = 30). la pe s et dutiliser la diff bi)b Lid ee est dappliquer une deuxi` eme formule de quadrature (b bi ; c erence i=1 de deux approximations num eriques comme estimation de lerreur du moins bon r esultat. Pour que b s et on reprend les m le travail suppl ementaire soit n egligeable, on suppose s emes e valuations bi = ci pour tous i. Une telle formule de quadrature sappelle formule de f , c.-` a-d., on suppose c embo t ee, si pour au moins un indice i on a b bi 6= bi . Remarque. Si (bi ; ci )s i=1 est une formule de quadrature dordre p s, lordre dune formule emb s 1. Ce r bo t ee est p esultat d ecoule du fait que, pour une formule de quadrature dordre s, les poids bi sont uniquement d etermin es par ses nuds ci . Pour la formule de Gauss (s = 15; p = 30), on obtient une formule embo t ee (b bi; ci)s i=1 dordre 14 en enlevant le point milieu c8 = 1=2 (voir g. I.9), c.-` a-d., on pose b b8 = 0. Lexpression calculable s s X X ERR1 := h bi f (x0 + cih) h b bi f (x0 + ci h) C1h15 (6.7) i=1 i=1 est une approximation de lerreur de la formule embo t ee, car
ERR1 =

Z x0+h Z x0+h s s X X h bif (x0 + cih) f (x) dx + f (x) dx h b bi f (x0 + ci h) : x0 x0 i =1 i =1 | {z } | {z } = Ch31 + O(h32 ) = Ch15 + O(h16) b

de quadrature par b bi et on d enit


ERR2

Pour le programme TEGRAL, on consid` ere encore une deuxi` eme formule embo t ee qui a pour nuds fc2 ; c4 ; c6 ; c10 ; c12 ; c14 g et un ordre 6 (voir la g. I.9). On d enote les poids de cette formule

:= h

s X i=1

bif (x0 + cih) h

s b X bif (x0 + cih) C2h7: i=1


formule de Gauss, ordre 30 formule embo t ee, ordre 14 formule embo t ee, ordre 6

(6.8)

.5

F IG . I.9 Formule de Gauss et ses formules embo t ees Il y a plusieurs possibilit es pour d enir err (x0 ; x0 + h). i) err (x0 ; x0 + h) := ERR1; cette estimation est trop pessimiste. En g en eral, la formule de Gauss donne un r esultat largement meilleur que la formule embo t ee dordre 14.

18 ii) dans le programme TEGRAL, on a choisi lapproximation err (x0 ; x0 + h) := ERR1 ce qui donne de bons r esultats.
ERR1 2 ; ERR2

Int egration Num erique

h15

h15 h7

h31

` la fonction de la g. I.1, Exemples. 1) Si lon applique le programme TEGRAL avec TOL = 10 10 a 14 on obtient le r esultat avec une erreur de 2:0 10 . La division choisie est donn ee dans la g. I.10.

F IG . I.10 Division choisie par TEGRAL pour f (x) = 2 + sin(3 cos(0:002(x 2) Appliquons le m eme programme a ` la fonction

40)2 )) sur (10; 110)

f (x) = x log x

sur

(0; 1);

(6.9)

eriv ee. Les divisions successives de lintervalle par lalqui a une singularit e au point 0 dans la d gorithme sont pr esent ees dans la g. I.11. On voit que lintervalle o` u lerreur est maximale est toujours celui qui est tout a ` gauche. Les erreurs sont donn ees dans le tableau I.3. La convergence est tr` es lente et on se demande sil ny a pas de possibilit e dacc el erer la convergence de la suite fSN g. TAB . I.3 R esultat de TEGRAL pour (6.9)

N 1 2 3 4 5 6
21 22

SN errN = SN 0:4446200164956040 0:176 0:4445133092592463 0:689 0:4444711927155809 0:267 0:4444547502264998 0:103 0:4444483881989293 0:394 0:4444459448772271 0:150
0:4444444444449658 0:4444444444446352

R 1 f (x) dx err =err N N 0


10 10 10 10 10 10
03 04 04 04 05 05 12 12

0:392 0:388 0:385 0:383 0:380 0:366 0:366

0:521 10 0:191 10

F IG . I.11 Division choisie par TEGRAL pour (6.9)

Int egration Num erique

19

I.7 Lepsilon-algorithme
Etant donn ee une suite fS0 ; S1 ; S2 ; : : :g qui converge lentement vers la valeur trouver une autre suite avec la m eme limite, mais qui converge plus rapidement. Souvent, on peut observer que la suite satisfait

S . Le but est de

Sn+1 S
ou de fa con e quivalente

(Sn S );
n:

(7.1) (7.2)

Par exemple, la suite Sn du tableau I.3 satisfait approximativement (7.1) avec = 0:366. Un autre exemple fr equent est donn e par la m ethode des approximations successives Sn+1 = g (Sn) pour calculer un point xe de g (x), c.-` a-d. un S satisfaisant S = g (S ). Si g est diff erentiable,

Sn S + C

Sn+1 S = g(Sn) g(S ) g0(S ) (Sn S ): Ceci est (7.1) avec = g 0 (S ). Le proc ed e 2 dAitken (1926). Lid ee est de remplacer par = dans (7.2) et de calculer ; C et S de trois formules cons ecutives. Avec la notation Sn := Sn+1 Sn
on obtient alors (diff erence nie); (7.3)

o` u en d eduit que

Sn = C n( 1); 2S = ( S ) = S n n n+1

2S = C n( Sn+1 = C n+1( 1); 1)2; n Sn = Sn+2 2Sn+1 + Sn est la deuxi` eme diff erence nie. On

S = Sn+1 C

n+1

= Sn+1

Sn

Si (7.2) nest pas satisfait exactement, la valeur de S dans (7.4) va d ependre de n. On obtient ainsi 0 g d une autre suite fSn enie par (proc ed e 2 dAitken)

2 Sn

Sn+1 :

(7.4)

0 =S Sn n+1

Sn

qui, en g en eral, converge plus rapidement vers S que la suite originale fSn g.

2 Sn

Sn+1 ;

(7.5)

Exemple. Pour la suite fSn g du tableau I.3, le r esultat est donn e dans le tableau I.4. TAB . I.4 Acc el eration de la convergence pour fSn g du tableau I.3

n 1 2 3 4 5 6

Sn 0:44462001649560 0:44451330925925 0:44447119271558 0:44445475022650 0:44444838819893 0:44444594487723

0 Sn 0:44444373050429 0:44444421992844 0:44444437296661 0:44444442146079 0:44444443699301 0:44444444201188

00 Sn 0:44444444444445 0:44444444444444 0:44444444444444 0:44444444444444 0:44444444444444 0:44444444444444

20

Int egration Num erique

Pour g en eraliser lid ee dAitken, on consid` ere une suite fSn g pour laquelle on suppose, au lieu de (7.2), n Sn S + C1 n (7.6) 1 + C2 2 : Cette fois, on a 5 param` etres a ` d eterminer. Alors, on prend 5 formules cons ecutives de (7.6), on 00 . suppose e galit e, et on calcule S; C1 ; 1 ; C2 ; 2 . La valeur de S ainsi obtenue est d enot ee par Sn Shanks (1955) a fait ce calcul et il a trouv e la formule (nous ajoutons une formule semblable 0 pour Sn)

n+1 det SSn S S n +1 n+2 0 = Sn 2 Sn

0 1 Sn Sn+1 Sn+2 det B @ Sn+1 Sn+2 Sn+3 C A Sn+2 Sn+3 Sn+4 00 = Sn 2 2S n+1 det 2 SSn 2S n+1 n+2

(sans d emonstration). Mais, pour un calcul num erique, ces formules ne sont pas tr` es pratiques. Wynn (1956) a trouv e une formule beaucoup plus simple:

n) Th eor` eme 7.1 ( -algorithme) Etant donn ee la suite fS0 ; S1 ; S2 ; : : :g. Si lon d enit ( k par
(n) 1 (n) k+1 (n) alors, 2

= 0; = (kn+1) 1 +
(n) 6

= Sn ; 1 (n+1) (n) ;
k k

(n) 0

k 0; n 0;

(7.7)

0, = Sn

(n) 4

00 , = Sn

000 ; : : :. = Sn
(n) (n) 1 et de 2 :

(n) La d emonstration de 2 (n) 1

0 se fait par un simple calcul de = Sn

Sn+1 Sn = 1 (n) 2 = Sn+1 + 1 Sn+1

=0+

1 ; Sn

Sn 1 = Sn+1 + Sn Sn

Sn+1 = S 0 : Sn+1 n

Le cas g en eral est moins e vident et est donn e sans d emonstration. Tous les d etails (d emonstration 3 et autres propri et es) sont donn es dans un livre de Brezinski . Exemple. Pour la suite

n ( 1)i+1 X Sn = i ; i=1

(7.8)

(n) qui converge vers log(2), les erreurs de k ; k = 0; 2; 4; 6; : : : sont donn ees dans la g. I.12. Lam elioration de la convergence par l -algorithme se voit clairement.
3: C. Brezinski (1977): Acc el eration de la Convergence en Analyse Num erique. Lecture Notes in Mathematics, Nr. 584, Springer-Verlag. [MA 00.04/3 584]

Int egration Num erique


100 103 106 109 1012 1015

21

k=0 k=2 k=4 k=8 k = 10 k = 12 k = 14


1 2 3

k=6

4 5 6 7 8 9 10 11 ( n ) F IG . I.12 Erreur de k en fonction de n pour la suite (7.8)

12

I.8 Exercices
1. Soit (bi ; ci )s i=1 une formule de quadrature dordre

bi =

Z1
0

s. Montrer que
j =1 j 6=i

`i(x) dx

o` u

s (x c ) Y `i (x) = (c cj ) : i j

2. Si les nuds dune formule de quadrature satisfont ci = 1 cs+1 i (pour tous i) et si la formule a un ordre p s, alors on a n ecessairement bi = bs+1 i , cest-` a-dire la formule est sym etrique. 3. Calculer les formules de Newton-Cotes pour

(ci ) = (0; 1=3; 2=3; 1) ;

(ci ) = (0; 1=4; 2=4; 3=4; 1)

et d eterminer lordre de ces formules de quadrature. Indication. Les calculs se simplient en utilisant lexercice 2. 4. Calculer la constante derreur pour la formule de Simpson et de Newton. Expliquer pourquoi, malgr e le fait que la m ethode de Newton poss` ede une constante derreur plus petite, la m ethode de Simpson est meilleure si on compare lerreur avec le travail fe (voir la g. I.3). 5. Calculer les noyaux de Peano Nk ( ) (k = 1; 2) pour la r` egle du trap` eze et les dessiner. Remarquer une relation avec les polyn omes de Bernoulli et la formule dEuler-Maclaurin. 4 6. Montrer que, pour une formule de quadrature sym etrique, les noyaux de Peano satisfont

7. 8.

Nk (1 ) = ( 1)k Nk ( ): Calculer les noyaux de Peano Nk ( ) (k = 1; 2; 3; 4) pour la formule de Simpson. Les dessiner. Est-ce que N4 ( ) change de signe sur lintervalle 0; 1]? Soit p lordre dune formule de quadrature et supposons que le noyau de Peano Np ( ) ne change pas de signe sur 0; 1]. Montrer quavec un 2 (x0 ; x0 + h) Z x0+h s s p+1 1 X X f (x) dx h bi f (x0 + ci h) = h p! p + bi cp f (p) ( ): i 1 x0 i=1 i=1

: Hairer & Wanner, Analysis by Its History, Undergraduate Texts in Mathematics, Springer, 2nd printing 1997.

22
9. (Formule de Radau). D eterminer c2 ; b1 ; b2 dans la formule de quadrature

Int egration Num erique

Z1
0

g(t) dt b1 g(0) + b2g(c2 )

10. Calculer la formule de quadrature de Gauss avec s = 3. Le r esultat est donn e dans lexemple 5.2. 11. Pour les polyn omes de Legendre d emontrer les formules

an que son ordre soit maximal. R esultat. c2 = 2=3, b1 = 1=4, b2

= 3=4 et p = 3.

(k + 1)Pk+1 (x) = (2k + 1)xPk (x) kPk 1 (x); (1 x2 )Pk0 (x) = kxPk (x) + kPk 1 (x):

(8.1) (8.2)

ome de Legendre Pn (x) en utilisant la m ethode de 12. Calculer pour n = 1; 2; 3; : : : les racines du polyn bissection. (a) Localiser les racines de Pn (x) en utilisant celles de Pn 1 (x) (les racines de Pn (x) sont s epar ees par les racines de Pn 1 (x)); (b) Si

Indication. Pour (8.1), e crire xPk (x) comme combinaison lin eaire de P0 (x); : : : ; Pk+1 (x) et utiliser lorthogonalit e de ces polyn omes pour d eterminer les coefcients qui multiplient P0 (x); : : : ; Pk 2 (x). Pour trouver les trois derniers coefcients, utiliser les valeurs de Pj (1); Pj ( 1) ainsi que le coefcient du terme dominant de Pj (x).

a; b] est un intervalle avec Pn (a) Pn(b) < 0 alors


10

40

CENTR=(A+B)/2.D0 PC=P(N,CENTR) IF (CENTR.EQ.A.OR.CENTR.EQ.B) GOTO 40 IF (PA*PC.LT.0.D0) THEN B=CENTR PB=PC ELSE A=CENTR PA=PC END IF GOTO 10 CONTINUE WRITE (6,*) CENTR,PC

13. Calculer la constante derreur Cs pour la formule de Gauss avec s nuds dordre 2s. Indication. Cs est lerreur de la formule quand elle est appliqu ee a ` un polyn ome de degr e 2s de la 2 forme t2s =(2s )! + : : : . Essayer K P (2 t 1)) , et utiliser la formule de r e currence de lexercice 11 s R 1 2 pour evaluer 1 Ps (x) dx. Le r esultat est

Pour e crire la FUNCTION P(N,X) qui calcule la valeur de la fonction Pn (x), utiliser la formule de r ecurrence (1) et P0 (x) = 1, P1 (x) = x.

(s!)4 Cs = (2s + 1)(2s!)3 :


14. Montrer que pour les formules de quadrature de Gauss (ordre p = 2s) le noyau de Peano N2s ( change pas de signe. Indication. Faire une d emonstration par labsurde et utiliser le th eor` eme de Rolle.

) ne

Int egration Num erique


15. Soient c1 ; c2 ; : : : ; cs les nuds de la formule de quadrature de Gauss dordre 2s et c1 (s+1) ceux de la formule dordre 2s + 2. Montrer quon a alors : : :, cs +1

23

(s) (s)

(s)

(s+1) ; c(s+1) , 2

s+1) < c(s) < c(s+1) < c(s) < : : : < c(s) < c(s+1) < 1: 0 < c( s 1 1 2 2 s+1 Indication. Proc eder par r ecurrence en utilisant le fait que si Ps (x) = 0, alors Ps 1 (x) et Ps+1 (x)
sont de signe oppos e (voir formule (8.1).

16. (Formules de Radau). Montrer quil existe une unique formule de quadrature dordre satisfait cs = 1. Indication. V erier dabord que

2s

1 qui

o` u Ps 1

17. Consid erons une formule de quadrature dordre p 1 satisfaisant toute fonction f : a; b] ! IR int egrable au sens de Riemann, on a

Ps (x) Ps 1 (x) sont r eelles et simples.

(1;0) (x) est le polyn ome de Jacobi. Cette relation est utile pour montrer que toutes les racines de

0) (x) = Const (P (x) P (x)) (1 x)Ps(1;1 s s 1

ci

1. Montrer que, pour

Zb
a

f (x) dx

N s X X

18. Soit f

lorsque h = maxj hj tend vers z ero. P h f (x + c h ) est une somme de Riemann. Indication. Pour un i x e, lexpression N i j j =0 j j

j =0

hj

i=1

bi f (xj + ci hj ) ! 0

: IR ! IR, donn ee par

f (x) = a0 +
(b)

m X

R2 (a) Quelle est la valeur exacte de 0


r esultat est exacte?

k=1

(ak cos(kx) + bk sin(kx));

ak ; bk 2 IR:

R Appliquer la r` egle du trap` eze a ` 02 f (x) dx avec h = 2 =N . A partir de quelle valeur de N , le

f (x) dx ?

(c) Appliquer une formule de quadrature dordre plus e lev e (par exemple celle de Gauss dordre 6, voir exemple 5.2) et r epondez a ` la m eme question que sous (b). (d) Quelle formule de quadrature proposez-vous pour lint egration num erique dune fonction p eriodique? 19. Consid erons la suite fxn g donn ee par xn+1 (a) Quelle est sa limite? (b) Appliquer lalgorithme

= xn + 1 x2 n=2; x0 = 0.
2 dAit-

(c) En utilisant x0 ; x1 ; : : : ; x8 comparer lerreur de la suite avec sa limite avec ou sans le ken.

2 dAitken pour acc elerer la convergence.

20. Consid erons une suite fSn g qui satisfait

(Sn+1 S ) = n (Sn S )

avec

a) Montrer que la suite suite originale, c.-` a-d.,

0 g, donn fSn ee par le proc ed e

2 dAitken converge plus vite vers S que la

et

6= 1 :

0 S Sn pour n !1: Sn S ! 0 0 g converge. b) Donner une suite divergente fSn g pour laquelle la suite fSn Indication. Nous savons que Sn = ( n 1)(Sn S ), trouver une formule similaire pour

2 Sn .

24

Int egration Num erique

Chapitre II Interpolation et Approximation


Le probl` eme de linterpolation consiste a ` chercher des fonctions simples (polyn omes, polyn omes par morceaux, polyn omes trigonom etriques) passant par des points donn es

(x0 ; y0); (x1; y1); : : : ; (xn; yn); (0.1) c.-` a-d., on cherche p(x) avec p(xi ) = yi pour i = 0; 1; : : : ; n. Si les valeurs de yi satisfont yi = f (xi) o` u f (x) est une fonction donn ee, il est int eressant d etudier lerreur de lapproximation
Dans ce chapitre, nous allons commencer par linterpolation avec des polyn omes de degr e n (formule de Newton, estimation de lerreur, convergence, inuence des erreurs darrondi). Ensuite, nous e tudierons linterpolation avec des polyn omes trigonom etriques (transformation de Fourier rapide) et nous terminerons ce chapitre avec les fonctions splines. Bibliographie sur ce chapitre J.H. Ahlberg, E.N. Nilson & J.L. Walsh (1967): The Theory of Splines and Their Applications. Academic Press, New York. [MA 65/4] C. de Boor (1978): A Practical Guide to Splines. Springer-Verlag. [MA 65/141] G.D. Knott (2000): Interpolating Cubic Splines. Birkh auser. [MA 65/431] H.J. Nussbaumer (1981): Fast Fourier Transform and Convolution Algorithms. Springer-Verlag. H. Sp ath (1995): One Dimensional Spline Interpolation. AK Peters. [MA 65/362]

f (x) p(x) = ?

(0.2)

II.1 Diff erences divis ees et formule de Newton


Etant donn es n + 1 points o` u les xi sont distincts, mais pas n ecessairement ordonn es, on cherche un polyn ome p(x) de degr e n qui satisfasse p(xi) = yi pour i = 0; 1; : : : ; n: (1.2) Pour un exemple voir la g. II.1. Cas n = 1. Le polyn ome de degr e 1 (une droite) qui passe par (x0 ; y0 ), (x1 ; y1 ) est donn e par

(x0 ; y0); (x1; y1); : : : ; (xn; yn);

(1.1)

y1 y0 : p(x) = y0 + (x x0 ) x 1 x0

(1.3)

26

Interpolation et Approximation

10 5 0 5 10
F IG . II.1 Polyn ome dinterpolation de degr e5 Cas n = 2. Pour obtenir un polyn ome de degr e 2 (une parabole) qui passe par les trois points (x0 ; y0), (x1 ; y1), (x2; y2), on ajoute un terme de correction (de degr e 2) a ` la formule (1.3). Comme ecessairement ce terme doit e tre z ero aux points x0 et x1 , on a n

p(x)
2 4 6 8 10

y1 y0 + a (x x )(x x ): p(x) = y0 + (x x0 ) x (1.4) 0 1 1 x0 Le coefcient a est d etermin e par p(x2 ) = y2 . Un calcul simple (soustraire p(x1 ) de p(x2 ) et diviser par (x2 x0 )(x2 x1 )) nous donne y2 y1 a= x 1x x 2 0 2 x1 y1 y0 : x1 x0
(1.5)

Avant de proc eder au cas g en eral, il est recommand e dintroduire une notation convenable pour simplier les expressions dans (1.5). D enition 1.1 (diff erences divis ees) Pour (xi ; yi ) donn es (xi distincts) on d enit

Th eor` eme 1.2 (formule de Newton, 1669) Le polyn ome dinterpolation de degr e n qui passe par les n + 1 points (x0 ; y0 ); (x1 ; y1 ); : : : ; (xn ; yn), o` u les xi sont distincts, est unique et donn e par

y xi] := yi j ] y xi ] y xi; xj ] := y x xj xi y xi ; xj ] 2 y x ; x ; x ] := y xj ; xk ] i j k xk xi n 1 y xi ; : : : ; xi ] n 1 y xi ; : : : ; xi ] n 1 0 n 1 : n y x ; x ; : : : ; x ] := i0 i1 in x x
in i0

p(x) = y x0 ] + (x x0 ) y x0; x1 ] + (x x0 )(x x1 ) 2y x0; x1 ; x2] (1.6) + : : : + (x x0)(x x1) : : : (x xn 1) ny x0; x1 ; : : : ; xn]: D emonstration. Pour n = 1 et n = 2 la formule (1.6) est e quivalente a ` (1.3) et a ` (1.4), (1.5). Pour
d emontrer le cas g en eral, nous proc edons par induction. Supposons que

p1 (x) = y x0] + (x x0 ) y x0; x1 ] + : : : + (x x0 ) : : : (x xn 2 )

n 1y

x0 ; x1 ; : : : ; x n 1 ]

Interpolation et Approximation soit le polyn ome unique de degr e n 1 qui passe par (xi ; yi ) pour comme dans (1.4), le polyn ome p(x) a n ecessairement la forme

27

i = 0; 1; : : : ; n 1. Alors,

p(x) = p1(x) + a (x x0 )(x x1) : : : (x xn 1 ); o` u a est d etermin e par p(xn ) = yn . Il en r esulte lunicit e du polyn ome dinterpolation. n Pour montrer que a = y x0 ; x1 ; : : : ; xn ], ce qui ach` eve la d emonstration, nous consid erons e galement le polyn ome de degr en 1 p2(x) = y x1] + (x x1 ) y x1; x2] + : : : + (x x1 ) : : : (x xn 1) n 1y x1; x2 ; : : : ; xn ]; qui passe par (xi ; yi ) pour i = 1; : : : ; n. On observe que le polyn ome p(x) satisfait (id ee dAitken
- Neville, 1929, 1932)

p(x) = x 1 x (xn x)p1 (x) + (x x0 )p2 (x) : n 0

(1.7)

On voit facilement que les deux c ot es de la formule (1.7) donnent la m eme valeur pour les points x0 ; x1; : : : ; xn. Comme ils sont tous deux des polyn omes de degr e n, lidentit e est une cons equence de lunicit e du polyn ome dinterpolation. En consid erant le coefcient le plus haut dans (1.7), nous obtenons

a= x 1 x n 0

n 1y

x1; : : : ; xn]

n 1y x

0 ; : : : ; xn 1 ]

= ny x0; : : : ; xn];

ce qui d emontre la formule (1.6).

TAB . II.1 Diff erences divis ees pour les donn ees de la g. II.1

xi 0 2 4 5 8 10

yi 1 1 6 0 2 5

y
1 5=2 6 2=3 3=2

2y

3y

4y

5y

3=8 17=6 5=3 1=6

77=120 167=960 3=4 1=8 1=4

287=9600

Exemple 1.3 Pour les donn ees de la g. II.1, les diff erences divis ees sont pr esent ees dans le tableau II.1. Le polyn ome dinterpolation est alors donn e par

p(x) = 1 + x + x(x 2)

3 8

x(x 2)(x 4)

77

120

+ x(x 2)(x 4)(x 5) x(x 2)(x 4)(x 5)(x 8)


167 960 167 960

287 9600

ou mieux encore pour la programmation (ou le calcul a ` la main)

p(x) = 1 + x 1 + (x 2) + (x 4)
3 8

77 120

+ (x 5)

(x 8)

287 9600

28

Interpolation et Approximation

Remarque. Lordre des fxi g na aucune importance pour la formule de Newton (1.6). Si lon permute les donn ees (xi ; yi ), on obtient e videmment le m eme polyn ome. Pour lexemple ci-dessus et pour les fxi g choisis dans lordre f4; 5; 2; 8; 0; 10g, on obtient ainsi

p(x) = 6 + (x 4) 6 + (x 5)

17 6

+ (x 2) + (x 8)
3 4

167 960

287 9600

En observant que n y xi0 ; : : : ; xin ] est une fonction sym etrique de ses arguments (par exemple, 2 y x ; x ; x ] = 2 y x ; x ; x ], voir lexercice 1), on peut utiliser les valeurs calcul ees dans le 2 3 1 1 2 3 tableau II.1. Pour diminuer linuence des erreurs darrondi, il est recommand e dordonner les fxi g de mani` ere a ` ce que les valeurs situ ees au milieu soient prises dabord et les valeurs aux extr emit es a ` la n. Pour ce choix, les expressions (x x0 ), (x x0 )(x x1 ), (x x0 )(x x1 )(x x2 ), etc., sont en g en eral plus petites que pour un autre choix et lamplication des erreurs dans les diff erences divis ees est moins importante.

II.2 Erreur de linterpolation et polyn omes de Chebyshev


Supposons que les points (xi ; yi ) soient sur le graphe dune fonction f

: a; b] ! IR, c.-` a-d.,


(2.1)

yi = f (xi);

i = 0; 1; : : : ; n;

e tudions alors lerreur f (x) p(x) du polyn ome dinterpolation p(x). Deux exemples sont donn es dans la g. II.2. A gauche, on voit un polyn ome dinterpolation pour la fonction f (x) = sin x, et a ` 2 droite pour la fonction 1=(1 + x ). Pour mieux voir lerreur, on a dessin e la fonction f (x) en une courbe pointill ee.

f (x) = sin x
0 2 4 6 8

1 f (x) = 1 + x2

0 1

F IG . II.2 Polyn ome dinterpolation pour sin x (gauche) et pour 1=(1 + x2 ) (droite) Commen cons par d emontrer une relation int eressante entre les diff erences divis ees pour (2.1) et les d eriv ees de la fonction f (x). Lemme 2.1 Soit f (x) n-fois diff erentiable et yi il existe un 2 (min xi ; max xi ) tel que

= f (xi) pour i = 0; 1; : : : ; n (xi distincts). Alors,


(2.2)

ny

(n) x0; x1 ; : : : ; xn] = f n!( ) :

Interpolation et Approximation

29

D emonstration. Soit p(x) le polyn ome dinterpolation de degr e n passant par (xi ; yi ) et notons d(x) = f (x) p(x). Par d enition de p(x), la diff erence d(x) sannule en n + 1 points distincts :

d(xi) = 0

pour

i = 0; 1; : : : ; n:

Comme d(x) est diff erentiable, on peut appliquer n fois le th eor` eme de Rolle (voir le cours dAnalyse I) et on en d eduit que

d0(x) d00(x)
et nalement encore

a n z eros distincts dans

(min xi ; max xi ):

Le m eme argument appliqu ea ` d0 (x) donne an

1 z eros distincts dans (min xi ; max xi ); i i


a 1 z ero dans

d(n)(x)

Notons ce z ero de d(n) (x) par . Alors, on a

(min x ; max x ): i i i i
ny

f (n)( ) = p(n) ( ) = n!

x0; x1 ; : : : ; xn]:

(2.3)

La deuxi` eme identit e dans (2.3) r esulte du fait que n y x0 ; x1 ; : : : ; xn ] est le coefcient de xn dans p(x). Th eor` eme 2.2 Soit f : a; b] ! IR (n + 1)-fois diff erentiable et soit p(x) le polyn ome dinterpolation de degr e n qui passe par (xi ; f (xi )) pour i = 0; 1; : : : ; n. Alors, pour x 2 a; b], il existe un 2 (min(xi; x); max(xi; x)) tel que

(n+1) ( ) f (x) p(x) = (x x0 ) : : : (x xn) f(n + 1)! :

(2.4)

eri ee car D emonstration. Si x = xi pour un indice i 2 f0; 1; : : : ; ng, la formule (2.4) est v p(xi ) = f (xi). Fixons alors un x dans a; b] qui soit diff erent de xi et montrons la formule (2.4) pour x = x. Lid ee est de consid erer le polyn ome p(x) de degr e n + 1 qui passe par (xi ; f (xi )) pour i = 0; 1; : : : ; n et par (x; f (x)). La formule de Newton donne

p(x) = p(x) + (x x0 ) : : : (x xn)

n+1 y

x0; : : : ; xn; x]:

(2.5)

Si lon remplace la diff erence divis ee dans (2.5) par f (n+1) ( )=(n + 1)! (voir le lemme pr ec edent) esultat (2.4) pour x = x car p(x) = f (x). Comme x est et si lon pose x = x, on obtient le r arbitraire, la formule (2.4) est v eri ee pour tout x.
` me d Exemple 2.3 Dans la situation de la g. II.2, on a n + 1 = 7. Comme la 7e eriv ee de sin x est born ee par 1, on a que

jp(x) sin xj jx(x 1:5)(x 3)(x 4:5)(x 6)(x 7:5)(x 9)j

1 7!

30 par exemple

Interpolation et Approximation

ou jp(1) sin 1j 0:181: ` me d Pour le deuxi` eme exemple, f (x) = 1=(1 + x2 ), la 7e eriv ee est donn ee par

jp(4) sin 4j 0:035

2 2x 1)(x2 + 2x 1) f (7) (x) = 8! (x + 1)(x 1)x(x ; (1 + x2 )8 qui est maximale pour x 0:17632698. On obtient ainsi

1 2 2 2 p(x) 1 + : x2 j(x 20:25)(x 9)(x 2:25)xj Alors, lerreur peut e tre 4392 fois plus grande que pour linterpolation de sin x.
4392 7!

Question int eressante. La formule (2.4) montre que lerreur de linterpolation est un produit de la e ` me (n + 1) d eriv ee de f (x), e valu ee a ` un point inconnu, avec lexpression (x x0 ) : : : (x xn ) qui ne d epend que de la division fx0 ; : : : ; xn g. Il est alors int eressant de chercher, pour un n donn e, la division de a; b] pour laquelle

x2 a;b]

max j(x x0 ) : : : (x xn )j

est minimal.

(2.6)

La r eponse a ` ce probl` eme peut e tre donn ee a ` laide de polyn omes de Chebyshev. 1

T3(x)

T4(x) T1(x)

T2(x)
F IG . II.3 Les premiers 4 (` a gauche) respectivement 30 (` a droite) polyn omes de Chebyshev D enition 2.4 (Polyn omes de Chebyshev) Pour n = 0; 1; 2; : : : et pour x 2

1; 1], on d enit
(2.7)

Tn(x) = cos(n arccos x):

1: Pour une e tude des courbes blanches dans la g. II.3 (` a droite) voir la page 209 du livre: Th.J. Rivlin, Chebyshev Polynomials. 2nd ed., John Wiley & Sons, 1990 [MA 41/36]

Interpolation et Approximation Propri et es des polyn omes de Chebyshev. a) Les fonctions Tn (x) satisfont la r eccurrence

31

b) c) d) e)

T0 (x) = 1; T1(x) = x; Tn+1(x) = 2xTn (x) Tn 1(x): (2.8) ome de degr e n dont le coefcient de xn est 2n 1 , c.-` a-d., Par cons equence, Tn (x) est un polyn n 1 n Tn(x) = 2 x + : : :. jTn(x)j 1 pour x 2 1; 1]. Tn cos kn = ( 1)k pour k = 0; 1; : : : ; n. + 1) = 0 pour k = 0; 1; : : : ; n 1. Tn cos (2k 2 n p Les polyn omes Tn (x) sont orthogonaux par rapport a ` la fonction de poids 1= 1 x2 (voir
le tableau I.2)

Z1

8 > < p 1 2 Tn(x)Tm (x) dx = > =2 1 1 x : 0

si n = m = 0 si n = m 6= 0 si n 6= m.

D emonstration. La formule (2.8) est une cons equence de

cos((n + 1)') + cos((n 1)') = 2 cos ' cos(n') si lon pose cos ' = x et ' = arccos x. La m eme transformation donne

Z 1 p Tn(x)Tm (x) dx = cos(n') cos(m') d' 0 1 1 x2 et la propri et e (e) r esulte de lorthogonalit e de cos(n'). Z1
Revenons maintenant a ` la question de trouver une division satisfaisant (2.6). Lemme 2.5 Soit q (x) un polyn ome de degr e n dont le coefcient de xn est 2n 1 (comme pour le polyn ome de Chebyshev) et soit q (x) 6 Tn (x). Alors,

x2 1;1]

max jq(x)j > x2 max jT (x)j = 1: 1;1] n


x2 1;1]

(2.9)

D emonstration. Supposons, par labsurde, que

max jq(x)j

(voir la g. II.4 pour n = 5) et consid erons la diff erence d(x) sannule au moins une fois dans chacun des intervalles ferm es

max jT (x)j x2 1;1] n

= q(x) Tn(x). Cette fonction

1) ; cos k i; k = 0; 1; : : : ; n 1: (2.10) cos (k + n n Alors, d(x) poss` ede n z eros dans 1; 1] (si une racine 2 ( 1; 1) est a ` lextr emit e de lintervalle 0 0 (2.10), elle doit e tre compt ee deux fois car a ` un tel point Tn ( ) = 0 et q ( ) = 0). Comme d(x) est un polyn ome de degr e n 1 (le coefcient de xn est le m eme pour q (x) et Tn (x)), ceci est une contradiction a ` d(x) 6 0.

32

Interpolation et Approximation

Tn (x)
1 0 1q (x)

F IG . II.4 Esquisse pour la d emonstration du Lemme Le lemme pr ec edent montre que

x2 1;1]
si et seulement si (x

max j(x x0) : : : (x xn)j

est minimal

x0) : : : (x xn) = 2 nTn+1(x), c.-` a-d., si


1) ; xk = cos (22kn+ +2

k = 0; 1; : : : ; n

(2.11)

(points de Chebyshev). Pour r epondre a ` la question (2.6), il faut encore utiliser la translation x a+b + b a x, qui envoie lintervalle 1; 1] sur a; b]. On obtient alors 2 2 Th eor` eme 2.6 Lexpression (2.6) est minimale parmi toutes les divisions seulement si

7!

fx0 ; x1; : : : ; xng si et


(2.12)

b + b a cos (2k + 1) ; xk = a + 2 2 2n + 2

k = 0; 1; : : : ; n:

Exemple 2.7 Comme dans la g. II.2, nous consid erons la fonction f (x) = 1=(1 + x2 ) sur lintervalle 4:5; 4:5]. Dans la g. II.5, on compare le polyn ome dinterpolation bas e sur des points e quidistants avec celui bas e sur les points de Chebyshev.

F IG . II.5 Interpolation avec des points e a gauche) et les points de Chebyshev (` a droite) quidistants (`

Interpolation et Approximation

33

II.3 Convergence de linterpolation


Pour am eliorer la pr ecision du polyn ome dinterpolation, on augmente, en g en eral, le nombre de points de la division. Consid erons alors une suite de divisions

x(0n) ; x(1n) ; : : : ; x(nn) :

(3.1)

(n) (n) ome dinterpolation satisfaisant pn (xi ) = f (xi ) pour une Si lon d enote par pn (x) le polyn fonction f : a; b] ! IR donn ee, il est int eressant d etudier sa convergence vers f (x).
Th eor` eme 3.1 Soit f

2 C 1 a; b],
pour

jf (n)(x)j M
(n) et soit (3.1) une suite arbitraire avec xi

x 2 a; b]

et

n = 0; 1; 2; : : : n ! 1:

(3.2)

2 a; b]. Alors,
pour (3.3)

x2 a;b]

max jf (x) pn(x)j ! 0

D emonstration. Lhypoth` ese (3.2) appliqu ee a ` (2.4) donne

jf (x) pn(x)j (b a)n+1 (n M : + 1)! Lexpression (b a)n+1 =(n + 1)! tend vers z ero pour n ! 1 car elle est un terme de la s erie P
convergente eb a

k 0 (b

a)k =k!.

Lhypoth` ese (3.2) est satisfaite, par exemple, pour ex , sin x, cos x et pour des polyn omes, mais autrement elle est tr` es rarement v eri ee. Par exemple, la fraction rationnelle f (x) = 1=x satisfait ( n ) n +1 f (x) = n!=x . Elle ne v erie pas (3.2) sur 1; 2]. Le ph enom` ene de Runge (1901). Pour le reste de ce paragraphe nous allons consid erer uniquement des fonctions rationnelles f (x), d enies sur lintervalle normalis e 1; 1], et la suite des divisions e quidistantes i; x(in) = 1 + 2 i = 0; 1; : : : ; n: (3.4) n

Le but est d etudier la convergence de pn (x) vers f (x). La g. II.6 montre les polyn omes dinter2 polation pour la fonction f (x) = 1=(1 + 25x ) sur 1; 1]. On peut observer que, dans un certain intervalle autour de lorigine, pn (x) converge vers f (x), mais au bord de lintervalle consid er e, on a divergence. Pour pouvoir mieux comprendre ce ph enom` ene, on a besoin de la formule de Cauchy (voir Analyse II)

Z f (x) = 21 i zf (z) (3.5) x dz: Dans cette formule, est une courbe ferm ee autour de x, telle que f (z ) na pas de singularit e a ` lint erieur de la courbe. Si la courbe est donn ee par la param etrisation : a; b] ! C l avec (a) = (b), lint egrale dans (3.5) est d enie par Z f (z ) Z b f ( (t)) 1 1 0 (t) dt: f (x) = 2 i z x dz = f (x) = 2 i a (t) x

34

Interpolation et Approximation

1 1

1 1

1 1

1 1

n=2

n=4

n=6

n=8

n = 10

1 1

1 1

1 1

1 1

n = 12

n = 14

n = 16

n = 18

n = 20

F IG . II.6 Le ph enom` ene de Runge pour f (x) = 1=(1 + 25x2 )

En utilisant la notation

n (x) := (x

x(0n) ) (x x(1n) ) : : : (x x(nn) )

(3.6)

pour la division e quidistante (3.4), nous obtenons la formule suivante pour le polyn ome dinterpolation Z n (z ) n (x) pn(x) = 21 i zf (z) (3.7) dz: x n (z ) Ici, est une courbe ferm ee autour du segment 1; 1] telle que f (z ) nait pas de singularit e (p ole) a ` lint erieur de la courbe (voir la g. II.7).

F IG . II.7 Courbe admissible pour la formule (3.7) En effet, la partie droite de (3.7) est un polyn ome de degr e n en x car ( n (z ) (n) est un. En posant x = xk pour un k 2 f0; : : : ; ng, on a

n (x))=(z

x) en

1 Z f (z) 2 i z x(kn)

n (z )

n (z )

(n) n (xk )

Z f (z) 1 (n) dz = 2 i (n) dz = f (xk ); z xk


1; 1] (voir la g. II.7) telle que f (z) 1; 1], lerreur de linterpolation est
n (x) dz: n (z )
(3.8)

ce qui montre la formule (3.7). La diff erence de (3.7) et de (3.5) nous donne une autre formule pour lerreur de linterpolation. Th eor` eme 3.2 Soit une courbe ferm ee autour du segment nait pas de singularit ea erieur de . Alors, pour x 2 ` lint donn ee par

Z f (x) pn(x) = 21 i zf (z) x

Interpolation et Approximation Lid ee de l etude de la convergence de pn (x) vers f (x) est la suivante: si, pour un x 2 on peut choisir la courbe telle que

35

1; 1],
(3.9) (3.10)

avec un

j jdzj jf (x) pn(x)j 2 jjzf (z) xj q et on a convergence pour n ! 1. Il faut alors e tudier la fonction n j n (z )j pour n ! 1.
Lemme 3.3 Pour la division e ome n (z ) de (3.6) on a quidistante (3.4) et pour le polyn

< 1, alors,

j n(x)j

nj

n (z )j

pour tout

z2

nZ

n nlim !1 j n (z )j = G(z )
o` u

ce qui repr esente une somme de Riemann pour la fonction s 7! log jz obtient ainsi (observer que log w = log jw j + i arg w )

G(z) = exp <((z + 1) log(z + 1) (z 1) log(z 1)) 1 : q D emonstration. En prenant le logarithme de n j n (z )j, on obtient q log n j n(z)j = n log j n(z)j = n log jz x(0n) j + : : : + log jz x(nn) j ;
1 2 1 1

(3.11)

) (n) sj, x(kn +1 xk = 2=n. On


1 2

nlim !1 log j n (z )j = 2 1 log jz sj ds = 2 < Une primitive de log t est t log t t. Ceci implique
1 1

q n

Z1

Z1

log(z s) ds = <

Z z+1
z 1

log t dt:

nlim !1 log j n (z )j = 2 < (z + 1) log(z + 1) et donne la formule du lemme.


1

q n

(z 1) log(z 1) (z + 1) + (z 1) ;

q G(x) = e 1 (1 + x)1+x(1 x)1 x; en particulier G(0) = 1=e, G( 1) = 2=e (voir g. II.8 a ` gauche). Les lignes de niveau fz j G(z ) =
Const g sont dessin ees dans la g. II.8 (dessin a ` droite). Th eor` eme 3.4 (Runge 1901) Si f (z ) na pas de singularit e dans fz j G(z )

Pour un x r eel et compris dans (

1; 1), on a

G( )g, alors

pour x 2 ; ]: nlim !1 pn (x) = f (x) D emonstration. On consid` ere une courbe autour de 1; 1] qui est en dehors de lensemble fz j G(z) G( )g et qui est telle que tous les p oles de f (z ) sont en dehors de . Ceci entra ne pour x 2 ; ] que G(x) G( ) 0 min z2 G(z ) avec un 0

< 1. Pour un

q n

satisfaisant 0

Ceci v erie (3.9) pour x 2

j n(x)j

; ] et la convergence est une cons equence de (3.10).

< < 1 et pour n sufsamment grand, on a q n j n(z)j pour z2 :

36

Interpolation et Approximation

.5 .5

G(x)
1.0 .5 .5 .5 1.0

1 0 1 F IG . II.8 La fonction G(x) (dessin a ` gauche) et les lignes de niveau de G(z ) (dessin a ` droite)
Exemple. La fonction f (x) = 1=(1 + 25x2) poss` ede une singularit e en i=5. La ligne de niveau de G(z) qui passe par i=5 coupe laxe r eel au point 0:726. Alors, la convergence du polyn ome dinterpolation (avec des points e quidistants) est e tablie pour jxj < 0:726 (voir g. II.6). Il est encore int eressant de mentionner que linterpolation avec des points de Chebyshev a de meilleures propri et es de convergence. ument diff erentiable sur 1; 1] et soit pn (x) le polyn ome Th eor` eme 3.5 Soit f (x) une fois contin (2 i +1) dinterpolation passant par (xi ; f (xi )) o` u xi = cos( 2n+2 ) , i = 0; 1; : : : ; n. Alors,

x2 1;1]

max jf (x) pn(x)j ! 0

pour

n ! 1:

La d emonstration utilise le th eor` eme de Stone-Weierstra (voir par exemple le chapitre II du livre 2 de Werner & Schaback pour plus de details).

II.4 Inuence des erreurs darrondi sur linterpolation


Repr esentation en virgule ottante. Chaque nombre r eel x 6= 0 peut s ecrire sous la forme

x = a 10b (4.1) o` u a, la mantisse, satisfait 0:1 a < 1 et lexposant b est un nombre entier. Cette repr esentation de x est unique. Supposons maintenant quon ait seulement un nombre ni de chiffres (disons `) a ` disposition pour la mantisse, mais que lon nait pas de restriction pour lexposant. Si a d enote larrondi de a, on va calculer en fait avec le nombre
au lieu de x. Par exemple, le nombre

a 10b = 3:141592653 : : : est repr esent e par


arr (x) = (4.2)

) = 0:31415927 101 si lon calcule avec ` = 8 chiffres en base 10.


arr ( Pr ecision de lordinateur. On d enote par eps le plus petit nombre positif tel que arr (1 + eps ) > 1:
2

: H. Werner & R. Schaback (1979), Praktische Mathematik II. Springer-Verlag, 2. Auage. [MA 65/23]

Interpolation et Approximation Pour un calcul en base 10 avec ` chiffres dans la mantisse on a arr (0: 10 :::0 } 49 : : : | {z ` arr (0: 10 :::0 | {z } 50 : : : ` Dans cette situation, on a alors
eps

37

101) = 1
1 101) = 0: 10 :::1 | {z } 10 > 1:

Si lon fait le m eme calcul en base 2 (comme tous les ordinateurs le font) on obtient
eps

= 5 10 `: = 2 `:
24 53 113

(4.3)

(4.4)

Par exemple, sur une SUN workstation on a


REAL REAL REAL

Th eor` eme 4.1 Pour un x 6= 0 on a

4; 8; 16;

=2 eps = 2 eps = 2
eps

5:96 10 8 1:11 10 16 9:63 10 35:


(4.5)

jarr (x) xj jxj


D emonstration. Soit x = a 10b et arr (x) = a ja aj 5 10 ` 1. Il en r esulte

eps ;

c.-` a-d., lerreur relative due a ee par eps . ` larrondissement est born

10b. Si lon arrondit a ` ` chiffres signicatifs, on a 5 10 ` 1 = 5 10 ` = eps 10 1

car jaj

1=10.

jarr (x) xj = ja aj 10b jxj jaj 10b

Lestimation (4.5) peut aussi e tre e crite sous la forme arr (x) = x(1 +

o` u

jj

eps :

(4.6)

Cette formule est la base pour toute e tude derreurs darrondi. Inuence des erreurs dans yi sur le polyn ome dinterpolation. Supposons que les donn ees yi soient erron ees et quon calcule en fait avec

bi), on Pour e tudier la diff erence entre le polyn ome qui passe par (xi ; yi ) et celui qui passe par (xi ; y utilise la formule du lemme suivant.
Lemme 4.2 (formule de Lagrange) Le polyn ome dinterpolation p(x) qui passe par (xi ; yi ) pour i = 0; 1; : : : ; n est donn e par

bi = yi(1 + i ) y

o` u

j ij

eps :

(4.7)

p(x) =

n X i=0

yi`i(x)

o` u

n x x Y `i(x) = x xj : j j =0 i j 6=i

(4.8)

38

Interpolation et Approximation

D emonstration. Le polyn ome `i (x) satisfait `i (xi ) = 1 et `i (xk ) = 0 si k 6= i. Ainsi, les deux c ot es P n de la formule (4.8) valent yk pour x = xk (k = 0; 1; : : : ; n). Comme p(x) et i=0 yi `i (x) sont des polyn omes de degr e n, cette formule est une cons equence de lunicit e du polyn ome dinterpolation (voir le th eor` eme 1.2).

bi) sont respectivement Les polyn omes passant par (xi ; yi ) et (xi ; y
p(x) =
n X i=0

yi`i(x)

et

b(x) = p
n X i=0

n X i=0

bi`i(x): y

bi est donn Si y e par (4.7), la diff erence satisfait b(x) p(x) = p


et on obtient

i yi`i (x) n X

j`i(x)j: (4.9) i=0 P j` (x)j d ecrit lamplication de lerreur dans les donn ees. Sa valeur maximale La fonction n i=0 i
eps

b(x) p(x)j jp

max jy j i=0;:::;n i
n X i=0

max n := x 2 a;b]

j`i(x)j

(4.10)

sappelle la constante de Lebesgue associ ee aux points x0 ; x1 ; : : : ; xn et a ` lintervalle constante peut e tre calcul ee num eriquement (voir exercice 5). i (b a) de lintervalle a; b], on a quidistants. Pour la division xi = a + n Points e

a; b]. Cette

20

3 104; 3 4
2

40

1010 ;

2n+1 : e n log n

Points de Chebyshev. Si lon choisit xi

(2i+1) b b a = a+ 2 + 2 cos( 2n+2 ), on a


pour pour

n n n

log n

n 20 n 100 si n est grand.


sin x sur lintervalle 0; 5]. Pour n 25, 10 9 quelle que soit la division choisie.

Exp erience num erique. Consid erons la fonction f (x) = lerreur de linterpolation est born ee par 526 =26! 3:69

n = 30

n = 40

n = 50

F IG . II.9 Inuence des erreurs dans les yi sur linterpolation

Interpolation et Approximation

39

Prenons les yi = sin xi en simple pr ecision (erreur relative eps 5:96 10 8) et faisons le calcul de p(x) en double pr ecision. Dans la g. II.9 nous voyons le polyn ome dinterpolation obtenu de cette mani` ere (avec des points e quidistants). Son erreur devient bien visible a ` partir de n = 32, la valeur o` u eps n d epasse 1. Evidemment, linterpolation avec les points de Chebyshev ne montrera pas ce ph enom` ene.

II.5 Transformation de Fourier discr` ete et interpolation trigonom etrique


Dans le traitement de signaux, on est confront ea ` la situation suivante: beaucoup (plusieurs milliers ou des millions) de valeurs (ti ; yi ) sont donn ees o` u les fti g repr esentent une division e quidistante du temps. Typiquement, les yi satisfont une certaine p eriodicit e. La g. II.10 montre la digitalisation dun son. On a enregistr e 22000 impulsions par seconde, dont 1024 sont dessin ees (ceci correspond a ` 1024=22 46:5 millisecondes). On est souvent int eress ea ` l etude du spectre dun signal (c.-` a-d., la transform ee de Fourier ou les coefcients de la s erie de Fourier).

100

200

300

400

500

600

700

800

900

1000

F IG . II.10 Digitalisation du son a prononc e par Martin Rappelons que, pour une fonction 2 -p eriodique f (x) a ` valeurs dans IR ou dans Fourier est X b ikx f (x) f (k)e ;

C l , la s erie de
(5.1)

k2Z Z

o` u les coefcients de Fourier sont d enis par

fb(k) = 21 x` = 2N` ;
Comme f (xN ) proximation

Z2
0

f (x)e

ikx dx

(5.2)

(voir le cours dAnalyse II pour les conditions entra nant l egalit e dans (5.1)). Supposons maintenant que la fonction f (x) est seulement connue pour les x de la division e quidistante

` = 0; 1; : : : ; N:

(5.3)

= f (x0 ) par hypoth` ese, la formule du trap` eze appliqu ee a ` (5.2) nous donne lap-

X1 1N fbN (k) = N f (x`)e


`=0

ikx` :

(5.4)

Ceci motive les d enitions suivantes.

40 Consid erons lespace de suites N -p eriodiques

Interpolation et Approximation

PN = f(yk )k2Z l yk+N = yk g: Z j yk 2 C;


D enition 5.1 La transform ee de Fourier discr` ete (DFT) de y

(5.5)

2 PN est la suite (zk )k2Z u Z o`


! = e2
i=N :

N X1 1 zk = N y`e `=0
On la d enote z

ikx`

N X1 1 =N y`! `=0

k`

avec

= FN y.

Propri et es de la DFT.

2 PN on a que FN y 2 PN . b) Lapplication FN : PN ! PN est lin eaire et bijective. c) Lapplication inverse de FN est donn ee par
a) Pour y

FN 1 = N F N
o` u

(5.6)

N X1 k` (F N z)k := (FN z )k = 1 N `=0 z` ! :

(5.7)

D emonstration. En utilisant ! N

= e2 i = 1 et !

`N

= (!N ) ` = 1, on obtient
k` = z k;

N X1 1 zk+N = N y`! `=0

(k+N )`

N X1 1 =N y`! `=0

ce qui montre la p eriodicit e de la suite (zk ). La lin earit e de FN est triviale. Pour montrer sa bijectivit e et en m eme temps la formule (5.6), nous calculons

N N X1 X1 N X1 k` kj 1 1 kj (F N FN y)j = N k=0 (FN y)k ! = N 2 k=0 `=0 y`! ! X1 1 N X1 1N 1y: =N y` N !k(j `) = N j `=0 k=0
La derni` ere e galit e de ce calcul est une cons equence de

N X1 k=0
en observant que ! m

!km

N X1 k=0

(!m)k

!mN 1 !m 1

=0

sim = 0 (mod N ) sinon,

= 1 si m = 0 (mod N ).

Interpolation et Approximation
101

41

aaa
100 101 101 100 101 0 50 100 0 50 100

periode 1024

150

aaa

periode exacte

150

F IG . II.11 Le spectrogramme pour le son de la g. II.10 Exemple. Pour les N = 1024 donn ees de la g. II.10, on a calcul e la transform ee de Fourier discr` ete z = FN y. La suite fjzk jg est dessin ee dans limage du dessus de la g. II.11 pour k = 1; : : : ; 170 (comme les yi sont r eels, on a z k = zk ; pour 170 < k < N=2 les jzk j sont plus petits que 0.072). On voit bien que les fr equences dominantes du son sont situ ees dans lintervalle jk j 60 (parce que la longueur de lintervalle dans la g. II.10 est de 1024=22000 secondes, la valeur k = 60 correspond a ` 60 22000=1024 1390Hz). La th eorie de ce paragraphe est bas ee sur le fait que f (x) est une fonction p eriodique. Mais, la p eriode du signal de la g. II.10 nest visiblement pas e gale a ` N = 1024. Elle est plut ot proche de N = 997. Si lon calcule 1024 valeurs de f (x) sur une p eriode exacte (par interpolation lin eaire) et leur transform ee de Fourier discr` ete on obtient limage du dessous de la g. II.11. Cette fois, on peut beaucoup mieux observer la fr equence principale (5 22000=997 110Hz) ainsi que les harmoniques (multiples de la fr equence principale). Etude de lerreur. Supposons maintenant que

transform ee de Fourier discr` ete (5.4) approche les coefcients de Fourier. Th eor` eme 5.2 Si la s erie

` = 0; 1; : : : ; N y` = f (x`); x` = 2N` ; pour une fonction f : IR ! C l qui est 2 -p eriodique. La formule suivante d ecrit comment la

k2Z Z f (k) est absolument convergente,

X b fbN (k) fb(k) = f (k + jN ): j 2Z Z j 6=0

(5.8)

D emonstration. Lhypoth` ese sur les coefcients de Fourier implique quon ait e galit e dans (5.1) (voir le cours dAnalyse II). Par cons equent, on a

N X1 X b inx` 1 b fN (k) = N f (n)e ! `=0 n2Z Z

k` =

N X b X1 (n k)` X b 1 f (n) ! = f (k + jN ) N `=0 n2Z Z j 2 Z Z {z } (| = 1 si n = k (mod N )

sinon

42 Corollaire 5.3 Soit f

Interpolation et Approximation

: IR ! C l p fois contin ument diff erentiable (p 2) et 2

-p eriodique. Alors, (5.9)

fbN (k) fb(k) = O(N p) pour jkj N=2: En particulier, avec h = 2 =N , on a Z2 N X1 h f (xj ) f (x) dx = O(hp);
j =0
0
D emonstration. Montrons dabord que les coefcients de Fourier satisfont

(5.10)

ce qui signie que, pour des fonctions lisses et p eriodiques, la formule de trap` eze est tr` es pr ecise.

jfb(k)j C jkj
Z2 f (x)e fb(k) = 21
0

pour

k 6= 0:
1

(5.11)

En effet, plusieurs int egrations par parties nous donnent

ikx dx = f (x) e

0 pZ2 ( ik ) = ::: = f (p)(x)e ikx dx 2 0 R 1 et il en r esulte (5.11) avec C = 2 02 jf (p) (x)j dx. Pour jk j N=2 et j 6= 0 on a que jk + jN j (jj j 1=2)N et on obtient de (5.8) que

{z

ikx 2 ik 0

) + (ik 2

Z2
0

f 0(x)e

ikx dx

X jfbN (k) fb(k)j 2 C (j 1=2) pN p = C1 N p:


j 1

Observons que la s erie dans cette formule converge pour p > 1.

bN (k) est une suite N -p b(k) converge Attention. On sait que f eriodique (propri et e de la DFT) et que f tr` es rapidement vers z ero (voir (5.11)). Ainsi, pour k grand (disons k N ), fbN (k) est une maub(k). Pour jkj N=2, elle est en g vaise approximation de f en eral tr` es bonne.
Interpolation trigonom etrique. Pour la division e quidistante (5.3) de lintervalle 0; 2 ] et pour y0; y1; : : : ; yN 1 donn es, on cherche un polyn ome trigonom etrique (une combinaison lin eaire nie ikx de fonctions e ) passant par (x` ; y` ) pour ` = 0; 1; : : : ; N 1. Th eor` eme 5.4 Soit y 2 PN et polyn ome trigonom etrique

z = FN y sa transform ee de Fourier discr` ete. Si N


N=2 e iNx=2 + z eiNx=2 N=2

est pair, le

pN (x) =

N= 2 X

k= N=2

zk eikx := 1 2 z

X
jkj<N=2

zk eikx

(5.12)

satisfait pN (x` ) = y` pour ` = 0; 1; : : : ; N

Remarque. Si les yk sont r eels, fzk g est une suite hermitienne (c.-` a-d., z k = z k ) et le polyn ome pN (x) est une fonction r eelle. D emonstration. Pour ` x e, la suite fzk eikx` g est N -p eriodique en k. Ainsi,

1.

pN (x`) =

N X1 k=0

zk eikx` = N (F N z)` = N (F N FN y)` = y`:

Interpolation et Approximation

43

Th eor` eme 5.5 (Erreur de linterpolation trigonom etrique) Soit f : IR ! C l une fonction 2 P b p eriodique telle que k2Z ome trigonom etrique Z f (k) soit absolument convergente. Alors, le polyn (5.12) pour y` = f (x` ) satisfait pour tout x 2 IR

jf (x) pN (x)j 2
D emonstration. On soustrait (5.1) de (5.12):

jkj N=2

X0 b jf (k)j:

(5.13)

f (x) pN (x) =

N= 2 X

k= N=2

(fb(k) fbN (k))eikx +

jkj N=2

X0 b ikx f (k)e :

Lassertion est donc une cons equence de (5.8) et de lin egalit e de triangle. Ce th eor` eme permet une interpr etation int eressante. Consid erons une fonction 2 -p eriodique b(k) = 0 pour jkj > M ). Alors, le polyn de fr equence maximale M (c.-` a-d., f ome trigonom etrique pN (x) donne le r esultat exact (pN (x) = f (x) pour tout x) si

N > 2M:

(5.14)

Ce r esultat le th eor` eme d echantillonnage nous donne une formule pour le nombre d echantillons n ecessaires pour une repr esentation exacte dune telle fonction. Pour notre exemple (g. II.10 et g. II.11), la fr equence maximale est denviron 1390Hz (c.a ` -d., M 60). Alors, N = 128 e chantillons sont sufsants pour repr esenter correctement le

N = 256

N = 128

10

20

30

40

N = 64

10

20

30

40

10

20

30

40

F IG . II.12 Interpolation trigonom etrique

44

Interpolation et Approximation

signal de la g. II.10. Dans la g. II.12 sont dessin es les polyn omes trigonom etriques pN (x) (pour N = 64, 128 et 256) passant par

y`

pour

` = 0 (mod 1024=N )
= 128. Il

o` u y` sont les donn ees de la g. II.10. On voit bien la bonne repr esentation a ` partir de N e ` me suft alors dutiliser chaque 8 e chantillon (compression des donn ees).

II.6 Transformation de Fourier rapide (FFT)


ecessite N 2 multiplications et additions. Dans ce paragraphe, nous Un calcul direct de FN y n pr esentons un algorithme qui fait le m eme travail en N log2 N op erations. Cet algorithme est d ua ` Cooley & Tukey (1965); il est bas e sur des id ees de Runge (1925).

Lemme 6.1 Soient u = (u0 ; u1 ; : : : ; uN 1 ) 2 PN , v

= (v0 ; v1; : : : ; vN 1) 2 PN et d enissons


(6.1)

y = (u0; v0; u1; v1; : : : ; uN 1; vN 1) 2 P2N :


Alors, pour k

= 0; 1; : : : ; N 1, on a (!2N = e2

i=2N

=e

i=N )

k N (F v ) 2N (F2N y)k = N (FN u)k + !2N N k k 2N (F2N y)k+N = N (FN u)k !2N N (FN v)k :
2 D emonstration. En utilisant !2 N

(6.2)

= !N , un calcul direct nous donne (k arbitraire) =


2X N 1

2N (F2N y)k = =

2X N 1

j =0 N X1

yj e

2 ijk=2N

N 1 (2`+1)k 2`k + X y k N (F v ) : y ! ! = N (FN u)k + !2N 2 ` 2 ` +1 N k 2 N 2 N |{z} | {z } | {z } | {z } `=0 u` ` =0 v` ! k ! `k ! `k N


2N

j =0

jk yj !2N

N La deuxi` eme formule de (6.2) r esulte de !2 N

= 1.

La formule (6.2) nous permet de calculer (avec N multiplications et 2N additions) la transform ee de Fourier discr` ete de y 2 P2N a ` partir de FN u et FN v . La m eme proc edure peut e tre appliqu ee r ecursivement aux suites u et v si elles ont une longueur paire. Si lon suppose que

Interpolation et Approximation

45

N = 2m, on obtient lalgorithme pr esent e dans le sch ema suivant (pour N = 8 = 23 )

0y 1 0 1 0 y0 B C B C y B 2C y B C 1 ( N= 2) F B , N= 2 B C @ y4 C A B C y 2 B C y6 B y3 C C N FN B B C 0y 1 B y4 C B C 1 B y B C 5C B C y B 3C B @ y6 C A (N=2) FN=2 B @ y5 C A y7 y7

. (N=4) FN=4 / (N=4) FN=4 . (N=4) F N=4 /


(N=4) FN=4

y0 y4 y2 y6 y1 y5 y3 y7

n FN=8y4 = y4 FN=8y2 = y2 / n FN=8y6 = y6 n n


/ FN=8y1 = y1

FN=8y0 = y0

(6.3)

FN=8y5 = y5

/ FN=8y3 = y3

lordre exig e par lalgorithme (6.3), c.-` a-d. quil faut inverser les bits dans la repr esentation binaire des indices: : :

FN=8y7 = y7 La programmation de cet algorithme se fait en deux e tapes. Dabord, on met les fyi g dans
0= (0; 0; 0) : 1= ; 0; 1) : (0 2= (0 ; 1; 0) : 3= (0; 1; 1) : 4= ; 0; 0) : (1 5= (1 ; 0; 1) : 6= (1; 1; 0) : 7 = (1; 1; 1) 0= (0; 0; 0) : 4= ; 0; 0) : (1 2= (0 ; 1; 0) : 6= (1; 1; 0) : 1= ; 0; 1) : (0 5= (1 ; 0; 1) : 3= (0; 1; 1) : 7 = (1; 1; 1)

Apr` es, on effectue les op erations de (6.2) comme indiqu e dans le sch ema (6.3). Pour une explication d etaill ee de la programmation voir le livre Numerical Recipies. 3 Pour passer dune colonne a ` une autre (dans le sch ema (6.3)) on a besoin de N=2 multiplications complexes et de N additions (ou soustractions). Comme m = log2 N passages sont n ecessaires, on a Th eor` eme 6.2 Pour tions complexes et

N log N N = 2m , le calcul de FN y peut e e en tre effectu 2 2 N log2 N additions complexes.

multiplica-

Pour mieux illustrer limportance de cet algorithme, nous comparons dans le tableau II.2 le nombre dop erations n ecessaires pour le calcul de FN y avec ou sans FFT. Applications de la FFT. A part le calcul dun spectrogramme (voir la g. II.11), la transformation de Fourier rapide a encore beaucoup dautres applications. a) La propri et e (voir exercice 6)

FN (y z) = N FN y FN z

(6.4)

3: W.H. Press, B.R. Flannery, S.A. Teukolsky & W.T. Vetterling (1989): Numerical Recipies. The Art of Scientic Computing (FORTRAN Version). Cambridge University Press.

46

Interpolation et Approximation

TAB . II.2 Comparaison de nombres dop erations

N 5 2 = 32 210 103 220 106


pour la convolution

N 2 N log2 N 103 160 6 10 104 12 10 2 107


(y z)k =
N X1 `=0

quotient

6:4 100 5 104

yk ` z`

(6.5)

de deux suites N -p eriodiques implique que y z = N FN 1 (FN y FN z ) peut e tre calcul e en O (N log2 N ) op erations. b) R esolution dun syst` eme lin eaire avec une matrice de Toeplitz circulaire

a1 1 0 x0 1 0 b0 1 B B x1 C b1 C a2 C C B C B C C B C B C B C B C a3 C B x2 C = B b2 C : (6.6) C . . C B C B C ... . . . . . A@ . A @ . A a0 xN 1 bN 1 ere (ai ), (xi ) Evidemment, le syst` eme lin eaire (6.6) est e quivalent a ` a x = b si lon consid` et (bi ) comme des suites dans PN . On obtient la solution de (6.6) en O (N log2 N ) op erations

0 a a 0 N 1 aN 2 B a1 a0 aN 1 B B B a2 a1 a0 B . . . B . . . @ . . . aN 1 aN 2 aN 3

avec la formule

x=N

FN 1(FN b=FN a)
a a a x0 N +1 C B x1 C B C N +2 C C B C B C x N +3 C 2 : C B C . . C B C . . . A@ . A xN 1 a0
N +2 ; : : : ; a 1 )

(6.7)

o` u la division est effectu ee e l ement par e l ement. c) Multiplication dune matrice de Toeplitz arbitraire avec un vecteur

0 a a1 a2 0 B a a0 a 1 B 1 B B a2 a1 a0 B . . . B . . . @ . . . aN 1 aN 2 aN 3 En consid erant les suites dans P2N

10

...

(6.8)

a =(a0; a1 ; : : : ; aN 1; 0; a N +1; a x =(x0 ; x1; : : : ; xN 1 ; 0; 0; : : :; 0)

on v erie facilement que le r esultat du produit (6.8) est la premi` ere moiti e de la convolution a x. Le calcul de la convolution avec FFT donne alors un algorithme rapide pour effectuer le produit (6.8).

II.7 Interpolation par fonctions spline


Le mot spline (anglais) signie languette e lastique. On sint eresse a ` la courbe d ecrite par une languette forc ee de passer par un nombre ni de points donn es (disons par (xi ; yi ) pour i =

Interpolation et Approximation

47

0; 1; : : : ; n). La g. II.13 montre le spline passant par les m emes donn ees que pour la g. II.1 (pour
pouvoir le comparer avec le polyn ome dinterpolation).
10 5 0 5

s(x)
2 4 6 8 10

F IG . II.13 Spline cubique (` a comparer avec g. II.1) Math ematiquement, ce probl` eme peut e tre formul e comme suit: on cherche une fonction a; b] ! IR (a = x0 , b = xn ) satisfaisant (S1) (S2) (S3)

s:

a Lint egrale dans (S3) repr esente l energie de la languette d eform ee qui, par le principe de Maupertius, est suppos ee minimale.
Th eor` eme 7.1 Soit a = x0 < x1 < : : : < xn = b une division donn ee, s : f : a; b] ! IR deux fonctions qui v erient (S1) et (S2). Supposons que

s(xi) = yi pour i = 0; 1; : : : ; n; s contin ument diff erentiable; Z(bx) est 2 fois (s00(x))2 dx ! min.

a; b] ! IR et
(7.1)

s00(b) f 0(b) s0 (b) = s00(a) f 0(a) s0(a)


et que s(x) soit un polyn ome de degr e 3 sur chaque sous-intervalle

Zb
a

(s00(x))2 dx

Zb
a

xi 1 ; xi]. Alors, on a
(7.2)

(f 00(x))2 dx:

D emonstration. Cherchons des conditions sufsantes pour s(x) an de satisfaire (S3). Pour ceci nous consid erons des fonctions voisines f (x) = s(x) + h(x) o` u 2 IR et h(x) est de classe C 2 et v erie h(xi) = 0 pour i = 0; 1; : : : ; n: (7.3) Chaque fonction (S3) s ecrit alors

f (x) satisfaisant (S1) et (S2) peut e tre obtenue de cette mani` ere. La condition

Zb
a

(s00 (x))2 dx =

Zb Zab
a

(s00 (x) + h00 (x))2 dx (s00(x))2 dx + 2

Zb
a

Zb 00 00 2 s (x)h (x) dx + (h00(x))2 dx


a

(pour tout

2 IR), ce qui est e quivalent a `


Zb
a

s00(x)h00 (x) dx = 0

(7.4)

48

Interpolation et Approximation

pout tout h 2 C 2 v eriant (7.3). En supposant s(x) 3 fois diff erentiable sur chaque sous-intervalle de la division, on obtient par int egration par parties que

b s00(x)h0 (x)

Zb
a

s000(x)h0 (x) dx = 0:

(7.5)

Lhypoth` ese (7.1) implique que la premi` ere expression de (7.5) est nulle. Comme s000 (x) est constant sur (xi 1 ; xi ), disons e gal a ` i , la deuxi` eme expression de (7.5) devient

Zb
a

X s000 (x)h0 (x) dx =


n i=1

Z xi

xi 1

h0(x) dx =

n X i=0

i (h(xi )

h(xi 1 )) = 0

par (7.3). Ainsi, (7.4) et par cons equent (7.2) aussi sont v eri es. Le th eor` eme pr ec edent montre que les candidats a ` la solution de (S1-S3) sont des fonctions de classe C 2 qui sont des polyn omes de degr e 3 par morceaux. D enition 7.2 Soit a = x0 < x1 < : : : < xn = b une division de a; b]. Une fonction s 2 C 2 a; b] sappelle spline (cubique) si, sur chaque intervalle xi 1 ; xi ], elle est un polyn ome de degr e 3. Pour satisfaire la condition (7.1), on a plusieurs possibilit es: spline naturel: on suppose que

s00(a) = 0 s0(a) = p0
spline p eriodique: on suppose que

et

s00(b) = 0: s0(b) = pn: s00(a) = s00(b):

(7.6)

spline scell e: on suppose donn ees les pentes aux extr emit es et (7.7)

s0(a) = s0(b)

et

(7.8)

Evidemment, pour le spline scell e, la condition (7.1) est seulement satisfaite si la fonction f (x) v erie aussi la condition (7.7). Alors, s(x) minimise lint egrale de (S3) seulement dans la classe de fonctions dont les pentes sont x ees aux extr emit es. Pour le spline p eriodique, la situation est analogue. Le but suivant est de d eriver une construction du spline v eriant s(xi ) = yi pour i = 0; 1; : : : ; n et une des conditions (7.6)-(7.8). Interpolation dHermite. Consid erons un seul sous-intervalle xi 1 ; xi ] et cherchons un polyn ome si(x) de degr e 3 v eriant

si(xi 1 ) = yi 1;

si(xi ) = yi;

s0i(xi 1 ) = pi 1 ;

s0i(xi) = pi :

(7.9)

La solution peut e tre obtenue par la formule de Newton en rempla cant les deux derni` eres conditions de (7.9) par si (xi 1 + ) = yi 1 + pi 1 et si (xi ) = yi pi, et en consid erant la limite ! 0. Les diff erences divis ees corresponadant aux donn ees (7.9) sont pr esent ees dans le tableau II.3 (hi 1 := xi xi 1 ). En utilisant les valeurs encadr ees pour la formule de Newton, on obtient

si(x) = yi 1 + (x xi 1 ) y xi; xi 1 ]

(7.10)

Interpolation et Approximation TAB . II.3 Diff erences divis ees pour linterpolation dHermite

49

xi xi xi xi

1 1

yi yi yi yi

1 1

pi

y xi; xi 1] pi

hi 11 ( y xi; xi 1] pi 1) hi 11 (pi y xi; xi 1])

hi 21 (pi + pi

2 y xi; xi 1])

)(x xi) (p + (x xi 1 i 2 hi 1

y xi; xi 1 ])(x xi 1 ) + (pi

y xi; xi 1])(x xi ) : a; b] !

Construction du spline interpolant. Pour chaque choix de p0 ; p1 ; : : : ; pn , la fonction s : IR, d enie par s(x) = si (x) pour x 2 xi 1 ; xi ], satisfait a) s(xi ) = yi pour i = 0; 1; : : : ; n; b) s(x) est de classe C 1 et s0 (xi ) = pi pour i = 0; 1; : : : ; n; c) sur chaque intervalle xi 1 ; xi ], s(x) est un polyn ome de degr e 3.

Pour construire le spline interpolant, il reste a ` d eterminer les pentes p0 ; p1 ; : : : ; pn de mani` ere a ` ce 00 que s (x) soit continue, c.-` a-d.,

00 s00 i (xi ) = si+1 (xi );

i = 1; : : : ; n 1;

(7.11)

et quune des conditions (7.6)-(7.8) soit satisfaite. En d erivant (7.10) deux fois, on obtient

2 s00 i (xi ) = h (2pi + pi 1 3 y xi; xi 1 ]) i 1 2 s00 i (xi 1 ) = h (pi + 2pi 1 3 y xi; xi 1 ]): i 1
La condition (7.11) devient alors

pi 1 + p 2 1 + 1 + pi+1 = 3 y xi; xi 1 ] + y xi+1; xi] (7.12) hi 1 i hi 1 hi hi hi 1 hi pour i = 1; : : : ; n 1: Ceci donne n 1 e quations lin eaires pour les n + 1 inconnues p0 ; p1 ; : : : ; pn . Les deux derni` eres
conditions sont donn ees par le type du spline. Pour le spline naturel, la condition (7.6) donne

2p0 + p1 = 3 y x1; x0] (7.6) pn 1 + 2pn = 3 y xn; xn 1]: Pour le spline scell e, les valeurs de p0 et pn sont explicitement donn ees et, pour le spline p eriodique, on ajoute les conditions pn = p0 et

pn 1 + p 2 1 + 1 + p1 = 3 y xn; xn 1] + y x1; x0 ] : hn 1 0 hn 1 h0 h0 hn 1 h0

(7.8)

50

Interpolation et Approximation Le syst` eme lin eaire ainsi obtenu s ecrit matriciellement (pour le spline scell e)

hn 2 {z A avec dec ci convenables. Pour i = 2; : : : ; n 2, on a

0 2 B B B B B B B B B B @ |

1 h0

1 h1

+ h11

1 h1

1 h1 1 h2

+ h12

1 h2

1 h2
.. .

+ h13

.. ..

. .

1 0 p 1 0 c 1 C 1 1 C C C B C B p c C B B 2 C 2 C C B C B C C B p3 C c3 C =B C C B C B . . C C B C B . . C @ A A @ . . 1 C hn 2 A pn 1 cn 1 2 hn1 2 + hn1 1 }

(7.13)

y xi+1; xi ] ; i ; xi 1 ] ci = 3 y x + hi 1 hi
et pour i = 1 et i = n 1, il faut encore soustraire le terme f 0 (x0 )=h0 et f 0 (xn )=hn 1 , respectivement. La matrice A est sym etrique et tridiagonale. Th eor` eme 7.3 Soit Ap = c avec des ci satisfaisant jci j pour tout i. Alors, (7.14)

jpij h 2
En particulier, A est inversible (poser

o` u

h = i=0 max h: ;:::;n 1 i

= 0).

D emonstration. Soit p une solution de Ap = c et choisissons lindice jp`j jpj j pour tout j . La ligne ` du syst` eme Ap = c donne

` de mani` ere a ` ce que

1 = p` p` 2 h 1 + h h` ` 1 `
et, en prenant sa valeur absolue,

1 1

p`+1 + c ` h`

1 jp`j 2 h 1 + h ` 1 `
On en d eduit

1 + : jp`j h 1 + h ` 1 ` max(h`; h` 1) 2

h` h` 1 jp`j h ` + h` 1
2 min(h`; h` 1).

h 2

car h` + h` 1

Conclusion. Le spline scell e existe toujours et il est unique. La m eme d emonstration sapplique aussi au spline naturel et au spline p eriodique. La r esolution du syst` eme lin eaire (7.13) se fait par e limination. On e limine la variable p1 dans la ligne 2 a ` laide de la ligne 1, puis la variable p2 dans la ligne 3 a ` laide de la ligne 2, etc. On obtient alors un syst` eme bidiagonal qui est facile a ` r esoudre.

Interpolation et Approximation

51

II.8 Lerreur du spline


Soient une fonction diff erentiable f : a; b] ! IR et une division a Consid erons le spline s(x) satisfaisant (spline scell e)

= x0 < x1 < : : : < xn = b.


(8.1a) (8.1b)

s(xi ) = f (xi); s0 (x0 ) = f 0(x0 );

i = 0; 1; : : : ; n s0(xn ) = f 0(xn):

Ce spline est donn e par (7.10) o` u les coefcients pi satisfont (7.12), p0 = f 0 (x0 ) et pn = f 0 (xn ). Le but est d etudier lerreur f (x) s(x) pour x 2 a; b]. Lid ee importante est de consid erer (sur xi 1 ; xi ]) e galement le polyn ome dinterpolation dHermite qi (x), d eni par

qi (xi 1) = f (xi 1 );

qi(xi ) = f (xi);

qi0 (xi 1 ) = f 0(xi 1 );

qi0 (xi ) = f 0(xi ):

(8.1)

Il est aussi donn e par (7.10) si lon remplace pj par f 0 (xj ). On va estimer s epar ement les deux termes dans la formule

f (x) si(x) = (f (x) qi(x)) + (qi(x) si(x)):

(8.2)

Th eor` eme 8.1 Soit f (x) de classe C 4 et qi (x) le polyn ome de degr e 3 satisfaisant (8.1) (interpolation dHermite). Alors, pour x 2 xi 1 ; xi ], on a

4 i 1 jf (x) qi(x)j h 384

(4) ( )j: max j f 2 x ;x ]


i 1 i

(8.3)

D emonstration. Si lon calcule le polyn ome dinterpolation de degr e 3 passant par

(xi 1; f (xi 1));

(xi 1 + ; f (xi 1 + ));

(xi

; f (xi

));

(xi; f (xi))

avec la formule de Newton, on obtient pour ! 0 exactement le polyn ome qi (x) (voir le tableau II.3 des diff erences divis ees). Lerreur de ce polyn ome dinterpolation peut e tre estim ee par (voir le paragraphe II.2)

j(x xi 1 )(x xi
Donc, pour

! 0,

(4) ( )j j f )(x xi + )(x xi )j 4! :

1 jf (x) qi(x)j (x xi 1 )2(x xi )2 4!


Comme la fonction (x xi 1 )2 (x on obtient lestimation (8.3).

2 xi 1 ;xi]

max jf (4)( )j :

xi )2 poss` ede son maximum au milieu de lintervalle xi 1 ; xi ],

Pour estimer la deuxi` eme expression de (8.2), nous soustrayons la formule (7.10) pour si (x) de la formule analogue pour qi (x) et nous obtenons

)(x xi) (f 0(x ) p )(x x ) + (f 0(x ) p )(x x ) : qi(x) si(x) = (x xih1 i i i 1 i 1 i 1 i 2 i 1

(8.4)

52 Il nous faut encore une estimation de f 0 (xi )

Interpolation et Approximation

pi.
= maxi hi o` u hi = xi+1 xi . Si les pi
(8.5)

Lemme 8.2 Soit f (x) de classe C 4 sur a; b] et notons h satisfont (7.12), p0 = f 0 (x0 ) et pn = f 0 (xn ),

jf 0 (x )
i
Si la division est e quidistante et si f

pi j

h3 max jf (4) (x)j: 24 x2 a;b]

2 C 5 a; b],
(8.6)

h4 max jf (5) (x)j: jf 0(xi ) pi j 60 x2 a;b]


D emonstration. (cas e quidistant). Les pi sont d enis par (voir (7.12))

1 p + 4p + p 3 f (x ) f (x ) = 0: (8.7) i 1 i i+1 i+1 i 1 h h2 Pour estimer la diff erence f 0 (xi ) pi , nous calculons le d efaut quon obtient en rempla cant pi par 0 f (xi ) dans (8.7): 3 f (x ) f (x ) =: d : i+1 i 1 i h2 En utilisant la formule de Taylor (voir le cours dAnalyse I) pour f (xi h) et f 0 (xi
exemple

1 f 0(x ) + 4f 0(x ) + f 0(x ) i 1 i i+1 h

(8.8)

h), par

f (xi h) = f (xi)
on obtient

hf 0(x )+ h f 00(x )
i
2

2!

h3 f 000(x )+ h4 f (4) (x ) h5 Z 1 (1 t)4 f (5) (x th) dt; i i i 3! 4! 4! 0

Z 1 (1 t)3 (1 t)4 (5) (x + th) + f (5) (x 3 f di i i th) dt: 3! 4! 0 Comme la fonction (1 t)3 =3! 3(1 t)4 =4! ne change pas de signe sur 0; 1], ceci nous donne
= h3
lestimation

jdij h3
Notons d

Z 1 (1 t)3 (1 t)4 3 dt 2 3! 4! 0 | {z } = 1=30


et e

x2 xi 1;xi+1 ]

max

jf (5) (x)j :

= (e1; : : : ; en 1)T o` u ei = f 0 (xi ) pi . En prenant la diff erence entre (8.8) et (8.7), on obtient Ae = d o` u A est la matrice de (7.13). Le th eor` eme du paragraphe = (d1; : : : ; dn 1)T
II.7 implique

h4 max jf (5) (x)j; jeij h max j d j 2 j j 60 x2 a;b]

ce quil fallait d emontrer.

Interpolation et Approximation

53

Th eor` eme 8.3 (Erreur du spline scell e) Soit f : a; b] ! IR de classe C 4 , a = x0 < x1 < : : : < xn = b une division arbitraire et s(x) le spline qui passe par (xi ; f (xi)) pour i = 0; 1; : : : ; n et qui satisfait s0 (x0 ) = f 0 (x0 ) et s0 (xn ) = f 0 (xn ). Alors, avec hi = xi+1 xi et h = maxi hi on a

5 h4 max jf (4) ( )j: jf (x) s(x)j 384 2 a;b] Si de plus la division est e quidistante et si f 2 C 5 a; b],
4 5

(8.9)

D emonstration. dans (8.2). Lestimation du premier terme r esulte de (8.3). Pour le deuxi` eme terme, nous utilisons (8.4) et (8.6). Ceci donne

h max jf (4) ( )j + h max jf (5) ( )j: jf (x) s(x)j 384 (8.10) 2 a;b] 240 2 a;b] (cas e quidistant). Pour x 2 xi 1 ; xi ], nous estimons s epar ement les deux termes h4 max jf (5) ( )j h5 max jf (5) ( )j: 60 2 a;b] 4 60 2 a;b]
1

)(xi x) h jqi(x) si(x)j (x xih1 i 2 i 1


1

n=3

n=9

n = 27

n = 81

.5

.5

.5 .10 .05

.5

.5

.5

.5

.5

n=3
5

n=9
erreur
.5

.001

n = 27
.00001

n = 81
erreur
.5 .5

erreur
.5 .5 .5

erreur
.5 .5

F IG . II.14 Spline interpolant (scell e) pour la fonction (8.11) Exemple. Consid erons encore une fois (voir les g. II.5 et II.6) la fonction

et calculons le spline interpolant (scell e) pour la division e quidistante xi = 1 + 2i=n, i = 0; 1; : : : ; n. Dans la g. II.14, les 4 dessins du haut montrent le spline s(x) pour n = 3, n = 9, n = 27 et n = 81. La fonction f (x) est dessin ee en pointill es. Les 4 dessins du bas montrent les erreurs. Cette fois, la fonction h4 f (4) (x)=384 (h = 2=n) est inclue en pointill es (on a choisi 4 (4) l echelle sur laxe y de mani` ere a ` ce que h f (0)=384 soit toujours au m eme endroit). Pour des petits h, quand le deuxi` eme terme de (8.10) est n egligeable, on peut tr` es bien observer la validit e de lestimation (8.10).

f (x) = 1 + 1 25x2

sur

1; 1]

(8.11)

54

Interpolation et Approximation

II.9 Exercices
1. Calculer le polyn ome dinterpolation passant par les points

(0; 0); (1; 3); (3; 1); (5; 2); (8; 2);
en utilisant la formule de Newton. 2. D emontrer (par induction) que

n ny x ; : : : ; x ] = X y Y 1 ; 0 n j j =0 i6=j xj xi et en d eduire que la diff erence divis ee n y x0 ; x1 ; : : : ; xn ] est une fonction sym etrique; c.-` a-d. que,
pour toute permutation de f0; 1; : : : ; ng

ny x

3. Nous savons que lerreur pour linterpolation lin eaire de f aux points x0 , x1 est

(0) ; x (1) ; : : : ; x (n) ] =

ny x

0 ; x1 ; : : : ; xn ]:

4.

00 f (x) p(x) = (x x0 )(x x1) f ( 2(x)) ; x0 < x < x1 ; 1 , x0 = 1, si f 2 C 2 x0 ; x1 ]. D eterminer la fonction (x) explicitement dans le cas o` u f (x) = x x1 = 2, et trouver max1 x 2 (x) et min1 x 2 (x). On veut tabuler la fonction y = sin x aux points e quidistants xj = jh; j 0. (a) Majorer lerreur dinterpolation dans lintervalle xi ; xi+1 ] lorsquon fait passer un polyn ome de degr e 3 par xi 1 ; xi ; xi+1 ; xi+2 . (b) Quel h peut-on prendre pour que cette erreur soit 10 8 pour tout i > 0?
(a) Montrer que la formule de quadrature

5.

est exacte pour tout polyn ome f (x) de degr e 2s 1. Indication. V erier (9.1) pour les polyn omes de Chebyshev T0 (x); : : : ; T2s 1 (x). ` quelle formule de quadrature se (b) Effectuez le changement de variables x = cos(t) dans (1), a ram` ene ton? 6. Consid erer la fonction f (x) = x3 sur lintervalle (a) D eterminer p tel que la droite d(x) = px satisfait

Z 1 f (x) s X p 2 dx s f (ck ); 1 1 x k=1

ck = cos (2k 2s 1)

(9.1)

1; 1].

x2 1;1]

max jf (x) d(x)j ! min:

(b) Pour quels xi , la droite trouv ee peut e tre interpr et ee comme un polyn ome dinterpolation pour f (x) ? (c) Y-a-til une relation avec les points de Chebyshev? Si oui, expliquer laquelle. 7. Pour un polyn ome b0 = p(x0 ) par:

p(x) = a0 + a1 x + : : : + anxn, lalgorithme de Horner permet de calculer

bn = an bi = ai + x0bi+1 ; i = n 1; : : : ; 1; 0: Notons q (x) = b1 + b2 x + : : : + bn xn 1 . a) Montrer que p(x) = b0 + (x x0 )q (x) et que p0 (x0 ) = q (x0 ). b) G en eraliser lalgorithme de Horner pour calculer p(x0 ) et p0 (x0 ) en m eme temps.

Interpolation et Approximation
8. Sur lintervalle

55

1; 1], consid erons la fonction

3x 4 f (x) = (x2 9)(5 x2 8x + 4) :

9. Pour une division x0

Repr esenter graphiquement f (x) et calculer ces p oles. Trouver (` a laide de la gure II.8) lintervalle maximal ; ] 1; 1] o` u la suite des polyn omes dinterpolations (pour les divisions e quidistantes xi = 1 + 2i=n) converge (quand n ! 1).

< x1 < : : : < xn (n 2), e tudier la fonction


(x) =
n X i=0

j`i (x)j ;

`i (x) =

j 6=i

Y (x xj ) (x x ) :
i j

(9.2)

erant la division f a) Dessiner (x) pour n = 2 en consid b) Montrer que, sur lintervalle xj 1 ; xj ], on a lidentit e

1; 0; 1g.
i=

j xj

1 ;xj ] (x) =

n X i=0

i `i (x) ;

avec

( 1)j i+1 ( 1)i j

si i si i

j 1 j.

(9.3)

c) Montrer que la fonction (x) de (9.2) ne poss` ede quun seul maximum local sur chaque intervalle xj 1; xj ]. Indication. Etudier les extr ema du polyn ome (9.3). 10. Calculer les constantes de Lebesgue

max n = x2 1;1]

n X i=0

j`i(x)j ;

n = 1; 2; 3; : : :

a) pour la division e quidistante xk = 1 + 2k=n, b) pour les points de Chebyshev xk = cos((2k + 1) =(2n + 2)). P j` (x)j sur x ; x ] utiliser la recherche de Pour calculer le maximum de la fonction f (x) = n j 1 j i=0 i Fibonacci. 11. Calculer a ` la main la transform ee de Fourier discr` ete de la suite f0; 1; 2; 3; 0; 12.

^(k) de la s (a) Calculer les coefcients f erie de Fourier pour la fonction 2 -p eriodique

3; 2; 1g.

f (x) =

4x= 0

pour jxj < pour x =

(b) Calculer la transform ee de Fourier discr` ete pour avec f , la fonction de lexercice pr ec edent. (d) Estimer la diff erence jzk

fyk gN u yl = f (2 l=N ); l = 0; : : : ; N k=0 o`


= 8.

13.

f^N (k)j. Pour deux suites p eriodiques y 2 PN et z 2 PN on d enit la convolution y z par


(y z )k =
Montrer que y

(c) V erier le r esultat obtenu dans lexercice 11 pour N

N X1 j =0

yk j zj :

z 2 PN et que

1 F (y z ) = F y F z N N N N

(9.4)

o` u la multiplication dans (9.4) est effectu ee e l ement par e l ement.

56

Interpolation et Approximation

14. D emontrer l egalit e de Parseval (1806) pour la transform ee de Fourier discr` ete (z

= FN y).

N
15. Soit

N X1 k=0

jzk

j2 =

N X1 k=0

jyk j2:

N un nombre pair et pN (x) le polyn ome trigonom etrique qui passe par (x` ; y` ) pour ` = 0; 1; : : : ; N 1 (voir la formule (5.12) des polycopies). Montrer que pN (x) =
o` u

N X1 `=0

y` SN (x x` )

(9.5)

16. La fonction SN (x) de (9.6) permet d etudier linuence des erreurs dans les y` sur le polyn ome trigonom etrique interpolant. Montrer que SN (x) est 2 -p eriodique et que pour tout x 2 ; ]

2) cos(x=2) : SN (x) = sin(xN= N sin(x=2)

(9.6)

xN=2) SN (x) sin( xN=2

2 : N

17. Calculer a ` la main le spline naturel (s00 (x0 ) = s00 (xn ) = 0) qui passe par les points

( 3; 0); ( 2; 0); ( 1; 0); (0; 1); (1; 0); (2; 0); (3; 0):
Dessiner les graphes (si possible avant les calculs!) de s(x), s0 (x), s00 (x), s000 (x). Indication. Pour des donn ees sym etriques par rapport a ` x = 0, le spline naturel est une fonction paire. Avec cette observation, on peut r eduire la dimension du syst` eme des pi . 18. Pour la fonction

x3 f (x) = 0 f (x);
2 f (x); 3 f (x);

si x si x

0 0,
et

calculer les diff erences

B (x) =

4 f (x)

19. (Spline p eriodique). Soient donn es (xi ; yi ) pour i = 0; 1; : : : ; n avec yn lunicit e dun spline qui passe par tous les (xi ; yi ) et qui satisfait

o` u g (x) := g (x + 1) g (x) et 2 g := ( g ), etc. Montrer que B (x) est une fonction spline (appel ee B-spline) a ` support compact, c.-` a-d. quelle est nulle en dehors dun intervalle born e. Calculer les valeurs de B (x) pour x 2 Z Z et dessiner B (x).

= y0 . Montrer lexistence et

s0 (xn ) = s0 (x0 ) ;

s00 (xn) = s00 (x0 ) :

20. (Formule de Newton-Gregory). Soit f : a; b] ! IR une fonction diff erentiable et xi = a + ih, (avec h = (b a)=n) une division e quidistante de a; b]. Montrer que lint egration du spline, d eni par s(xi ) = f (xi ) pour i = 0; 1;: : :; n, s0(a) = f 0 (a) et s0 (b) = f 0(b), donne la formule de quadrature suivante:

Zb

1 f (x ) f (x)dx h 1 f ( x ) + f ( x )+ : : : + f ( x ) + 0 1 n 1 2 2 n a

h2 f 0 (x ) f 0 (x ) : n 0 12

Pourquoi cette formule est-elle exacte pour tout polyn ome de degr e 3?

Chapitre III Equations Diff erentielles Ordinaires


Ce chapitre est consacr ea ` la r esolution num erique dun syst` eme d equations diff erentielles ordinaires

0 =f (x; y ; : : : ; y ); y1 1 1 n 0 =f (x; y ; : : : ; y ); yn n 1 n
En notation vectorielle ce syst` eme s ecrit . . .

y1(x0 ) = y10;
(0.1)

yn(x0 ) = yn0: y(x0) = y0


(0.2)

y0 = f (x; y);
o` uy Bibliographie sur ce chapitre

= (y1; : : : ; yn)T et f : IR IRn ! IRn. Voici quelques livres qui traitent de ce sujet.

J.C. Butcher (1987): The Numerical Analysis of Ordinary Differential Equations. John Wiley & Sons. [MA 65/276] M. Crouzeix & A.L. Mignot (1984): Analyse Num erique des Equations Diff erentielles. Masson. [MA 65/217] J.-P. Demailly (1996): Analyse Num erique et Equations Diff erentielles. Presses Univ. de Grenoble. [MA 65/386] P. Deuhard & F. Bornemann (1994): Numerische Mathematik II. Integration gew ohnlicher Differentialgleichungen. Walter de Gruyter. [MA 65/309] J.R. Dormand (1996): Numerical Methods for Differential Equations. A Computational Approach. CRC Press. [MA 65/395] E. Hairer, S.P. Nrsett & G. Wanner (1993): Solving Ordinary Differential Equations I. Nonstiff Problems. Springer Series in Comput. Math., vol. 8, 2nd edition. [MA 65/245] E. Hairer & G. Wanner (1996): Solving Ordinary Differential Equations II. Stiff and Differential-Algebraic Problems. Springer Series in Comput. Math., vol. 14, 2nd edition. [MA 65/245] P. Henrici (1962): Discrete Variable Methods in Ordinary Differential Equations. John Wiley & Sons. [MA 65/50] A. Iserles (1996): A First Course in the Numerical Analysis of Differential Equations. Cambridge Texts in Applied Mathematics, Cambridge University Press. J.D. Lambert (1991): Numerical Methods for Ordinary Differential Equations. John Wiley & Sons. [MA 65/367] A.M. Stuart & A.R. Humphries (1996): Dynamical Systems and Numerical Analysis. Cambridge Univ. Press. [MA 65/377]

58

Equations Diff erentielles Ordinaires

` trois corps III.1 Un exemple: probl` eme restreint a


Consid erons les trois corps suivants la terre : : : : : : : : : masse la lune : : : : : : : : : masse un satellite : : : : : masse et supposons que

0=1

(lune)

= 0:012277471 ! 0 (n egligeable)

A (terre)

(satellite)

la terre et la lune soient en rotation circulaire (dans un plan, vitesse constante) autour du centre de gravit e du syst` eme. Si le centre de gravit e est suppos ee tre a ` lorigine, on a A = eit pour la terre et B = (1 )eit pour la lune (voir la gure). le mouvement du satellite soit d ua ` la force dattraction des deux corps. Celle-ci est propor2 tionnelle a ` m1 m2 =r o` u m1 ; m2 sont les masses et r la distance entre eux. En appliquant la loi de Newton ( masse satellite (Y 2 C l) acc el eration = force ), on obtient pour le mouvement du

(1 ) A Y + B Y : Y 00 = kA 2 2 | Y k {z kA Y k} |kB Y k {z kB Y k}
attraction de la terre attraction de la lune

(1.1)

Pour e liminer le facteur eit dans A = eit et B = (1 )eit, introduisons la variable y = e it Y = y1 + iy2 . Dans le syst` eme de coordonn ees (y1 ; y2 ), la terre et la lune ne se meuvent plus. Si nous ins erons Y = eit y et Y 00 = eit y + 2ieit y 0 + eit y 00 dans l equation (1.1) nous obtenons

y00 + 2iy0 y = (1

y) + ) ( k + yk3

(1 k1

y) : yk3

(1.2)

En s eparant les parties r eelles et imaginaires et en introduisant de nouvelles variables pour la 0 0 vitesse (y3 = y1 , y4 = y2 ) nous obtenons le syst` eme

o` u

0 =y y1 3 0 y2 = y4 0 = y + 2y (1 3 3 y3 )(y1 + )=r1 (y1 1 + )=r2 1 4 0 = y 2y (1 3 3 y4 )y2=r1 y2=r2 2 3 q q 2; 2: r1 = (y1 + )2 + y2 r2 = (y1 1 + )2 + y2

(1.3)

Pour les valeurs initiales

y1(0) = 0:994; y2(0) = 0; y3(0) = 0; y4(0) = 2:00158510637908252240537862224;


la solution est p eriodique (voir la g. III.1, trait continu) de p eriode

(1.4)

T = 17:0652165601579625588917206249:
Les gures de ce chapitre sont toutes tir ees du livre de Hairer, Nrsett & Wanner.

(1.5)

Equations Diff erentielles Ordinaires

59

DOPRI5

24000 Euler steps

6000 RK steps

moon initial 1 value earth RK solution

74 steps of DOPRI5 (polygonal and interpolatory solution)

F IG . III.1 Solution de (1.3) (orbite dArenstorf) Avant de discuter la r esolution num erique des e quations diff erentielles, nous rappelons un th eor` eme sur lexistence et lunicit e de la solution (pour une d emonstration, voir le cours dAnalyse II). Th eor` eme 1.1 Soit f (x; y ) de classe C 1 dans un voisinage de (x0 ; y0 ). Alors, il existe > que le probl` eme y 0 = f (x; y ), y (x0 ) = y0 poss` ede exactement une solution sur (x0 ; x0 +

0 tel ).

III.2 M ethodes de Runge-Kutta


Pour calculer une approximation de la solution de

y(x0) = y0 (2.1) ede comme suit: on subdivise x0 ; x] en sous-intervalles dextr emit es sur lintervalle x0 ; x], on proc` x0 < x1 < : : : < xN = x, on d enote hn = xn+1 xn et on calcule lapproximation yn y (xn ) yn+1 = yn + hn (hn ; xn; yn): (2.2) Une telle formule sappelle m ethode a ` un pas, car le calcul de yn+1 utilise uniquement les valeurs hn; xn; yn et non hn 1; xn 1; yn 1; : : :.
M ethode dEuler (1768). La m ethode la plus simple est donn ee par par une formule de type

y0 = f (x; y);

y1 = y0 + hf (x0 ; y0)

(2.3)

(pour simplier la notation nous consid erons uniquement le premier pas (n = 0 dans (2.2)) et nous notons h0 = h). Elle est obtenue en rempla cant la solution y (x) par sa tangente au point (x0 ; y0 ). Lexp erience num erique de la g. III.1 montre que cette m ethode nest pas assez pr ecise.

60

Equations Diff erentielles Ordinaires Pour la d erivation dautres m ethodes num eriques, int egrons (2.1) de x0 a ` x0 + h

y(x0 + h) = y0 +

Z x0+h
x0

f (t; y(t)) dt:

(2.4)

Si lon remplace lint egrale de (2.4) par hf (x0 ; y0 ), on obtient la m ethode dEuler. Lid ee e vidente est dapprocher lint egrale de (2.4) par une formule de quadrature ayant un ordre plus e lev e. M ethode de Runge (1895). On prend la formule du point milieu

y(x0 + h) y0 + hf x0 + h ; y(x0 + h )
2 2

(2.5)

et on remplace la valeur inconnue y (x0 + h=2) par la m ethode dEuler. Ceci nous donne

y1 = y0 + hf x0 + h ; y0 + h f (x0 ; y0) :
2 2

(2.6)

En g en eralisant cette id ee a ` une formule de quadrature dun ordre plus e lev e, on est conduit a ` la d enition suivante (Kutta 1901). D enition 2.1 Une m ethode de Runge-Kutta a ee par ` se tages est donn

k1 = f (x0; y0) k2 = f (x0 + c2 h; y0 + ha21 k1) k3 = f (x0 + c3 h; y0 + h(a31 k1 + a32 k2)) ::: ks = f (x0 + csh; y0 + h(as1k1 + : : : + as;s 1ks 1)) y1 = y0 + h(b1 k1 + : : : + bsks)
o` u ci ; aij ; bj sont des coefcients. On la repr esente a ema ` laide du sch

(2.7)

ci aij bi

Exemples. La m ethode dEuler ainsi que des m ethodes de Runge et de Heun sont donn ees dans le tableau III.1. TAB . III.1 Les premi` eres m ethodes de Runge-Kutta

0 1=2 1=2 0 1
i 1 X j =1

0 1=3 1=3 2=3 0 2=3 1=4 0 3=4

Par la suite nous supposerons toujours que les ci satisfont

c1 = 0;

ci =

aij ; i = 2; : : : ; s:

(2.8)

Ceci signie que ki = f (x0 + ci h; y (x0 + ci h)) + O (h2 ). Motiv es par la relation (I.2.3) pour les formules de quadrature, nous e tendons la notion de lordre aux m ethodes de Runge-Kutta.

Equations Diff erentielles Ordinaires D enition 2.2 On dit que la m ethode (2.7) a lordre p si, pour chaque probl` eme y 0 y(x0) = y0 (avec f (x; y) sufsamment diff erentiable), lerreur apr` es un pas satisfait

61

= f (x; y),
(2.9)

y1 y(x0 + h) = O(hp+1)
La m ethode dEuler est une m ethode dordre 1, car

pour

h ! 0:

La diff erence (2.9) sappelle erreur locale de la m ethode.

y(x0 + h) = y0 + hy0(x0 ) + O(h2 ) = y0 + hf (x0 ; y0) + O(h2) = y1 + O(h2):


La m ethode de Runge est bas ee sur la formule du point milieu qui est une formule de quadrature dordre 2: y(x0 + h) = y0 + hf x0 + h ; y(x0 + h ) + O(h3 ): 2 2 En rempla cant y (x0 + h=2) par la valeur y0 + (h=2)f (x0 ; y0 ) de la m ethode dEuler, on ajoute un autre terme derreur de grandeur O (h3 ). Ainsi, cette m ethode a lordre p = 2. La m ethode de Heun (tableau III.1) est obtenue a ` partir de la formule de quadrature

y(x0 + h) = y0 + h f (x0; y0) + 3f (x0 + h ; y(x0 + h )) + O(h4 )


2 2 4 3 3

si lon remplace y (x0 + 2h=3) par lapproximation de la m ethode de Runge. La m ethode de Heun a donc lordre p = 3. Exp erience num erique. Consid erons les trois m ethodes du tableau III.1 ainsi que deux m ethodes dordre 4 (voir le paragraphe III.3) et comparons leurs performances pour le probl` eme (Van der Pol, voir Analyse I, Poly II, p. 68-70)

0 =y y1 y1(0) = 2:00861986087484313650940188 2 (2.10) 0 2 y2 = (1 y1 )y2 y1 y2(0) = 0 Nous subdivisons lintervalle 0; 6:6632868593231301896996820305] (sur celui-ci la solution est p eriodique) en n parties e quidistantes et appliquons n fois la m ethode. Le travail (nombre total d evaluations de f ) est alors dessin e en fonction de lerreur a ` la n de lintervalle (g. III.2). Comme dans la g. I.3 (int egration num erique), on peut constater que log10 (fe) d epend lin eairement de log10 (err) et que cette droite est de pente 1=p, o` u p est lordre de la m ethode. Il est donc
important dutiliser des m ethodes dordre e lev e.

III.3 Construction de m ethodes dordre 4


Le but est de d eterminer les coefcients aij ; bj (les ci sont donn es par (2.8)) an que lerreur locale satisfasse (2.9) avec p = 4. Pour cela, on va dabord calculer les s eries de Taylor de la solution exacte y (x0 + h) et de lapproximation num erique y1 = y1 (h). Ensuite, on va comparer leurs coefcients. Simplication. Si la condition (2.8) est v eri ee, il suft de consid erer des probl` emes autonomes, c.-` a-d. des probl` emes o` u f ne d epend pas de x. Pour voir ceci, on e crit le syst` eme y 0 = f (x; y ) sous la forme e quivalente

Y 0 = F (Y );

o` u

Y= x y ;

1 F (Y ) = f (x; y)

(3.1)

62
104

Equations Diff erentielles Ordinaires fe Runge Euler Heun Euler RK4


103 103 104

fe Runge Heun

RK4

102 102 104 106

error of y1
108

102 102 104 106

error of y2
108

RK classique (tableau III.2, a ` gauche) r` egle 3/8 de Kutta (tableau III.2, a ` droite) F IG . III.2 Erreur globale par rapport au travail num erique avec comme valeur initiale Y0 bl` eme (3.1) donne

= (x0 ; y0)T . Lapplication de la m ethode de Runge-Kutta au pro-

Ki = F Y0 + h

1 ; aij Kj = k i j =1

i 1 X

Y1 = Y0 + h

s X

1 bi Ki = x y 1 i=1

ce qui est e quivalent a ` (2.7) car

Y0 + h

i 1 1 = x0 P + ci h 0 +hXa aij Kj = x ij 1a k : y0 kj y0 + h ij=1 ij j j =1 j =1

i 1 X

S erie de Taylor de la solution exacte. Consid erons le probl` eme

y0 = f (y);

y(x0) = y0:

(3.2)

En d erivant l equation (3.2), on obtient pour la solution exacte

y00 = (f 0f )(y) y000 = (f 00(f; f ) + f 0f 0f )(y) y(4) = (f 000(f; f; f ) + 3 f 00(f 0f; f ) + f 0f 00(f; f ) + f 0f 0f 0f )(y):
La s erie de Taylor est donc

3 2 0 f + h f 00 (f; f ) + f 0 f 0 f y(x0 + h) = y0 + hf0 + h f 0 3! 0 2! 4 h + 4! f 000 (f; f; f ) + 3 f 00(f 0f; f ) + f 0f 00(f; f ) + f 0f 0 f 0f 0 + O(h5 ): Lindice 0 indique que lexpression doit e tre e valu ee a ` la valeur initiale y0 .

(3.3)

Equations Diff erentielles Ordinaires

63

On peut consid erer (3.4) comme une e quation de point xe et on peut approcher les ki par la m ethode des approximations successives. Si lon commence par ki = f (y0 )+ O (h), on obtient (en utilisant (2.8)) ki = f0 + cih(f 0f )0 + O(h2): La deuxi` eme it eration nous donne

S erie de Taylor de la solution num erique. Pour calculer la s erie de Taylor de y1 , il suft de la conna tre pour i 1 X ki = f y0 + h aij kj : (3.4) j =1

ki = f (y0 + hcif0 + h2 Pj aij cj (f 0f )0 + O(h3 )) 2 = f0 + cih(f 0f )0 + h2 Pj aij cj (f 0f 0f )0 + h c2 (f 00(f; f ))0 + O(h3 ): 2 i


Si lon fait encore une it eration et si lon ins` ere la formule ainsi obtenue dans la d enition de y1 (voir (2.7)) on obtient

2 P 0 y1 = y0 + h(Pibi )f0 + h 2! (2 ibi ci)(f f )0 3 P b c2 )(f 00(f; f )) + (6P b a c )(f 0f 0f ) (3 +h (3.5) i i i ij i ij j 0 0 3! 4 P b c3 )(f 000(f; f; f )) + (8P b c a c )3(f 00(f 0f; f )) (4 +h i i i ij i i ij j 0 0 4! P P 0 00 0 0 0 5 + (12 ij bi aij c2 j )(f f (f; f ))0 + (24 ijk bi aij ajk ck )(f f f f ))0 + O(h ):
En comparant les coefcients de (3.3) et de (3.5), on trouve les conditions pour les coefcients ci; aij ; bj impliquant un certain ordre de la m ethode. Th eor` eme 3.1 (conditions dordre) La m ethode de Runge-Kutta (2.7) a lordre cients satisfont (2.8) et

4 si les coef(3.6a) (3.6b) (3.6c) (3.6d) (3.6e) (3.6f) (3.6g) (3.6h)

Pb= 1 P bi ci = 1=2 P i b ic2i = 1=3 P b ia i ci = 1=6 i;j i ij j P b c3 = 1=4 P b c ia i ci = 1=8 i;j i i ij j P bi aij c2 j = 1=12 P bi;j i;j;k i aij ajk ck = 1=24

(= b1 + b2 + b3 + b4 ) (= b2 c2 + b3 c3 + b4 c4) 2 2 (= b2 c2 2 + b3 c3 + b4 c4 ) (= b3 a32c2 + b4 (a42 c2 + a43 c3 )) 3 3 (= b2 c3 2 + b3 c3 + b4 c4 ) (= b3 c3a32 c2 + b4 c4 (a42 c2 + a43 c3 )) 2 2 (= b3 a32 c2 2 + b4 (a42 c2 + a43 c3 )) (= b4 a43 a32 c2 ):

(entre parenth` eses on a explicit e les expressions pour s = 4).

Remarque. Si la m ethode satisfait seulement (3.6a), (3.6a,b) ou (3.6a,b,c,d) elle a alors seulement lordre 1, 2 ou 3, respectivement.

64 R esolution du syst` eme (3.6) pour s le produit

Equations Diff erentielles Ordinaires

= 4. Nous suivons une id ee de John Butcher et consid erons

0 10 2 P 2 1 0 1=2 1=3 0 1 b b b c 2 3 4 2 c2 Pj a2j c2 =2 B C 2 C B @ b2 c2 b3 c3 b4c4 C AB @ c3 c2 3 Pj a3j c3 =2 A = @ 1=3 1=4 0 A 2 d4 } | c4 c2 0 0 0 3 j a4j c4 =2 } 4 | d2 d {z {z


U V
o` u

dj =

s X i=j +1

bi aij bj (1 cj ):

(3.7)

Nous montrons dabord que det U = 0 . Supposons, par labsurde, que U soit inversible. Comme UV e3 = 0, on obtient donc V e3 = 0, ce qui est impossible car

X
j

2 2 a2j cj c22 = c22 6= 0:

Par cons equence, il existe un vecteur w 6= 0 tel que w T U = 0. On a donc w T UV = 0 et la forme particulier de UV nous montre que w est forcement de la forme w T = (0; 0; ) avec 6= 0. La relation w T U = 0 nous donne les conditions n ecessaires di = 0 pour i = 2; 3; 4, c.-` a-d.

b2 (1 c2 ) = b3 a32 + b4 a42 b3 (1 c3 ) = b4 a43 b4 (1 c4 ) = 0:

(3.8a) (3.8b) (3.8c)

Un calcul direct montre que le trois conditions (3.6d,g,h) peuvent en effet e tre remplac ees par (3.8a,b,c) sans changer de solutions. Le syst` eme (3.6a,b,c,e,f)(3.8a,b,c) consiste en 8 e quations non lin eaires pour les 10 param` etres bi ; aij (les ci sont donn es par (2.8)). On esp` ere trouver une solution ayant deux degr es de libert e. La solution est donn ee par lalgorithme suivant. etres libres; calculer b1 ; b2 ; b3 ; b4 tels Algorithme. Poser c1 = 0, c4 = 1; c2 et c3 sont des param` que la formule de quadrature soit dordre 4 (conditions (3.6a,b,c,e)); calculer a43 de (3.8b), a42 et a32 du syst` eme lin eaire (3.6f)(3.8a); nalement calculer a21 ; a31 ; a41 de (2.8) pour i = 2; 3; 4.

Parmi cette classe de m ethodes dordre 4, les plus cel` ebres sont donn ees dans le tableau III.2. La RK solution de la g. III.1 a e t e obtenue par la m ethode de gauche. Elle est bas ee sur la formule de Simpson. TAB . III.2 M ethodes de Kutta (1901)

0 1=2 1=2 1=2 0 1=2 1 0 0 1 1=6 2=6 2=6

1=6

0 1=3 2=3 1

1=3 1=3 1 1 1 1 1=8 3=8 3=8 1=8


r` egle 3/8

La m ethode de Runge-Kutta

Equations Diff erentielles Ordinaires

65

` pas variables III.4 Un programme a


Pour r esoudre un probl` eme r ealiste (par exemple celui de la g. III.1), un calcul a ` pas constants est en g en eral inefcace. Mais comment choisir la division? Lid ee est de choisir les pas an que lerreur locale soit partout environ e gale a ` Tol (fourni par lutilisateur). A cette n, il faut conna tre une estimation de lerreur locale. Inspir e par le programme TEGRAL pour lint egration num erique b1 comme approximation (voir I.6), nous construisons une deuxi` eme m ethode de Runge-Kutta avec y b num erique, et nous utilisons la diff erence y1 y1 comme estimation de lerreur locale du moins bon r esultat. M ethode embo t ee. Soit donn ee une m ethode dordre p a ` se tages (coefcients ci ; aij ; bj ). On b1 dordre p b < p qui utilise les m cherche une approximation y emes e valuations de f , c.-` a-d.,

b1 = y0 + h(b y b1 k1 + : : : + b bsks)

(4.1)

o` u les ki sont donn es par la m ethode (2.7). Pour avoir plus de libert e, on ajoute souvent un terme contenant f (x1 ; y1 ) a ` la formule (il faut en tous cas calculer f (x1 ; y1 ) pour le pas suivant) et on b1 de la forme cherche y

b1 = y0 + h b y b1 k1 + : : : + b bsks + b bs+1f (x1 ; y1) : (4.2) Exemple. Prenons une m ethode dordre p = 4 a `s=4e tages et cherchons une m ethode embo t ee b = 3 qui soit de la forme (4.2). Les conditions dordre sont obtenues par le th dordre p eor` eme ` me e du paragraphe III.3 (on augmente s de 1 et on ajoute un (s + 1)e tage avec pour coefcients as+1;i = bi pour i = 1; : : : ; s) : b b1 + b b2 + b b3 + b b4 + b b5 = 1 b b2 c2 + b b3 c3 + b b4 + b b5 = 1=2 2 2 b b b b b2 c2 + b3 c3 + b4 + b5 = 1=3 b b b3 a32 c2 + b4 (a42 c2 + a43 c3) + b b5 =2 = 1=6:
(4.3a) (4.3b) (4.3c) (4.3d)

b b5 et r esoudre le syst` eme pour les autres variables. Pour le choix b b5 = 1=6, on obtient ainsi : b b b1 = 2b1 1=6; b2 = 2(1 c2)b2 ; (4.4) b b b b3 = 2(1 c3)b3 ; b4 = 0; b5 = 1=6: Calcul du h optimal. Si lon applique la m ethode avec une certaine valeur h, lestimation de b < p) lerreur satisfait (p b+1) C hp b+1 : (4.5) b1 = (y1 y(x0 + h)) + (y(x0 + h) y b1) = O(hp+1) + O(hp y1 y
Le h optimal, not e par hopt , est celui o` u cette estimation est proche de Tol: Tol En e liminant C de (4.5) et de (4.6), on obtient

quations pour 5 inconnues. On peut arbitrairement choisir Ceci repr esente un syst` eme lin eaire de 4 e

b+1 C hp opt : s b+1 p


Tol

(4.6)

hopt = 0:9 h

b1k ky1 y

(4.7)

66 (le facteur 0:9 est ajout e pour rendre le programme plus s ur).

Equations Diff erentielles Ordinaires

Algorithme pour la s election automatique du pas. Au d ebut, lutilisateur fournit un sousprogramme qui calcule la valeur de f (x; y ), les valeurs initiales x0 ; y0 et un premier choix de h.

b1k et hopt de (4.7). A) Avec h, calculer y1 , err = ky1 y B) If err Tol (le pas est accept e) then x0 := x0 + h; y0 := y1; h := min(hopt ; xend else (le pas est rejet e)
h := hopt

x0 )

end if C) Si x0 = xend on a termin e, sinon on recommence en (A) et on calcule le pas suivant. Remarques. Il est recommand e de remplacer (4.7) par

b+1) ) : hopt = h min 5; max(0:2; 0:9(Tol=err)1=(p v u1 X n y bi1 2 i1 y t b1k = u ky1 y o` u sci = 1 + max(jyi0 j; jyi1 j) (4.8) n i=1 sci ` me composante de y ; y ; y bi1 est la ie (yi0 ; yi1 ; y esente un m elange entre 0 1 b1 , respectivement). Ceci repr
erreur relative et erreur absolue. ethode Exemple num erique. Cet algorithme a e t e programm e (en utilisant la r` egle 3=8 et la m embo t ee (4.4)) et il a e t e appliqu e au probl` eme (une r eaction chimique, le Brusselator) Pour la norme dans (4.7) on utilise en g en eral

sur lintervalle

y1(0) = 1:5 (4.9) y2(0) = 3 0; 20]. Les r esultats obtenus avec Tol = 10 4 sont pr esent es dans la g. III.3:

0 = 1 + y 2 y 4y y1 1 1 2 0 2 y2 = 3y1 y1 y2

i) en haut, les deux composantes de la solution avec tous les pas accept es; ii) au milieu les pas; les pas accept es e tant reli es, les pas rejet es e tant indiqu es par ; iii) les dessin du bas montre lestimation de lerreur locale err, ainsi que les valeurs exactes de lerreur locale et de lerreur globale.

III.5 Convergence des m ethodes de Runge-Kutta


Si lon applique une m ethode a ` un pas

yn+1 = yn + hn (xn ; yn; hn) (5.1) a ` une e quation diff erentielle y 0 = f (x; y ), y (x0 ) = y0 , on cherche a ` conna tre la grandeur de lerreur globale y (xn ) yn . Th eor` eme 5.1 Soit y (x) la solution de y 0 = f (x; y ), y (x0 ) = y0 sur lintervalle x0 ; X ].
Supposons que a) lerreur locale satisfasse pour x 2

x0 ; X ] et h hmax
(5.2)

ky(x + h) y(x) h (x; y(x); h)k C hp+1

Equations Diff erentielles Ordinaires

67

4 3 2 1 100

solutions

y2

y1
5 10 rejected step sizes 15

101

accepted step sizes initial h

5 10
3

10 global error

15

104 105 106


local error estimate exact local error

F IG . III.3 S election du pas, Tol = 10 4 , 96 pas accept es + 32 pas rejet es b) la fonction

(x; y; h) satisfasse une condition de Lipschitz

k (x; y; h)
pour h

(x; z; h)k

ky zk

(5.3)

hmax et (x; y); (x; z) dans un voisinage de la solution. Alors, lerreur globale admet pour xn X lestimation

ky(xn) ynk hp C e

(xn x0 )

(5.4)

o` u h = maxi hi , sous la condition que h soit sufsamment petit. Remarque. Dans la g. III.2, on a constat e que, pour un calcul avec des pas constants, lerreur globale se comporte comme log10 (fe) C0 log10 (err)=p, ce qui est e quivalent a ` err C1 (fe) p C2hp. Ceci concorde bien avec la formule (5.4).
` me pas, sur lapD emonstration. Lid ee est d etudier linuence de lerreur locale, commise au ie proximation yn . Ensuite, on va additionner les erreurs accumul ees. Propagation de lerreur. Soient fyn g et fzn g deux solutions num eriques obtenues par (5.1) avec pour valeurs initiales y0 et z0 , respectivement. En utilisant la condition de Lipschitz (5.3), leur diff erence peut e tre estim ee comme

kyn+1 zn+1k kyn znk + hn kyn zn k = (1 + hn )kyn zn k ehn kyn znk:

(5.5)

68

Equations Diff erentielles Ordinaires

y0 y1

solution exacte

e1 y2

e2 y3

en

y(xn) En = en En 1 E2 E1 yn xn = X
. . .

m ethode de Runge-Kutta

x0 x1 x2

x3

F IG . III.4 Estimation de lerreur globale R ecursivement, on obtient alors

kyn znk ehn

ehn

: : : ehi kyi zi k = e
+1 Chp i 1e

(xn xi ) ky i

zik:
(5.6)

et lerreur propag ee Ei (voir la g. III.4) satisfait

kEik e

(xn xi ) ke k i

(xn xi ) :

Accumulation des erreurs propag ees. Lin egalit e du triangle, ainsi que (5.6) nous donne (voir la g. III.5 pour lestimation de la somme)

ky(xn) ynk

n X i=1

kEi k C
h0 e Z xn
x0

n X

Chp Chp

i=1 (xn x1 ) + h

+1 hp i 1e 1e

(xn xi ) (xn x2 ) + : : : + h

(xn t) dt = Chp

1 e

(xn t) xn x0

n 2e

(xn xn 1 ) + h n 1 p Ch e (xn x0) 1

(xn x)

x0

x1 x2

xn

xn

F IG . III.5 Estimation de la somme de Riemann Il reste a ` justier lapplication de (5.3) dans (5.5), car lestimation (5.3) nest valable que dans un voisinage U = f(x; y ) j ky y (x)k bg de la solution exacte. Si lon suppose que h soit sufsamment petit, plus pr ecisement si h est tel que

Chp e

(X x0 )

b;

on est s ur que toutes les solutions num eriques de la g. III.4 restent dans U .

Equations Diff erentielles Ordinaires

69

Supposons maintenant que (5.1) repr esente une m ethode de Runge-Kutta et v erions les hypoth` eses du th eor` eme pr ec edent. La condition (5.2) est satisfaite pour une m ethode dordre p (par d enition de lordre). Il reste a ` v erier la condition de Lipschitz (5.3) pour la fonction

(x; y; h) =
o` u

s X i=1

bi ki(y)
i 1 X j =1

(5.7)

ki(y) = f x + ci h; y + h

aij kj (y) :

(5.8)

Lemme 5.2 Si f (x; y ) satisfait une condition de Lipschitz kf (x; y ) f (x; z )k Lky z k dans erie (5.3) avec un voisinage de la solution de y 0 = f (x; y ), lexpression (x; y; h) de (5.7) v

=L

X
i

jbi j + (hmaxL)

X
i;j

jbiaij j + (hmaxL)2

i;j;k

jbi aij ajk j + : : : :

(5.9)

D emonstration. La condition de Lipschitz pour f (x; y ) appliqu ee a ` (5.8) nous donne

kk1(y) k1(z)k = kf (x; y) f (x; z)k Lky zk kk2(y) k2(z)k Lky z + ha21 (k1(y) k1(z))k L(1 + hmaxLja21 j)ky zk
etc. Les estimations (5.10) ins er ees dans

(5.10)

k (x; y; h)
impliquent (5.3) avec

(x; z; h)k

s X i=1

jbij kki(y) ki(z)k

donn e par (5.9).

III.6 M ethodes multipas (multistep methods)


D ej` a longtemps avant la parution des premi` eres m ethodes de Runge-Kutta, J.C. Adams a r esolu num eriquement des e quations diff erentielles (1855, publi e dans un livre de Bashforth 1883). Son id ee e tait dutiliser linformation de plusieurs pas pr ec edents (en particulier yn; yn 1 ; : : : ; yn k+1) pour obtenir une approximation pr ecise de y (xn+1). Cest la raison pour laquelle ces m ethodes sappellent aujourdhui m ethodes multipas (contrairement aux m ethodes a ` un pas). M ethodes dAdams explicites. Soit donn ee une division x0 < : : : < xn < xn+1 < : : : de lintervalle sur lequel on cherche a ` r esoudre l equation diff erentielle y 0 = f (x; y ) et supposons quon connaisse des approximations yn ; yn 1 ; : : : ; yn k+1 de la solution pour k pas cons ecutifs (yj y(xj )). Comme pour la d erivation des m ethodes de Runge-Kutta, on int` egre l equation diff erentielle pour obtenir

y(xn+1) = y(xn) +

Z xn+1
xn

f (t; y(t)) dt:

(6.1)

70

Equations Diff erentielles Ordinaires

Mais, au lieu dappliquer une formule de quadrature standard a ` lint egrale de (6.1), on remplace f (t; y(t)) par le polyn ome p(t) de degr e k 1 qui satisfait (on utilise labr eviation fj = f (xj ; yj ))

p(xj ) = fj
pour

fn xn

fn
k+1

fn

p(t)
(6.2)

j = n; n 1; : : : ; n k + 1:
Lapproximation de y (xn+1 ) est alors d enie par

k+1

xn

xn xn+1
(6.3)

yn+1 = yn +
k 1 j X Y1 j =0 i=0

Z xn+1
xn

p(t) dt:

Si lon repr esente le polyn ome p(t) par la formule de Newton (voir le paragraphe II.1)

p(t) =
la m ethode (6.3) devient

(t xn i)

jf

xn; xn 1; : : : ; xn j ]

(6.4)

yn+1 = yn +

k 1 X j =0

Z xn+1 jY1
xn i=0

(t xn i) dt

jf

xn; xn 1; : : : ; xn j ]:

(6.5)

Cas e erences divis ees peuvent e tre e crites sous quidistant. Dans la situation xj = x0 + jh les diff la forme j j f x ; x ; : : : ; x ] = r fn (6.6) n n 1 n j j

j! h erences o` u r0 fn = fn , rfn = fn fn 1 , r2 fn = r(rfn ) = fn 2fn 1 + fn 2 ; : : : sont les diff nies r egressives (` a distinguer des diff erences nies progressives fn = fn+1 fn ). La formule (6.5) devient alors (poser t = xn + sh) yn+1 = yn + h
o` u

k 1 X j =0

j j r fn

(6.7)

Z 1 jY1 Z 1 s+j 1 1 ds: j= j ! 0 i=0(i + s) ds = 0 j

(6.8)

Les premiers coefcients j sont donn es dans le tableau III.3. TAB . III.3 Coefcients pour les m ethodes dAdams explicites

j 0 1 2 3 j 1
1 2 5 3 8 12

4
251 720

5
95 288

6
19087 60480

7
5257 17280

8
1070017 3628800

Equations Diff erentielles Ordinaires Des cas particuliers sont:

71

k=1: k=2: k=3: k=4:

yn+1 = yn + hfn yn+1 = yn + h fn yn+1 = yn + h fn yn+1 = yn + h fn


3 2 23 12 55 24

(m ethode dEuler)
1 2 16

12 59

24

fn 1 fn 1 + fn fn 1 + fn
5 12 37 24

2 2
9 24

fn

Si lon veut appliquer cette m ethode (par exemple avec k = 3) a ` la r esolution de y 0 = f (x; y ), y(x0) = y0, il faut conna tre trois approximations initiales y0 ; y1 et y2 . Ensuite, on peut utiliser la e la s erie de Taylor de la solution formule r ecursivement pour calculer y3 ; y4 , etc. Adams a calcul exacte (autour de la valeur initiale) pour d eterminer les approximations initiales qui manquent. Evidemment, on peut aussi les obtenir par une m ethode a ` un pas. Remarque. Dans la construction de la m ethode (6.5), on a utilis e le polyn ome dinterpolation p(t) en-dehors de lintervalle xn k+1 ; xn ]. On sait bien (voir le chapitre II) que ceci peut provoquer de grandes erreurs. La modication suivante est aussi due a ` J.C. Adams (1855). M ethodes dAdams implicites. Lid ee est de consid erer le polyn ome p fasse

(t) de degr e k qui satis-

p (xj ) = fj pour j = n + 1; n; n 1; : : : ; n k + 1 (6.9) enir lapproximation num erique par (attention: fn+1 = f (xn+1 ; yn+1 ) est encore inconnu) et de d Z xn+1 yn+1 = yn + p (t) dt: (6.10)
xn
Comme pr ec edemment, la formule de Newton donne

p (t) =
et la m ethode devient

k j X Y1 j =0 i=0

(t xn

i+1 )

jf

xn+1; xn; : : : ; xn

j +1]

(6.11)

yn+1 = yn +

1 k Z xn+1 jY X

j =0

xn

i=0

(t xn

i+1 ) dt

jf

xn+1; xn; : : : ; xn

j +1 ]:

(6.12)

Pour le cas e quidistant, elle est donn ee par

yn+1 = yn + h

k X j =0

j j r fn+1

(6.13)

o` u les coefcients j sont donn es par (voir tableau III.4)

Z 1 jY1 Z 1 s+j 2 = j1! (i 1 + s) ds = ds: j 0 i=0 0

(6.14)

72

Equations Diff erentielles Ordinaires

TAB . III.4 Coefcients pour les m ethodes dAdams implicites

j 0 j 1

1
1 2

2
1 12

3
1 24

4
19 720

5
3 160

6
863 60480

7
275 24192

8
33953 3628800

Des cas particuliers sont:

yn+1 = yn + hfn+1 = yn + hf (xn+1; yn+1) yn+1 = yn + h fn+1 + fn yn+1 = yn + h fn+1 + fn fn 1 yn+1 = yn + h fn+1 + fn fn 1 + fn 2 : Chacune de ces formules repr esente une e quation non lin eaire pour yn+1 , de la forme
1 2 1 2 5 8 1 12 9 12 19 24 12 5 1 24 24 24

k=0: k=1: k=2: k=3:

(par exemple, pour k = 2 on a syst` eme par les m ethodes du chapitre VI (m ethode de Newton) ou simplement par la m ethode des approximations successives.

yn+1 = n + h f (xn+1; yn+1) (6.15) = 5=12 et n = yn + h(8fn fn 1 )=12). On peut r esoudre ce

M ethodes pr edicteur-correcteur. La solution de (6.15) est elle-m eme seulement une approximation de y (xn+1 ). Ainsi, il nest pas important de r esoudre (6.15) a ` une tr` es grande pr ecision. Lid ee est de calculer une premi` ere approximation par une m ethode explicite et de corriger cette valeur (une ou plusieurs fois) par la formule (6.15). Avec cet algorithme, un pas de la m ethode prend la forme suivante: 1 j bn+1 = yn + h Pk bn+1 P: on calcule le pr edicteur y ethode dAdams explicite; y j =0 j r fn par la m est d ej` a une approximation de y (xn+1 ); bn+1 = f (xn+1; y bn+1); E: evaluation de la fonction: on calcule f bn+1; C: lapproximation corrig ee est alors donn ee par yn+1 = n + h f E: calculer fn+1 = f (xn+1 ; yn+1 ). Cette proc edure, quon d enote PECE, est la plus utilis ee. Dautres possibilit es sont: de faire plusieurs it erations, par exemple PECECE, ou domettre la derni` ere e valuation de f (c.-` a-d. PEC) et b de prendre fn+1 a ` la place de fn+1 pour le pas suivant. M ethodes BDF (backward differentiation formulas). Au lieu de travailler avec un polyn ome qui passe par les fj , on consid` ere le polyn ome q (t) de degr e k , d eni par

q(xj ) = yj
pour

yn xn

q(t)
k+1

yn

yn yn+1 xn xn+1
(6.16)

j = n + 1; n; : : : ; n k + 1 et on d etermine yn+1 de fa con telle que

k+1

xn

q0(xn+1 ) = f (xn+1; q(xn+1)):

Equations Diff erentielles Ordinaires Comme dans (6.11), la formule de Newton donne

73

q(t) =

k j X Y1 j =0 i=0

(t xn

i+1 )

jy x

n+1 ; xn ; : : : ; xn j +1]:

(6.17)

Chaque terme de cette somme contient le facteur (t et on obtient

xn+1 ). Alors, on calcule facilement q0(xn+1 )


(6.18)

n+1; xn ; : : : ; xn j +1 ] = f (xn+1 ; yn+1 ): j =1 i=1 Pour le cas e quidistant, cette formule devient (utiliser (6.6)) i+1 ) k 1 X rj yn+1 = hfn+1 : j j =1
Des cas particuliers sont:

1 k jY X

(xn+1 xn

jy x

(6.19)

yn+1 yn = hfn+1 yn+1 2yn + yn 1 = hfn+1 yn+1 3yn + yn 1 yn 2 = hfn+1 yn+1 4yn + 3yn 1 yn 2 + yn 3 = hfn+1 De nouveau, chaque formule d enit implicitement lapproximation num erique yn+1 (les m ethodes
3 1 2 2 11 6 3 2 1 3 25 12 4 3 1 4

k=1: k=2: k=3: k=4:

BDF sont tr` es importantes pour la r esolution de probl` emes dits raides).
104

fe

k=0

k=1

k=2

104

fe

k=1

k=2

103

k=4
error of y1
102 104 106 108

103

k=4
102 102 104 106

102

error of y2
108

F IG . III.6 Erreur globale par rapport au travail num erique Exp erience num erique. Pour plusieurs valeurs de k , nous avons appliqu e la m ethode dAdams explicite (en pointill es dans la g. III.6, k = 1; 2; 3; 4) ainsi que la m ethode dAdams implicite (sous la forme PECE, trait continu, k = 0; 1; 2; 3; 4) au probl` eme (2.10). Comme dans la g. III.2, le travail num erique est dessin e en fonction de lerreur globale a ` la n de lintervalle. k On constate que cette erreur se comporte comme h pour les m ethodes explicites et comme k +1 h pour les m ethodes implicites. Pour pouvoir expliquer ce comportement, nous allons e tudier lerreur locale (ordre), la stabilit e et la convergence des m ethodes multipas.

74

Equations Diff erentielles Ordinaires

III.7 Etude de lerreur locale


Toutes les m ethodes du paragraphe pr ec edent sont de la forme

k X i=0
o` u k

i yn+i

=h

k X i=0

i fn+i

(7.1)

6= 0 et j 0j + j 0j > 0. Une m ethode est explicite si k = 0, sinon elle est implicite.

D enition 7.1 Soit y (x) une solution de y 0 = f (x; y (x)) et soit yn+k la valeur obtenue par la m ethode (7.1) en utilisant yi = y (xi ) pour i = n; : : : ; n + k 1 (valeurs sur la solution exacte, voir g. III.7). Alors, erreur locale := y (xn+k ) yn+k : (7.2) On dit que la m ethode (7.1) a lordre p si lerreur locale est O(hp+1 ).

yn

yn+1

yn+k xn+k

y(x) yn+k xn+k

xn xn+1

F IG . III.7 D enition de lerreur locale Pour e tudier lerreur locale dune m ethode multipas, on consid` ere le d efaut de (7.1). Ceci nous conduit a ` lop erateur L, d eni par

L(y; x; h) =

k X i=0

i y (x + ih)

h iy0(x + ih) :

(7.3)

enition ci-dessus, on a fi = f (xi ; y (xi)) = Comme yi = y (xi ) pour i = n; : : : ; n + k 1 dans la d 0 y (xi ) pour i = n; : : : ; n + k 1, et en soustrayant la formule (7.1) de (7.3) on obtient

L(y; xn; h) =
ce qui est e quivalent a `

y(xn+k ) yn+k
kI

y0(xn+k ) fn+k ;

L(y; xn; h) =

h k @f @y (: : :) (y(xn+k ) yn+k )

(7.4)

(largument de @f=@y peut e tre diff erent pour chaque ligne de cette matrice; voir le th eor` eme des accroissements nis). La formule montre que lerreur locale de la m ethode (7.1) est O(hp+1 ) si et seulement si L(y; x; h) = O (hp+1 ) pour toute fonction y (x) sufsamment diff erentiable. Th eor` eme 7.2 Une m ethode multipas a lordre p, si et seulement si ses coefcients satisfont

k X i=0

i=0

et

k X i=0

q ii = q

k X i=0

ii

q 1

pour

q = 1; : : : ; p:

(7.5)

Equations Diff erentielles Ordinaires

75

D emonstration. Dans la formule (7.3), en d eveloppant les expressions y (x + ih) et y 0 (x + ih) en s erie de Taylor, nous obtenons

L(y; x; h) =

k X X i=0 i

= y(x)

q 0 k X

i i=0 r 0 k X (q) hq X q y (x) q! i + ii i=0 i=0 q 1

) y(q)(x) (ih q!

k X X

) y(r+1)(x) (ih r!

k X i=0

ii

q 1

La condition L(y; x; h) = O (hp+1 ) nous donne les e quations (7.5). Exemple (m ethode dAdams explicite a ` k pas). Pour q k , consid erons l equation diff erentielle 0 q 1 q y = qx avec comme solution y(x) = x . Dans cette situation, le polyn ome p(t) de (6.2) est e gal a ` f (t; y (t)) et la m ethode dAdams explicite donne le r esultat exact. Par cons equent, on a L(y; x; h) = 0 (voir formule (7.4)) ce qui implique

k X i=0

i (x + ih)

qh i(x + ih)q

=0

et aussi (7.5) (en posant x = 0). Ainsi, lordre de cette m ethode est k (on peut en fait montrer quil est e gal a ` k ). De la m eme mani` ere, on montre que la m ethode dAdams implicite a lordre p = k + 1 et la m ethode BDF lordre p = k .

III.8 Stabilit e
La structure simple des conditions dordre pour les m ethodes multipas (voir (7.5)) permet de construire des m ethodes avec un ordre maximal. Mais, ces m ethodes sont-elles utiles? Exemple (Dahlquist 1956). Posons k = 2 et construisons une m ethode explicite ( 2 = 0; normalisation 2 = 1) avec un ordre maximal. Les conditions (7.5) avec p = 3 nous donnent la m ethode dordre 3 suivante yn+2 + 4yn+1 5yn = h(4fn+1 + 2fn): (8.1)

Une application a ` l equation diff erentielle y 0

= y, y(0) = 1 donne la formule de r ecurrence

yn+2 + 4(1 h)yn+1 (5 + 2h)yn = 0:


Pour r esoudre (8.2), nous ins erons yn

(8.2)

n et obtenons l equation caract eristique

2 + 4(1
avec comme solution 1

h)
2

(5 + 2h) = 0
n 2

(8.3)

= 1 + h + O(h2);

= 5 + O(h). La solution de (8.2) est alors


(8.4)

yn = C1 1n + C2

o` u les constantes C1 et C2 sont d etermin ees par y0 = 1 et y1 = eh (on a choisi la valeur y1 sur la n C2 ( 5)n est dominant et on na aucun espoir que solution exacte). Pour n grand, le terme C2 2 la solution num erique converge vers la solution exacte ex (g. III.8).

76
3

Equations Diff erentielles Ordinaires

h = 0:05 h = 0:025 h = 0:1

1 .0 .5 F IG . III.8 Instabilit e de la m ethode (8.1) 1.0

La raison de la divergence de la solution num erique dans lexemple pr ec edent est que le polyn ome k X i ( ) := (8.5) i i=0 poss` ede une racine qui est plus grande que 1 en valeur absolue. Pour trouver une condition n ecessaire pour la convergence, consid erons le probl` eme y 0 avec des valeurs initiales y0 ; y1 ; : : : ; yk 1 perturb ees. La solution num erique yn satisfait

=0
(8.6)

k yn+k + : : : + 0 yn = 0
et est donn ee par une combinaison lin eaire de

n : : : : : : : : : : : : : : : : : : : : : : : si est une racine simple de ( ) = 0, n; n n : : : : : : : : : : : : : : : : : si est une racine double de ( ) = 0, n; n n; : : : ; n` 1 n : : : : : : si est une racine de multiplicit e `.
Pour que la solution num erique reste born ee, il faut que les conditions de la d enition suivante soient remplies. D enition 8.1 Une m ethode multipas est stable, si les racines du polyn ome b b i) si ( ) = 0 alors j j 1, ii) si

( ) satisfont

( b) = 0 et j bj = 1 alors b est une racine simple de ( ).

Pour les m ethodes dAdams, on a

( )=

k 1(

1):

(8.7)

Elles sont donc stables. Les m ethodes BDF sont stables seulement pour k 17 et 18).

6 (voir les exercices

Remarque. Donnons encore sans d emonstration un r esultat int eressant qui sappelle la premi` ere barri` ere de Dahlquist. Pour une m ethode stable, lordre p satisfait p k + 2 (si k est pair), p k + 1 (si k est impair) et p k (si la m ethode est explicite).

Equations Diff erentielles Ordinaires

77

III.9 Convergence des m ethodes multipas


Pour l etude de la convergence des m ethodes multipas, nous nous contentons du cas e quidistant, le cas g en eral e tant trop technique. Th eor` eme 9.1 Supposons que les k valeurs de d epart satisfassent ky (xi ) yi k C0hp pour i = 0; 1; : : : ; k 1. Si la m ethode multipas (7.1) est dordre p et stable, alors elle est convergente dordre p, c.-` a-d. que lerreur globale satisfait

ky(xn) ynk Chp

pour

xn x0 = nh

Const:

(9.1)

D emonstration. Le point essentiel de la d emonstration est le suivant: on e crit formellement la m ethode multipas (7.1) sous la forme dune m ethode a ` un pas et on applique les id ees de la d emonstration du paragraphe III.5. Formulation comme une m ethode a ethode multipas (7.1) est de la forme (nous sup` un pas. La m posons k = 1) k 1 X yn+k = (9.2) i yn+i + h (xn ; yn ; : : : ; yn+k 1; h): i=0 Pour une m ethode explicite ( k = 0), est donn e par

(xn; yn; : : : ; yn+k 1; h) =


et pour une m ethode g en erale,

k 1 X i=0

i f (xn+i ; yn+i)

= (xn ; yn; : : : ; yn+k 1; h) est d eni implicitement par


i f (xn+i ; yn+i) + k f

k 1 X i=0

xn+k ; h

k 1 X i=0

i yn+i

(9.3)

Consid erons maintenant les super-vecteurs

Yn := (yn+k 1; : : : ; yn+1; yn)T


et e crivons la m ethode (9.2) sous la forme

Yn+1 = AYn + h (xn ; Yn; h)


o` u

(9.4)

0 k B 1 B B A=B B B @

0 1

k 2

::: :::
... ...

0
...

1 0 C C C C 0 ; C . C . . A
0

0 (x; Y; h) 1 B 0 C B C C B C B (x; Y; h) = B 0 C . B @ .. C A
0

(9.5)

(si les yj e taient d ej` a des vecteurs, il faudrait remplacer A dans (9.4) par A I , etc; cependant nous nutiliserons pas cette notation jug ee trop lourde). Erreur locale. Consid erons des valeurs yn ; : : : ; yn+k 1 sur la solution exacte, notons

Y (xn) := (y(xn+k 1); : : : ; y(xn+1); y(xn))T

(9.6)

78 et appliquons une fois la m ethode multipas. Ceci donne

Equations Diff erentielles Ordinaires

bn+1 = AY (xn) + h (xn ; Y (xn); h): Y bn+1 Y (xn+1 ) est exactement lerreur locale (7.2), tandis que les La premi` ere composante de Y autres composantes sont e gales a ` z ero. Comme la m ethode a lordre p par hypoth` ese, nous avons bn+1 Y (xn+1)k C1hp+1 kY pour xn+1 x0 = (n + 1)h Const: (9.7)
Propagation de lerreur (stabilit e). Consid erons une deuxi` eme solution num erique, d enie par

Zn+1 = AZn + h (xn ; Zn; h)


et estimons la diff erence Yn+1

0 y n+k zn+k B y B n+k 1 zn+k B . B . @ . yn+1 zn+1

Zn+1. Pour les m ethodes dAdams, on a 1 0y 1 0 1 ( x ; Y ; h ) ( x ; Z ; h ) n+k 1 zn+k 1 n n n n C B B C yn+k 1 zn+k 1 C B C 0 1C B C C B C =B + h B C . . C C . . @ A: . A @ A . 0 yn+1 zn+1
(qui est une cons equence de celle

En utilisant la norme innie et une condition de Lipschitz pour de f (x; y )), on obtient kYn+1 Zn+1k (1 + h )kYn

Znk:

(9.8)

Pour une m ethode g en erale, on est oblig e de choisir une autre norme pour arriver a ` (9.8). La stabilit e de la m ethode implique que ceci est possible (voir Hairer, Nrsett & Wanner (1993), paragraphe III.4). Accumulation des erreurs propag ees. Cette partie de la d emonstration est exactement la m eme que pour les m ethodes a ` un pas (voir le paragraphe III.5 et la g. III.9). Au lieu de (5.2) et (5.5), on utilise (9.7) et (9.8).

Y0

Y (x0 ) Y (x1 ) Y (x2 ) Y1 Y2 Y3 x3

en

Y (xn) En = en En 1
1

m ethode multipas

x0 x1 x2

E2 E1 Yn xn = X

. . .

F IG . III.9 Estimation de lerreur globale pour des m ethodes multipas

Equations Diff erentielles Ordinaires

79

III.10 Exercices
1. Appliquer la m ethode dEuler, de Runge et de Heun (voir tableau III.1) au probl` eme

y0 = Ay; y(0) = y0 :
Montrer que la solution num erique est donn ee par

(10.1)

yn = R(hA)n y0;
et calculer R(hA) pour les trois m ethodes. 2. Ecrire l equation diff erentielle

z 00 + z = 0; z(0) = 1; z 0 (0) = 1;
sous la forme (10.1). Calculer la solution exacte et la solution num erique avec la m ethode de Runge sur 0; 1] avec h = 1=2. 3. Montrer que lordre dune m ethode de Runge-Kutta explicite ne peut pas e tre plus grand que le nombre d etages; c.-` a-d. p s. Indication. Appliquer la m ethode a ` degr e s.

y0 = y, y(0) = 1 et observer que y1 est un polyn ome en h de

`s=2e tages (avec 4. Donner la famille a ` un param` etre des m ethodes de RK explicites, dordre p = 2 a comme param` etre libre c2 ). Etudier le comportement de la solution num erique pour cette famille quand c2 ! 0. 5. Calculer toutes les m ethodes de Runge-Kutta explicites avec p = s = 3. 6. Pour le probl` eme de Van der Pol

0 = y2 ; y1 0 = (1 y2 )y2 y1 ; y2 1

y1 (0) = 2; y2(0) = 1=2;

calculer le terme dominant de lerreur locale (i.e. le coefcient du terme hp+1 ) pour la m ethode de Runge dordre 2 (tableau III.1). 7. Calculer lerreur locale dune m ethode de Runge-Kutta pour l equation diff erentielle

avec r et q des entiers positifs. En d eduire la condition

0 = xr 1 y1 0 = xq 1 y1 y2

y1(0) = 0 y2(0) = 0 r+q p

s X i=1

bi cq i

i 1 1 X a cr 1 = ij j j =1

1 ; r(q + r)

pour une m ethode dordre p. 8. (Runge 1905). Consid erons une m ethode de Runge-Kutta a ` se tages avec lordre p = s 4 et supposons que tous les coefcients aij et bj soient non-n egatifs. Montrer que la constante de Lipschitz de (x; y; h) (voir le lemme du paragraphe III.5) satisfait

(1 + h ) ehL o` u L est la constante de Lipschitz pour la fonction f (x; y ). En d eduire que lestimation (5.4) reste
vraie si lon remplace par L.

80

Equations Diff erentielles Ordinaires


9. Soit erri une estimation de lerreur au i-` eme pas et d enissons 'i par

erri = 'i hr i:
Si on a fait le calcul jusquau n-` eme pas, c.-` a-d., si on conna t les valeurs de hi et erri pour i faut trouver une valeur raisonable pour hn+1 . (a) Lhypoth` ese 'n+1 (b)

n, il
1)

= 'n nous conduit a ` la formule courante du cours. (Gustafsson 1992). Montrer que lhypoth` ese ln 'n = ln 'n 1 (c.-` a-d., 'n+1 ='n = 'n ='n
2 Tol errn 1 hn+1 = 0:9 hhn err n 1 n errn 1=r

nous conduit a ` la formule

10. (Dense output). Soit fyn g la solution num erique obtenue par une m ethode de Runge-Kutta dordre 4 (avec des pas constants). Pour un x 2 (xn ; xn+1 ), nous consid erons le polyn ome u(x) de degr e3 qui satisfait

u(xn+1 ) = yn+1 ; u0 (xn+1) = f (xn+1; yn+1 ) (interpolation dHermite, voir II.7). Montrer que, pour tout x 2 (xn ; xn+1 ), on a u(x) y(x) = O(h4 ): u(xn ) = yn ;
11. Montrer que la formule de Milne

u0(xn ) = f (xn; yn);

est une m ethode multipas dordre 4 qui est stable. Expliquer pourquoi ses coefcients sont les m emes que pour la formule de quadrature de Simpson. 12. Calculer la solution g en erale de

yn+1 = yn 1 + h 3 fn+1 + 4fn + fn

yn+3 5yn+2 + 8yn+1 4yn = 0; puis donner une formule pour la solution particuli` ere qui satisfait y0 = 1, y1 = 0, y2 = 4.
13. (a) Appliquer la m ethode dAdams explicite

(b) Appliquer la m ethode dEuler explicite au m eme probl` eme, e galement avec h = 1=8. (c) Comparer les deux r esultats num eriques avec la solution exacte y (1=2) = 2. 14. En utilisant le th eor` eme binomial g en eralis e (Analyse I), montrer que pour les coefcients j des P j m ethodes dAdams explicites, la fonction g en eratrice G(t) := 1 j =0 j t devient G(t) = t=((1 t) log(1 t)). En d eduire la formule

avec h = 1=8 au probl` eme y 0 = y 2 , y (0) = 1, y (1=2) =? Pour y1 utiliser la valeur obtenue par la m ethode dEuler explicite.

3f 1f yn+1 = yn + h 2 n 2 n

Calculer a ` laide de (1) les j pour j

m + 2 m 1 + 3 m 2 + : : : + m + 1 0 = 1:

(1)

1 Indication. Utiliser l egalit e s+j j

= 1; 2; 3; 4. = ( 1)j js .

Equations Diff erentielles Ordinaires


15. V erier que la m ethode BDF a ` k pas est dordre p = k . 16. Quel est le polyn ome %( 17. Montrer que le polyn ome

81

) de la m ethode dAdams explicite a ` k pas? ( ) de la m ethode BDF a ` k pas est donn e par ( )=
j =1 j k 1 X k j(

1)j :

En utilisant la transformation de

= 1=(1 z ), montrer que la m ethode est stable si toutes les racines

p(z ) =
sont en dehors du disque jz ce disque.

1j 1; elle est instable si au moins une racine de (10.2) se trouve dans log(1 z ).

z j =1 j

k 1 X

(10.2)

Remarque. Le polyn ome (10.2) est une somme partielle de la s erie pour

18. En calculant num eriquement les racines du polyn ome (10.2), montrer que la m ethode BDF est stable pour 1 k 6, mais instable pour k = 7. 19. Une m ethode multipas est dite sym etrique si

k i=
20. Soit %(

i;

k i = i;

pour i = 0; 1; : : : ; k:

D emontrer que lordre (maximal) dune m ethode sym etrique est toujours pair.

) un polyn ome quelconque de degr e k satisfaisant %(1) = 0 et %(1)0 6= 0.

(a) Montrer quil existe une unique m ethode multipas implicite dordre p = k +1 dont le polyn ome caract eristique est %( ). (b) Montrer quil existe une unique m ethode multipas explicite dordre caract eristique est %( ). 21. Le polyn ome caract eristique

p = k dont le polyn ome

d enit les m ethodes de Nystr om ou de Milne-Simpson. Calculer pour k implicite a ` laide de lexercice pr ec edent.

%( ) =

k 2( 2

1);

= 2 la m ethode explicite et

82

Equations Diff erentielles Ordinaires

Chapitre IV Syst` emes dEquations Lin eaires


Consid erons un syst` eme d equations lin eaires (aij ; bj donn es)

a11 x1 + a12 x2 + : : : + a1nxn = b1 a21 x1 + a22 x2 + : : : + a2nxn = b2 an1 x1 + an2x2 + : : : + annxn = bn


. . . . . . . . . . . .

(0.1)

et cherchons sa solution x1 ; : : : ; xn . Tr` es souvent, il est commode dutiliser la notation matricielle

Ax = b:
Rappelons que le syst` eme (0.2) poss` ede une solution unique si et seulement si det A 6= 0. Bibliographie sur ce chapitre

(0.2)

Bj A. orck (1996): Numerical Methods for Least Squares Problems. SIAM. [MA 65/387] P.G. Ciarlet (1982): Introduction a erique matricielle et a ` lanalyse num ` loptimisation, Masson. J.J. Dongarra, C.B. Moler, J.R. Bunch & G.W. Stewart (1979): LINPACK Users Guide. SIAM. D.K. Faddeev & V.N. Faddeeva (1963): Computational Methods of Linear Algebra. Freeman & Co. [MA 65/271] G.H. Golub & C.F. Van Loan (1989): Matrix Computations. Second edition. John Hopkins Univ. Press. [MA 65/214] N.J. Higham (1996): Accuracy and Stability of Numerical Algorithms. SIAM. [MA 65/379] A.S. Householder (1964): The Theory of Matrices in Numerical Analysis. Blaisdell Publ. Comp. [MA 65/262] G.W. Stewart (1973): Introduction to Matrix Computations. Academic Press. L.N. Trefethen & D. Bau (1997): Numerical Linear Algebra. SIAM. [MA 65/388] J.H. Wilkinson (1969): Rundungsfehler. Springer-Verlag. J.H. Wilkinson & C. Reinsch (1971): Handbook for Automatic Computation, Volume II, Linear Algebra. Springer-Verlag.

84

Syst` emes dEquations Lin eaires

IV.1 Elimination de Gauss


Soit donn e le syst` eme (0.1) et supposons que det A 6= 0. Si a11 6= 0, on peut e liminer la variable x1 dans les e quations 2 a `na ` laide de l equation 1, c.-` a-d., on calcule

et on remplace la ligne i par

ai1 `i1 = a

11

pour

i = 2; : : : ; n
ligne 1:

(1.1)

ligne i

`i1

De cette mani` ere, on obtient le syst` eme e quivalent

(1) (1) (1) a(1) 11 x1 + a12 x2 + : : : + a1n xn = b1 (1) (1) a(1) 22 x2 + : : : + a2n xn = b2
. . . . . . (1) (1) an2 x2 + : : : + ann xn

= b(1) n
pour

. . .

(1.2)

o` u

(si a11 = 0, on e change la premi` ere ligne de (0.1) avec une autre ligne pour arriver a ` a11 6= 0; ceci est toujours possible car det A 6= 0). Le syst` eme (1.2) contient un sous-syst` eme de dimension n 1 sur lequel on peut r ep eter la proc edure pour e liminer x2 dans les e quations 3 a ` n. On multiplie la ligne 2 de (1.2) par `i2 = (1) es n 1 e tapes a(1) i2 =a22 et on la soustrait de la ligne i. Apr`

a(1) 1j = a1j ; (1) b1 = b1 ;

a(1) ij = aij `i1 a1j (1) bi = bi `i1 b1

i = 2; : : : ; n

(1.3)

(A; b) ! (A(1) ; b(1) ) ! (A(2) ; b(2) ) ! : : : ! (A(n 1) ; b(n 1) ) =: (R; c)


on obtient un syst` eme triangulaire

r11 x1 + r12 x2 + : : : + r1n xn = c1 r22 x2 + : : : + r2n xn = c2


.. .

rnnxn = cn
pour

. . .

. . .

(1.4)

qui se r esoud facilement

xn = cn=rnn;

xi = (ci

n X j =i+1

rij xj )=rii

i = n 1; : : : ; 1:

(1.5)

Th eor` eme 1.1 Soit det A 6= 0. L elimination de Gauss donne

PA = LR
o` u P est une matrice de permutation et

(1.6)

0 1 1 B C B `21 1 C B C L = B .. . . . . . . ; C A @ . `n1 : : : `n;n 1 1

0 1 r 11 r12 : : : r1n B B r22 : : : r2n C C B C: R=B . ... . . C @ A rnn

(1.7)

Syst` emes dEquations Lin eaires La formule (1.6) sappelle d ecomposition LR (left - right) de la matrice A.

85

Remarque. Les colonnes et les lignes dune matrice de permutation P sont des vecteurs unit e. On a det P = 1. Un exemple est

0 1 0 1 0 P =B @1 0 0C A;
0 0 1

0 1 0 1 ligne 1 ligne 2 PB @ ligne 2 C A=B @ ligne 1 C A:


ligne 3 ligne 3

D emonstration. Supposons que toutes les permutations n ecessaires soient d ej` a faites avant que lon commence l elimination des variables (par abus de notation, nous e crivons A au lieu de PA dans cette d emonstration). En utilisant les matrices

`n2 : : : 0 1 le premier pas de l elimination de Gauss correspond a ` une multiplication de A avec L1 , le deuxi` eme avec L2 , etc.,
0

0 1 1 B C `21 1 B C B C B C ` 0 1 L1 = B . 31 . ; C B C . . . . . . @ . . . . A `n1 0 : : : 0 1

01 B 0 B B B L2 = B 0 B @ ...

1 `32
. . .

...

...

1 C C C C ; ::: C C A

(1.8)

L1 A = A(1) ; L2 A(1) = A(2) ; : : : ; Ln 1A(n


Par cons equent,

2)

= A(n

1)

= R:

: : : L1 ) A et A = (Ln 1Ln 2 : : : L1 ) 1 R: Il reste a ` montrer que la matrice L de (1.7) est e gale a ` (Ln 1 Ln 2 : : : L1 ) 1 . Pour ceci, nous appliquons la m eme proc edure a ` la matrice L. La multiplication de L avec L1 e limine les e l ements de la premi` ere colonne en-dessous de la diagonale, puis la multiplication avec L2 e limine ceux de la deuxi` eme colonne, etc. Finalement, on obtient (Ln 1 Ln 2 : : : L1 ) L = I =identit e, ce quil R = (Ln 1Ln
2
fallait d emontrer. Calcul du d eterminant dune matrice. La formule (1.6) implique que det P det A = det L det R. Comme det P = ( 1) , o` u est le nombre de permutations dans l elimination de Gauss, on obtient det A = ( 1) r11 : : : rnn: (1.9) R esolution de syst` emes lin eaires. En pratique, on rencontre souvent la situation o` u il faut r esoudre une suite de syst` emes lin eaires Ax = b, Ax0 = b0 , Ax00 = b00 , etc., poss edant tous la m eme matrice. Tr` es souvent, on conna t b0 seulement apr` es la r esolution du premier syst` eme. Cest la raison pour laquelle on e crit, en g en eral, le programme pour l elimination de Gauss en deux sous-programmes :
DEC calculer la d ecomposition LR (voir (1.6)) de la matrice; SOL r esoudre le syst` eme Ax = b. Dabord on calcule le vecteur

Lc = Pb, puis on r esoud le syst` eme triangulaire Rx = c.

c (voir (1.4)), d eni par

Pour le probl` eme ci-dessus, on appelle une fois le sous-programme DEC et puis, pour chaque syst` eme lin eaire, le sous-programme SOL.

86

Syst` emes dEquations Lin eaires

de l Cout elimination de Gauss. Pour le passage de A a ` A(1) , on a besoin de n 1 divisions (voir (1.1)) et de (n 1)2 multiplications et additions (voir (1.3)). Le calcul de A(2) n ecessite n 2 divisions et (n 2)2 multiplications et additions, etc. Comme le travail d u aux divisions est ici n egligeable, le co ut total de la d ecomposition LR s el` eve a ` environ

(n

1)2 + (n

2)2 + : : : + 22 + 12

Zn
0

(op eration = multiplication + addition). Le calcul de b(1) n ecessite n 1 op erations (voir (1.3)). Par cons equent, on obtient c avec 2 (n 1) + : : : + 2 + 1 n =2 op erations. Similairement, la r esolution du syst` eme (1.4) se fait en n2 =2 op erations. En r esum e, lappel au sous-programme DEC n ecessite n3=3 op erations, tandis que SOL a 2 seulement besoin de n op erations (sur des ordinateurs s eriels).

x2 dx = n 3

3
op erations

IV.2 Le choix du pivot


Dans l elimination de Gauss, il faut au d ebut choisir une e quation (avec ai1 6= 0; cet e l ement sappelle le pivot) a ` laide de laquelle on e limine x1 dans les autres e quations. Le choix de cette e quation (choix du pivot) peut-il inuencer la pr ecision du r esultat num erique, si lon fait le calcul sur ordinateur en virgule ottante? Exemple 2.1 (Forsythe) Consid erons le syst` eme

1:00 10 4 x1 + 1:00 x2 = 1:00 1:00 x1 + 1:00 x2 = 2:00


avec pour solution exacte

(2.1)

Appliquons l elimination de Gauss et simulons un calcul en virgule ottante avec 3 chiffres signicatifs (en base 10). (1) a) Si lon prend a11 = 1:00 10 4 comme pivot, on obtient `21 = a21 =a11 = 1:00 104 , a22 = 4 4 1:00 1:00 104 = 1:00 104 et b(1) equent, 2 = 2:00 1:00 10 = 1:00 10 . Par cons (1) (1) x2 = b2 =a22 = 1:00 (exacte!), mais pour x1 nous obtenons

1 = 1:00010001 : : :; x1 = 0:9999

:9998 = 0:99989998 : : :: x2 = 0 0:9999

(2.2)

b)

x1 = (b1 a12 x2 )=a11 = (1:00 1:00 1:00)=(1:00 10 4) = 0: Le r esultat num erique, obtenu pour x1 , est faux. Si lon e change les deux e quations de (2.1), le pivot est 1:00 et l elimination de Gauss donne: (1) (1) 4 4 `21 = 1:00 10 , a22 = 1:00 1:00 10 = 1:00 et b2 = 1:00 2:00 1:00 10 4 = 1:00. (1) (1) De nouveau, on obtient x2 = b2 =a22 = 1:00. Mais cette fois le r esultat pour x1 est x1 = (b1 a12 x2 )=a11 = (2:00 1:00 1:00)=1:00 = 1:00: Les deux valeurs num eriques (pour x2 et aussi pour x1 ) sont correctes.

Syst` emes dEquations Lin eaires

87

Pour mieux comprendre dans quelle partie de l elimination de Gauss on a perdu une information essentielle, consid erons les sous-probl` emes (addition, soustraction, multiplication, division) s epar ement et e tudions leur condition. Condition dun probl` eme. Consid erons une application P : IRn ! IR, le probl` eme consistant a ` calculer P (x) pour les donn ees x = perturbations dans x sur le r esultat P (x). D enition 2.2 La condition

(x1 ; : : : ; xn). Il est int eressant d etudier linuence de

dun probl` eme P est le plus petit nombre tel que

bi xi j jx eps =) jxij On dit que le probl` eme P est bien conditionn e, si


tionn e.

b) P (x)j jP (x jP (x)j

eps:

(2.3)

nest pas trop grand. Sinon, il est mal condi-

Dans cette d enition, eps repr esente un petit nombre. Si eps est la pr ecision de lordinateur bi peut e (voir le paragraphe II.4) alors, x tre interpr et e comme larrondi de xi . Remarquons encore que la condition d epend des donn ees xi et du probl` eme P , mais quelle ne d epend pas de lalgorithme avec lequel on calcule P (x). Exemple 2.3 (multiplication de deux nombres r eels) Soient donn es les nombres x1 et x2 , consid erons le probl` eme de calculer P (x1 ; x2 ) = x1 x2 . Pour les deux valeurs perturb ees

b1 = x1 (1 + 1 ); x
on a

b2 = x2 (1 + 2 ); x

j ij
1

eps

(2.4)

Comme eps est un petit nombre, le produit 1 2 est n egligeable par rapport a ` j 1 j + j 2 j et on obtient b1 x b2 x1 x2 x 2 eps: (2.5) x1 x2 On a donc = 2 et ce probl` eme est bien conditionn e. Exemple 2.4 (soustraction) Pour le probl` eme P (x1 ; x2 ) = x1

b1 x b2 x1 x2 x = (1 + 1 )(1 + 2) 1 = 1 + 2 + x1 x2

2:

x2 , un calcul analogue donne

b1 x b2) (x1 x2 ) x1 1 x2 (x = x x x1 x2 1 2

jx1j + jx2j eps: |jx1 {z x2 j}

(2.6)

Si signx1 = signx2 (ceci correspond a ` une addition et non pas a ` une soustraction) on a = 1; le probl` eme est bien conditionn e. Par contre, si x1 x2 la condition = (jx1 j + jx2 j)=jx1 x2 j devient tr` es grande et on est confront ea ` un probl` eme qui est extr emement mal conditionn e. Pour mieux illustrer leffet de cette grande condition, consid erons lexemple num erique

2=50 = 100: (1=50)2 b1 = 0:196 10 1, x b2 = En faisant le calcul avec 3 chiffres signicatifs (en base 10), on obtient x 1 3 b1 x b2 = 0:400 10 . Comme les deux premiers chiffres sont les m b1 0:192 10 et x emes pour x b et x2 , la soustraction les fait dispara tre et on na plus quun chiffre qui est signicatif (le r esultat exact est 1=(51 52) = 0:377 10 3 ). On parle dextinction de chiffres. 1; x1 = 51 1 x2 = 52
pour lequel

88

Syst` emes dEquations Lin eaires

Explication du choix du pivot. Si `21 est tr` es grand (ce qui est le cas dans la situation (a) de lexemple de Forsythe) alors,

(1) b b1 : x2 = 2 (1) a22 a12 Cette valeur, obtenue pour x2 , est en g en eral correcte. Mais le calcul de x1

a(1) 22 = a22 `21 a12 (1) b2 = b2 `21b1

`21 a12 `21 b1

(2.7)

x1 = (b1 a12 x2 )=a11


n ecessite une soustraction qui est tr` es mal conditionn ee car a12 x2 b1 et, a ` cause de lextinction de chiffres, on perd de la pr ecision. La conclusion de cette e tude est quil faut e viter des `ij trop grands. Recherche partielle de pivot. Lid ee est de ne pas se contenter dun pivot qui soit diff erent de z ero (a11 6= 0), mais d echanger les e quations de (0.1) an que a11 soit le plus grand e l ement (en valeur absolue) de la premi` ere colonne de A. De cette mani` ere, on a toujours j`i1 j 1. La m eme strat egie est r ep et ee pour les sous-syst` emes apparaissant dans l elimination de Gauss.

IV.3 La condition dune matrice


Pour e tudier la condition du probl` eme r esoudre Ax = b, on a besoin de normes de vecteurs et de matrices. Rappel sur la norme dune matrice. Pour une matrice a ` m lignes et n colonnes, on d enit

kAxk ; kAk = kmax k Ax k = max x= 6 0 kxk xk=1


c.-` a-d., la norme de A est le plus petit nombre kAk qui poss` ede la propri et e

(3.1)

kAxk kAk kxk

pour tout

x 2 IRn:

(3.2)

Evidemment, kAk d epend des normes choisies dans IRn et IRm . Il y a des situations o` u lon conna t des formules explicites pour kAk. Par exemple, si lon prend la m eme norme dans les deux espaces alors, P jx j , on a pour kxk1 = n i=1 i

kAk1 = j=1 max ;:::;n


pour

m X i=1

jaij j ;

(3.3)

2 1=2 kxk2 = (Pn i=1 jxi j ) ,

on a

pour

kAk2 = plus grande valeur propre de AT A; kxk1 = maxi=1;:::;n jxi j , on a kAk1 = i=1 max ;:::;m
n X j =1

(3.4)

jaij j :

(3.5)

Syst` emes dEquations Lin eaires

89

La norme kAk dune matrice satisfait toutes les propri et es dune norme. En plus, elle v erie kI k = 1 pour la matrice didentit e et kA B k kAk kB k. Apr` es ce rappel sur la norme dune matrice, essayons destimer la condition du probl` eme Ax = b b b = b avec des donn b. Pour ceci, consid erons un deuxi` eme syst` eme lin eaire Ax ees perturb ees

bij = aij (1 + ij ); a b bi = bi(1 + i );

j ij j j ij

A; b;

(3.6)

o` u A et b sp ecient la pr ecision des donn ees (par exemple A eps, b eps o` u eps est la pr ecision de lordinateur). Les hypoth` eses (3.6) impliquent (au moins pour les normes k k1 et k k1) que b Ak A kAk; kA kb b bk b kbk: (3.7)

b xk, en supposant que (3.7) soit vrai. Un peu Notre premier r esultat donne une estimation de kx plus loin, on donnera une estimation am elior ee valable si (3.6) est satisfait.
Th eor` eme 3.1 Consid erons les deux syst` emes lin eaires Ax = inversible. Si (3.7) est v eri e et si A (A) < 1, alors on a

bx b=b b et A b o` u A est une matrice


(3.8)

b xk kx kxk 1
o` u

(A)
A

(A) ( A + b)
nous d eduisons que

(A) := kAk kA 1k.

Le nombre

(A) sappelle condition de la matrice A.


1

D emonstration. De

b bx b A)x b Ax = (A b + A(x b x), b b=A b x=A x

b A)x b + (b (A b b) :

(3.9)

bk Maintenant, prenons la norme de (3.9), utilisons lin egalit e du triangle, les estimations (3.7), kx b xk et kbk = kAxk kAk kxk. Nous obtenons ainsi kxk + kx b xk kA 1k kx
Ceci donne lestimation (3.8). La formule (3.8) montre que pour A donn ees sur le r esultat est de (A). Propri et es de a) b) c)

b xk) + kAk (kxk + kx


(A)

kAk kxk :

1, lamplication maximale de lerreur des

(A). Soit A une matrice inversible. Alors, (A) 1 pour toute A, ( A) = (A) pour . 6= 0, (A) = kmax kAyk kmin kAzk. yk=1 zk=1

La propri et e (c) permet d etendre la d enition de (A) aux matrices de dimension m n avec m 6= n. D emonstration. La propri et e (a) est une cons equence de 1 = kI k = kAA 1 k kAk kA 1 k. La propri et e (b) est e vidente. Pour montrer (c), nous utilisons

kA

1 1 k = max kA xk x= 6 0 kxk

kzk = min kAzk = max z6=0 kAz k z6=0 kz k

90

Syst` emes dEquations Lin eaires

TAB . IV.1 Conditions de matrices de Hilbert et Vandermonde

n 2 4 6 8 10 12 4 7 10 13 (Hn) 27 2:8 10 2:9 10 3:4 10 3:5 10 3:8 1016 (Vn) 8 5:6 102 3:7 104 2:4 106 1:6 108 1:0 1010
Exemples de matrices ayant une grande condition. Consid erons les matrices Hilbert) et Vn (matrice de Vandermonde) d enies par (cj = j=n)

Hn (matrice de

Leur condition pour la norme k

1 Hn = i + j 1

Exemples de matrices ayant une petite condition. Une matrice U est orthogonale si U T U = I . Pour la norme euclidienne, sa condition vaut 1 car kU k2 = 1 et kU 1 k2 = 1 (linverse U 1 = U T est aussi orthogonale). Concernant linterpolation avec des fonctions splines, nous avons rencontr e la matrice (voir le paragraphe II.7, cas e quidistant)

k1 est donn ee dans le tableau IV.1.

n ; i;j =1

Vn = cij

1 n : i;j =1

04 1 1B 1 B A= h @1 4 1 .. .. .
.

1 9 > = C C ... A > n ; ...

(3.10)

Le facteur 1=h ninuence pas (A). Posons alors h = 1. Avec la formule (3.5), on v erie facilement que kAk1 = 6. Pour estimer kA 1 k1 , e crivons A sous la forme A = 4(I + N ) o` uI 1 est lidentit e et N contient le reste. On voit que kN k1 = 1=2. En exprimant A par une s erie g eom etrique, on obtient

Par cons equent, 1 (A) 3 ind ependamment de la dimension du syst` eme. Il y a des situations o` u lestimation (3.8) est trop pessimiste. Consid erons, par exemple, les bx b=b b o` u syst` emes Ax = b et A

2 3 kA 1k1 1 4 1 + kN k1 + kN k1 + kN k1 + : : :

1: 2

0 ; b= 2 ; A= 3 0 10 8 3
La diff erence des solutions satisfait

0 2(1 + 1 ) : b b = 3(1 + 1 ) A ; b = 8 0 10 (1 + 2) 3(1 + 2 )

(3.11)

i 1 xi ( i i ): i Le probl` eme est donc tr` es bien conditionn e. Par contre, la condition (A) de la matrice A de (3.11) est (A) = 3 108 et lestimation (3.8) est obsol` ete.
Th eor` eme 3.2 Consid erons les syst` emes v eri e et si A c (A) < 1, alors on a

bi xi = xi 1 + x 1+

Ax = b
1

et

bx b=b A b

o` u

A est inversible. Si (3.6) est

b xk1 kx kxk1

c (A) A c (A)

( A + b)

(3.12)

Syst` emes dEquations Lin eaires o` u

91

c (A) := k jA 1j

jAj k1.

Remarque. Si B = (bij ) est une matrice arbitraire, on d enote par jB j la matrice dont les e l ements sont jbij j. On utilise une notation analogue pour des vecteurs. Pour deux vecteurs x = (x1 ; : : : ; xn)T et y = (y1; : : : ; yn)T , on e crit jxj jy j si on a jxi j jyi j pour tout i. D emonstration. Exactement comme dans la d emonstration du th eor` eme pr ec edent, nous obtenons

b xj jA 1j( A jAj (jxj + jx b xj) + b jAj jxj) jx b xj) + b jxj): = jA 1j jAj ( A (jxj + jx
En prenant la norme innie de cette relation, nous arrivons au r esultat (3.12).

(3.13)

De plus, la valeur c (A) est invariante par rapport a ` une multiplication a ` gauche avec une matrice diagonale, c.-` a-d.,

Si lhypoth` ese (3.6) est v eri ee, lestimation (3.12) est une am elioration de (3.8) car on a toujours (3.14) c (A) 1 (A):

c (DA) = c(A)

si

D = diag(d1 ; : : : ; dn)

avec

di 6= 0:

(3.15)

Ceci est une cons equence de jDAj = jD j jAj et de j(DA) 1 j = jA 1 D 1 j = particulier, pour une matrice diagonale (voir (3.11)), on a toujours c (D ) = 1.

jA 1j jD 1j. En

IV.4 La stabilit e dun algorithme


Le but de ce paragraphe est d etudier linuence des erreurs darrondi sur le r esultat pour l elimination de Gauss. Commen cons par la d enition de la stabilit e dun algorithme et avec quelques exemples simples. Un algorithme pour r esoudre le probl` eme P (x) est une suite dop erations e l ementaires f1 ; : : : ; fn (addition, soustraction, multiplication, division, e valuation dune racine, dune fonction e l ementaire, : : :) telle que P (x) = fn(fn 1(: : : f2 (f1(x)) : : :)): (4.1)

En g en eral, il existe beaucoup dalgorithmes diff erents pour r esoudre le m eme probl` eme P (x). Lamplication de lerreur, en faisant lop eration fi , est d ecrite par la condition (fi ) (voir la d enition dans le paragraphe IV.2). Lestimation

(P )

(f1 ) (f2) : : : (fn):

(4.2)

est une cons equence simple de la d enition de la condition dun probl` eme. D enition 4.1 Un algorithme est num eriquement stable (au sens de forward analysis) si

(f1 ) (f2) : : : (fn)

Const

(P )

(4.3)

o` u Const nest pas trop grand (par exemple, Const = O (n)). La formule (4.3) exprime le fait que linuence des erreurs darrondi durant le calcul de P (x) nest pas beaucoup plus grande que linuence derreurs dans les donn ees (qui sont in evitables).

92

Syst` emes dEquations Lin eaires

Exemple 4.2 Soit x = 104 et consid erons le probl` eme de calculer 1=(x(1 + x)). Examinons les deux algorithmes suivants : a)

% &

Toutes ces op erations sont tr` es bien conditionn ees (voir le paragraphe IV.3). Ainsi, cet algorithme est num eriquement stable. b)

x x+1

& x(x + 1) %

! x(x 1 + 1) .

x % &

Dans cet algorithme, seules les trois premi` eres op erations sont bien conditionn ees. La soustraction, a ` la n, est tr` es mal conditionn ee car 1=x 1=(x + 1). Ainsi, cet algorithme est num eriquement instable. La v erication, si un algorithme (non-trivial) est stable (au sens de forward analysis), est souvent tr` es complexe et difcile. Pour cette raison, Wilkinson a introduit une autre d enition de la stabilit e dun algorithme. D enition 4.3 Un algorithme pour r esoudre le probl` eme P (x) est num eriquement stable (au sens b peut e de backward analysis) si le r esultat num erique y et e comme un r esultat exact tre interpr b (c.-` b = P (x b)) et si pour des donn ees perturb ees x a-d., y

1=x x+1

! 1=(x + 1)

1 1 & 1 % x x + 1 = x(x + 1) .

b i xi j jx jxi j

Const eps

(4.4)

o` u Const nest pas trop grand et eps est la pr ecision de lordinateur. Remarque. Pour l etude de cette stabilit e, il ne faut pas conna tre la condition du probl` eme. Exemple 4.4 Consid erons le probl` eme de calculer le produit scalaire x1 lalgorithme x1 x2 & (x1 ; x2; x3 ; x4 ) % & x3 x4 % x1 x2 + x3 Le r esultat num erique (sous linuence des erreurs darrondi) est

x2 + x3 x4 . On utilise x4 :
(4.5)

x1 (1 + 1 ) x2 (1 + 2 )(1 + 1 ) + x3 (1 + 3 ) x4 (1 + 4 )(1 + 2) (1 + 3 )
o` u j i j; j j j

b1 eps. Ce r esultat est e gal a `x

b2 + x b3 x b4 si lon pose x b3 = x3 (1 + 3 )(1 + 2); x b4 = x4 (1 + 4 )(1 + 3): x

b1 = x1 (1 + 1)(1 + 1 ); x b2 = x2 (1 + 2)(1 + 3 ); x

Ainsi, (4.4) est v eri e pour Const = 2 (on n eglige les produits i j ). En cons equence, lalgorithme (4.5) est toujours num eriquement stable (au sens de backward analysis). Cet exemple montre bien quun algorithme peut e tre stable, m eme si le probl` eme est mal conditionn e. Ainsi, il faut bien distinguer les notions stabilit e num erique et condition dun probl` eme.

Syst` emes dEquations Lin eaires

93

La stabilit e de l elimination de Gauss. Soit donn ee une matrice A (det A 6= 0) ayant la d ecomposition A = LR (on suppose que les permutations n ecessaires sont d ej` a effectu ees). En b et R b , qui repr appliquant l elimination de Gauss, nous obtenons deux matrices L esentent la d eb b b composition exacte de la matrice A := L R. Pour montrer la stabilit e num erique (au sens de backward analysis) de l elimination de Gauss, on a besoin de trouver une estimation de la forme bij aij j jaij j Const eps. En tous cas, il faut estimer la diff bij aij . ja erence a

b, R b le r Th eor` eme 4.5 (Wilkinson) Soit A une matrice inversible et L esultat num erique de l elib mination de Gauss (avec recherche de pivot, c.-` a-d. j`ij j 1 pour tout i; j ). Alors, bij aij j 2 a min(i 1; j ) ja
o` u eps (4.6)

(k) a = maxi;j;k jaij j.

` me e b(ijk) a b(ijk 1) . D emonstration. Lors de la k e tape de l elimination de Gauss, on calcule a ` partir de a Si lon prend en consid eration les erreurs darrondi, on obtient

b(ijk) = (a b(ijk 1) a b(ijk 1) =a


o` u (en n egligeant les termes O (eps2 ))

k 1) (1 + bik a b(kj ` k 1) + bik a b(kj ` ijk

ijk ))(1 + ijk )

(4.7)

ijk j

k 1) j j j 2 a bik j ja b(ijk)j j ijk j + j` b(kj ja ijk k i;j ) b b = Pmin(i;j ) ` bik a b(kj = Pmin( kj k=1 `ik r k=1 j X k=1
1)

eps:

(4.8)

b, on a a bij Par d enition de A (4.7), on obtient pour i > j

et, en utilisant la formule

bij = a
(j ) car aij

b(ijk 1) (a

j X ( k ) bij + ijk ) = aij + a ijk k=1

(4.9a)

= 0 dans cette situation. Pour i j , on a

bij = a

i 1 X k=1

b(ijk (a

1)

b(ijk) + a

bii ijk ) + `

bij = aij + r

i 1 X k=1

ijk

(4.9b)

bii = 1 et r bij = a b(iji 1) . Les formules (4.9a) et (4.9b), ensemble avec lestimation (4.8), d car ` emontrent lestimation (4.6).
Cons equence. L elimination de Gauss est stable (au sens de backward analysis) si le quotient

(k) j max ja j max j a i;j ij i;j;k ij

(4.10)

nest pas trop grand. On peut montrer que le quotient (4.10) est born e par 2n 1 , o` u n est la dimension de la matrice A (voir exercice 9). Mais, en g en eral, cette constante est beaucoup plus petite. Pour illustrer ceci, nous avons pris un grand nombre de matrices de dimensions comprises entre 2 et 24 dont les e l ements sont des nombres al eatoires dans 1; 1]. Nous avons dessin e dans la g. IV.1 le quotient (4.10) en fonction de la dimension de la matrice (chaque point repr esente la moyenne de 30 e chantillons).

94

Syst` emes dEquations Lin eaires

4 3 2

quotient (4.10)

n
100 101 F IG . IV.1 Stabilit e num erique de l elimination de Gauss

IV.5 Lalgorithme de Cholesky


Etudions l elimination de Gauss pour le cas important o` u T A est sym etrique (A = A) et A est d enie positive (xT Ax > 0 pour x 6= 0). Le th eor` eme suivant montre que, dans cette situation particuli` ere, il nest pas n ecessaire deffectuer une recherche de pivot. Th eor` eme 5.1 Soit A une matrice sym etrique et d enie positive. a) L elimination de Gauss est faisable sans recherche de pivot. b) La d ecomposition A = LR satisfait

R = DLT avec D = diag(r11 ; : : : ; rnn): (5.1) T D emonstration. a) On a a11 = eT enie 1 Ae1 > 0 (avec e1 = (1; 0; : : : ; 0) ) car la matrice A est d positive. Alors, on peut choisir a11 comme pivot dans la premi` ere e tape de l elimination de Gauss. Ceci donne T T 11 a (1) = a11 a A = aa ! A (5.2) (1) C 0 C ai1 a pour i; j = 2; : : : ; n, ce qui est e (1) quivalent a ` o` u cij = aij a 1j
11

C (1) = C a1 a aT : 11

(5.3)

La matrice C (1) est sym etrique (trivial). Montrons quelle est aussi d enie positive. Pour ceci, nous n 1 T (1) prenons un y 2 IR , y 6= 0. Il faut montrer que y C y > 0. La partition de (5.2) et le fait que A soit d enie positive impliquent

T x1 = a x2 + 2x yT a + yT Cy > 0: 11 a (x1 ; yT ) aa 11 1 1 C y En posant x1 = y T a=a11 dans (5.4), on obtient de (5.3) que

(5.4)

yT C (1) y = yT Cy a1 (yT a)2 > 0: 11


Par r ecurrence, on voit que la deuxi` eme et aussi les autres e tapes de l elimination de Gauss sont faisables sans recherche de pivot.

Syst` emes dEquations Lin eaires

95

b) La formule (5.1) est une cons equence de lunicit e de l elimination de Gauss pour des maT b b (DLT ), trices inversibles. En effet, on peut e crire R = D L et on obtient A = AT = RT LT = L b = L. do` uL bR b et consid Pour montrer lunicit e de l elimination de Gauss, supposons A = LR = L erons 1 1 b b lidentit e L L = RR . Le produit de deux matrices triangulaires inf erieures reste une matrice triangulaire inf erieure; de m eme pour les matrices triangulaires sup erieures. Comme les e l ements 1 b de la diagonale de L L sont tous e gaux a ` 1, on a

b 1 L = RR b 1 = I; L
ce qui implique lunicit e de l elimination de Gauss. La d ecomposition

(5.5)

sappelle d ecomposition rationnelle de Cholesky. Comme rii > 0 (A est d enie positive), on p p 1 = 2 peut consid erer la racine D = diag( r11 ; : : : ; rnn), et la d ecomposition (5.6) devient A = (LD1=2 )(D1=2 LT ) = (LD1=2 )(LD1=2 )T . Par abus de notation, en e crivant L pour LD 1=2 , nous obtenons la d ecomposition de Cholesky

A = LDLT

(5.6)

0` 0 1 11 C A = LLT o` u L=B A: @ ... . . . `n1 : : : `nn Une comparaison des coefcients dans lidentit e A = LLT donne pour
i=k: i>k:
2 2 akk = `2 k1 + `k2 + : : : + `kk aik = `i1 `k1 + : : : + `i;k 1`k;k 1 + `ik `kk

(5.7)

et on en d eduit lalgorithme suivant: Algorithme de Cholesky. for k := 1 to n do 1 2 1=2 `kk := (akk Pk j =1 `kj ) ; for i := k + 1 to n do 1 `ik := (aik Pk j =1 `ij `kj )=`kk . Le co ut de cet algorithme. En n egligeant les n racines, le nombre dop erations n ecessaires est denviron Zn n X n3

6 0 k=1 Ceci correspond a ` la moiti e du co ut de la d ecomposition LR. Pour r esoudre le syst` eme Ax = b, on calcule dabord la d ecomposition de Cholesky (5.7). Puis, on r esoud successivement les deux syst` emes Lc = b et LT x = c, dont les matrices sont triangulaires. Comme pour l elimination de Gauss, on peut e tudier la stabilit e de lalgorithme de Cholesky. On a lestimation suivante. b=L b L b T , o` b est la Th eor` eme 5.2 Soit A une matrice sym etrique et d enie positive. Notons A uL

(n k) k

(n x)x dx =

matrice triangulaire obtenue par lalgorithme de Cholesky. Alors,

o` u

bij aij j a0 min(i; j ) ja a0 = maxi;j jaij j = maxi jaiij.

eps

(5.8)

96

Syst` emes dEquations Lin eaires

Ce r esultat d emontre que lalgorithme de Cholesky est toujours num eriquement stable. Il nest donc pas n ecessaire de faire une recherche de pivot, si la matrice A est sym etrique et d enie positive.

IV.6 Syst` emes surd etermin es m ethode des moindres carr es


Consid erons un syst` eme d equations lin eaires

a11 x1 + a12 x2 + : : : + a1n xn = b1 a21 x1 + a22 x2 + : : : + a2n xn = b2


. . . . . . . . . . . .

(6.1)

o` um Evidemment, le syst` eme (6.1) ne poss` ede, en g en eral, pas de solution. Lid ee est de chercher un vecteur x tel que kAx bk2 ! min (6.2) pour la norme euclidienne. Une justication probabiliste de cette condition sera donn ee dans le paragraphe IV.8. Le nom m ethode des moindres carr es indique le choix de la norme dans (6.2) (la somme des carr es des erreurs doit e tre minimale). Th eor` eme 6.1 Soit A une matrice m de (6.2) si et seulement si

am1 x1 + am2 x2 + : : : + amn xn = bm n (matriciellement: Ax = b avec x 2 IRn et b 2 IRm; A est une matrice m n).

n (avec m n) et soit b 2 IRm. Le vecteur x est solution AT Ax = AT b:


(6.3)

Les e eme (6.3) sappellent equations normales. quations du syst` D emonstration. Les minima de la fonction quadratique

f (x) := kAx bk2 = (Ax b)T (Ax b) = xT AT Ax 2xT AT b + bT b


sont donn es par 0 = f 0 (x) = 2(xT AT A

bT A).

Interpr etation g eom etrique. Lensemble E = fAx j x 2 IRn g est un sous-espace lin eaire de IRm . m Pour un b 2 IR arbitraire, x est une solution de (6.2) si et seulement si Ax est la projection orthogonale de b sur E . Ceci signie que Ax b ? Az pour tout z 2 IRn . On en d eduit que T A (Ax b) = 0 et on a ainsi e tabli une deuxi` eme d emonstration de (6.3). Exemple 6.2 Pour e tudier le ph enom` ene de la thermo- electricit e, on fait lexp erience suivante. On soude un l de cuivre avec un l de constantan de mani` ere a ` obtenir une boucle ferm ee. Un point de soudure est maintenu a ` temp erature xe (T0 24 C), alors que lon fait varier la temp erature T de lautre. Ceci g en` ere une tension U , laquelle est mesur ee en fonction de T (voir le tableau IV.2 et la g. IV.2). Les donn ees du tableau IV.2 sont prises du livre de P.R. Bevington 1. On suppose que cette d ependance ob eit a ` la loi

U = a + bT + cT 2

(6.4)

1: P.R. Bevington (1969): Data reduction and error analysis for the physical sciences. McGraw-Hill Book Company).

Syst` emes dEquations Lin eaires TAB . IV.2 Tensions mesur ees en fonction de la temp erature T

97

i Ti C 1 0 2 5 3 10 4 15 5 20 6 25 7 30

Ui 0:89 0:69 0:53 0:34 0:15 0:02 0:20

i Ti C 8 35 9 40 10 45 11 50 12 55 13 60 14 65

Ui 0:42 0:61 0:82 1:03 1:22 1:45 1:68

i Ti C 15 70 16 75 17 80 18 85 19 90 20 95 21 100

Ui 1:88 2:10 2:31 2:54 2:78 3:00 3:22

et on cherche a ` d eterminer les param` etres au syst` eme surd etermin e (n = 3, m = 21)

a; b et c. Les donn ees du tableau IV.2 nous conduisent i = 1; : : : ; 21:


(6.5)

Ui = a + bTi + cTi2;

En r esolvant les e quations normales (6.3) pour ce probl` eme, on obtient a = 0:886, b = 0:0352 et c = 0:598 10 4. Avec ces param` etres, la fonction (6.4) est dessin ee dans la g. IV.2. On observe une tr` es bonne concordance avec les donn ees.

3 2 1 0

T0 T
0 50 100

F IG . IV.2 Tension en fonction de la temp erature et sch ema de lexp erience Remarque. Les e quations normales (6.3) poss` edent toujours au moins une solution (la projection T sur E existe toujours). La matrice A A est sym etrique et non-n egative (xT AT Ax = kAxk2 0). Elle est d enie positive si les colonnes de A sont lin eairement ind ependantes (Ax 6= 0 pour x 6= 0). Dans cette situation, on peut appliquer lalgorithme de Cholesky pour r esoudre le syst` eme (6.3). Mais, souvent, il est pr ef erable de calculer la solution directement de (6.2) sans passer par les e quations normales (6.3).

IV.7 D ecomposition QR dune matrice


Dans l elimination de Gauss, on a multipli e l equation Ax = b par la matrice triangulaire Ln 1 : : : L2 L1 . De cette mani` ere, on a r eduit le probl` eme original a ` Rx = c o` u R est une matrice triangulaire sup erieure. Malheureusement, la multiplication de Ax b avec Li ne conserve pas la norme du vecteur.

98

Syst` emes dEquations Lin eaires Pour r esoudre (6.2), nous cherchons une matrice orthogonale Q telle que

0 c0 QT (Ax b) = Rx c = R x (7.1) 0 c00 o` u R0 (une matrice carr ee de dimension n) est triangulaire sup erieure et (c0 ; c00 )T est la partition n m n T 0 00 de c = Q b telle que c 2 IR et c 2 IR . Comme le produit par une matrice orthogonale ne
change pas la norme du vecteur, on a

T 2 2 0 0 2 00 2 kAx bk2 2 = kQ (Ax b)k2 = kRx ck2 = kR x c k2 + kc k2 :


On obtient alors la solution de (6.2) en r esolvant le syst` eme

(7.2)

R0x = c0:
Le probl` eme consiste a ` calculer une matrice orthogonale Q (c.-` a-d., QT Q triangulaire sup erieure R telles que QT A = R ou de fa con e quivalente

(7.3)

= I ) et une matrice
(7.4)

A = QR:

Cette factorisation sappelle la d ecomposition QR de la matrice A. Pour arriver a ` ce but, on peut se servir des rotations de Givens (voir exercice 12 du chapitre V) ou des r eexions de Householder. R eexions de Householder (1958). Une matrice de la forme

H = I 2uuT
a les propri et es suivantes :

o` u

uT u = 1 Hx u x

(7.5)

H est une r eexion a ` lhyper-plan fx j uT x = 0g car Hx = x u (2uT x) et Hx + x ? u . H est sym etrique. H est orthogonale, car

H T H = (I 2uuT )T (I 2uuT ) = I 4uuT + 4uuT uuT = I:


En multipliant A avec des matrices de Householder, nous allons essayer de transformer A en une matrice de forme triangulaire. Lalgorithme de Householder - Businger - Golub. Dans une premi` ere e tape, on cherche une m T T matrice H1 = I 2u1 u1 (u1 2 IR et u1 u1 = 1) telle que

0 Si lon d enote par A1 la premi` ere colonne de A, il faut que H1 A1 = 1 e1 = ( 1 ; 0; : : : ; 0)T et on obtient j 1 j = kH1 A1 k2 = kA1 k2 . La forme particuli` ere de H1 implique que

0 1 B0 H1A = B B @ ...

. . .

1 C C C: . . . A

(7.6)

H1A1 = A1 2u1 uT 1 A1 = 1 e1 :

Syst` emes dEquations Lin eaires Lexpression uT equent, 1 A1 est un scalaire. Par cons

99

u1 = C v1

o` u

v1 = A1

1 e1

(7.7)

et la constante C est d etermin ee par ku1 k2 = 1. Comme on a encore la libert e de choisir le signe de 1 , posons (7.8) 1 = sign(a11 ) kA1 k2 pour e viter une soustraction mal conditionn ee dans le calcul de v1 = A1 1 e1 . e ` mes Calcul de H1 A. Notons par Aj et (H1 A)j les j colonnes de A et H1 A respectivement. Alors, on a TA v (H1A)j = Aj 2u1uT v1 o` u = vT2v : (7.9) j 1 1 Aj = Aj 1 1 Le facteur peut e tre calcul ea ` laide de

T T = v12v1 = 1 2 A1 A1 2 1a11 +

2 1

1 (a11

1 ):

(7.10)

Dans une deuxi` eme e edure pr ec edente a ` la sous-matrice de dimension tape, on applique la proc (m 1) (n 1) de (7.6). Ceci donne un vecteur u2 2 IRm 1 et une matrice de Householder T H2 = I 2u2uT 2 . En posant u2 = (0; u2 ) , une multiplication de (7.6) par la matrice H2 = I 2u2uT 2 donne

0 1 B 0 B H2H1 A = H2 B @ ...
0

1 0 1 C B 0 C B C A=B @ ...
0

1 0 1 B C 0 2 B C B C = 0 H2 C A B @0 : : :
0 0

1 C C C C: :A

En continuant cette proc edure, on obtient apr` es n e tapes (apr` es n triangulaire

1e tapes si m = n) une matrice

R0 : H : : : H H A = R = n 2 1 | {z } 0 T Q Ceci donne la d ecomposition (7.4) avec QT = Hn : : : H2 H1 .

Remarque. Si les colonnes de la matrice A sont lin eairement ind ependantes, tous les i sont non nuls et lalgorithme de HouseholderBusingerGolub est applicable. Une petite modication ( echange des colonnes de A) permet de traiter aussi le cas g en eral. Concernant la programmation, il est important de ne calculer ni les matrices Hi , ni la matrice Q. On retient simplement les valeurs i et les vecteurs vi (pour i = 1; : : : ; n) qui contiennent d ej` a

de la d Cout ecomposition QR. La premi` ere e tape exige le calcul de 1 par la formule (7.8) ( m T v1 par la formule (7.10) (travail n op erations), le calcul de 2=v1 egligeable) et le calcul de (H1 A)j pour j = 2; : : : ; n par la formule (7.9) ( (n 1) 2 m op erations). En tout, cette e tape n ecessite environ 2mn op erations. Pour la d ecomposition QR, on a alors besoin de 2(n2 + (n 1)2 + : : : + 1) 2n3 =3 op erations si m = n (matrice carr ee); 2 2m(n + (n 1) + : : : + 1) mn op erations si m n. En comparant encore ce travail avec celui de la r esolution des e quations normales ( mn2 =2 op erations pour le calcul de AT A et n3=6 op erations pour la d ecomposition de Cholesky de T A A), on voit que la d ecomposition QR co ute au pire le double.

100

Syst` emes dEquations Lin eaires

toutes les informations n ecessaires pour la d ecomposition. Comme pour l elimination de Gauss, on e crit deux sous-programmes. DECQR fournit la d ecomposition QR de la matrice A (c.-` a-d. les i , vi et la matrice R). Le sous-programme SOLQR calcule QT b et la solution du syst` eme triangulaire R0x = c0 (voir (7.3)). Le calcul de QT b = Hn : : : H2H1b se fait avec une formule analogue a ` (7.9). Exemple 7.1 Si les colonnes de A sont presque lin eairement d ependantes, la r esolution du probl` eme (6.2) a ` laide de la d ecomposition QR est pr ef erable a ` celle des e quations normales. Consid erons, par exemple, 0 1 0 1

1 1 B A = @ 0C A;
2

o` u est une petite constante, disons

0 0 2 < eps. Avec un calcul exact, on obtient 1 1+


2

1 B b = @0C A

AT A = 1 + 1
et la solution est donn ee par

AT b = 1 1

1 = 1 + O( 2 ): x1 = x2 = 2 + 2 2 Un calcul en virgule ottante fait dispara tre le 2 dans AT A et cette matrice devient singuli` ere. On
nobtient pas de solution. Par contre, lalgorithme de HouseholderBusingerGolub donne (en n egligeant 2 ) 1 v1 = (2; ; 0)T ,: : : et a ` la n

= 1,

0 1 1 p1 R=B 2 C @0 A;
0 0

0 1 1 p QT b = B 2 C @ =p A: = 2

La r esolution de (7.3) donne une bonne approximation de la solution exacte.

IV.8 Etude de lerreur de la m ethode des moindres carr es


cj (t) xj = b (8.1) j =1 qui relie les variables t et b (les fonctions cj (t) sont donn ees, p. ex. cj (t) = tj 1 ). Supposons que pour plusieurs valeurs de t (disons t1 ; : : : ; tm , m n) lon puisse mesurer les quantit es b1 ; : : : ; bm . On obtient ainsi le syst` eme surd etermin e
n X j =1
Comme cest le cas dans lexemple du paragraphe IV.6, nous cherchons les param` etres x1 ; : : : ; xn dune loi n

aij xj = bi ;

i = 1; : : : ; m

(8.2)

o` u aij = cj (ti ). En pratique, les bi sont des mesures l eg` erement erron ees et il est naturel de les consid erer comme des valeurs plus ou moins al eatoires. L etude de lerreur de la solution x, obtenue par la m ethode des moindres carr es, se fait alors dans le cadre de la th eorie des probabilit es.

Syst` emes dEquations Lin eaires

101

Rappel sur la th eorie des probabilit es. Consid erons des variables al eatoires X (dites continues) qui sont sp eci ees par une fonction de densit e f : IR ! IR, c.-` a-d., la probabilit e de l ev enement que la valeur de X se trouve dans lintervalle a; b) est donn ee par

avec f (x) 0 pour x 2 IR et 1 1 f (x) dx = 1. On appelle esp erance (math ematique) de la variable al eatoire X le nombre r eel

P (a X < b) =

Zb
a

f (x) dx

(8.3)

X
et variance la valeur

= E (X ) = (x

Z1

xf (x) dx;

(8.4)

2 X

= Var (X ) =

Z1
1

2 X ) f (x) dx =

Z1
1

x2 f (x) dx
2

2: X

(8.5)

Exemple 8.1 Si une variable al eatoire satisfait (8.3) avec (voir la g. IV.3)

f (x) = p 1 2

exp

1 x 2

(8.6)

alors on dit que la variable al eatoire satisfait la loi normale ou la loi de Gauss Laplace que lon 2 symbolise par N ( ; ). On v erie facilement que est lesp erance et 2 la variance de cette variable al eatoire. La loi normale est parmi les plus importantes en probabilit es. Une raison est due au th eor` eme de la limite centrale qui implique que les observations pour la plupart des exp eriences physiques ob eissent a ` cette loi.

95 %

+2

F IG . IV.3 Fonction de densit e pour la loi normale Rappelons aussi que n variables al eatoires X1 ; : : : ; Xn sont ind ependantes si, pour tout ai ; bi , on a n

P (ai Xi < bi ; i = 1; : : : ; n) =

i=1

P (ai Xi < bi):

(8.7)

Lemme 8.2 Soient X et Y deux variables al eatoires ind ependantes avec comme fonctions de densit e f (x) et g (y ) respectivement et soient ; 2 IR avec 6= 0. Alors, les variables al eatoires X + et X + Y poss` edent les fonctions de densit e

1 f x j j

et

(f g)(z) =

Z1

f (z y)g(y) dy:

(8.8)

102 Leur esp erance math ematique est

Syst` emes dEquations Lin eaires

E ( X + ) = E (X ) + ;
et leur variance satisfait Var (

E (X + Y ) = E (X ) + E (Y )
Var (X

(8.9)

X+ )=

2 Var (X );

+ Y ) = Var (X ) + Var (Y ):

(8.10)

D emonstration. La fonction de densit e pour la variable al eatoire

P (a

X + < b) = P a

X<b

Z (b

X+

d ecoule de (pour

)=

(a )=

f (x) dx =

Zb
a

> 0) dt:

1f

Les propri et es (8.9) et (8.10) pour X + en sont une cons equence directe. Comme X et Y sont suppos ees ind ependantes, on obtient (en posant z = x + y )

P (a X + Y < b) = E (X + Y ) =

ZZ

a x+y<b

f (x)g(y) dx dy =

Z bZ 1
a

f (z y)g(y) dy dz

et on trouve la fonction de densit e pour X

Z1 Z1 Z1Z1 z f (z y)g(y) dy dz = (x + y)f (x)g(y) dy dx = E (X ) + E (Y ) 1 1 1 1

+ Y . Un calcul direct donne

et, de fa con similaire, on obtient

Remarque. Si X et Y sont deux variables al eatoires ind ependantes qui ob eissent a ` la loi normale, les variables al eatoires X + et X + Y ob eissent aussi a ` cette loi (exercice 13). Revenons maintenant au probl` eme (8.2). Pour pouvoir estimer lerreur du r esultat num erique x, faisons les hypoth` eses suivantes : ealisation dune e preuve pour une variable al eatoire Bi . On suppose que H1: La valeur bi est la r les Bi soient ind ependantes et quelles ob eissent a ` la loi de GaussLaplace avec i comme 2 2 sont suppos esp erance et i comme variance (les i sont inconnus, mais les i es connus). H2: Le syst` eme surd etermin e (8.2) poss` ede une solution unique si lon remplace les bi par les nombres i , c.-` a-d. quil existe un vecteur 2 IRn tel que A = o` u = ( 1 ; : : : ; m )T .

Z1 Z1 Var (X + Y ) = z2 f (z y)g(y) dy dz 2 X +Y 1Z 1 Z1 1 (x + y)2f (x)g(y) dy dx ( X + Y )2 = Var (X ) + Var (Y ): = 1 1

Motivation de la m ethode des moindres carr es. Par lhypoth` ese H1, la probabilit e que Bi soit esimalement) petit est dans lintervalle bi ; bi + dbi ) avec dbi (innit

P (bi Bi < bi + dbi)

p 1
2
m Y i=1

exp

1 bi 2 exp

i 2 i

dbi:
i 2 i

Comme les Bi sont ind ependants, la formule (8.7) implique que

P (bi Bi < bi + dbi ; i = 1; : : : ; m)

p 1
2

1 bi 2

dbi

(8.11)

Syst` emes dEquations Lin eaires

103

= C exp

m b 1X i 2 i=1

i 2 i

= C exp

m bi Pn aij 1X j =1 2 i=1 i

j 2

Selon une id ee de Gauss (1812), la meilleure r eponse xi pour les i (inconnus) est celle pour laquelle la probabilit e (8.11) est maximale (maximum likelihood). Alors, on calcule x1 ; : : : ; xn de fa con a ` ce que m b n 2 X i X aij (8.12) xj ! min : i=1 i j =1 i

Si lon remplace bi = i par bi et aij = i par aij , la condition (8.12) est e quivalente a ` (6.2). Par la suite, nous supposerons que cette normalisation soit d ej` a effectu ee (donc, i = 1 pour i = 1; : : : ; n). Estimation de lerreur. La solution de (8.12) est donn ee par x = (AT A) 1 AT b. La solution T 1 T th eorique satisfait = (A A) A . Alors,

= (AT A) 1 AT (b

ou

xi

m X j =1

ij (bj

j)

o` u ij est l el ement (i; j ) de la matrice (AT A) 1 AT . Lid ee est de consid erer la valeur xi comme la r ealisation dune variable al eatoire Xi d enie par

Xi =

m X j =1

ij Bj

ou

Xi

i=

m X j =1

ij (Bj

j ):

(8.13)

eatoires ind ependantes avec i comme esp eTh eor` eme 8.3 Soient B1 ; : : : ; Bm des variables al rance et i = 1 comme variance. Alors, la variable al eatoire Xi , d enie par (8.13), satisfait

E (Xi) =

et

Var (Xi ) = ii

(8.14)

` me e o` u ii est le ie ement de la diagonale de (AT A) 1 . l

Remarque. Les autres e l ements de (AT A) 1 sont les covariances de Xi et Xj .

D emonstration. La formule (8.9) donne E (Xi ) = i . Pour calculer la variance de Xi , nous utilisons le fait que Var (Bi ) = 1 et la formule (8.10). Ceci donne avec ei = (0; : : : ; 0; 1; 0; : : :; 0)T que m 2 = X 2 = keT (AT A) 1 AT k2 = eT (AT A) 1 AT A(AT A) 1 e = eT (AT A) 1 e = : i i ii Xi ij i 2 i i j =1 Exemple 8.4 Pour lexp erience sur la thermo- electricit e (voir le paragraphe IV.6), on a suppos e que les mesures bi ont e t e faites avec une pr ecision correspondant a ` i = 0:01. Pour le syst` eme surd etermin e (on e crit x1 ; x2 ; x3 pour a; b; c et bi pour Ui )

1 x + Ti x + Ti2 x = bi ; 1 2 3
i i i i
la matrice (AT A) 1 devient

i = 1; : : : ; 21
5 7 9

0 0:356 10 (AT A) 1 = B @ 0:139 10 0:113 10

4 5 7

0:139 10 0:765 10 0:713 10

0:113 10 7 0:713 10 9 C A 11 0:713 10

1
(8.15)

104 et on obtient

Syst` emes dEquations Lin eaires

5 = 0:28 10 3; X3 = 0:27 10 : Ceci implique quavec une probabilit e de 95%, la solution exacte (si elle existe) satisfait

X1

= 0:60 10 2;

X2

c = 0:598 10 4 0:054 10 4: Test de conance du mod` ele. Etudions encore si les donn ees (ti ; bi ) sont compatibles avec la loi a = 0:886 0:012; b = 0:0352 0:0006;
(8.1). Ceci revient a ` justier lhypoth` ese H2. En utilisant la d ecomposition QR de la matrice A, le probl` eme surd etermin e Ax forme en (voir (7.1))

= b se trans(8.16)

La grandeur de kc00 k2 e du r esultat num erique. Th eoriquement, si lon a 2 est une mesure de la qualit a ` la place de b et a ` la place de x, cette valeur est nulle. Notons les e l ements de la matrice Q par qij . Alors, les e l ements du vecteur c = QT b sont P P q (b m donn es par ci = j =1 qji bj et ceux du vecteur c00 satisfont aussi ci = m j ). Il est alors j =1 ji j naturel de consid erer les variables al eatoires

R 0 x = c0 0 c00

o` u

c0 = QT b: c00

Ci =

m X j =1

qji(Bj

j );

i = n + 1; : : : ; m:

(8.17)

2 i=n+1 Ci . Lemme 8.5 Soient B1 ; : : : ; Bm des variables al eatoires ind ependantes satisfaisant la loi normale N ( i ; 1). Alors, les variables al eatoires Cn+1 ; : : : ; Cm , d enies par (8.17), sont ind ependantes et satisfont aussi la loi normale avec
Le but est d etudier la fonction de densit e de

Pm

E (Ci) = 0; Var (Ci ) = 1: (8.18) D emonstration. Pour voir que les Ci sont ind ependants, calculons la probabilit e P (ai Ci < m bi ; i = n + 1; : : : ; m). Notons par S lensemble S = fy 2 IR j ai yi < bi; i = n + 1; : : : ; mg et par C et B les vecteurs (C1 ; : : : ; Cm )T et (B1 ; : : : ; Bm )T . Alors, on a P (ai Ci < bi; i = n + 1; : : : ; m) = P (C 2 S ) = P (QT (B ) 2 S ) ZZ m X 2 dy : : : dy p 1 m exp 1 = P (B 2 Q(S )) (a) = y (8.19) 1 m i 2 i=1 Q(S ) ( 2 ) ZZ m m Z bi 1 X zi2 dz : (b) 2 dz : : : dz = Y p 1 m exp 1 p = z exp m 2 i=1 i 1 2 i S( 2 ) i=n+1 ai 2 Lidentit e (a) est une cons equence de lind ependance des Bi et (b) d ecoule de la transformation P P 2 2 y = Qz, car det Q = 1 et i yi = i zi (la matrice Q est orthogonale). En utilisant Si = fy 2 IRm j ai yi < bi g, on d eduit de la m eme mani` ere que Z bi 1 2 z i p P (ai Ci < bi ) = P (C 2 Si) = : : : = exp 2 dzi: (8.20) ai 2 Une comparaison de (8.19) avec (8.20) d emontre lind ependance de Cn+1 ; : : : ; Cm (voir la d enition (8.7)). Le fait que les Ci satisfont la loi normale N (0; 1) est une cons equence de (8.20).

Syst` emes dEquations Lin eaires

105

Th eor` eme 8.6 (Pearson) Soient Y1 ; : : : ; Yn des variables al eatoires ind ependantes qui ob eissent a e de la variable al eatoire ` la loi normale N (0; 1). Alors, la fonction de densit

Y12 + Y22 + : : : + Yn2


est donn ee par (voir g. IV.4)

(8.21)

fn(x) = 2n=2 1 (n=2) xn=2 1 e x=2 (8.22) pour x > 0 et par fn (x) = 0 pour x 0 (loi de 2 a es de libert e). Lesp erance de cette ` n degr variable al eatoire vaut n et sa variance 2n.
.2 .1 0

n=3 n=8
10

n = 18
20

95 %
30 40

F IG . IV.4 Fonction de densit e (8.22) D emonstration. Consid erons dabord le cas n = 1. Pour 0

P (a Y12 < b) = P ( pa Y1 < b) + P ( a Y1 > b) Z b 1 Zb 1 dt ; 2 =2 x p =2 p e dx = p e t=2 p a 2 a 2 t p. ce qui d emontre (8.22) pour n = 1 car (1=2) =
Pour le cas g en eral, nous proc edons par r ecurrence. Nous utilisons le r esultat du Lemme 8.2 2 2 2 qui afrme que la fonction de densit e de Y1 + : : : + Yn+1 est la convolution de celle de Y12 + : : : + Yn 2 . Le calcul avec celle de Yn +1

a < b, on a

1 (x t) (fn f1 )(x) = p 2 (1=2) 2n=2 (n=2) 0 Zx x=2 e =p (x t) 2 (1=2) 2n=2 (n=2) 0 =p


nous permet de conclure.

Zx

1=2 e (x t)=2 tn=2 1 e t=2 dt 1=2 tn=2 1 dt

Z1 x(n+1)=2 1 e x=2 (1 s)1=2sn=2 1 ds = fn+1(x) n= 2 0 2 (1=2) 2 (n=2)

Pour les variables al eatoires Ci de (8.17), ce th eor` eme montre que

m X i=n+1

Ci2

(8.23)

est une variable al eatoire ayant comme fonction de densit e fm n (x) (on rappelle quapr` es normalisation, on a i = 1 pour les variables al eatoires Bi ).

106

Syst` emes dEquations Lin eaires

Appliquons ce r esultat a ` lexemple du paragraphe IV.6 (voir la formulation (8.12)). Dans ce 00 2 cas, on a kc k2 = 25:2 et m n = 18 degr es de libert e. La g. IV.4 montre que cette valeur de kc00k2 est sufsamment petite pour e tre probable. 2 Si lon avait travaill e avec le mod` ele plus simple

U = a + bT (8.24) (` a la place de (6.4)) on aurait trouv e kc00 k2 2 = 526:3 et m n = 19. Cette valeur est trop grande

pour e tre probable. La conclusion est que, pour les donn ees du tableau IV.2, la loi (6.4) est plus probable que la loi (8.24).

IV.9 Exercices
1. Pour calculer linverse dune matrice dont la dimension n est tr` es grande, il existe un algorithme qui 3 exige environ n op erations. Donner cet algorithme. 2. Supposons que la d ecomposition LR de la matrice A est a ` disposition. Pour donn es, trouver un algorithme efcace pour r esoudre le syst` eme qui utilise uniquement la r esolution des syst` emes A 1 b et formule de Sherman - Morrison - Woodbury. Indication. Calculer dabord une formule pour v T x. 3. Consid erons le probl` eme de calculer le produit scalaire

u; v; b des vecteurs

(A + uvT )x = b

A 1 u. Cet algorithme est connu sous la

hx; yi =
Quelle est sa condition? 4. Soit A une matrice n

n X i=1

xiyi :

ma ` coefcients r eels. Montrer que kAk1 = kAT k1 et kAk2 = kAT k2 :

5. Consid erons une matrice-bande avec une largeur inf erieure p` et une largeur sup erieure pu (cest-` adire, aij = 0 si i j > p` et si j i > pu ). Montrer que les matrices L et R de la d ecomposition LR avec et sans la recherche de pivot ont aussi une structure de bande. Pour le cas tridiagonal, p` = pu = 1, donner les largeurs des bandes apparaissants dans les d ecompositions et estimer le co ut en op erations des algorithmes. 6. Pour r esoudre le syst` eme lin eaire

n X j =1

cij 1 xj = bi ;

i = 1; : : : ; n

(9.1)

(matrice du type Vandermonde), d eriver un algorithme qui n ecessite seulement O (n2 ) op erations. Indications. (a) Le syst` eme (9.1) est e quivalent a `

n X

o` u

b(p) = Pn j =1 dj bj

j =1
et

p(cj )xj = b(p)


1.

pour

deg p

n 1;

j p(i) = Pn j =1 dj i

Syst` emes dEquations Lin eaires


(b) Choisir pout p(t) les e l ements de la base 1; t 7. Soit

107

c1 ; (t c1 )(t c2 ); (t c1 )(t c2 )(t c3 ); : : :


1 h2

0 2 B B B B B A=B B B B B @

1 h0

1 h1

+ h11

2 h11 + h12
1 h2

1 h1

2 h12 + h13
.. .

.. ..

. .

1 hn 2

2 hn1 2 + hn1 1

1 hn 2

1 C C C C C C C C C C A
!

la matrice qui appara t dans linterpolation avec des splines (voir le paragraphe II.7). Montrer que sa condition 1 (A) = kAk1 kA 1 k1 peut devenir arbitrairement grande si max hi = min hi 1. Par contre, on a c(A) 3 o` u c (A) = k jAj jA 1 j k. Indication. Utiliser les propri et es (4.15) et (4.14). 8. (a) Pour la matrice

0 1 01 A = @ 1 4A
4 1

(b) D emontrer que pour des matrices sym etriques nous avons toujours kAk2 9. Les valeurs de la suite bk

calculer kAk1 , kAk2 et kAk1 .

kAk1 .

= exp(k2=3 (k 1)2=3 ) peuvent e tre calcul ees par les formules:

bk = exp(k2=3 (k 1)2=3 ); bk = exp(k2=3 )= exp((k 1)2=3 )); bk = exp((2k 1)=(k4=3 + (k(k 1))2=3 + (k 1)4=3 )):
Calculer a ` laide dune calculatrice la valeur pour k = 100000 (le r esultat est b100000 = 1:01446656424210809769528199600) et pour k grand, quelle formule est pr ef erable pour un calcul en virgule ottante? 10. Les racines du polyn ome x2

2px q = 0 peuvent e tre calcul ees par


1 = p + p2 + q;

2=p

p2 + q:

Montrer que pour p > 0 (grand) et q > 0 (tr` es petit) cet algorithme est num eriquement instable. A laide de la relation 1 2 = q , trouver un algorithme qui est num eriquement stable. 11. Soient donn es x1 ; x2 ; : : : ; xn . Une estimation de la variance peut e tre calcul ee par chacune des deux formules suivantes:

2
o` u

1 Pn xi est lesp =n erance. Quelle formule est la plus stable? i=1 a) Appliquer les deux algorithmes a ` lexemple n = 2, x1 = 3001, x2 = 3003 et simuler un calcul en virgule ottante avec 4 chiffres. b) Etudier linuence des erreurs darrondi pour les deux algorithmes, si n = 2 mais que x1 et x2
sont arbitraires.

=n1 1 x2 i n i=1

n X

2=

n 1 X n 1 i=1 xi

108

Syst` emes dEquations Lin eaires

12. a) Calculer la d ecomposition de Cholesky A = LLT pour la matrice de Hilbert

1 A = i+j 1

i;j =1;:::;n

n = 3; 6; 9; 12; 15:

b) Comparer le r esultat num erique avec les valeurs exactes

k 1 (j 1)! (j 1)! : `jk = 2( j k)! (j + k 1)!


Combien de chiffres sont exacts? Calculer aussi le r esidu A

(9.2)

b d c) Si L enote le r esultat num erique, calculer le r esidu A


(k)

LLT pour la matrice L, donn ee par (9.2).

bL bT . L

13. Pour une matrice A = (aij ) notons par (aij ) les matrices des e tapes interm ediaires de l elimination de Gauss. Montrer quavec une recherche de pivot partielle, on a

(k) j 2n max j a i;j;k ij

max ja j: i;j ij 11 1C C C: 1 .C 1 1
. .A

(9.3)

Pour la matrice suivante, on a e galit e dans la formule (9.3):

0 1 B 1 B B A = B .1 @ ..
1

1 .1
. .

1 . . .

1 :::

14. Soit A une matrice a ` m lignes et n colonnes (m

n). On d enit pour les matrices non-carr ees, (A) := max jjAxjj = min jjAyjj: jjxjj=1 jjyjj=1
2

Pour la norme Euclidienne, montrer que 2 (AT A) = ( 2 (A))2 . Indication. Transformer la matrice sym etrique AT A sous forme diagonale 1 et montrer que

:::

kxk2 =1

max kAxk2 min kAxk2 2 = 1 ; kx 2 = n: k2 =1

15. Voici quelques valeurs pour la densit e % de leau en fonction de sa temp erature T .

T C] 0 5 10 15 20 %(T ) 0:999868 0:999992 0:999728 0:999126 0:998232


(a) Approcher ces valeurs par un polyn ome de degr e 2 (m ethode des moindres carr es). (b) Pour quelle valeur de T , la densit e est-elle maximale et quelle est cette valeur maximale? Indication. Si vous pr ef erez calculer avec des nombres plus petits, faites la transformation x = T=5, f (T ) = 1 %(T ). 16. Soit A une matrice inversible de dimension n. Montrer que la d ecomposition QR (o` u Q est orthogonale et R triangulaire sup erieure) est unique, si lon suppose que rii > 0 pour i = 1; : : : ; n. 17. Soient loi.

X et Y deux variables al eatoires ind ependantes ob eissant a ` la loi normale N ( 1 ; 1 ) et N ( 2 ; 2 ) respectivement. Montrer que X + (pour > 0) et X + Y ob eissent aussi a ` cette

Syst` emes dEquations Lin eaires


18. Soit X une variable al eatoire qui ob eit a ` la loi 2 avec est sa fonction de densit e). Montrer que

109

n degr es de libert e (c.-` a-d., fn (x) de (8.22)


Var (X ) = 2n:

E (X ) = n

et

19. Effectuer une e tude compl` ete de lerreur du mod` ele trouv ea ` lexercice 60. Pour cela, trouver les e carts types des coefcients du polyn ome et effectuer un test de conance du mod` ele. Indication. kc00 k2 = kAx bk2 . 20. Les e l ements de la diagonale de C = (AT A) 1 jouent un r ole important pour l etude de lerreur de la m ethode des moindres carr es. Supposons que nous avons a ` disposition la d ecomposition QR de la matrice A. (a) D emontrer que (b) Trouver un algorithme pour calculer la diagonale de C en n3 =6 op erations ( colonnes de A; 1 op eration = 1 multiplication + 1 addition).

C = (R T R )

1.

n = nombre de

110

Syst` emes dEquations Lin eaires

Chapitre V Valeurs et Vecteurs Propres


Soit A une matrice carr ee de dimension n dont les e l ements sont soit dans n probl` eme consiste a ` calculer 2 C l et v 2 C l , v 6= 0, tels que

IR, soit dans C l . Le


(0.1)

Av = v:

Si cette e quation est v eri ee, sappelle valeur propre de la matrice A et v est le vecteur propre correspondant. L equation (0.1) est e quivalente au syst` eme (A I )v = 0 qui poss` ede une solution non nulle si et seulement si I ) = 0: (0.2) A ( ) = det(A Le polyn ome A ( ) est le polyn ome caract eristique de la matrice A. Les valeurs propres de A sont alors les z eros du polyn ome caract eristique. Bibliographie sur ce chapitre Tous les livres cit es dans le chapitre IV, et en plus : : : B.N. Parlett (1980): The Symmetric Eigenvalue Problem. Prentice-Hall, Englewood Cliffs, NJ. B.T. Smith, J.M. Boyle, Y. Ikebe, V.C. Klema & C.B. Moler (1970): Matrix Eigensystem Routines: EISPACK Guide. 2nd ed., Springer-Verlag, New York. J.H. Wilkinson (1965): The Algebraic Eigenvalue Problem. Clarendon Press. [MA 65/72] J.H. Wilkinson & C. Reinsch (1971): Handbook for Automatic Computation, Volume II, Linear Algebra. Springer-Verlag, New York.

V.1 La condition du calcul des valeurs propres


A cause des erreurs darrondi, les e l ements dune matrice A, pour laquelle on cherche les valeurs bij = aij (1 + ij ) avec j ij j eps (eps, la pr propres, ne sont pas exacts. Ils sont plut ot e gaux a `a ecision de lordinateur, est suppos ee e tre tr` es petite). Il est alors tr` es important d etudier linuence de ces perturbations sur les valeurs propres et sur les vecteurs propres de la matrice. Pour montrer ceci, consid erons la famille de matrices

jcij j jaij j ( eventuellement, la derni` ere hypoth` ese va e tre remplac ee par kC k kAk).
A( ) = A + C
o` u eps et

jj

(1.1)

Dans le premier th eor` eme nous allons montrer que les valeurs propres ( ) de A( ) d ependent contin ument de . Puis, nous verrons que ( ) est m eme diff erentiable et analytique si (0) est une

112

Valeurs et Vecteurs Propres

valeur propre simple de A. Une situation moins favorable survient lorsque les valeurs propres sont multiples. Th eor` eme 1.1 (continuit e des valeurs propres) Soit

A(

) = det(A

k Y I ) = ( 1)n ( i=1

m i) i

(1.2)

le polyn ome caract eristique de A et choisissons un

> 0 an que les disques


ij

Di = f 2 C l ;j

soient disjoints. Alors, pour j j sufsamment petit et pour i = 1; : : : ; k exactement mi valeurs propres de A( ) = A + C (compt ees avec leur multiplicit e) se trouvent dans le disque Di . D emonstration. Lid ee est dutiliser le th eor` eme de Rouch e (voir Analyse II) : si les fonctions f ( ) et g( ) sont analytiques a ` lint erieur du disque D = f ; j aj g, continues au bord @D et si elles satisfont jf ( ) g ( )j < jf ( )j sur @D , alors les deux fonctions f ( ) et g ( ) poss` edent le m eme nombre de z eros a ` lint erieur de D . Posons f ( ) = A ( ) et g ( ) = A+ C ( ). On voit de (1.2) que j A ( )j C1 > 0 pour 2 @Di . La diff erence A+ C ( ) ( ) contient le facteur et peut e tre e crite sous la forme A 1; 1], le polyn ome h est born e, A+ C ( ) A ( ) = h( ; ). Sur lensemble compact @Di disons par C2 > 0. En cons equence, pour j j < min(C1 =C2 ; 1), on a

A+ C (

A(

)j j j C2 < C1

j A( )j
) et
A(

pour

2 @Di

et le th eor` eme de Rouch e implique que A+ C ( dans Di .

) poss` edent le m eme nombre de z eros

Th eor` eme 1.2 (diff erentiabilit e des valeurs propres) Soit 1 une racine simple de A ( ) = 0. Alors, pour j j sufsamment petit, la matrice A( ) = A + C poss` ede une valeur propre unique 1 ( ) proche de 1 . La fonction 1 ( ) est analytique et on a

u1Cv1 + O( 2 ) (1.3) u1v1 o` u v1 est le vecteur propre a ` droite (Av1 = 1 v1 ) et u1 est le vecteur propre a ` gauche (u1 A = 1 u1 ).
1(

)=

1+

D emonstration. Soit

p( ; ) :=

A+ C (

) = det(A + C
et

I ). Comme

p( 1; 0) = 0

le th eor` eme des fonctions implicites garantie lexistence dune fonction diff erentiable 1 ( ) (m eme analytique), tel que 1 (0) = 1 et p( 1 ( ); ) = 0. Il existe donc un vecteur v1 ( ) 6= 0 tel que

@p ( ; 0) 6= 0; @ 1

A( )

1(

)I v1 ( ) = 0:

(1.4)

La matrice dans (1.4) e tant de rang n 1, on peut xer une composante a ` 1 et appliquer la r` egle de Cramer. Ceci montre que les autres composantes sont des fonctions rationnelles des e l ements

Valeurs et Vecteurs Propres

113

de la matrice A + C erentiables. Apr` es la normalisation a ` v1 ( )T v1 ( ) = 1, 1 ( )I et donc diff la fonction v1 ( ) reste diff erentiable. Pour calculer 01 (0), nous pouvons d eriver l equation (1.4) par rapport a ` et poser ensuite = 0. Ceci donne 0 (0) + (C 0 (0)I )v = 0: (A 1I )v1 (1.5) 1 1 0 En multipliant cette relation par u1 , on obtient u1 (C emontre la formule 1 (0)I )v1 = 0, ce qui d (1.3). Cons equences. Si A est une matrice normale (c.-` a-d., A A = AA ou, de fa con e quivalente, sil existe une matrice unitaire V telle que V AV = diag( 1 ; : : : ; n )), on a u1 = v1 et la formule (1.3) donne (en n egligeant le terme O ( 2 ))

kC k (1.6) 1j car jv1 Cv1 j kv1 k kC k kv1 k. Ceci signie que le calcul dune valeur propre simple dune matrice normale (p. ex., sym etrique ou anti-sym etrique) est tr` es bien conditionn e. Si la matrice nest pas normale, le calcul de 1 (valeur propre simple) peut e tre mal conditionn e. Consid erons par exemple la matrice
A= 1 0 2
o` u

j 1( )

v1 = 1 0 ;

u1 = p 1 1+

dont les valeurs propres sont toutes simples. Dans cette situation, la formule (1.3) nous donne c21) + O( 2 ) et le calcul de 1 = 1 est mal conditionn e si est grand. 1( ) 1 = (c11 Exemple 1.3 Consid erons la matrice (bo te de Jordan)

0 B A= B @

.. ... .

19 > = C C n 1 A> ;
1

(1.7)

Le polyn ome caract eristique de A +

C satisfait

det(A + C I ) = ( 1 )n ( 1)n cn1 + O( 2 ) + O( j Si cn1 6= 0, les termes O ( 2 ) et O ( j 1 j) sont n egligeables par rapport a ` propres de A + C sont alors approximativement donn ees par les racines de

cn1. Les valeurs

j):

1=n ( 1 )n ( 1)n cn1 = 0; c.-` a-d. (1.8) 1 + ( cn1 ) e). (observer que ( cn1 )1=n donne n valeurs complexes distinctes multiples des racines de lunit
Exp erience num erique. Prenons la matrice (1.7) avec = 1 et n = 5. Les e l ements de la matrice C sont 1 des nombres al eatoires dans lintervalle 1; 1]. Le dessin ci-contre montre les 5 valeurs propres de A + C pour = 10 4 ; 10 5 ; : : : ; 10 10 . Lerreur est 10 1 pour = 10 5 et 10 2 pour = 10 10, ce qui correspond a ` la formule (1.8) pour n = 5. Cons equence. Si la dimension n dune bo te de Jordan est plus grande que 1, le calcul de la valeur propre de cette matrice est tr` es mal conditionn e.
.1

.9

1.1

.1

114

Valeurs et Vecteurs Propres

En pratique, on est souvent confront ea ` des matrices sym etriques A a ` coefcients r eels. Dans cette situation, il est raisonnable de supposer que C soit aussi sym etrique (on utilise seulement aij avec i j ; c.-` a-d., on fait les m emes erreurs dans aij et dans aji ). Le th eor` eme suivant montre que la formule (1.3) reste vraie m eme si les valeurs propres ne sont pas simples. Donc, le calcul des valeurs propres dune matrice sym etrique est toujours bien conditionn e. Th eor` eme 1.4 (cas sym etrique) Soient A et C des matrices sym etriques et notons par 1 ; : : : ; n (pas n ecessairement distincts) les valeurs propres de A. Alors, les valeurs propres i ( ) de A + C satisfont T 2 (1.9) i ( ) = i + vi Cvi + O( ) o` u v1 ; : : : ; vn est une base orthonormale de IRn form ee des vecteurs propres de A (Avi = i vi , T T vi vi = 1, vi vj = 0 pour i 6= j ). D emonstration. Dans une premi` ere e tape nous diagonalisons la matrice A de mani` ere a ` ce que des valeurs propres identiques soient group ees ensembles. Nous choisissons donc une matrice orthogonale W telle que

T T CW = C11 C21 W (1.10) 0 C21 C22 est diagonale et contient les valeurs propres diff erentes de 1 ; C11 et C22 sont sym etriques). Dans une deuxi` eme e tape, nous construisons une matrice B ( ) telle que

W T AW =

1I

0 ;

I 0 B( ) I

1I

+ C11 C21

T C21 + C22

T I 0 = D1 ( ) C21 B( ) I 0 D2 ( )

(1.11)

devienne triangulaire par blocs. Cette transformation ne change pas les valeurs propres. Pour arriver a ` ceci, la matrice B = B ( ) doit satisfaire

( 1I

)B + BC11 + C21

TB BC21

C22 B = 0:

(1.12)

Comme 1 I est inversible, le th eor` eme des fonctions implicites implique que, pour sufsamment petit, l equation (1.12) peut e tre r esolue. On obtient alors

1 2 B( ) = ( 1 I ) C21 + O ( ): Avec cette formule, on peut calculer D1 ( ) de (1.11):

(1.13)

D1( ) = 1I + C11 + O( 2 ):
La matrice C11 est sym etrique et peut e tre diagonalis ee a ` laide dune matrice orthogonale Toutes ces transformations nous donnent

U.

UT 0 0 I
o` u

I 0 T B ( ) I W (A + C )W

I 0 B( ) I

T c1( ) U T C21 U 0 = D 0 I 0 D2 ( )

(1.14)

(m est la multiplicit e de la valeur propre 1 ). Lapplication du th eor` eme de Gershgorin (voir plus c bas) a ` la matrice D1 ( ) d emontre que les m valeurs propres de A + C , qui sont proches de 1 , satisfont i ( ) = 1 + di + O ( 2 ).

c1( ) = diag( 1 + d1; : : : ; 1 + dm ) + O( 2 ) D

Valeurs et Vecteurs Propres

115

i = 1; : : : ; m

Pour calculer di , nous comparons les coefcients de dans lidentit e (1.14). Ceci donne pour

0 : o` u (v1 ; v2; : : :) = V := W U di = viT Cvi 0 I Les propri et es des vi sont faciles a ` v erier.
Th eor` eme 1.5 (Gershgorine) Soit A une matrice n n (avec des e ements dans IR ou dans l Si est une valeur propre de A, alors il existe un indice i tel que

C l ).

aii j

n X j =1 j 6=i

jaij j;
X
j 6=i

(1.15)

c.-` a-d. que toutes les valeurs propres de A se trouvent dans lunion des disques

Di = f ; j

aiij

jaij j g: jvij jvj j pour

D emonstration. Soit v 6= 0 un vecteur propre et choisissons lindice i tel que tout j . La ligne i de l equation Av = v donne

X
j 6=i

aij vj = (

aii)vi :

En divisant par vi et en utilisant lin egalit e de triangle, on obtient

aii j =

j aij v vi j 6=i

X
j 6=i

jaij j:

Condition du calcul des vecteurs propres. Consid erons la situation o` u toutes les valeurs propres de A sont distinctes. La d emonstration du th eor` eme sur la diff erentiabilit e des valeurs propres montre (voir formule (1.4)) que les vecteurs propres normalis es vi ( ) de A + C sont des fonctions 0 (0) analytiques de . Pour e tudier la condition du calcul des vecteurs propres, nous exprimons v1 dans la base des vecteurs propres (de droite)

0 (0) = v1
La formule (1.5) donne alors

n X i=1

i vi :

(1.16)

n X

j =2

1 ) j vj + (C

0 (0)I )v
1

= 0:

(1.17)

En multipliant (1.17) par le vecteur propre de gauche ui (observer que ui vj = 0 pour i 6= j ), on obtient i (pour i 2) de la relation ( i La normalisation kv1 ( )k2 1 ) i ui vi + ui Cv1 = 0. P 2=1 n 0 donne (en la d erivant) v1 v1 (0) = 0 et on en d eduit que 1 = ere les i=2 i v1 vi . Si lon ins` 0 2 formules pour i dans (1.16), on obtient pour v1 ( ) = v1 + v1 (0) + O ( ) la relation

v1 ( ) = v1 +

n X

ui Cv1 (v v v v ) + O( 2 ): i 1 1 i i )ui vi i=2 ( 1

(1.18)

116

Valeurs et Vecteurs Propres

De cette formule, on voit que la condition du calcul du vecteur propre v1 d epend de la grandeur ui vi (comme cest le cas pour la valeur propre; voir la formule (1.3)) et aussi de la distance entre 1 et les autres valeurs propres de A. Un algorithme dangereux. Une possibilit e de calculer les valeurs propres dune matrice A est la suivante: calculer dabord les coefcients du polyn ome caract eristique A ( ) et d eterminer ensuite les z eros de ce polyn ome. Si la dimension de A est tr` es petite (disons n 3) ou si lon fait le calcul en arithm etique exacte, cet algorithme peut e tre tr` es utile. Par contre, si lon fait le calcul en virgule ottante, cet algorithme est num eriquement instable. Consid erons, par exemple, le probl` eme de calculer les valeurs propres de la matrice diagonale

A = diag(1; 2; 3; : : :; n)
dont le polyn ome caract eristique est

(1.19)

) = (1 )(2 )(3 ) : : : (n ) (1.20) = ( 1)n n + an 1 n 1 + an 2 n 2 + : : : + a1 + a0 : bi = ai(1 + i) avec j ij eps. Cette perturbation dans les Les coefcients calcul es satisfont a
A(
coefcients provoque une grande erreur dans les z eros de (1.20). Les r esultats num eriques pour 8 n = 9; 11; 13; 15 (avec eps 6 10 , simple pr ecision) sont dessin es dans la Fig. V.1. Conclusion. Eviter le calcul des coefcients du polyn ome caract eristique.

n=9

2 0 2

n = 11

n = 13

2 0 2

n = 15

F IG . V.1 Z eros de (1.20) avec des coefcients perturb es

V.2 La m ethode de la puissance


e sur lit eration Un algorithme simple pour calculer les valeurs propres dune matrice A est bas o` u y0 est un vecteur arbitraire. Dans le th eor` eme suivant, on d emontre que yk = Ak y0 (m ethode de la puissance) tend vers un vecteur propre de A et que le quotient de Rayleigh yk Ayk =yk yk est une approximation dune valeur propre de A. Th eor` eme 2.1 Soit A une matrice diagonalisable de valeurs propres 1 ; : : : ; n et de vecteurs propres v1 ; : : : ; vn (normalis es par kvi k2 = 1). Si j 1 j > j 2 j j 3 j : : : j n j, les vecteurs yk

yk+1 = Ayk

(2.1)

Valeurs et Vecteurs Propres de lit eration (2.1) v erient

117

k yk = k (2.2) 1 (a1 v1 + O (j 2 = 1 j )) P (le nombre a1 est d eni par y0 = i ai vi ). Le quotient de Rayleigh satisfait (en supposant que a1 6= 0) yk Ayk = + O 2 k : (2.3) 1 yy
1 k k Si A est une matrice normale (c.-` a-d. que les vecteurs propres sont orthogonaux), lerreur dans 2 k (2.3) est O (j 2 = 1 j ).

a-d., y0 = D emonstration. Exprimons le vecteur de d epart y0 dans la base des vecteur propres, c.-` P n a v . Par r ecurrence, on voit que

i=1 i i

yk = Ak y0 =

n X i=1

ai k i vi =
n X i=1 n X i=1

k 1

a1 v1 +

n X i=2

ai

i k vi 1

(2.4)

ce qui d emontre la formule (2.2). De cette relation, on d eduit que

yk Ayk = yk yk+1 = yk yk =
Si a1

jai j2j ij2k i + jai j2j ij2k +

X
i6=j

aiaj

k k+1 i j vi vj

(2.5) (2.6)

X
i6=j

aiaj

k k i j vi vj :

6= 0, la formule (2.3) est une cons equence de


yk Ayk = ja1j2 j 1j2k 1 (1 + O(j 2= 1jk )) : yk yk ja1 j2 j 1j2k (1 + O(j 2= 1jk ))
(2.7)

Pour une matrice normale, le deuxi` eme terme dans les formules (2.5) et (2.6) est absent et lexpression O (j 2 = 1 jk ) peut e tre remplac ee par O(j 2 = 1 j2k ) dans (2.7) et dans (2.3).

Exemple 2.2 Consid erons la matrice est 1 = 2(1+cos( nous donnent

0 1 2 =4)) 3:414213562373095. Quelques it erations de la m ethode de la puissance

0 1 2 1 0 A=B @1 2 1C A

dont la valeur propre la plus grande

y0 = (1; 1; 1)T ;

y1 = (3; 4; 3)T ;

y2 = (10; 14; 10)T

et une premi` ere approximation de 1 est obtenue par

convergence, on utilise la modication suivante.

y1 Ay1 = y1 y2 = 116 3:41176: y1 y1 y1 y1 34 Remarques. Les e l ements du vecteur yk croissent exponentiellement avec k . Il est alors recommand e de normaliser yk apr` es chaque it eration, c.-` a-d. de remplacer yk par yk =kyk k. Sinon, on risque un overow. Si j 2 = 1 j est proche de 1, la convergence est tr` es lente. Pour acc el erer la

M ethode de la puissance inverse de Wielandt. Supposons quon connaisse une approximation de la valeur propre cherch ee 1 (il nest pas n ecessaire de supposer que 1 soit la plus grande

118

Valeurs et Vecteurs Propres

valeur propre de A). Lid ee est dappliquer lit eration (2.1) a ` la matrice (A 1 propres de cette matrice sont ( i ) . Si est proche de 1, on a

I)

1 . Les valeurs

1
1

j
(A

1
i

pour

i 2
= (A

et la convergence va e tre tr` es rapide. Lit eration devient alors yk+1

I ) 1yk ou

I )yk+1 = yk : (2.8) I , une it eration de (2.8) ne co ute pas Apr` es avoir calcul e la d ecomposition LR de la matrice A
plus cher quune de (2.1). Exemple 2.3 Pour la matrice A de lexemple pr ec edent, choisissons Deux it erations de (2.8) nous donnent

= 3:41 et y0 = (1; 1:4; 1)T .

0 1 236:134453781513 y1 = B @ 333:949579831933 C A; 236:134453781513


1 3:41

0 1 56041:9461902408 y2 = B @ 79255:2785820210 C A 56041:9461902408


237:328870774159:

et on obtient

1 De cette relation, on calcule 1 et on obtient lapproximation 3:41421356237333. Les 13 premiers chiffres sont corrects.
La m ethode de la puissance (et celle de Wielandt) est importante pour la compr ehension dautres algorithmes. Si lon veut calculer toutes les valeurs propres dune matrice, on utilise des m ethodes encore plus sophistiqu ees. En pratique, on proc` ede de la mani` ere suivante: on distingue les cas: A sym etrique ou A quelconque. on cherche T telle que T 1 AT = H devienne une matrice de Hessenberg (ou une matrice tridiagonale, si A est sym etrique); voir V.3. on applique lalgorithme QR a ` la matrice H (voir V.6). si H est une matrice tridiagonale et sym etrique, on peut e galement appliquer la m ethode de bissection (voir V.4).

y1 (A

I ) 1y1 = y1 y2 y1 y1 y1 y1

V.3 Transformation sous forme de Hessenberg (ou tridiagonale)


Avec la transformation v = Tu (o` u T est une matrice inversible) le probl` eme Av = v devient 1 1 T ATu = u. Donc, les valeurs propres de A et de T AT sont les m emes et les vecteurs 1 propres vi de A sont connect es avec les vecteurs propres ui de T AT par vi = Tui . Le but de ce paragraphe est de trouver une matrice T telle que T 1 AT devienne plus simple. La situation id eale serait trouv ee si T 1 AT devenait triangulaire mais une telle transformation n ecessiterait d ej` a la connaissance des valeurs propres. Alors, on cherche T tel que T 1 AT soit sous forme de Hessenberg

0 B B 1 T AT = H = B B @

:. :. : : : :
... ... . ... ...

. . .C C

C ; C A

(3.1)

Valeurs et Vecteurs Propres c.-` a-d., hij suivants.

119

= 0 pour i > j + 1. Pour arriver a ` ce but, nous consid erons les deux algorithmes

l a) Transformations e ementaires. Comme pour l elimination de Gauss, nous utilisons les transformations Li pour faire appara tre les z eros colonne par colonne dans (3.1). Dans un premier pas, nous choisissons k 2 tel que jak1 j jaj 1 j pour j 2 et nous permutons les lignes 2 et k , c.-` a-d., nous formons PA o` u P est une matrice de permutation convenable. Pour ne pas changer les valeurs propres, il faut e galement permuter les colonnes 2 et k (ceci correspond au calcul de A0 = PAP 1 car P 2 = I et donc P = P 1 ). Si a021 = 0, on a aussi a0i1 = 0 pour i 3 et le premier pas est termin e. Sinon, nous d eterminons

`n2 : : : 0 1 Pour ceci, on d enit `i2 = a0i1 =a021 . Une multiplication a ` droite avec 1 01 B C 0 1 B C B C 1 B C `32 1 L2 = B 0 C . . B . . A @ .. .. . . . . C 0 `n2 : : : 0 1 ne change pas la premi` ere colonne de L2 A0 . On r ep` ete la m eme proc edure avec la sous-matrice de L2 A0 L2 1 de dimension n 1, et ainsi de suite. A cause des multiplications a ` droite avec Li 1 , cet algorithme co ute deux fois plus cher que 3 l elimination de Gauss (donc 2n =3 op erations).
0
Exemple. Pour la matrice

01 B 0 B B B L2 = B 0 B @ ...

1 `32
. . .

..

1
.

..

1 C C C C C C A

telle que

0 a0 a0 : : : a0 1 11 12 1n B 0 a0 : : : a0 C a B 21 22 2n C C B 0 C B : : : : L2 A = B 0 C . . . C B . . . . A @ . . 0 :::

0 1 3 2 1 A=B @2 1 3C A
1 3 1 1 3 C A; 1=2

on prend

0 1 L2 = B @0
0

0 0 1 0C A 1=2 1 1 3 C A = H: 1=2

et on obtient

0 3 B L2 A = @ 2

2 1 0 5=2

puis

0 3 5=2 B 1 L2 AL2 = @ 2 5=2 0 9=4

b) Transformations orthogonales. A la place de L2 , nous utilisons des r eexions de Householder T (voir IV.7). Dabord, on d etermine Q2 = I 2u2u2 (ku2k2 = 1) tel que Q2 A1 = 1 e1 o` u A1 = (a21 ; : : : ; an1 )T . En posant u2 = (0; u2)T et Q2 = I 2u2uT , la matrice Q A contient 2 2 des z eros dans la premi` ere colonne a ` partir du troisi` eme e l ement. La multiplication a ` droite avec Q2 1 = QT 2 = Q2 ne change pas cette colonne. Dans le pas suivant, on applique la m eme proc edure a ` la sous-matrice de dimension n 1, etc. Finalement, on arrive a ` la forme de Hessenberg (3.1) avec la tranformation T 1 = Qn 1 : : : Q2 , qui est une matrice orthogonale (c.-` a-d., T 1 = T T ).

Cet exemple montre d ej` a le d esavantage de cet algorithme. Si lon part avec une matrice sym etrique A, la matrice de Hessenberg H , obtenue par cet algorithme, nest plus sym etrique en g en eral.

120

Valeurs et Vecteurs Propres

Remarque. Si A est une matrice sym etrique, la matrice H = T 1 AT , obtenue par lalgorithme (b), est aussi sym etrique car T est orthogonale. Ceci implique que H est automatiquement tridiagonale et sym etrique.

V.4 M ethode de bissection pour des matrices tridiagonales


Consid erons une matrice sym etrique tridiagonale

0 d1 e2 B B e2 d2 .e.3. A=B e3 . . B @ .

.. ... .

en

1 C C C: A en C dn

(4.1)

On observe tout dabord que si un e l ement ei est nul, la matrice A est d ej` a d ecompos ee en deux sous-matrices du m eme type. On peut donc supposer, sans restreindre la g en eralit e, que

ei 6= 0

pour

i = 2; : : : ; n:

(4.2)

Pour cette matrice, il est possible de calculer la valeur A ( conna tre ses coefcients. En effet, si lon pose

) du polyn ome caract eristique sans

A1 = (d1);
et si lon d enit pi (

1 e2 A2 = d e2 d2 ;

0 1 d 1 e2 A3 = B @ e2 d2 e3 C A; e3 d3

:::

) := det(Ai

I ), on obtient
(4.3)

p0( ) = 1 p1( ) = d1 pi( ) = (di

)pi 1( )

e2 i pi 2 (

);

i = 2; : : : ; n:

La formule de r ecurrence dans (4.3) est obtenue en d eveloppant le d eterminant de la matrice Ai I par rapport a ` la derni` ere ligne (ou colonne). En principe, on peut maintenant calculer les valeurs propres de A (c.-` a-d. les z eros de pn ( )) de la mani` ere suivante : chercher un intervalle o` u pn ( ) change de signe et localiser une racine de pn( ) = 0 par bissection. Les e valuations de pn ( ) sont faites a ` laide de la formule (4.3). Mais il existe une astuce interessante qui permet dam eliorer cet algorithme. Th eor` eme 4.1 Si (4.2) est v eri e, les polyn omes pi ( a) p0n ( b ) pn 1 ( b ) < 0 si pn ( b ) = 0 ( b c) p0 (

) d enis par (4.3) satisfont 1g;

b) pi 1 ( b ) pi+1 ( b ) < 0 si pi ( b ) = 0 pour un i 2 f1; : : : ; n

2 IR);

ne change pas de signe sur IR.

Valeurs et Vecteurs Propres

121

D emonstration. Lafrmation (c) est triviale. Si pi ( b ) = 0 pour un i 2 f1; : : : ; n 1g, la formule de r ecurrence (4.3) donne lin egalit e pi+1( b )pi 1( b ) 0. Pour d emontrer (b), il suft dexclure le cas pi+1 ( b )pi 1 ( b ) = 0. Si deux valeurs cons ecutives de la suite fpi ( b )g sont nulles, la formule de r ecurrence montre que pi ( b ) = 0 pour tout i, ce qui contredit p0 ( b ) = 1. Nous d emontrons par r ecurrence que

) sont r eelles, simples et s epar ees par celles de pi 1 ( ). (4.4) Il ny a rien a ` d emontrer pour i = 1. Supposons la propri et e vraie pour i et montrons quelle est encore vraie pour i + 1. Comme les z eros 1 < : : : < i de pi ( ) sont s epar es par ceux de j +1 pi 1( ) et comme pi 1 ( 1) = +1, nous avons signpi 1( j ) = ( 1) . Alors, on d eduit de (b) que signpi+1 ( j ) = ( 1)j . Ceci et le fait que pi+1 ( ) = ( 1)i+1 i+1 + : : : montrent que pi+1 ( ) poss` ede un z ero r eel dans chacun des intervalles ouverts ( 1; 1 ), ( 1 ; 2 ); : : : ; ( i ; 1).
Lafrmation (a) est maintenant une cons equence de (b) et de (4.4); voir la gure V.2. D enition 4.2 (suite de Sturm) Une suite (p0 ; p1 ; : : : ; pn ) de polyn omes a eelles sap` coefcients r pelle une suite de Sturm, si elle v erie les conditions (a), (b), (c) du Th eor` eme 4.1. Th eor` eme 4.3 Consid erons une suite de Sturm (p0 ; p1 ; : : : ; pn ). Si lon d enit

toutes les racines de pi (

!( ) = nombre de changements de signes de fp0 ( ); p1( ); : : : ; pn( )g; alors le polyn ome pn ( ) poss` ede exactement !(b) !(a)
z eros dans lintervalle

(4.5)

(4.6)

a; b) (si pi( ) = 0, on d enit signpi ( ) = signpi 1 ( )). D emonstration. Par continuit e, lentier ! ( ) peut changer sa valeur seulement si une valeur des fonctions pi ( ) devient nulle. La fonction p0 ( ) ne change pas de signe. Supposons alors que pi( b ) = 0 pour un i 2 f1; : : : ; n 1g. La condition (b) et la continuit e de pj ( ) montrent que
seulement les deux situations suivantes sont possibles ( petit):

b
pi 1 ( ) pi ( ) pi+1 ( )
+

+ 0

b b+
+

b
pi 1 ( ) pi ( ) pi+1 ( )
+

b b+
0 + ) ) ) ) ) +

p1 ( p2 ( p3 ( p4 ( p5 (
F IG . V.2 Suite de Sturm

122

Valeurs et Vecteurs Propres

Chaque fois, on a ! ( b + ) = ! ( b ) = ! ( b ) et la valeur de !( ) ne change pas si traverse un z ero de pi ( ) pour i 2 f1; : : : ; n 1g. Il reste a `e tudier la fonction ! ( ) dans un voisinage dun z ero b de pn ( ). La propri et e (a) implique que pour les signes de pj ( ) on a seulement les deux possibilit es suivantes:

b
pn 1( ) pn( )
+ +

+ 0

b b+
+

b
pn 1( ) pn( )

b b+
0 + ) est constante par morceaux

c.-` a-d., ! ( b + ) = ! ( b ) + 1. Ceci d emontre que la fonction ! ( et augmente de 1 sa valeur si traverse un z ero de pn ( ).

M ethode de bissection. Si lon applique ce th eor` eme a ` la suite (4.3), la diff erence ! (b) ! (a) est e gale au nombre de valeurs propres de (4.1) dans lintervalle a; b). On obtient toutes les valeurs propres de A de la mani` ere suivante: on cherche un intervalle a; b] qui contienne toutes les valeurs propres de A (p.ex., en appliquant le th eor` eme de Gershgorin). On a donc que ! (a) = 0 et ! (b) = n. on pose c = (a + b)=2 et on calcule ! (c). Les diff erences ! (c) ! (a) et ! (b) combien de valeurs propres de A sont dans a; c) et combien sont dans c; b).

!(c) indiquent

on continue a ` diviser les intervalles qui contiennent au moins une valeur propre de A. On peut facilement modier cet algorithme pour calculer la valeur propre la plus petite ou la 3e ` me plus grande valeur propre, etc. Pour e viter un overow dans le calcul de pn ( ) (si n et sont grands), il vaut mieux travailler avec fi ( ) := pi( )=pi 1( ) i = 1; : : : ; n (4.7) et utiliser le fait que

!( ) =

nombre d el ements n egatifs parmi

ff1 ( ); : : : ; fn( )g

(4.8)

(attention: si pi 1 ( ) est z ero, on pose fi ( ) = 1; cette valeur compte pour un e l ement n egatif). Pour une programmation de lalgorithme, on utilise la r ecurrence

f1 ( ) = d1 fi ( ) = di

e2 i =fi 1 ( ) jeij=eps

si fi 1 ( si fi 1 (

) 6= 0 )=0.

(4.9)

La formule pour le cas fi 1 ( ) 6= 0 est une cons equence de (4.3). Si fi 1 ( ) = 0 (c.-` a-d., pi 1( ) = 0), on remplace cette valeur par jei j eps. Ceci correspond a ` ajouter la perturbation jeij eps a ` di 1 .

V.5 Lit eration orthogonale


Dans ce paragraphe, nous allons g en eraliser la m ethode de la puissance (voir le paragraphe V.2) an de pouvoir calculer les deux (trois, : : :) valeurs propres dominantes en m eme temps. Cette

Valeurs et Vecteurs Propres

123

g en eralisation motivera lit eration QR qui constitue lalgorithme le plus important pour le calcul des valeurs propres dune matrice. G en eralisation de la m ethode de la puissance (pour calculer les deux valeurs propres dominantes). Consid erons une matrice A dont les valeurs propres satisfont

j 1j > j 2j > : : : > j nj:

(5.1)

La m ethode de la puissance est bas ee sur lit eration yk+1 = Ayk (voir (2.1)) et nous permet dobtenir une approximation de 1 a ` laide du quotient de Rayleigh. Pour calculer (en m eme temps) la deuxi` eme valeur propre 2 , nous prenons deux vecteurs y0 et z0 satisfaisant y0 z0 = 0 et nous consid erons lit eration

o` u

yk+1 = Ayk zk+1 = Azk k+1yk+1 etermin e par la condition yk+1 zk+1 = 0. Par induction, on voit que k+1 est d yk = Ak y0 zk = Ak z0
k yk

(5.2)

(5.3)

o` u k est tel que

Ceci signie que le calcul de fzk g correspond a ` la m ethode de la puissance appliqu ee a ` z0 , combin ee avec une orthogonalisation (projection de Ak z0 sur le compl ement orthogonal de yk ). En exprimant les vecteurs initiaux dans la base de vecteurs propres v1 ; : : : ; vn de la matrice A (on suppose kvi k2 = 1), n n X X y0 = ai vi; z0 = bi vi; i=1 i=1 les vecteurs yk ; zk deviennent

yk zk = 0:

(5.4)

yk =

n X i=1

ai k i vi ;

zk =

n X i=1

(bi

k k ai ) i vi :

(5.5)

Comme nous lavons constat e dans le paragraphe V.2, pour k ! 1, le terme a1 k 1 v1 est dominant dans yk (si a1 6= 0) et on obtient une approximation du premier vecteur propre v1 . Que peut-on dire pour la suite zk ? La condition (5.4) dorthogonalit e implique que

n X n X i=1 j =1

ai(bj

k k k aj ) i j vi vj

= 0:

(5.6)

Cette relation d enit k . Comme le terme avec i = j = Par la suite, nous allons supposer que a1 6= 0 et a1 b2 obtient

1 est dominant, on voit que k b1 =a1 . a2 b1 6= 0. En divisant (5.6) par k 1 , on

a1 (b1

k k a1 ) 1

1 + O(j 2= 1jk ) = a1 (b2


k a2 ) v2

k k k k a2 ) 2 v1 v2 + O(j 2 = 1 j ) + O(j 3 = 2 j )

Maintenant, on peut ins erer cette formule dans (5.5) et on en d eduit

zk = k 2 (b2

v1 v2 v1 + O(j 2= 1jk ) + O(j 3= 2jk ) :

(5.7)

124

Valeurs et Vecteurs Propres

Visiblement, le vecteur zk sapproche (pour k ! 1) dun multiple de v2 v1 v2 v1 , qui est la ?. Concernant les valeurs propres, on a le r projection orthogonale de v2 a ` lhyperplan v1 esultat suivant. Th eor` eme 5.1 Consid erons les vecteurs yk ; zk donn es par (5.2) et notons

Uk = (yk =kyk k2; zk =kzk k2)


(observer que Uk Uk

(5.8)

= I ). Si (5.1) est v eri e, on a que

Uk AUk !

pour

k ! 1:

(5.9)

D emonstration. L el ement (1,1) de la matrice Uk AUk est le quotient de Rayleigh (2.3) qui converge vers 1 . En utilisant (5.7), on voit que l el ement (2,2) satisfait

zk Azk ! (v2 v1 v2 v1) ( 2v2 1 v1 v2 v1 ) = 2(1 jv1 v2j2) = : 2 zk zk (v2 v1 v2 v1 ) (v2 v1 v2 v1 ) 1 jv1 v2j2
De fa con similaire, on obtient pour l el ement (2,1)

zk Ayk ! (v2 v1 v2 v1) 1v1 = 0: kzk k2 kyk k2 kv2 v1 v2 v1 k2 kv1 k2 Finalement, l el ement (1,2) de Uk AUk satisfait yk Azk ! v1 ( 2v2 1 v1 v2 v1 ) = (q2 1)v1 v2 : kyk k2 kzk k2 kv1 k2 kv2 v1 v2 v1 k2 1 jv1 v2 j2
Cette expression est en g en eral non nulle. Remarque. Avec la notation (5.8), lit eration (5.2) peut e tre e crite sous la forme

AUk = Uk+1Rk+1
o` u Rk+1 est une matrice 2

(5.10)

2 qui est triangulaire sup erieure.

M ethode de la puissance (pour le calcul de toutes les valeurs propres) ou simplement it eration orthogonale. La g en eralisation de lalgorithme pr ec edent au cas o` u lon veut calculer toutes les valeurs propres dune matrice est e vidente: on choisit une matrice orthogonale U0 , c.-` a-d., on choisit n vecteurs orthogonaux (les colonnes de U0 ) qui jouent le r ole de y0 ; z0 , etc. Puis, on effectue lit eration for k = 1; 2; : : : Zk = AUk 1 Uk Rk = Zk (d ecomposition QR) end Si (5.1) est v eri e et si la matrice U0 est bien choisie (a1 6= 0, a1 b2 a2 b1 6= 0, etc), une g en eralisation du th eor` eme pr ec edent donne la convergence de

Tk := Uk AUk

(5.11)

Valeurs et Vecteurs Propres

125

vers une matrice triangulaire dont les e l ements de la diagonale sont les valeurs propres de A. On a donc transform e A en forme triangulaire a ` laide dune matrice orthogonale (d ecomposition de Schur). Il y a une possibilit e int eressante pour calculer Tk de (5.11) directement a ` partir de Tk 1 . Dune part, on d eduit de (5.10) que

Tk 1 = Uk 1AUk 1 = (Uk 1Uk )Rk :


Dautre part, on a

(5.12a)

Tk = Uk AUk = Uk AUk 1 Uk 1Uk = Rk (Uk 1Uk ): (5.12b) change les deux matrices de cette On calcule la d ecomposition QR de la matrice Tk 1 et on e d ecomposition pour obtenir Tk .

V.6 L algorithme QR
La m ethode QR, due a ` J.C.F. Francis et a ` V.N. Kublanovskaya, est la m ethode la plus couram(P.G. Ciarlet 1982) ment utilis ee pour le calcul de lensemble des valeurs propres : : : : : : the QR iteration, and it forms the backbone of the most effective algorithm for computing the Schur decomposition. (G.H. Golub & C.F. van Loan 1989)

La version simple du c el` ebre algorithme QR nest rien dautre que la m ethode du paragraphe pr ec edent. En effet, si lon pose Qk = Uk 1 Uk et si lon commence lit eration avec U0 = I , les formules (5.11) et (5.12) nous permettent d ecrire lalgorithme pr ec edent comme suit:

T0 = A for k = 1; 2; : : : Qk Rk = Tk Tk = Rk Qk
end

(d ecomposition QR)

Les Tk qui sont les m emes que dans V.5 convergent (en g en eral) vers une matrice triangulaire. Ceci nous permet dobtenir toutes les valeurs propres de la matrice A car les Tk ont les m emes valeurs propres que A (voir (5.11)). Cet algorithme a e t e d evelopp e ind ependamment par J.G.F. Francis (1961) et par V.N. Kublanovskaya (1961). Un algorithme similaire, qui utilise la d ecomposition LR a ` la place de la d ecomposition QR, a e t e introduit par H. Rutishauser (1958). Exemple num erique. Appliquons la m ethode QR a ` la matrice

0 10 2 3 5 1 B 3 6 8 4C C: A=B B @ 0 5 4 3C A
0 0 4 3

(6.1)

On peut montrer (voir exercice 9) que, pour une matrice de Hessenberg A, toutes les matrices Tk sont aussi sous forme de Hessenberg. Pour e tudier la convergence vers une matrice triangulaire, il (k) suft alors de consid erer les e l ements ti+1;i (i = 1; : : : ; n 1) de la sous-diagonale. On constate que k+1) t(i+1 i+1 ;i (6.2) (k) i ti+1;i

126

Valeurs et Vecteurs Propres

100 102 10 10
4 6

t32

t43 t21
10 20 30 40 F IG . V.3 Convergence de la m ethode QR (sans shift) 50

(k ) ( 1 14:3, 2 7:86, 3 2:70, 4 1:86). Comme j i+1= ij < 1, les e l ements ti+1;i (k) convergent, pour k ! 1, lin eairement vers 0 (voir la Fig. V.3, o` u les valeurs jti+1;i j sont dessin ees en fonction du nombre k de lit eration).
Remarques. (a) Comme le calcul de la d ecomposition QR dune matrice pleine est tr` es co uteux 3 (O (n ) op erations), on applique lalgorithme QR uniquement aux matrices de Hessenberg. Dans cette situation une it eration n ecessite seulement O(n2 ) op erations. (b) La convergence est tr` es lente en g en eral (seulement lin eaire). Pour rendre efcace cet algorithme, il faut absolument trouver un moyen pour acc el erer la conv ergence. (c) Consid erons la situation o` u A est une matrice r eelle qui poss` ede des valeurs propres complexes (lhypoth` ese (5.1) est viol ee). Lalgorithme QR produit une suite de matrices Tk qui sont toutes r eelles. Dans cette situation, les Tk ne convergent pas vers une matrice triangulaire, mais deviennent triangulaires par blocs (sans d emonstration). Comme la dimension des blocs dans la galement des approximations des valeurs propres. diagonale vaut en g en eral 1 ou 2, on obtient e Acc el eration de la convergence. Dapr` es lobservation (6.2), nous savons que

k) = O(j = t(n;n n 1

n 1j

k ):

(6.3)

La convergence vers z ero de cet e l ement ne va e tre rapide que si j n j j n 1j. Une id ee g eniale est dappliquer lalgorithme QR a ` la matrice A pI o` up . Comme les valeurs propres de n A pI sont i p, on a la propri et e j n pj j i pj pour i = 1; : : : ; n 1 et l el ement (k) tn;n 1 va converger rapidement vers z ero. Rien ne nous emp eche dam eliorer lapproximation p apr` es chaque it eration. Lalgorithme QR avec shift devient alors:

T0 = A for k = 1; 2; : : :

d eterminer le param` etre pk 1 Qk Rk = Tk 1 pk 1I Tk = Rk Qk + pk 1I

(d ecomposition QR)

end Les matrices Tk de cette it eration satisfont

Qk Tk 1Qk = Qk (Qk Rk + pk 1I )Qk = Rk Qk + pk 1I = Tk :

(6.4)

Ceci implique que, ind ependamment de la suite pk , les matrices Tk ont toutes les m emes valeurs propres que T0 = A. Pour d ecrire compl` etement lalgorithme QR avec shift, il faut encore discuter le choix du param` etre pk et il faut donner un crit` ere pour arr eter lit eration.

Valeurs et Vecteurs Propres Choix du shift-param` etre. On a plusieurs possibilit es: ( k ) pk = tnn : ce choix marche tr` es bien si les valeurs propres de la matrice sont r eelles. on consid` ere la matrice (k) ! t(nk) 1;n 1 tn 1;n : k) (k) t(n;n t 1 n;n

127

(6.5)

k) Si les valeurs propres de (6.5) sont r eelles, on choisit pour pk celle qui est la plus proche de t( n;n . Si elles sont de la forme i avec 6= 0 (donc complexes), on prend dabord pk = + i et pour lit eration suivante pk+1 = i . (k) (k) Crit` ere pour arr eter lit eration. Lid ee est dit erer jusqu` a ce que tn;n 1 ou tn 1;n 2 soit sufsamment petit. Plus pr ecis ement, on arr ete lit eration quand k) j jt(`;` 1
eps

k) j) (jt(`k)1;` 1j + jt(`;`

pour

`=n

ou

` = n 1:

(6.6)

Exemple num erique. Nous avons appliqu e lalgorithme QR a ` la matrice (6.1) avec le shift pk = (k ) ( k ) tnn . La convergence de ti+1;i vers z ero est illustr ee dans la Fig. V.4. Une comparaison avec la Fig. V.3 nous montre que la convergence est beaucoup plus rapide (convergence quadratique). (k ) erations, on a jt43 j 10 15 . Encore 4 it erations pour la matrice de dimension 3 donnent Apr` es 5 it (k) 15 jt32 j 10 . Il ne reste plus que 3 it erations a ` faire pour la matrice de dimension 2 pour avoir (k) 15 jt21 j 10 . En tout, 12 it erations ont donn e toutes les valeurs propres avec une pr ecision de 15 chiffres.

k) Si (6.6) est v eri e pour ` = n, on accepte t( n;n comme approximation de n et on continue (k ) lit eration avec la matrice (tij )i;j n 1 . Si (6.6) est v eri e pour ` = n 1, on accepte les deux valeurs propres de (6.5) comme approxi(k) mations de n et n 1 et on continue lit eration avec la matrice (tij )i;j n 2 .

100 103 106 109 1012 1015 0 5 10

t32 t43

t21

F IG . V.4 Convergence de la m ethode QR (avec shift) Le double shift de Francis. Dans la situation o` u A est une matrice r eelle ayant des valeurs propres complexes, il est recommand e de choisir un shift-param` etre pk qui soit complexe. Une application directe de lalgorithme pr ec edent n ecessite un calcul avec des matrices complexes. Lobservation suivante permet d eviter ceci. Lemme 6.1 Soit Tk une matrice r eelle, pk = + i et pk+1 = i . Alors, on peut choisir les d ecompositions dans lalgorithme QR de mani` ere a eelle. ` ce que Tk+2 soit r

128

Valeurs et Vecteurs Propres

Remarque. La d ecomposition QR dune matrice est unique sauf quon peut remplacer 1 (QD)(D R) o` u D = diag(d1 ; : : : ; dn ) avec jdi j = 1. D emonstration. La formule (6.4) montre que

QR par

Tk+2 = (Qk+1Qk+2) Tk (Qk+1Qk+2):

(6.7)

Il suft alors de d emontrer que le produit Qk+1 Qk+2 est r eel. Une manipulation a ` laide de formules pour Tk donne

Qk+1Qk+2Rk+2Rk+1 = Qk+1(Tk+1 pk+1I )Rk+1 = Qk+1(Rk+1Qk+1 + pk I pk+1I )Rk+1 = (Qk+1 Rk+1)2 + (pk pk+1)Qk+1Rk+1 = (Tk pk I )2 + (pk pk+1)(Tk pk I ) = Tk2 (pk + pk+1)Tk + pk pk+1I =: M: (6.8)
On a donc trouv e une d ecomposition QR de la matrice M qui, en cons equence des hypoth` eses du lemme, est une matrice r eelle. Si, dans lalgorithme QR, la d ecomposition est choisie de mani` ere a ` ce que les e l ements diagonaux de Rk+1 et Rk+2 soient r eels, alors, a ` cause de lunicit e de la d ecomposition QR, les matrices Qk+1 Qk+2 et Rk+2 Rk+1 sont r eelles. Une possibilit e de calculer Tk+2 a ` partir de Tk est de calculer M de (6.8), de faire une d ecomposition QR (r eelle) de M et de calculer Tk+2 a ` laide de (6.7). Cet algorithme nest pas pratique car 2 n le calcul de Tk ecessite O (n3 ) op erations, m eme si Tk est sous forme de Hessenberg. Il y a une astuce int eressante pour obtenir Tk+2 a ` partir de Tk en O (n2 ) op erations. Elle est bas ee sur la propri et e suivante. Th eor` eme 6.2 Soit T une matrice donn ee et supposons que

Q TQ = S

(6.9)

o` u Q est orthogonale et S est sous forme de Hessenberg satisfaisant si;i 1 6= 0 pour i = 2; : : : ; n. Alors, Q et S sont d etermin ees de mani` ere unique par la premi` ere colonne de Q.

D emonstration. Notons les colonnes de Q par qi . Alors, la relation (6.9) implique

b TQ b est de type Hessenberg avec une matrice Remarque. On a unicit e dans le sens suivant: si Q b b b orthogonale Q satisfaisant Qe1 = Qe1 , alors Q = QD o` u D = diag(d1 ; : : : ; dn) avec jdi j = 1.
Tqi =
i+1 X j =1

sjiqj ;

qj Tqi = sji:

(6.10)

Si q1 est x e, la valeur s11 est donn ee par la deuxi` eme formule de (6.10). Avec cette valeur, on obtient de la premi` ere formule de (6.10) que q2 est un multiple de Tq1 s11 q1 . Ceci d etermine q2 a ` une unit e d2 pr` es. Maintenant, les valeurs s21 ; s12 ; s22 sont d etermin ees et q3 est un multiple de Tq2 s21 q1 s22 q2 , etc. Si les hypoth` eses du lemme pr ec edent sont v eri ees, on peut calculer la matrice r eelle Tk+2 en 2 O(n ) op erations de la mani` ere suivante: calculer Me1 , la premi` ere colonne de M (formule (6.8)); d eterminer une matrice de Householder H1 telle que H1 (Me1 ) =

e1;

Valeurs et Vecteurs Propres

129

T Tk H1 sous forme de Hessenberg a transformer H1 ` laide de matrices de Householder H2 ; : : :, Hn 1 (voir le paragraphe V.3); c.-` a-d., calculer H T Tk H o` u H = H1 H2 : : : Hn 1 .
Comme Hi e1 = e1 pour i = 2; : : : ; n 1, la premi` ere colonne de H est un multiple de celle de M (observer que H1T = H1). Par la formule (6.8), la premi` ere colonne de Qk+1 Qk+2 est aussi un multiple de Me1 . Par cons equent, pour un bon choix des d ecompositions Qk+1 Rk+1 et Qk+2 Rk+2 , gale a ` Tk+2 (voir (6.7)). on a H = Qk+1 Qk+2 et la matrice obtenue par cet algorithme est e Un exemple instructif. Consid erons la matrice

o` u

T0 = A = 2 a 1 est un nombre petit. Avec le choix p0 = 1 pour le shift-param` etre, on obtient p 2 pa ! p1 2 p 2! 1+ 1 a 1+ 1+ 1+ 2 T0 p0 I = = = Q1 R1 a 1 p 0 p 2 p 2 0 1+ 2 1+ 1+ T1 p0 I = R1Q1 = : a2 1+ 2 3 ), donc convergence cubique.

et

(1) si A est sym etrique (c.-` a-d., a = ) on a tn;n 1 = O ( (1) si A nest pas sym etrique (p.ex. a = 1) on a tn;n 1 = O ( 2 ), donc convergence quadratique.
Ces propri et es restent vraies pour des matrices g en erales (sans d emonstration).

V.7 Exercices
1. Calculer les valeurs propres de la matrice tridiagonale (dimension n, b

0a c B Bb a c A=B c B @ b a b ...
.. .

1 C C C: .. C .A

c > 0)

Indication. Les composants du vecteur propre (v1 ; v2 ; : : : ; vn )T satisfont une e quation aux diff erences j ) o` nies avec v0 = vn+1 = 0. V erier que vj = Const ( j u 1 2

1+ 2
R esultat.

2. Montrer par un contre-exemple que la formule (1.9) ne reste pas vraie si la matrice C nest pas sym etrique. Pour cela donner une matrice sym etrique A et une matrice C (quelconque) telles que les valeurs propres i (") de A + "C ne v erient pas

= a 2 bc cos nj+ 1 ;

= c a;

2=

b; c

1 n+1 = 1: 2

j = 1; 2; : : : ; n:

i (") = i + "

di + O("2 ):

Pourquoi faut-il consid erer des matrices ayant une dimension plus grande que 2? Pourquoi suft-il de consid erer la matrice A, sous forme diagonale avec une valeur propre nulle de multiplicit e plus grande que 2?

130
3. Consid erer la matrice

Valeurs et Vecteurs Propres

01 A(") = @ 1
1

0 1+"

"

01 1A

"

Dapr` es le th eor` eme 1.2 (chapitre V) cette matrice poss` ede une valeur propre de la forme

(") = i + " d + O("2 ):


Calculer d et dessiner la tangente a ` la courbe 4.

(") au point (0).

(a) Calculer par la m ethode de la puissance, la plus grande valeur propre de la matrice

0 99 1 0 1 A = @ 1 100 1 A :
0 1 98

(b) Pour acc elerer consid erablement la vitesse de convergence, appliquer la m ethode de la puissance a ` la matrice A pI avec un choix intelligent de p. (c) Avec quel choix de p obtient-on la valeur propre la plus petite?

5. Consid erons la matrice tridiagonale

0 b1 c1 B a1 b2 c2 A=B @
a2
.. .

1 C C A:

ci > 0 pour i = 1; : : : ; n 1, toutes les valeurs propres de A sont r eelles. Indication. Trouver D = diag(d1 ; : : : ; dn ) telle que DAD 1 soit sym etrique.
6. Soit A une matrice sym etrique et B quelconque. Montrer que pour chaque valeur propre B de B il existe une valeur propre A de A telle que

Montrer que, si ai

j
1 k(A
B ) 1 (A

Bj

kA B k2:
B ) 1 (A

Indication. Montrer lexistence dun vecteur

B )k k(A

B ) 1 kk(A

v tel que v = (A B )k.

B )v. En d eduire que

7. (Schur, 1909). Soit A une matrice sym etrique. Montrer que pour chaque indice i il existe une valeur propre de A telle que q

P ja j2 : aii j j 6=i ij Indication. Appliquer lexercice 4 avec une B convenable.


j
+i

8. Soit A une matrice r eelle avec pour valeur propre

. Montrer que lit eration

I A I
(o` u et

I I A

uk+1 = uk vk+1 vk
+i
et le vecteur propre correspondant.

) permet de calculer la valeur propre

Indication. Consid erer les parties r eelles et complexes de lit eration de Wielandt. On obtient alors

T uT k Auk + vk Avk ! ; T uT k uk + vk vk

T uT k Avk vk Auk ! : T uT k uk + vk vk

Valeurs et Vecteurs Propres


9. Consid erons la matrice de Hilbert,

131

0 1=2 1=3 1=4 1 A = @ 1=3 1=4 1=5 A


1=4 1=5 1=6

(a) Transformer A en une matrice tridiagonale ayant les m emes valeurs propres. (b) En utilisant une suite de Sturm, montrer que toutes les valeurs propres sont positives et quune valeur propre est plus petite que 0.001. (c) Calculer approximativement la condition de A pour la norme Euclidienne.

10. La formule de r ecurrence

(k + 1)Pk+1 (x) = (2k + 1)xPk (x) kPk 1 (x)


pour les polyn omes de Legendre (voir exercice 9 de la s erie 3) ressemble a `

11.

pi( ) = (di )pi 1 ( ) e2 i = 2; : : : ; n; i pi 2 ( ); pour les polyn omes det(Ai I ). Trouver une matrice tridiagonale A de dimension n telle que les valeurs propres de A sont les racines de Pn (x). Soit p(x) un polyn ome de degr e n et supposons que toutes les racines soient simples. D emontrer que
la suite d enie par lalgorithme dEuclid,

pn(x) = p(x); pn 1 (x) = p0(x) pi(x) = qi (x)pi 1 (x) i2 pi 2 (x); i = n; : : : ; 2;


est une suite de Sturm. Pour le polyn ome p(x) = x5

5x4 + 3x3 + 3x2 + 2x + 8.

(a) d eterminer le nombre de racines r eelles. (b) Combien de racines sont complexes? (c) Combien de racines sont r eelles et positives? 12. Pour un ' donn e notons c = cos ' et s = sin '. La matrice k` , d enie par

8 > > > < ( k` )ij = > > > :

1 0

c s s

si i = j , j 6= k , j 6= ` si i = j = k o` ui=j =` si i = k et j = ` si i = ` et j = k sinon,

sappelle rotation de Givens. a) Montrer quelle est orthogonale. b) Soit A une matrice sym etrique. D eterminer sannule. Resultat. ctg 2' = (akk

' tel que le (k; `)-i` eme e l ement de A0 =

k`A T k`

a``)=(2ak` ).

13. La m ethode de Jacobi (1846) pour le calcul des valeurs propres dune matrice sym etrique: i) on choisit ak` (k ii) on d etermine A0 comme dans lexercice 7.

> `) tel que jak` j = maxi>j jaij j;

Montrer que, si on r ep` ete cette proc edure, on a convergence vers une matrice diagonale, dont les e l ements sont les valeurs propres de A. Indication. Montrer que

P ja0 j2 = P ja j2 ja j2 . k` i>j ij i>j ij

132
14. On consid` ere la matrice

Valeurs et Vecteurs Propres

7 0:5 A = 0:0001 8

dont on cherche a ` calculer les valeurs propres. (a) Faire une it eration de lalgorithme QR sans shift. (b) Faire une it eration de lalgorithme QR avec shift. (d) Calculer les valeurs propres de A a ` laide du polyn ome caract eristique. (c) Estimer la position des valeurs propres de A a ` laide du Th eor` eme de Gershgorine.

15. Montrer que si la matrice T0 = A est une matrice de Hessenberg (ou tridiagonale), alors les matrices Tk , k 1, construites par lalgorithme QR sont e galement des matrices de Hessenberg (tridiagonales). 16. Donner une estimation grossi` ere du nombre dop erations qui sont n ecessaires pour effectuer la d ecomposition QR dune matrice de Hessenberg et pour calculer ensuite le produit RQ. 17. Soit T0 une matrice de Hessenberg dont tous les e l ements de la sous-diagonale sont non-nuls. Montrer (1) eration de lalgorithme QR avec shift p0 donne tn;n 1 = que, si p0 est une valeur propre de T0 , une it 0. 18. Expliquer, comment le calcul de Tk a ` partir de Tk 1

Qk Rk = Tk

pk 1 I;

Tk = Rk Qk + pk 1 I

peut e tre effectu e sans soustraire (et additionner) explicitement la matrice pk 1 I . Indication. Laissez-vous inspirer par le double shift algorithme de Francis.

Chapitre VI M ethodes It eratives Equations Non Lin eaires


En pratique, on est souvent confront ea ` la r esolution dun syst` eme d equations non lin eaires. Cesta ` -dire pour une fonction f : IRn ! IRn donn ee, on cherche un point x 2 IRn tel que

f (x) = 0:

(0.1)

En g en eral, il ny a pas dalgorithme ni pour trouver une solution. On est donc oblig e dutiliser des m ethodes it eratives. Sans hypoth` eses suppl ementaires, on ne sait rien sur lexistence dune solution de (0.1). Par x exemple, pour f (x) = e il ny a pas de solution, pour f (x) = sin x il y en a une innit e. Mais, le th eor` eme dinversion locale nous fournit un r esultat sur lunicit e locale: si f (a) = 0 et si la matrice jacobienne f 0 (a) est inversible, il existe un voisinage U de a et un voisinage V de 0 tels que f : U ! V soit bijective. Ceci implique que a est la seule solution de (0.1) dans le voisinage U de a. Bibliographie sur ce chapitre J.M. Ortega & W.C. Rheinboldt (1970): Iterative Solution of Nonlinear Equations in Several Variables. Academic Press, New York. A.M. Ostrowski (1966): Solution of Equations and Systems of Equations. Academic Press, New York, 2nd edition. [MA 65/27]

VI.1 M ethode des approximations successives


On consid` ere le probl` eme du calcul dun point xe de lapplication n cherche x 2 IR tel que

: IRn ! IRn; c.-` a-d., on


(1.1)

x = (x):

Les probl` emes (0.1) et (1.1) sont e quivalents et il y a beaucoup de possibilit es pour e crire (0.1) sous la forme (1.1). Par exemple, on peut d enir comme (x) = x f (x) ou (x) = x Bf (x) (ici B est soit un nombre non-nul, soit une matrice bien choisie). Pour r esoudre (1.1), on se donne une approximation initiale x0 (arbitraire) et on consid` ere la m ethode it erative xk+1 = (xk ): (1.2) n Si la suite fxk g converge, disons vers a 2 IR , et si la fonction (x) est continue en a, la limite a est une solution de (1.1). Mais que peut-on dire sur lerreur?

134 Th eor` eme 1.1 Si lerreur ek = xk

M ethodes It eratives Equations Non Lin eaires

(x) est 2 fois contin ument diff erentiable et si a 2 IRn est une solution de (1.1), a satisfait

ek+1 = 0(a) ek + O(kek k2):


D emonstration. Comme a =

(1.3)

(a), on obtient (a) = 0(a)ek + O(kek k2 ):

ek+1 = xk+1 a = (xk )

On peut tirer plusieurs conclusions de la formule (1.3): ede une valeur propre 1 satisfaisant j 1 j > 1, la composante de ek dans la si 0 (a) poss` direction du vecteur propre v1 va e tre agrandie lit eration ne converge pas vers a. 0 si toutes les valeurs propres de (a) satisfont j i j < 1, on peut choisir une norme dans IRn telle que pour la norme matricielle correspondante k 0 (a)k < 1. Ceci et (1.3) impliquent que, pour kek k sufsamment petit, on a kek+1 k kek k o` u est un nombre entre k 0 (a)k et 1. Lerreur ek converge donc vers z ero. Exemple. Pour r esoudre num eriquement y 0

= f (y), on peut appliquer la m ethode dEuler implicite


(1.4)

y1 = y0 + hf (y1)

qui d enit implicitement lapproximation y1 de la solution apr` es un pas de longueur h. L equation (1.4) est d ej` a sous la forme (1.1) avec (x) = y0 + hf (x). Si h est sufsamment petit, les valeurs propres de 0 (y1 ) = hf 0 (y1 ) sont petites et lit eration (1.2) converge. Crit` ere pour arr eter lit eration. En pratique, on sint eresse a ` une approximation xk qui satisfasse kxk ak tol. Une possibilit e est daccepter xk comme approximation de la solution d` es que kxk xk 1k tol. Le crit` ere qui va suivre est bas e sur lhypoth` ese que soit une contraction et que

kxk xk 1 k

kxk

xk 2 k

avec

< 1:

En appliquant lin egalit e du triangle a ` lidentit e

xk a = (xk xk+1 ) + (xk+1 xk+2) + : : :


(en cas de convergence), on obtient

kxk ak 1
Le facteur de contractivit e peut e tre estim e par

kxk xk 1 k:
1

(1.5)

= kxk xk 1k=kxk
k k

xk 2 k;

k 2:

Lid ee est darr eter lit eration quand

kxk xk 1k

tol

(1.6)

et daccepter xk comme approximation de la solution.

M ethodes It eratives Equations Non Lin eaires


100 102 104 106 108 0 100 102 104 106 108 10 20 0 10 F IG . VI.1 Convergence des it erations (1.7) 20

135

Exemples. Pour les deux it erations

yk xk+1 = 0 0:1 xk ; (1.7) sin xk yk+1 2 0 yk la norme euclidienne de lerreur de (xk ; yk ) est dessin ee dans la g. VI.1 (` a gauche pour la premi` ere
it eration et a ` droite pour la deuxi` eme). On peut bien observer la convergence lin eaire. Le rayon 0 spectral de (a) vaut 0:177 et 0:447 respectivement. Cest la raison pour laquelle la premi` ere it eration converge plus rapidement que la seconde. Le dessin a ` droite montre aussi que la convergence nest pas n ecessairement monotone (pour la norme k k2 ). Donc, le coefcient k de (1.6) peut e tre plus grand que 1 m eme si lit eration converge.

xk+1 = 1 + 0:3 yk+1 1

VI.2 M ethodes it eratives pour syst` emes lin eaires


Pour la r esolution des syst` emes lin eaires il y a des situations o` u les m ethodes it eratives sont tr` es utiles. Par exemple, si la matrice A poss` ede une tr` es grande dimension et si beaucoup d el ements de A sont nuls (matrice creuse), ce qui est le cas pour les discr etisations des e quations aux d eriv ees partielles. Pour se ramener a ` un probl` eme de point xe, on consid` ere une d ecomposition A = M N (splitting) et on d enit lit eration

Ax = b;

(2.1)

Mxk+1 = Nxk + b; A = M N: (2.2) Le choix de la d ecomposition A = M N est important pour la performance de la m ethode. Dune part, M doit e tre choisie telle que le syst` eme (2.2) soit beaucoup plus facile a ` r esoudre que le syst` eme (2.1). Dautre part, les valeurs propres de la matrice M 1 N doivent satisfaire j i j < 1
pour que lit eration (2.2) converge. Il y a beaucoup de possibilit es de d enir la d ecomposition A = M

0 0 1 00 a 12 ... B C B . . B a21 C B . C B L=B ; U = . . . B C B .. @ .. . . A @ an1 : : : an;n 1 0 et D = diag(a11 ; : : : ; ann ) (an que A = L + D + U ) les it erations les plus connues sont: Jacobi : M = D , N = L U ; Gauss-Seidel : M = D + L, N = U .

N . Si lon d enote : : : a1n 1 C . ... . . C C .. . an 1;n C A 0

136

M ethodes It eratives Equations Non Lin eaires

Pour ces deux m ethodes, la matrice M est choisie de mani` ere a ` ce que le syst` eme (2.2) soit tr` es facile a ` r esoudre. Un avantage de la m ethode de Gauss-Seidel est le fait que pour le calcul de +1 du vecteur x k la composante xk on na besoin que des composantes xk k+1 i i+1 ; : : : ; xn du vecteur +1 k xk . Alors, on peut utiliser la m eme variable pour xk eration devient donc i que pour xi . Une it simplement: for i = 1; : : : ; n Pn a x )=a . 1a x xi = (bi Pij=1 ij j j =i+1 ij j ii Une modication int eressante de cet algorithme est la m ethode SOR (successive over-relaxation):

b xk+1 = (1 !)xk + !x (2.3) b = b Lxk+1 Uxk Dx o` u ! est un param` etre donn e (pour ! = 1, SOR se r eduit a ` Gauss-Seidel). Elle est aussi simple a `
programmer que la pr ec edente. Les r esultats suivants d emontrent la convergence dans quelques situations particuli` eres. Th eor` eme 2.1 Si la matrice A est diagonale dominante, c.-` a-d.

j 6=i alors lit eration de Jacobi converge.

jaiij >

jaij j

pour

i = 1; : : : ; n;

(2.4)

D emonstration. Pour la m ethode de Jacobi, on a M 1 N = D 1 (L + U ). La condition (2.4) implique que kM 1 N k1 < 1 (voir la formule (4.5) du chapitre IV). Pour e tudier la convergence de la m ethode SOR (en particulier pour Gauss-Seidel), on l ecrit sous la forme e quivalente

(D + !L)xk+1 = ((1 !)D !U )xk + !b ou encore xk+1 = H (! )xk + ! (D + !L) 1 b avec


Th eor` eme 2.2 (2.3), converge.

H (!) = (D + !L) 1((1 !)D !U ): (2.5) Si A est sym etrique et d enie positive et si ! 2 (0; 2), lit eration SOR, d enie par

D emonstration. Il faut d emontrer que toutes les valeurs propres de H (! ) satisfont j une valeur propre et x 6= 0 le vecteur propre correspondant:

j < 1. Soient
(2.6)

((1 !)D !U )x = (D + !L)x: Comme (1 ! )D !U = D !A + !L, la formule (2.6) devient

)(D + !L)x: (2.7) En multipliant (2.6) et (2.7) avec x , on obtient pour := x (D + !L)x (observer que U = LT ) + = (2 !)x Dx > 0;
On en d eduit ce qui implique j

!Ax = (1

(1 + 1 1

) = !x Ax =: > 0: = 1 j j2 ; j1 j2

(2.8)

0<

+ =

j < 1.

M ethodes It eratives Equations Non Lin eaires

137

Pour quelques matrices, on conna t la valeur de ! qui minimise le rayon spectral de H (! ) et, par cons equent, qui acc el` ere la convergence par rapport a ` lit eration de Gauss-Seidel. Dautres m ethodes it eratives pour des syst` emes lin eaires sont SSOR (symmetric successive over-relaxation) et la m ethode du gradient conjugu e (avec pr econditionnement). Voir le livre de Golub & Van Loan, d ej` a mentionn e au chapitre IV, et les livres classiques L.A. Hageman & D.M. Young (1981): Applied Iterative Methods. Academic Press, New York. R.S. Varga (1962): Matrix Iterative Methods. Prentice Hall, Englewood Cliffs, New Jersey.

VI.3 M ethode de Newton


Consid erons le probl` eme de la r esolution dun syst` eme d equations non lin eaires

f (x) = 0
ee e tre au moins une fois diff erentiable. Si x0 o` u la fonction f : IRn ! IRn est suppos une approximation de la solution cherch ee, on lin earise f (x) autour de x0

(3.1)

2 IRn est

f (x) f (x0 ) + f 0(x0 )(x x0)


et on calcule le z ero de cette lin earisation. Si lon r ep` ete cette proc edure avec la nouvelle approximation, on obtient lalgorithme suivant: for k = 0; 1; 2; : : : calculer f (xk ) et f 0 (xk ) f 0(xk ) xk = f (xk ) (syst` eme lin eaire a ` r esoudre) xk+1 = xk + xk end for Exemple 3.1 La m ethode dEuler implicite (voir (1.4)), appliqu ee a ` l equation diff erentielle x0 = y, y0 = 10(1 x2 )y x avec pour valeurs initiales = 2, = 0:66, nous conduit a ` l equation non lin eaire

x = +h y (3.2) y = + h (10(1 x2 )y x): Lit eration (1.2) ne converge que pour h sufsamment petit. Par exemple, pour h = 0:3 elle diverge
et on est oblig e dutiliser un autre algorithme. La m ethode de Newton

1 h xk+1 xk = xk hyk h(20xk yk + 1) 1 10h(1 x2 ) y y y h (10(1 x2 k+1 k k k k )yk xk ) converge sans difcult e avec h = 0:3 si lon commence lit eration avec x0 = et y0 = . Les valeurs de xk ; yk et les erreurs, mesur ees dans la norme euclidienne, sont donn ees dans le tableau VI.1. Pour e tudier la convergence de la m ethode de Newton, consid erons un terme de plus dans la s erie de Taylor:

00 3 f (x) = f (xk ) + f 0(xk )(x xk ) + 1 2 f (xk )(x xk ; x xk ) + O(kx xk k ):

(3.3)

138

M ethodes It eratives Equations Non Lin eaires

TAB . VI.1 Convergence de la m ethode de Newton

k 0 1 2 3 4

xk 2:00000000000000 1:95099818511797 1:96084279415163 1:96072023704926 1:96072021795300

yk 0:660000000000000 0:163339382940109 0:130524019494582 0:130932543169149 0:130932606823320

5:31 3:38 4:27 6:65 1:79

erreur

10 10 10 10 10

1 2 4 8 15

Si lon pose x = a dans cette formule (avec a comme solution de (3.1)) et si lon soustrait

0 = f (xk ) + f 0(xk )(xk+1 xk )


(d enition de xk+1 ), on obtient pour lerreur ek
1 2

= xk a la formule

0 = f 0(xk )( ek+1) + f 00(xk )(ek ; ek ) + O(kek k3 ):


On vient de d emontrer le r esultat suivant: Th eor` eme 3.2 Supposons que f (x) soit 3 fois contin ument diff erentiable et que f 0 (x) soit inversible dans un voisinage de a (solution de (3.1)). Alors, pour xk sufsamment proche de a, lerreur ek = xk a de la m ethode de Newton satisfait

ek+1 = (f 0(xk )) 1f 00(xk )(ek ; ek ) + O(kek k3 ):)


1 2

(3.4)

Donc, la convergence de cette m ethode est quadratique. Ce th eor` eme montre la convergence locale de la m ethode de Newton, c.-` a-d., si x0 est proche dune solution a de (3.1), la suite fxk g converge vers a. Concernant la convergence globale, on en sait tr` es peu et on ne sait analyser seulement que quelques cas de fonctions simples. Lexemple le plus connu est

f (z) = z3 1
(z

ou

3 xy2 1 f (x; y) = x 3x23 y y3

(3.5)

= x + iy) pour lequel lit eration devient


3 1 zk+1 = zk zk3z2 1 = 1 2 z k+ 2 : 3 zk k
(3.6)

Il est int eressant de d eterminer les ensembles (bassins dattraction)

A(a) = fz0 2 C l j fzk g converge vers ag (3.7) p pour les trois solutions 1, ( 1 i 3)=2 de f (z ) = 0. Un calcul par ordinateur donne la g. VI.2. Les z0 du domaine blanc entra nent une convergence vers p a = 1, ceux du domaine gris vers p a = ( 1 i 3)=2 et ceux du domaine noir vers a = ( 1 + i 3)=2. On observe que la suite fzk g ne converge pas n ecessairement vers la solution la plus proche de z0 .

M ethodes It eratives Equations Non Lin eaires

139

F IG . VI.2 Bassins dattraction pour lit eration (3.6) Calcul num erique de la matrice jacobienne. En pratique, il arrive souvent que la forme analytique de la matrice f 0 (x) est inconnue. Dans cette situation on approche les e l ements @fi =@xj de la matrice jacobienne par

@fi (x ; : : : ; x ) n @xj 1

fi(x1 ; : : : ; xj + ; : : : ; xn) fi(x1 ; : : : ; xn) :

(3.8)

erons une fonction a ` une Mais comment doit-on choisir le ? Pour simplier la notation, consid variable et notons-la par g (x). Un d eveloppement en s erie de Taylor montre que

g(x + ) g(x) = g0(x) + g00(x) + O( 2): 2

(3.9)

En cons equence, doit e tre petit pour que lerreur de la discr etisation ne soit pas trop grande. Dautre part, la soustraction dans (3.9) est tr` es mal conditionn ee. Une e tude des erreurs darrondi montre que lexpression obtenue par un calcul en virgule ottante vaut

g((x + )(1 + 1))(1 + 2 ) g(x)(1 + 3 ) g(x + ) g(x) + 1 g0(x + )(x + ) + g(x + ) g(x) 1 2 3
o` u j i j eps (eps est la pr ecision de lordinateur, voir section II.3). Lid ee est de choisir an que les deux erreurs soient de la m eme grandeur :

2 :::

1 :::

eps:

(3.10)

140 Donc, on prend par exemple

M ethodes It eratives Equations Non Lin eaires

= peps

ou

eps(1 + jxj):

(3.11)

Modications de la m ethode de Newton. Si la dimension du probl` eme (3.1) est tr` es grande et/ou l evaluation de la matrice f 0 (x) est tr` es co uteuse, on peut remplacer la d enition de xk par

f 0 (x0) xk = f (xk ):

(3.12)

Dans ce cas, il suft de calculer une fois pour toutes la d ecomposition LR de f 0 (x0 ), ce qui facilite grandement la r esolution des syst` emes lin eaires successifs. Mais on perd la convergence quadratique car (3.12) nest rien dautre quune it eration (1.2) avec (x) = x (f 0 (x0 )) 1 f (x) et 0 (a) est non nul en g en eral. En cas de mauvaise convergence, on remplace la d enition de xk+1 par

xk+1 = xk +
con a ` ce que kf (xk + et on d etermine k de fa

xk

(3.13)

xk )k soit minimale.

VI.4 M ethode de Gauss-Newton


Dans ce paragraphe, on va sint eresser a ` des syst` emes non lin eaires surd etermin es. On consid` ere n m une fonction f : IR ! IR o` u m > n et on cherche une solution de f (x) = 0. Evidemment, comme on a plus de conditions que dinconnues, ce probl` eme ne poss` ede en g en eral pas de solun tion. On se contente donc de trouver un vecteur x 2 IR tel que

kf (x)k2 ! min : (4.1) Si f (x) est diff erentiable, la fonction F (x) = kf (x)k2 erentiable et une condition 2 est aussi diff
n ecessaire pour que x soit un minimum local est davoir F 0 (x) = 0, c.-` a-d.

f 0(x)T f (x) = 0:

(4.2)

Une possibilit e pour r esoudre (4.1) est dappliquer une m ethode it erative, par exemple la m ethode de Newton, au syst` eme (4.2). Ceci n ecessite le calcul de la deuxi` eme d eriv ee de f (x). Une autre possibilit e est de lin eariser f (x) dans (4.1) autour dune approximation x0 de la solution et de calculer x1 de

kf (x0) + f 0(x0 )(x1 x0)k2 ! min :


Une r ep etition de cette id ee donne lalgorithme suivant (m ethode de Gauss-Newton) for

(4.3)

k = 0; 1; 2; : : : calculer f (xk ) et f 0 (xk ) d eterminer xk de kf (xk ) + f 0 (xk ) xk k2 ! min xk+1 = xk + xk

(moindres carr es)

end for

M ethodes It eratives Equations Non Lin eaires Pour calculer

141

xk on peut soit r esoudre les e quations normales (section IV.6)


(4.4)

(f 0(xk ))T f 0(xk ) xk = (f 0(xk ))T f (xk ) soit calculer la d ecomposition QR de f 0 (xk ) et appliquer lalgorithme de la section IV.7.
Pour l etude de la convergence de la m ethode de Gauss-Newton, d eveloppons la fonction

g(x) = (f 0(x))T f (x);


en s erie de Taylor. Pour ceci, calculons

gi(x) =

m @f X j (x) fj (x) @x j =1 i

(4.5)

m @2f m @f X @gi = X @fj (x): j j ( x ) f ( x ) j (x) + @x` j=1 @x` @xi @x` j =1 @xi
Matriciellement, la formule (4.6) s ecrit

(4.6)

o` u B (x) : IRm

IRn ! IRn est lapplication bilin eaire d enie par

g0(x) = B (x)(f (x); ) + (f 0(x))T f 0(x)


n X m @2f X j (x) uj v`: B (x)(u; v) i = `=1 j =1 @x` @xi

(4.7)

Avec cette notation, la formule de Taylor donne

g(x) = (f 0(xk ))T f (xk )+(f 0(xk ))T f 0(xk )(x xk )+ B (xk )(f (xk ); x xk )+ O(kx xk k2): (4.8) Soit maintenant a une solution de (4.1). Elle satisfait g (a) = 0. En posant x = a dans (4.8) et en
soustrayant (4.4), nous obtenons ainsi le r esultat suivant. Th eor` eme 4.1 Supposons que f : IRn ! IRm (avec m > n) soit 3 fois contin ument diff erentiable, que le rang de f 0 (x) soit maximal et que a soit une solution de (4.1). Alors, pour xk sufsamment proche de a, lerreur ek = xk a de la m ethode de Gauss-Newton satisfait

ek+1 =

(f 0(xk ))T f 0(xk )

B (xk )(f (xk ); ek ) + O(kek k2):

Une cons equence de cette formule est : en g en eral, la convergence est lin eaire; on a convergence quadratique si f (a) = 0; si f (a) est trop grand, la m ethode diverge. Terminons ce chapitre avec une application typique de cet algorithme. Exemple (Identication de param` etres). La g. VI.3 montre une photographie de la Vall ee Blanche (prise par G. Wanner). On y reconna t le Col des Grandes Jorasses, lAiguille du G eant, lAiguille Blanche de Peterey, lAiguille du Tacul, le Petit Rognon et lAiguille du Moine. La g. VI.4 est une copie dune carte g eographique de cette r egion. Le probl` eme consiste a ` trouver la position de la cam era, ses caract eristiques (foyer) et les angles dinclinaison. Pour la formulation math ematique de ce probl` eme, nous avons choisi des coordonn ees (u; v ) sur la photographie (g. VI.3, lorigine est au centre) et des coordonn ees (x; y; z ) sur la carte (z repr esente laltitude). Les valeurs mesur ees pour les 6 points reconnus sont donn ees dans le tableau VI.2.

142

M ethodes It eratives Equations Non Lin eaires

F IG . VI.3 Photographie de la Vall ee Blanche TAB . VI.2 Les donn ees pour le probl` eme Vall ee Blanche

k
1. Col des Grandes Jorasses 2. Aiguille du G eant 3. Aig. Blanche de Peterey 4. Aiguille de Tacul 5. Petit Rognon 6. Aiguille du Moine

uk 0:0480 0:0100 0:0490 0:0190 0:0600 0:0125

vk 0:0290 0:0305 0:0285 0:0115 0:0005 0:0270

xk yk 9855 5680 8170 5020 2885 730 8900 7530 5700 7025 8980 11120

zk 3825 4013 4107 3444 3008 3412

b; y b; z b) la position de la cam Pour xer les inconnues, notons par (x era (centre de lobjectif), par (a; b; c) le vecteur en direction de lobjet (orthogonal au plan du lm) et par langle de rotation de la cam era autour du vecteur (a; b; c). On a donc 7 param` etres a ` trouver. De plus, consid erons la 1 ac g = q 2 2 12 2 2 bc C A (4.9) 2 2 ( a + b )( a + b + c ) 0 a +b dont les deux vecteurs h et g engendrent le plan du lm, h e tant horizontal et g vertical. Alors, le b b b vecteur dans lespace qui montre du centre (x; y ; z ) de la lentille vers le point (uk ; vk ) sur le lm 0 1 b C h = p 21 2 B aA; @ a +b 0 B @
est donn e par base orthogonale

0 1 a B @bC A; c

0 1 0 1 w1k a B C B @ w2k A = @ b C A+ w3k c

h+

o` u

k k

cos sin

sin cos

uk : vk

Les conditions a ` satisfaire sont que les vecteurs (w1k ; w2k ; w3k ) et (xk

b; yk y b; zk z b) soient x

M ethodes It eratives Equations Non Lin eaires

143

F IG . VI.4 La region de la Vall ee Blanche colin eaires. Ceci donne deux conditions pour chaque k. Mais, par sym etrie, il est plus naturel de consid erer les trois conditions (pour chaque k )

0 1 0 w1k xk 0=B A B @ yk @ w2k C w3k zk

b 1 0 w2k (zk x bC y A=B @ w3k (xk b z w1k (yk

b) w3k (yk z b) w1k (zk x b) w2k (xk y

b) 1 y b) C z A: b) x

(4.10)

144 En tout, ceci donne 3 6 = la fonction f : IR7 ! IR18 .

M ethodes It eratives Equations Non Lin eaires

18 conditions pour 7 inconnues. Voici le programme FORTRAN pour

C C C

b= En appliquant la m ethode de Gauss-Newton a ` ce syst` eme avec comme valeurs initiales x b = 15000, z b = 1000, a = 0, b = 1, c = 0, = 0, apr` es peu dit erations on obtient la 8000, y b b b solution x = 9664, y = 13115, z = 4116 avec une pr ecision de 5 chiffres (voir le tableau VI.3). On a donc bien trouv e la position de la cam era. Cest a ` lAiguille Verte (altitude 4122) que Gerhard a pris cette photo.

SUBROUTINE FCN(N,XSOL,M,F) IMPLICIT REAL*8 (A-H,O-Z) PARAMETER(ND=50) DIMENSION XSOL(N),F(M) COMMON/DAT/NDAT,XDAT(ND),YDAT(ND),ZDAT(ND),UDAT(ND),VDAT(ND) ------ NOTATION LOCALE -------X0=XSOL(1) Y0=XSOL(2) Z0=XSOL(3) A=XSOL(4) B=XSOL(5) C=XSOL(6) THETA=XSOL(7) ------ VECTEUR HORIZONTAL -----RAC=SQRT(A*A+B*B) H1=B/RAC H2=-A/RAC H3=0. ----- VECTEUR VERTICAL --------RAC=SQRT((A*C)**2+(B*C)**2+(A**2+B**2)**2) G1=-A*C/RAC G2=-B*C/RAC G3=(A**2+B**2)/RAC ------- LES POINTS -------DO I=1,NDAT ------ ROTATION INITIALE -----U= UDAT(I)*COS(THETA)+VDAT(I)*SIN(THETA) V=-UDAT(I)*SIN(THETA)+VDAT(I)*COS(THETA) ------ LES VECTEURS A ALIGNER ------W1=A+H1*U+G1*V W2=B+H2*U+G2*V W3=C+H3*U+G3*V Q1=XDAT(I)-X0 Q2=YDAT(I)-Y0 Q3=ZDAT(I)-Z0 -------- LES FONCTIONS A ANNULER ----------F(3*(I-1)+1)=W1*Q2-W2*Q1 F(3*(I-1)+2)=W2*Q3-W3*Q2 F(3*(I-1)+3)=W3*Q1-W1*Q3 END DO RETURN END

ethode de Gauss-Newton TAB . VI.3 Convergence de la m

k 0 1 2 3 4 5 6

bk x 8000 8030 8680 9577 9660 9664 9664

bk y 15000 9339 11163 13034 13107 13115 13115

bk z 1000 1169 4017 3993 4116 4116 4116

a 0:000 0:003 0:014 0:040 0:043 0:043 0:043

b 1:000 0:085 0:114 0:167 0:169 0:169 0:169

c 0:000 0:003 0:021 0:032 0:032 0:032 0:032

0:000 0:047 0:017 0:094 0:074 0:074 0:074

M ethodes It eratives Equations Non Lin eaires

145

VI.5 Exercices
1. Pour une fonction f

: R ! R, consid erons lit eration (xk ; xk 1 ) ! xk+1 d enie par


k ) f (xk 1) (x 0 = f (xk ) + f (xx k+1 xk ): k xk 1
(5.1)

(a) Donner une interpr etation g eom etrique. (b) D emontrer que lerreur ek

= jxk

j, o` u

est une racine simple de f (x) = 0, satisfait avec

ek+1 Cek ek 1 ;
(c) D eduire de (b) que

f 00 ( ) : C= 2 f 0( )

ek+1 Dep k;

avec

p= 1 2 (1 + 5) 1:618:

(d) Soit f (x) un polyn ome, nous avons que le travail pour e valuer f (x) et f 0 (x) est approximativement le m eme. Supposons que le co ut des op erations dadditions, de soustractions, de multiplications et de divisions sont n egligeables par rapport a ` l evaluation de f (x). Quelle m ethode choisiriez-vous entre la m ethode de Newton et la m ethode de la s ecante (5.1) pour calculer une racine de f (x) a ` travail e gal? 2. Soit D et f : D ! n contin ument diff erentiable. Pour un x0 0 et que f (x0 ) soit inversible. Montrer que

2 D supposons que f (x0) 6= 0

p0 = f 0 (x0 ) 1 f (x0)
est la seule direction ayant la propi et e suivante: Pour toute matrice inversible A, il existe 0 > 0 tel que pour 0 <

<

kAf (x0 + p0 )k2 < kAf (x0 )k2 :

146

M ethodes It eratives Equations Non Lin eaires

Chapitre VII Travaux Pratiques


Cet appendice contient une collection de travaux pratiques, dont les th` emes reprennent (dans lordre chronologique) les sujets abord es dans le cours. La derni` ere partie de cet appendice est consacr ee a ` une introduction au language FORTAN90/95 qui na pas, et de loin, la pr etention d etre compl` ete.

VII.1 Introduction au FORTRAN 90


i , o` quidistants h = n u 1. Le programme ci-dessous e value la fonction sin(x) x en des points e i = 1; 2; : : : ; 20 et n = 20. Essayer de le comprendre, puis dessiner au moyen de gnuplot le graphe (xi ; f (xi )), pour n = 20; 50 dans les intervalles 0; ] et 0; 2 ].
value une fonction program eval ! ce programme e implicit none integer, parameter :: n=20 integer :: i integer, parameter :: dp=kind(1.d0) real(kind=dp), parameter :: pi=3.14159265358979324_dp real(kind=dp) :: v,x,rn real(kind=dp) :: f open (8,file=s1eval.out) ! fichier qui stocke les donn ees rn=n do i=1,n x=(i/rn)*pi v=f(x) write(8,100) x,v ! ecrit (x_i,f(x_i)) s1eval.out 100 format(2f18.15) ! format des donn ees end do end program eval ` e valuer function f(x) ! fonction a implicit none integer, parameter :: dp=kind(1.d0) real(kind=dp) ::x,f f=sin(x)*x end function

148

Travaux Pratiques

2. Ecrire (sur le mod` ele du programme ci-dessus) un programme qui e value la fonction

x f (x) = 2 2 2x

si 0 si 1 2

x 1 2 <x 1

en n points e quidistants de (0; 1) (n e tant choisi par lutilisateur). Dessiner les r esultats.

P 1 M o` 3. Ecrire un programme qui d etermine le plus petit n tel que n u M est donn e par k=1 k 1 par 1 lutilisateur. Combien de termes faut-il si M = 3 ? M eme question en rempla cant k k2 dans la fonction.
VII.2 Int egration par la r` egle du Trap` eze et Simpson R Le programme ci-dessous e value lint egrale 03 cos(x)esin(x) avec la r` egle du trap` eze. Donner le r esultat pour n = 2; 4; 8; 16; 32, et dessiner sur une e chelle logarithmique lerreur en fonction du
nombre d evaluations de la fonction. Adapter ensuite ce programme pour la r` egle de Simpson.
program integration ! int egration avec la r` egle du trap` eze implicit none integer, parameter :: dp=kind(1.d0) integer :: i,n ,... real(kind=dp) :: a,b,res,err,... open (7,file=trapeze.out) a=0._dp b=3._dp n=1 call trapeze(a,b,n,res) write(7,*) n= ,n, res= ,res ! ecrit dans trapeze.out subroutine trapeze(a,b,n,res) ! m ethode du trap` eze implicit none integer, parameter :: dp=kind(1.d0) integer :: n,i real(kind=dp) :: a,b,res,f,h h=(b-a)/n res=0.5_dp*(f(a)+f(b)) do i=1,n-1 res=res+f(i*h) end do res=res*h end subroutine trapeze ` int function f(x) ! fonction a egrer implicit none integer, parameter :: dp=kind(1.d0) real(kind=dp) ::x,f f=cos(x)*exp(sin(x)) end function

Travaux Pratiques

149

VII.3 Calcul de racines par la m ethode de la bissection


1. Ecrire un programme qui pour n donn e calcule les racines de Pn(x), le ni` eme polyn ome de Legendre, en utilisant la m ethode de bissection. Indications: (a) Localiser les racines de Pn (x) en utilisant celles de Pn 1 (x). b (b) Si a; b] est un intervalle avec Pn (a) Pn (b) < 0, poser centre= a+ 2 ; pa = Pn (a); pb = Pn (b); pc = Pn (centre). (c) Tant que Pn (centre) 6= 0 et a6=centre et b6=centre, it erer i. si Pn (a) Pn (centre) < 0 poser b=centre, pb=pc ii. sinon poser a=centre, pa=pc

Pour e crire la function p(n,x) qui calcule les polyn omes de Legendre Pn (x), utiliser la formule de r ecurrence pour ces polyn omes qui s ecrit

(n + 1)Pn+1(x) = (2n + 1)xPn(x) nPn 1(x)


2. A laide du programme obtenu en 1, calculer les poids bi pour une formule de Gauss dordre 30.

VII.4 Wegral: programme dint egration dordre 8


1. Le but de ce tp est d ecrire un programme adaptatif dint egration num erique bas e sur lalgorithme expliqu e au cours (I.6). On vous propose dutiliser la formule de Weddle dordre 8 (voir polycopi e p.3). Il faut dabord trouver une m ethode embo it ee convenable, par exemple la m ethode de Newton dordre 4, puis programmer lalgorithme de division. Pour lerreur sur un sous-intervalle utiliser abserr=abs(res-resem); o` u res est le r esultat obtenu avec la formule de Weddle et resem celui obtenu avec la formule emboit ee. Le programme pourrait avoir la structure suivante:
program wegral ! programme adaptatif dint egration implicit none integer, parameter :: dp=kind(1.d0) integer,parameter :: maxdiv=1000 ! borne les subdivisions integer :: ndiv, ... real (kind=dp),parameter :: a=...,b=...,tol=10._dp**(-14) real(kind=dp) :: centre,errtot,weedabs,... ... ! ----- premi` ere int egration h=b-a ... call weddle(.,.,.,.,.) ! ----- lalgorithme de subdivision do ndiv=2,maxdiv ! ----- on teste si la pr ecision est suffisante

150

Travaux Pratiques
if (errtot <= tol*weedabs) then ... end if ! ----- on cherche lerreur maximale ... ! ----- on divise lintervalle o` u lerreur est maximale centre= call weddle(.,centre,.,.,.) call weddle(centre,.,.,.,.) ... end do ... end program wegral subroutine weddle(a,b,res,abserr,resabs) implicit none integer, parameter :: dp=kind(1.d0) integer :: i,... real(kind=dp) :: a,b,res,resem,abserr,resabs,f,h,... real (kind=dp),dimension(4):: poidw real (kind=dp),dimension(2):: poidn data (poidw(i),i=1,4)/ 4.88095238095238096E-2_dp,\& 0.25714285714285712_dp,3.21428571428571397E-2_dp,\& 0.32380952380952382_dp/ data (poidn(i),i=1,2)/ 0.125_dp,0.375_dp/ ... end subroutine weddle function f(x) ... end function

2. Calculer a ` laide de votre programme les int egrales suivantes

Z 10
0

e x2 dx;

Z1
0

sin x2 dx;

Z1
0

cos x2dx:

3. On sait que

Z3
1

(1 + ce

c2 x2 )dx

!4+p

pour

c ! 1: c croissantes

Appliquer votre programme a ` lint egrale ci-dessus avec plusieurs valeurs de (c = 1; 2; : : : ; 10; : : :). Observer et expliquer ce qui se passe.

Travaux Pratiques

151

VII.5 Interpolation
1. Le but de ce tp est d ecrire un programme newton qui interpole une fonction donn ee gr ace au polyn ome dinterpolation de Newton. Ensuite, on va e valuer ce polyn ome a ` laide de la m ethode de Horner (voir exercices th eoriques) et calculer lerreur entre une fonction donn ee et son polyn ome dinterpolation. Remarque: Une fa con plus e l egante pour d enir la pr ecision des variables est dutiliser un module.
module accuracy integer, parameter :: dp=kind(1.d0) end module accuracy

Il suft dins erer au d ebut du programme principal ainsi que dans les sous-routines linstruction use accuracy et lextension dp peut e tre utilis ee. On vous propose la d emarche suivante pour e crire votre programme: (a) Ecrire une sous-routine equidist ainsi quune sous-routine chebychev pour calculer des noeuds e quidistants et des noeuds de Chebyshev respectivement. La sousroutine equidist pourrait avoir la structure suivante:
subroutine equidist(a,b,n,grid) use accuracy ! lextension dp est definie par le module implicit none real (kind=dp),dimension(0:n) :: grid real (kind=dp) :: a, b integer :: n

(b) Ecrire une sous-routine diffdiv qui calcule les diff erences divis ees. Pour cela on a seulement besoin dun vecteur dd pour le r esultat. La sous-routine diffdiv pourrait avoir la structure suivante:
subroutine diffdiv(n,noeuds,dd) use accuracy implicit none real (kind=dp), dimension(0:n) :: dd real (kind=dp), dimension(0:n) :: noeuds integer :: n

2. Apr` es avoir e crit le programme newton, e crire une fonction horner qui e value ce polyn ome a ` laide de la m ethode de Horner. La sous-routine horner pourrait avoir la structure suivante:
function horner(n,dd,noeuds,x) use accuracy implicit none real (kind=dp) :: horner real (kind=dp) :: x real (kind=dp),dimension(0:n) :: dd, noeuds integer :: n

152

Travaux Pratiques

3. En utilisant gnuplot v erier votre programme en dessinant les fonctions ci-dessous ainsi que leurs polyn omes dinterpolation.

sin x;
1 1+25x2 ;

x 2 0; 5 ]; x 2 1; 1]; x 2 4; 4]; x 2 4; 4]:

1=(1+x2 ) ;

e x2 ;

4. Ecrire une sous-routine qui calcule lerreur maximale

sur une grille de m points donn es. Tester cette sous-routine sur les fonctions ci-dessus.

max xi jf (xi ) p(xi )j i = 0; 1; : : : ; m;

VII.6 Interpolation et erreur


Ecrire un programme qui, pour une fonction donn ee, calcule ses polyn omes dinterpolations (pour des points e quidistants et pour les points de Chebyshev), ainsi que lerreur dans les diff erentes normes suivantes:

kf pk1 = max x2 a;b] jf (x) p(x)j norme maximale; R b kf pkL1 = a jf (x) p(x)j norme L1 ; kf pkL2 = Rab jf (x) p(x)j2 dx 1=2 norme L2 :
Pour cela il faudra utiliser le programme dint egration wegral ainsi que les programmes dinterpolations du tp pr ec edent. 1. Il sera utile de pouvoir passer une sous-routine comme argument dune fonction en utilisant linstruction external. Par exemple la fonction fmax, qui calcule le maximum de fcn (sous-routine) sur un intervalle a; b]
function fmax(fcn,a,b,m) use accuracy implicit none integer :: m real (kind=dp) :: a,b external fcn real (kind=dp) :: fmax,... ... call fcn(fmax,a) ... end function fmax

a comme argument la sous-routine fcn


subroutine fcn(x,fx) ... ! fx=f(x)

Travaux Pratiques

153

Compl eter cette fonction fmax, n ecessaire pour le calcul de lerreur dans la norme maximale. 2. Ecrire des sous-routines errequ et errch qui d eterminent lerreur jf (x) p(x)j (au point x) entre f et ses polyn omes dinterpolation p (bas e respectivement sur des points e quidistants et sur les points de Chebyshev).
subroutine errequ(x,e) ! evalue e=|f(x)-p(x)| use accuracy use equi implicit none real (kind=dp) :: e real (kind=dp) :: x ... end subroutine errequ

Cette sous-routine va faire appel a ` la fonction horner. Pour pouvoir utiliser les param` etres de la fonction horner sans les passer comme arguments, on peux utiliser un module. En d enissant
module equi use accuracy real (kind=dp),dimension(:),allocatable :: noeuds, dd integer :: n end module equi

et par linstruction use equi dans la sous-routine errequ, les variables contenues dans le module equi sont visibles et utilisables dans cette sous-routine. Ces variables sont les m emes que dans le programme newton si lon ajoute dans ce dernier linstruction use equi (elles nont alors plus besoin d etre d enies dans le programme newton). De m eme, on utilisera pour la sous-routine errch un module similaire. 3. Modier le programme wegral (VII.4) pour en faire une fonction
function wtegral(fcn,a,b,tol) implicit none integer, parameter :: dp=kind(1.d0) real (kind=dp) :: a,b,tol real (kind=dp) :: wtegral external fcn

4. Finalement, modier le programme newton pour en faire un programme qui, pour une fonction donn ee, calcule ses polyn omes dinterpolation (pour des points e quidistants et pour les points de Chebyshev), ainsi que lerreur dans les diff erentes normes du d ebut de l enonc e. Appliquer votre programme aux fonctions de la s erie 4 et donner les diff erentes erreurs pour des polyn omes jusquau degr e 20.

154

Travaux Pratiques

VII.7 R esolution d equations diff erentielles et calcul de la trajectoire des plan` etes
1. On aimerait r esoudre l equation diff erentielle

0 = y1 0 y2 =

y2 y1

y1(0) = 0 y2(0) = 1

dans 0; 4 ] avec les m ethodes dEuler et de Runge (voir le cours). Donner les r esultats nu m eriques et calculer lerreur en x = 4 (on connait la solution exacte de cette e quation diff erentielle). Pour cela il faudra e crire des sous-routines Euler et Runge.
subroutine euler(n,fcn,y,x,xend,npas) ... subroutine runge(n,fcn,y,x,xend,npas) ... ! n dimension du syst` eme ! npas le nombre de pas dans lintervalle [x,xend] ! fcn la sous-routine qui contient la fonction y=fcn(x,y) ! y vecteur qui contient les valeurs initiales ` a lentr ee ! les valeurs y(xend) ` a la sortie

R esoudre ensuite a ` laide de votre programme l equation diff erentielle de Ricatti (1712)

y0 = x2 + y2;

y(0) = 0;

y( 1 ) =? 2

Combien d evaluations de la fonction sont n ecessaires pour arriver a ` une pr ecision de 6 chiffres, respectivement pour la m ethode dEuler et de Runge? Remarque: Cette e quation diff erentielle ne poss` ede pas de solution e l ementaire. 1 R esultat (solution de r ef erence): y ( 2 ) = 0:04179114615468186322076: 2. Ecrire une sous-routine
subroutine rk4(n,fcn,y,x,xend,h,tol)

qui permet la r esolution dun syst` eme d equations diff erentielles a ` laide de pas variables. On veut que le programme puisse choisir le pas dint egration h an que lerreur locale soit partout environ e gale a ` la tol erance tol, fournie par lutilisateur. Prenez la m ethode Runge Kutta 3=8 avec la m ethode emboit ee vue au cours. Tester votre programme sur les e quations diff erentielles ci-dessus. 3. Utiliser vos programmes pour calculer la position autour du soleil des 5 plan` etes Jupiter, Saturne, Uranus, Neptune, Pluton en septembre 2004. Effectuer des calculs avec diff erents pas et diff erentes tol erances et observer la convergence. La loi de Newton f = ma conduit aux e quations du mouvement suivantes

00 = G qk

5 m (q X j k qj ) 3 j =0;j 6=k kqk qj k

Travaux Pratiques o` u les qj

155

2:95912208286 10

00 leurs acc 2 IR3 repr esentent la position des plan` etes et du soleil, qj el erations et G =
4 la constante de gravitation. Les valeurs initiales du probl` eme calcul ees

le 5 septembre 1994 sont donn ees par le tableau ci-dessous, pour le soleil q0 (t0 ) = (0; 0; 0), 0 q0 (t0) = (0; 0; 0). Les unit es de masse choisies sont des unit es relatives au soleil. Pour celuiTAB . VII.1 Valeurs initiales pour le syst` eme solaire plan` ete Jupiter masse position initiale vitesse initiale

m1 = 0:000954786104043 m2 = 0:000285583733151 m3 = 0:0000437273164546 m4 = 0:0000517759138449 m5 = 1=(1:3 108)

Saturne

Uranus

Neptune

Pluton

3:5023653 3:8169847 1:5507963 9:0755314 3:0458353 1:6483708 8:3101420 16:2901086 7:2521278 11:4707666 25:7294829 10:8169456 15:5387357 25:2225594 3:1902382

0:00565429 0:00412490 0:00190589 0:00168318 0:00483525 0:00192462 0:00354178 0:00137102 0:00055029 0:00288930 0:00114527 0:00039677 0:00276725 0:00170702 0:00136504

ci on a encore rajout e les masses des plan` etes proches, ainsi m0 = 1:00000597682. Les distances sont en unit es astronomiques 1 [A.U.] = 149 597 870 [km] et le temps est compt e en jours terrestres. Calculer la solution pour tend = 3652. Remarque: Pour appliquer votre programme a ` cet exemple il faudra transformer l equation diff erentielle en une e quation du premier ordre. Euler explicite, h = 10 S U N Euler implicite, h = 10 S U N

Euler symplectique, h = 10 S U N

Point milieu, h = 10 S U N

F IG . VII.1 Solutions du mouvement des plan` etes par diff erentes m ethodes pour de longs intervalles de temps

156

Travaux Pratiques

VII.8 D ecomposition LR
1. En utilisant lalgorithme d elimination de Gauss avec recherche de pivot r esoudre le syst` eme lin eaire Ax = b; (8.1) ee. o` u A est une matrice carr Pour cela, e crire une sous-routine de la forme
subroutine dec(n,A,ip) use accuracy ... integer, dimension(n) :: ip real (kind=dp),dimension(n,n) :: A

qui effectue la d ecomposition PA = LR, o` u P est une matrice de permutation, L une matrice triangulaire inf erieure et R une matrice triangulaire sup erieure. Les param` etres sont : n = dimension de la matrice; A = la matrice en entr ee/sortie; ip = le vecteur de permutation (ip(k) = index de la ligne du ke pivot). Ecrivez ensuite une sous-routine de la forme
subroutine sol(n,A,b,ip) use accuracy ... integer, dimension(n) :: ip real (kind=dp),dimension(n) :: b real (kind=dp),dimension(n,n) :: A

qui e tant donn e la matrice A obtenue par dec, r esoud le syst` eme bl` eme se trouvera dans le vecteur b.

(1). La solution du pro-

2. Ecrire un programme qui permet de r esoudre Ax = b et testez-le sur les exemples ci-dessous.

01 1 1 1 1 011 B1 2 1 2 2 2 3 C B 2C C B C A=B B C B = B @1 3 1 3 2 3 3 A @3C A


1 4
1

0 10 1 B 35 C C r esultat: B B @ 50 C A
24

0 1 0 1 1 1 1 1 A=B @0 0 1C A B=B @1C A:


0 0 1 1
Remarque: En utilisant les instructions allocate(A(ndim,ndim),...) on peut utiliser les m emes tableaux pour des matrices (vecteurs) de dimensions diff erentes. Il suft d ecrire deallocate(A,..) puis allocate(A(ndim2,ndim2),...).

Travaux Pratiques

157

VII.9 D ecomposition QR et trajectoire dun ast ero de


Pour r esoudre un syst` eme surd etermin e

Ax = b; x 2 IRn; b 2 realm ; m n; une m ethode efcace (voir le cours) est dutiliser la d ecomposition QR de la matrice A. On vous
propose dans la premi` ere partie de ce tp d ecrire un programme effectuant cette d ecomposition. Dans une deuxi` eme partie on traitera un probl` eme surd etermin e de fa con compl` ete (estimation de lerreur, test de conance du mod` ele). 1. Pour effectuer la d ecompostiton QR, on utilise (voir cours) lalgorithme de Householder Businger - Golub. On commence par e crire une sous-routine decqr
subroutine decqr(m,n,A,alpha) use accuracy implicit none integer :: m,n,... real (kind=dp),dimension(n) :: alpha real (kind=dp),dimension(m,n) :: A ...

qui effectue la d ecomposition QR dune matrice A poss` edant m lignes et n colonnes. Cette sous-routine doit retourner la matrice A modi ee comme suit: (a) les vecteurs vi 2 IRm i+1 inf erieure de la matrice A, (b) la matrice triangulaire matrice A.

i = 1; : : : ; n (voir cours), dans la partie triangulaire


erieure de la i ) dans la partie triangulaire sup

R (sans les

La diagonale de la matrice triangulaire R (les i ) est stock ee dans le vecteur alpha. On vous conseille de faire un sch ema de la matrice A a ` la sortie, pour illustrer la description ci-dessus. 2. Ecrivez ensuite une sous-routine solqr qui calcule triangulaire Rx = c.
subroutine solqr(m,n,a,alpha,b) use accuracy implicit none integer :: m,n,... real (kind=dp),dimension(n) :: alpha real (kind=dp),dimension(m) :: b real (kind=dp),dimension(m,n) :: A ...

QT b ainsi que la solution du syst` eme

Pour r ealiser la multiplication QT b, on effectue les multiplications successives Hi b i = 1; : : : ; n de la m eme fa con que lon a effectu e les multiplications Hi A pour la d ecomposition T QR (Hn : : : H2 H1 = Q ). Remarque. On ne demande pas de traiter le cas o` u les colonnes de A seraient lin eairement d ependantes.

158

Travaux Pratiques

3. Ecrire un programme qui permet de r esoudre Ax = b a ` laide de la d ecomposition QR et testez-le sur lexemple ci-dessous pour lequel la solution se calcule facilement (faire un dessin). Vous pouvez aussi tester votre programme sur les exemples de la s erie 7. x 3x 5x

+ + +

2y 4y 6y

=1 =2 =3

4. An deffectuer une estimation de lerreur (pour des observations donnant lieu a ` un syst` eme surd etermin e) on doit calculer diag (AT A) 1 (voir cours). On remarque que

(AT A) = (RT R);


o` u R est la matrice triangulaire sup erieure obtenue par la d ecomposition QR (` a laquelle T 1 on a rajout e la diagonale alpha(i). On peut alors calculer diag (A A) en r esolvant successivement les syst` emes lin eaires (pour i = 1; : : : ; n)

RT c = ei ; Rx = c:

o` u

ei = (0; : : : ; 1; : : : ; 0)T i` eme vecteur de base de IRn ;

5. (Sur les traces de Gauss) Un ast ero de en orbite autour du soleil a pu e tre observ e pendant quelques jours avant de diparaitre. Voici 10 observations:

xi=1;:::;5 xi=6;:::;10 yi=1;:::;5 yi=6;:::;10

-1.024940 -0.559524 -0.389269 -0.147582

-0.949898 -0.437067 -0.322894 -0.128618

-0.866114 -0.302909 -0.265256 -0.121353

-0.773392 -0.155493 -0.216557 -0.127348

-0.671372 -0.007464 -0.177152 -0.148885

On veut calculer sa trajectoire a ` partir de ces observations, an de pouvoir pr edire linstant o` u son orbite sera a ` nouveau visible. On suppose un mod` ele ellipso dal pour lorbite

x2 = ay2 + bxy + cx + dy + e:
Cela conduit a ` un syst` eme surd etermin e que lon r esoud par les moindres carr es pour d eterminer a; b; c; d; e. Faire ensuite une estimation de lerreur ainsi quun test de conance du mod` ele. Faire la m eme e tude pour le mod` ele parabolique

x2 = ay + e:
Quelle est la trajectoire la plus probable?

Travaux Pratiques

159

En janvier 1801, lastronome italien G.Piazzi d ecouvre une nouvelle plan` ete Ceres (entre Mars et Jupiter), et observe son orbite pendant quelques jours, avant que celle-ci ne disparaisse. Tous les astronomes de l epoque sattendent a ` ce que cette plan` ete r eaparaisse a ` la n de lann ee 1801 o` u au d ebut de lann ee 1802. Une grande effervescence habite le monde scientique europ een et plusieurs pr edictions quant a ` la trajectoire de lorbite sont effectu ees. Le 29 septembre 1801, un jeune math ematicien allemand (alors peu connu), du nom de C.F. Gauss, publie une trajectoire qui diff` ere sensiblement des autres pr evisions, utilisant notamment sa m ethode des moindres carr es, Le 7 d ecembre 1801, Zach, un des astronomes les plus connus dAllemagne, red ecouvre la plan` ete sur la trajectoire pr evue par Gauss. Ce r esultat publi e en f evrier 1802 dans les Monatliche Correspondenz fait de Gauss une c el ebrit e europ eenne.

Esquisse de Gauss des orbites de Ceres et Pallas (plan` ete d ecouverte en 1802). Tir e de W.K. B uhler: Gauss, a biographical study.

160

Travaux Pratiques

VII.10 FORTRAN 90/95


Le Fortran90 est la nouvelle version du language de programmation Fortran77, largement utilis e pour les calculs scientiques. Les instructions de Fortran77 sont pour la plupart encore valables en Fortran90.

Compiler
Lextension pour un programme en Fortran 90 est .f90. Pour compiler un programme taper f90 nom.f90 et ensuite a.out pour lex ecuter.

D ecoupage des lignes en zones


La longueur de la ligne est de 132 caract` eres, et commence d` es la premi` ere colonne. Tout ce qui est a ` droite dun ! est en commentaire. Pour continuer une ligne sur la ligne suivante, terminer la premi` ere par un &. Pour e crire plusieurs instructions sur une m eme ligne, les s eparer par des ;.

Structure dun programme


program exemple zone de d eclaration des variables ... instructions ex ecutables ... end program exemple subroutine et function ... Un programme peut appeler des sous-programmes qui sont des subroutine ou des function. Voir la s erie 1 pour des exemples de la structure et de lutilisation des sous-routines et des fonctions.

Types de donn ees


Fortran90 contient 5 types intrins` eques: 1. Types num eriques: integer, real et complex. 2. Types non num eriques: character et logical. Il est possible de d enir de nouveaux types de donn ees a ` partir des types intrins` eques. Aux 5 types intrins` eques sont associ es un entier non n egatif appel e le kind type parameter (d epend du syst` eme et indique en g en eral le nombre de bytes utilis es pour stocker une valeur). Quand celui-ci nest pas sp ecif e, cest la valeur par d efaut qui est utilis ee. Exemples: 1. real (kind=8) :: x ! x est de type r eel double pr ecision sur sun (ultra), simple pr ecision sur Cray. La double pr ecision correspond a ` un type pr ed eni qui donne environ 15 chiffres signicatifs, la simple pr ecision o` u pr ecision r eelle par d efaut en donne environ 7.

Travaux Pratiques

161

2. integer, parameter :: dp=kind(1.d0) ! le param` etre dp (constante litt erale) prend la valeur de kind qui correspond a ` la double pr ecision. real (kind=dp) :: x ! x est de type r eel double pr ecision (d eni ci-dessus) 3. real :: x ! x est de type r eel par d efault (simple pr ecision) 4. integer, parameter :: q=select real kind(15,60) ! choisi q de sorte que real (kind=q) poss` ede au moins 15 chiffres signicatifs et une e tendue e gale o` u sup erieure a ` 10 60 ; 1060 (pour autant que le compilateur en question supporte cette pr ecision). Cest donc une fa con ind ependante du compilateur de d enir des sous-types num eriques. 5. 1234 ! constante de type entier 1234. ! constante de type r eel 1234._dp! constante de type dp (pr ealablement d efini)

Entr ees et Sorties


1. read(5,*) x ! lit un caract` ere et lassigne a ` la variable x. L etiquette 5 indique que le caract` ere est lu du clavier. 2. read(8,*) x ! comme ci-dessus, sauf que l etiquette 8 indique que le caract` ere est lu dans le chier avec l etiquette 8 (la lecture se fait de fa con s equentielle en commen cant par la premi` ere valeur du chier). 3. write(6,*) x ! e crit le contenu de la variable x a ` l e cran 4. write(8,*) x ! e crit le contenu de la variable x dans le chier avec l etiquette 8 5. write(6,*) valeur de x ! e crit les charact` eres entre apostrophes a ` l ecran Remarque: L etoile * (format par d efaut) dans la description ci-dessus peut- etre remplac ee par un descripteur de format (voir les sorties format ees).

Affectation des variables


Lop eration daffectation des variables est la suivante: variable r eceptrice=expression source

D eclaration de param` etres et initialisations


1. integer, parameter :: n=20 ! d eni un param` etre entier et lui assigne la valeur 20. Cette assignation est d enitive et ne peut plus e tre chang ee dans le programme. 2. real(kind=dp) :: rn=20 ! d eni une variable rn r eelle de type dp et lui donne 20 comme valeur initiale. Cette assignation peut- etre chang ee dans le programme. On peut aussi d eclarer rn comme variable real(kind=dp) et linitialiser dans le programme.

Op erateurs et fonctions
+ , - , * , / , ** (exponentiation) abs(x) (valeur absolue), sin(x), cos(x), sqrt(x) (racine carr ee), etc.

162

Travaux Pratiques

Op erations arithm etiques


Lors de calculs arithm etiques avec des constantes o` u des variables, il est souvent dangereux de m elanger dans une m eme expression plusieurs types num eriques. Pour lassignation variable=expression, o` u variable est une variable num erique et expression est une expression num erique, si expression nest pas du m eme type que variable, expression va e tre converti dans le type de variable. Cette conversion peut donner lieu a ` des pertes de pr ecision. Lors dop erations arithm etiques m elangeant plusieurs types num eriques, les types moins pr ecis sont convertis dans le type le plus pr ecis de lexpression. Exemples: 1.
integer :: i,j integer, parameter :: dp=kind(1.d0) real(kind=dp) :: a,b a=1;b=3;i=1;j=3 write(6,*) a/b,a/j,i/j real(kind=dp) :: a,b

r esultats: 0.33333333333333331, 0.33333333333333331, 0 Pour a/b les entiers sont convertis en dp (de fa con exacte) et le calcul est effectu e en precision dp. Pour a/j le contenu de la variable enti` ere i est converti (de fa con exacte) en dp et le calcul est effectu e en precision dp. Pour i/j le calcul est fait en division enti` ere et le r esultat est faux. 2.
integer, parameter :: dp=kind(1.d0) real(kind=dp) :: a,b a=1.123456789;b=1.123456789_dp write(6,*) a,b write(6,*) a/b,a-b a=1.123456789_dp;b=1.123456789 write(6,*) a/b,a-b a=1.123456789_dp;b=1.123456789_dp write(6,*) a/b,a-b

r esultats: 1.1234568357467651, 1.123456789 1.0000000416097581, 4.67467651255049077E-8 0.99999995839024369, -4.67467651255049077E-8 1., 0.E+0 Lexpression a=1.123456789 m elange le mode r eel dp pour a et le mode r eel simple pr ecision (pr ecision r eelle par d efaut) pour la constante 1.123456789. Lors de la conversion on perd 3 chiffres signicatifs. Ceci explique pourquoi toutes les op erations arithm etiques ci-dessus m elangeant plusieurs types num eriques (except e la derni` ere) donnent des r esultats faux.

Travaux Pratiques

163

Les sorties format ees


Exemples: 1. write(6,i5) 123456 ! e crit lentier 123456 (i pour integer) dans un champ de 5 charact` eres 2. write(6,f10.5) 1.23456 ! e crit le r eel 1.23456 dans un champ de 10 charact` eres dont 5 sont r eserv es pour la partie d ecimale. Ces instructions peuvent e galement s ecrire 1. write(6,100) 123456
100 format(i5)

2. write(6,100) 1.23456
100 format(f10.5)

Remarque: L etiquette 6 dans la description ci-dessus peut- etre remplac ee par un label indiquant une autre sortie, par exemple une sortie chier (voir chiers).

Les chiers
Ecriture des r esultats dans un chier:
open(8,file=fich1)

ouvre un chier ch1 et lui assigne l etiquette 8


write(8,*) a

e crit dans le chier avec l etiquette 8 la valeur de a


read(8,*) a

lit dans le chier avec l etiquette 8 la valeur de a. Remarque: Le format par d efaut dans la description ci-dessus peut- etre remplac e par un format sp eci e par lutilisateur (voir sorties format ees).

Structures de contr oles


1. if (expression-logique) then traitements else traitements end if 2. do variable=i,n,m traitements end do o` u i,n,m sont des entiers. La boucle se fait de i a ` n avec un pas m. 3. do while (expression-logique) traitements end do

164

Travaux Pratiques

Les op erateurs de comparaison

> : plus grand que; >= : plus grand ou e gal a `; == : e gal; = = : diff erent de; <= : plus petit ou e gal a `; < : plus petit que.
Les tableaux
Exemple de d eclaration:
real,dimension(2,3):: tabr1,tabr2

d eclare un tableau 2

3a ` valeurs r eelles.

Remarque: Il est permis de cr eer des nouveaux tableaux a ` lint erieur des fonctions et des sousroutines. Allocation dynamique: Pour d eclarer un tableau a ` deux dimensions, mais dont la taille nest pas connue au d ebut du programme:
real,dimension(:,:),allocatable:: tabdyn1

et plus loin dans le programme:


n1=4;n2=8 allocate(tabdyn(n1,n2))

R ef erences
1. Programmer en Fortran 90 de Claude Delannoy. 2. Fortran 90 explained de M.Metcalf et J.Reid. 3. Et sur linternet: 4. www-curri.u-strasbg.fr/DOCtechnique/fortran.htm 5. http://perso.wanadoo.fr/jean-pierre.moreau/fortran.html 6. http://csep1.phy.ornl.gov:80/CSEP/PL/PL.html 7. http://www.psc.edu/ burkardt/src/f src.html

S-ar putea să vă placă și