Vous êtes sur la page 1sur 64

A NALYSE N UMRIQUE

Cours de 3me anne

2016-2017
Table des matires

I Mthode de rsolution approche 1


I.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
I.2 Analyse de la rsolution dun problme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
I.2.1 Formulation du problme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
I.2.2 Construction dune mthode de rsolution . . . . . . . . . . . . . . . . . . . . . . . . 2
I.2.3 Proprits dune mthode de rsolution approche . . . . . . . . . . . . . . . . . . . 3
I.3 Analyse derreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
I.3.1 Erreurs de modlisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
I.3.2 Erreurs darrondi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
I.3.3 Erreurs de troncature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
I.3.4 Stabilit de la mthode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
I.3.5 Conditionnement dun systme linaire . . . . . . . . . . . . . . . . . . . . . . . . . 4

II Rsolution des systmes dquations linaires 6


II.1 Gnralits sur les mthodes dlimination. . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
II.1.1 Rsolution dun systme linaire diagonal . . . . . . . . . . . . . . . . . . . . . . . . 6
II.1.2 Rsolution dun systme linaire triangulaire (suprieur) . . . . . . . . . . . . . . . . 7
II.1.3 Principe des algorithmes de rsolution directe . . . . . . . . . . . . . . . . . . . . . . 7
II.2 Mthodes de Gauss - Stratgies du pivot maximum. . . . . . . . . . . . . . . . . . . . . . . . 7
II.2.1 Mthodes de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

i
Table des matires

II.2.2 Stratgies du choix des pivots. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8


II.3 Mthode de Jordan et inversion dune matrice carre . . . . . . . . . . . . . . . . . . . . . . 9
II.4 Interprtation matricielle de la mthode de Gauss et factorisation L U dune matrice . . . . . . 9
II.4.1 Interprtation matricielle de la mthode de Gauss . . . . . . . . . . . . . . . . . . . . 9
II.4.2 Factorisation LU dune matrice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
II.5 Mthode de Cholesky. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
II.5.1 Factorisation de A = LL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
II.5.2 Cot de la mthode de Cholesky. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
II.5.3 Factorisation A = LDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

III Mthodes de rsolution itratives 14


III.1 Principe des mthodes itratives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
III.1.1 Mthodes des points fixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
III.1.2 Convergence de la mthode des points fixes . . . . . . . . . . . . . . . . . . . . . . . 15
III.1.3 Mthodes des points fixes en dimension n . . . . . . . . . . . . . . . . . . . . . . . . 16
III.2 Mthodes itratives pour les systmes linaires . . . . . . . . . . . . . . . . . . . . . . . . . 17
III.2.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
III.2.2 Mthode de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
III.2.3 Mthode de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
III.3 Rsolution dun systme dquations quelconques . . . . . . . . . . . . . . . . . . . . . . . . 18
III.3.1 Mthode des points fixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
III.3.2 Mthode de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

IV Interpolation 20
IV.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
IV.2 Matrice de Vandermonde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
IV.3 Interpolation de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
IV.3.1 Calcul du polynme dinterpolation de Lagrange . . . . . . . . . . . . . . . . . . . . 21
IV.3.2 Erreur dinterpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
IV.3.3 Instabilit de linterpolation de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . 22
IV.4 Interpolation de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
IV.4.1 Dtermination du polynme dinterpolation de Newton . . . . . . . . . . . . . . . . . 23
IV.4.2 Erreur dinterpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
IV.5 Interpolation laide de fonctions Splines cubiques . . . . . . . . . . . . . . . . . . . . . . . 26
IV.6 Extrapolation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

V Approximation de fonctions 28
V.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
V.2 Approximation au sens des moindres carrs . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
V.2.1 Principe de la mthode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
V.2.2 Evaluation de lerreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

ii
Table des matires

V.2.3 Orthogonalisation de Schmidt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31


V.2.4 Moindres carrs pondrs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
V.3 Modles non linaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
V.4 Comparaison entre interpolation et approximation. . . . . . . . . . . . . . . . . . . . . . . . 33

VI Diffrentiation et intgration numriques 34


VI.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
VI.2 Diffrentiation numrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
VI.2.1 Drives dordre 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
VI.2.2 Drives dordre suprieur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
VI.2.3 Instabilit numrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
VI.3 Intgration numrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
VI.3.1 Formules de Newton-Cotes simples et composes . . . . . . . . . . . . . . . . . . . . 39
VI.3.2 Quadratures de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
VI.3.3 Intgrales multiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

VIIRsolution numrique dquations diffrentielles 46


VII.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
VII.2 Mthode dEuler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
VII.3 Mthodes de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
VII.4 Mthodes de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
VII.4.1 Mthode de Runge-Kutta dordre 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
VII.4.2 Mthode de Runge-Kutta dordre 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
VII.4.3 Mthode de Runge-Kutta avec contrle du pas . . . . . . . . . . . . . . . . . . . . . 52
VII.5 Systmes dquations diffrentielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
VII.6 quations dordre suprieur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
VII.7 Mthodes des diffrences finies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

A Calcul matriciel 57
A.1 Rappels de Calcul Matriciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
A.1.1 Multiplications de matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
A.1.2 Matrices remarquables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
A.1.3 Oprations par blocs sur les matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
A.2 Normes vectorielles et normes matricielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

iii
C HAPITRE I

Mthode de rsolution approche

I.1 Introduction
Les cours traditionnels de mathmatiques fournissent des thories et de mthodes permettant de rsoudre
de faon analytique un certain nombre de problmes. Dans ce cas, mme si lon dispose de plusieurs mthodes
pour rsoudre un problme donn, elles conduisent un mme rsultat, prcis et unique.
Lobjet de lanalyse numrique est de concevoir et dtudier des mthodes de rsolution adaptes certains
problmes mathmatiques, en gnral issus de la modlisation de problmes rels, et dont on cherche calculer
la solution ou une solution approche, laide dun ordinateur. Cela est rendu ncessaire car la modlisation de
phnomnes physiques conduit frquemment des problmes dont la taille est trs importante ce qui empche la
rsolution analytique ; leur rsolution demande alors un nombre important doprations numriques qui doivent
parfois tre effectues trs rapidement (contrle de processus).
En analyse numrique, pour un problme donn, il est possible dutiliser plusieurs techniques de rsolution
qui rsultent en plusieurs algorithmes, dpendant de certains paramtres qui influent sur la prcision du rsultat.
De plus, lutilisation dapproximations plus ou moins prcises au cours du calcul se rpercutera aussi sur le
rsultat obtenu. Le rsutat final et son ordre de prcision dpendent donc des choix qui sont effectus.

I.2 Analyse de la rsolution dun problme


Commenons par examiner les diffrentes tapes dans la rsolution dun problme avec un calculateur.

I.2.1 Formulation du problme


A laide des lois des sciences physiques on procde la mise en quation du problme. On sassure, ensuite,
de lexistence (et de lunicit) de la solution en limitant ventuellement le domaine de dfinition de la solution.
En gnral, la solution du problme rsoudre est soit un nombre (quation algbrique f (x) = 0), soit
un vecteur (systme dquations linaires), soit une fonction (quation diffrentielle, quation aux drives
partielles).

1
I.2. Analyse de la rsolution dun problme

A titre dexemple, considrons la rsolution de lquation : f (x) = x cosx = 0, f est une fonction
dfinie et continue sur R valeurs relles. Soit x le nombre rel solution. Pour tre assur de lexistence
dune solution nous pouvons rduire lensemble de dfinition de f, un intervalle [a, b], assez petit, tel que

f (a)f (b) < 0. Ici, a = 0 et b = conviennent.
3

I.2.2 Construction dune mthode de rsolution


Dans certains cas, on dispose dune mthode analytique : rsolution dans C des quations du second degr
coefficients rels : ax2 + bx + c = 0.
Lalgorithme scrit :
Lire a,b,c.
si a = 0 alors
si b = 0 et c = 0 crire une infinit de solution
si b = 0 et c 6= 0 crire pas de solution
si b 6= 0 et c = 0 crire solution x = 0
c
si b 6= 0 et c 6= 0 crire solution x =,
b
fsi
si a 6= 0 alors
= b2 4ac p
b ||
x= y=
2a 2a
c
si > 0 alors x1 = x signe(b)y y1 = 0 x2 = y2 = 0 fsi
ax1
si = 0 alors x1 = x y1 = 0 x2 = x y2 = 0 fsi
si < 0 alors x1 = x y1 = y x2 = x y2 = y fsi
crire solutions :, x1 + i, y1 x2 ,+ i, y2
fsi
Fin
Dans dautres cas, plus nombreux, il faudra utiliser une mthode de rsolution approche 1 en simplifiant lqua-
tion rsoudre telle que, par exemple, la mthode des approximations successives ou la mthode de Newton-
Raphson.
Ces mthodes (itratives) consistent construire partir dune valeur x0 , choisie arbitrairement, une suite
de valeurs numriques x0 , x1 , x2 , . . . convergente vers la solution x (plus n est grand, plus xn est proche de la
solution) (figures I.1 et I.2).

y y
y=x
y=x
y = g(x)

y = g(x)
x0 x x1 x x x1 x0 x

F IGURE I.1 Convergence de la mthode des approximations successives.

1. et peut-tre aussi la construire.

2
I.3. Analyse derreur

y = g(x)
y
y=x

x x0 x1 x

F IGURE I.2 Divergence de la mthode des approximations successives.

I.2.3 Proprits dune mthode de rsolution approche


Une bonne mthode de rsolution approche doit
tre rapidement convergente,
permettre lestimation priori de lerreur,
tre stable.

I.3 Analyse derreur


Une partie importante de lanalyse numrique consiste donc contenir les effets des erreurs introduites, qui
proviennent de trois sources principales :
les erreurs de modlisation ;
les erreurs de reprsentation sur ordinateur ;
les erreurs de troncature.

I.3.1 Erreurs de modlisation


Les erreurs de modlisation, comme leur nom lindique, proviennent de ltape de mathmatisation du ph-
nomne physique tudi. Cette tape consiste faire ressortir les causes les plus dterminantes du phnomne
observ et les mettre sous forme dquations. Si le phnomne observ est trs complexe, il est souvent n-
cessaire de simplifier le problme en ngligeant les facteurs qui paraissent moins importants ou qui rendent la
rsolution numrique trop difficile. Cest ce que lon appelle les erreurs de modlisation.

I.3.2 Erreurs darrondi


Cette catgorie derreur est lie lutilisation de lordinateur. Lerreur darrondi est due au fait que la ma-
chine
ne travaille que sur un nombre limit de dcimales (comme dans le calcul manuel o lon convient que
2 1.414). Cette erreur concerne aussi les mthodes directes ou analytiques. Habituellement les machines
travaillent avec 14 ou 23 chiffres significatifs (simple ou double prcision). Lerreur darrondi se propage au
cours des calculs et peut compromettre la prcision des rsultats, on a donc intrt faire un minimum dop-
rations (+, -, *, /).
On vitera des erreurs darrondi en cartant les oprations dont le rsultat sera nul. Pour rsoudre une
quation du second degr, on utilise de prfrence les formules :

b signe(b) b2 4ac c
x1 = , x2 = .
2a x1 a
Ainsi, lors du calcul du numrateur de x1 , on fait toujours une addition, jamais de soustraction. La formule
donne pour le calcul de x2 vite elle aussi le recours une soustraction.

3
I.3. Analyse derreur

I.3.3 Erreurs de troncature


Les erreurs de troncature constituent la principale catgorie derreurs. Dans la suite de ce cours, nous
aborderons des mthodes de rsolution qui comportent des erreurs de troncatures plus ou moins importantes.
Elles sont provoques par lutilisation du dveloppement de Taylor, qui permet par exemple de remplacer
une quation diffrentielle par une quation algbrique, et dpendent du nombre de termes conservs de ce
dveloppement. Il est donc essentiel de rappeler cette notion :

Dfinition :
Le polynme de Taylor de degr n de la fonction f autour de x0 est dfini par
(x x0 )2 (x x0 )3 (x x0 )n
Pn (x) = f (x0 ) + f (x0 )(x x0 ) + f (x0 ) + f (x0 ) + + f (n) (x0 )
2! 3! n!
et lon a
f (x) = Pn (x) + En (x)
avec
(x x0 )(n+1)
En (x) = f (n+1) ((x)) = O(hn+1 ), [x0 , x]
(n + 1)!

I.3.4 Stabilit de la mthode


Dfinition : Une mthode est stable et un problme est dit bien conditionn si deux problmes voisins
admettent des solutions voisines.
Exemple de problme instable : On considre le systme linaire de deux quations deux inconnues :

20x + 46, 6y = 20 solution : x = 933
(I.1)
30x + 70y = 10 y = 400
et un systme linaire voisin :

20x + 46, 5y = 20 solution : x = 373
30x + 70y = 10 y = 160
Les dterminants de ces systmes sont respectivement gaux 2 et 5.

I.3.5 Conditionnement dun systme linaire


Lexemple I.1, page 4 dun systme linaire instable montre quune petite variation sur les donnes im-
plique une grande variation sur les rsultats. Analysons ce phnomne dinstabilit, on se donne une matrice
A inversible (det(A) 6= 0). Soit k.k une norme vectorielle quelconque et sa norme matricielle subordonne.
Comparons les solutions exactes respectives u + u et u des systmes linaires :

(A + A)(u + u) = b

et
Au = b
On obtient :
kuk kAk
kA1 k kAk
ku + uk kAk
Lerreur relative sur le rsultat est alors majore par lerreur relative sur les donnes multiplie par le nombre
kA1 k kAk.

Exercice 1 : Montrer que si la perturbation affecte seulement le second membre b dun systme linaire
Ax = b alors lerreur relative sur le rsultat est majore par lerreur relative sur les donnes multiplie par le
nombre kA1 k kAk.

4
I.3. Analyse derreur

Dfinition :
Soit k.k une norme matricielle subordonne et A une matrice inversible. On appelle conditionnement de
la matrice A relativement la norme matricielle le nombre

cond(A) = kA1 k kAk (I.2)

Thorme :
Pour toute matrice A :

cond(A) 1, cond(A) = cond(A1 ), cond(A) = cond(A) pour tout scalaire 6= 0

Remarques :
Si cond(A) est voisin de 1, le systme linaire Ax = b est bien conditionn, mais si cond(A) 1 le
systme est mal conditionn. On peut esprer diminuer le conditionnement en multipliant chaque ligne et/ou
chaque colonne par un nombre convenable : cest le difficile problme de pr-conditionnement dune matrice.
Mme si le systme linaire est bien conditionn, un mauvais algorithme de rsolution peut conduire des
rsultats errons.

Exercice 2 : Dans lexemple I.1, page 4, pour lequel le systme linaire Ax = b est instable, calculer
cond1 (A) et cond (A).

5
C HAPITRE II

Rsolution des systmes dquations linaires

II.1 Gnralits sur les mthodes dlimination.


Etant donn une matrice A Mnn et un vecteur B Rn on cherche, sil existe, le vecteur X Rn tel
que AX = B. Ces types de systmes dquations algbriques jouent un rle trs important en ingnierie.
En pratique, les progs de linformatique et de lanalyse numrique permettent daborder des problmes
de taille considrable (jusqu plusieurs centaines de milliers dinconnues). Ces applications sont rencontres,
par exemple en mcanique des fluides ou dans lanalyse de structures complexes (calcul de lcoulement dair
autour dun avion, analyse de la rsistance de la carlingue dun avion diffrentes contraintes extrieures,...).
En pratique le vecteur solution X ne sera jamais valu en commenant par calculer la matrice inverse A1
puis en effectuant le produit A1 B. Lcriture X = A1 B ne sera donc, toujours, quune notation exprimant
que X est solution de AX = B.
Dans ce chapitre, nous allons aborder les principales mthodes de rsolution directes, ou mthodes dli-
mination, des systmes linaires pour lesquelles la solution du systme peut tre obtenue en un nombre fini
et prdtermin doprations. La deuxime famille de mthode de rsolution, les mthodes itratives, seront
tudies dans le chapitre suivant.

II.1.1 Rsolution dun systme linaire diagonal


Pour un systme linaire diagonal, la rsolution est immdiate :
Algorithme :
i = 0 indic = vrai
a11 0 ... 0 x1 b1 tant que i n 1 et indic = vrai rpter
.. .. .. .. i= i+1
. . . .

0 a22
= si aii = 0 alors indic = f aux
.. .. .. .. ..

. . . . .

0 bi
0 ... 0 ann xn bn sinon xi =
aii
fin de si
fin de tant que
Cot de la rsolution : n divisions.

6
II.2. Mthodes de Gauss - Stratgies du pivot maximum.

II.1.2 Rsolution dun systme linaire triangulaire (suprieur)


Dans le cas o le systme rsoudre est linaire triangulaire suprieur, il est aussi ais de construire un
algorithme pour sa rsolution :

Algorithme :
i = n + 1 indic = vrai
tant que i > 1 et indic = vrai rpter :
i =i1

x1 b1

a11 a12 . . . a1n
0 a22 . . . a2n .. .. si aii = 0 alors indic = f aux
. .

sinon S = bi

=

.. .. .. ..

.. ..

. . . .

. . si i < n alors S = S nj=i+1 aij xj






P
0 . . . 0 ann xn bn fin de si
xi = S/aii
fin de si
fin de tant que

Cette mthode porte le nom de mthode de retour arrire (ou de remonte).


n(n 1)
Cot de la rsolution : n divisions, multiplications et additions.
2

II.1.3 Principe des algorithmes de rsolution directe


Nous venons de voir dans le paragraphe prcdent quil tait facile de rsoudre et de construire des algo-
rithmes pour la rsolution de systmes linaires diagonaux et triangulaire suprieur (ou infrieur). Le principe
des algorithmes de rsolution directe consiste alors en la transformation du systme linaire donn AX = B
en un systme quivalent A X = B dont la matrice est triangulaire ou diagonale et de rsoudre ce dernier.

II.2 Mthodes de Gauss - Stratgies du pivot maximum.


II.2.1 Mthodes de Gauss
La rsolution du systme AX = B par la mthode de Gauss conduit la rsolution du systme triangulaire
suprieur A X = B . Pour cela il faut annuler tout lment situ en dessous de la diagonale principale de A ou,
ce qui revient au mme, liminer de chaque quation k (1 < k n) toutes les inconnues xj (1 j < k).
Puisque les oprations lmentaires doivent tre effectues la fois sur les lignes de la matrice A et sur celles
du vecteur B, on introduit la notion de matrice augmente qui consiste ranger B dans la colonne (n + 1) de
A:

a11 a12 a13 . . . a1n b1
a21 a22 a23 . . . a2n b2

a31 a32 a33 . . . a3n b3
.. .. .. .. .. ..

. . . . . .
an1 an2 an3 . . . ann bn

Pour liminer une inconnue dune quation nous combinons lquation donne avec une autre quation conte-
nant obligatoirement linconnue liminer. Le coefficient de linconnue dans cette quation sappelle le pi-
vot , il doit tre non nul.
Nous procdons par tapes, chaque tape consistant traiter une colonne. Il y a donc n 1 tapes. A la ke
tape, on limine xk dans les lignes i > k, et on suppose que x1 , x2 , . . . , xk1 sont dj limins.
n
X Xn
Lquation no k scrit : akj xj = ak n+1 et lquation no i scrit : aij xj = ai n+1 .
j=k j=k

7
II.2. Mthodes de Gauss - Stratgies du pivot maximum.

n
X
La nouvelle quation no i devient : (aij + ik akj )xj = ai n+1 + ik ak n+1 .
j=k
aik
Pour que le coefficient de xk soit nul, il faut donc que : aik +ik akk = 0 donc si akk 6= 0 on a : ik = .
akk
Si akk = 0 on peut permuter lquation no k avec lune des quations suivantes par exemple lquation no j
(j > k sil en existe une), dont le coefficient de xk : ajk est non nul.
On ne prend pas une quation prcdente, cela obligerait refaire llimination de x1 , . . . , xk1 .
La mthode est en chec si au cours de llimination un pivot, donc lun des lments diagonaux, est nul
(det(A) = 0). Dans ce cas, le systme na pas de solution unique.
Si au contraire (det(A) 6= 0) la rsolution du systme triangulaire suprieur obtenu se fait par la mthode
de retour arrire dcrite ci-dessus.

Exercice 3 : Dterminer les pivots et les coefficients ik de la rsolution par la mthode de Gauss du sys-
tme :
1 1 2 1 x1 8
2 2 3 3 x2 = 20


1 1 1 0 x3 2
1 1 4 3 x4 4

n3 n3
Nombre global doprations : de lordre de multiplications, additions, (2n 1) divisions.
3 3
Remarques : Pour n = 10, le cot de la mthode de Gauss est denviron 700 oprations, celui de la mthode
de Cramer est de lordre de 400 millions doprations. La mthode de Gauss est lune des meilleures mthodes
pour rsoudre un systme linaire dont la matrice est quelconque. Elle est aussi trs efficace pour valuer
det(A).

II.2.2 Stratgies du choix des pivots.


(k1)
Si, au dpart de ltape k, llment akk de la matrice A(k1) est non nul mais proche de zro,on peut
thoriquement le choisir comme pivot. Mais, en raison des erreurs darrondi, cela nest pas recommand.

Exercice 4 : Supposons que lordinateur fait les calculs en virgule flottante dans le systme dcimal (et non
en binaire) les nombres ayant une mantisse limite quatre chiffres 2 . Dans ce cas, les donnes et les rsultats
des calculs intermdiaires sont arrondis aux quatre premiers chiffres significatifs.
Montrer, que si lon rsout le systme
1
0.0003u1 + 3.0000u2 = 2.0001 dont la solution exacte est : u1 =

3
2
1.0000u + 1.0000u = 1.0000 et u2 =

1 2
3
en prenant pour pivot le nombre 0.0003 on obtient une solution approche diffrente de la solution exacte.
Montrer ensuite que si lon change les quations on trouve une solution voisine de la solution exacte. Cal-
culer le conditionnement cond des matrices des trois systmes (initial et chacun des systmes triangulaires
quivalents 3 ).

On observe alors que les erreurs darrondis proviennent ici de la division par des pivots trop petits en va-
leur absolue. On peut viter cet inconvnient en utilisant lune des deux stratgies de choix des pivots suivantes.
Au dbut de chaque tape k (1 k n 1) de llimination :
stratgie du pivot maximum partiel : on choisit pour pivot llment aik (k i n) vrifiant : |aik | =
max |apk | et on change les lignes i et k.
kpn

2. pour simplifier.
3. Voir (A.3) page 60 et (I.2) page 5

8
II.3. Mthode de Jordan et inversion dune matrice carre

stratgie du pivot maximum total : on choisit pour pivot llment aij (k i, j n) vrifiant : |aij | =
max |apq | et on change les lignes i et k et les colonnes j et k. Il est dans ce cas ncessaire dutiliser
kp,qn
un vecteur tmoin permettant de reprer les numros des inconnues au cours du calcul.
Ces stratgies sont indispensables pour ne pas dtriorer le conditionnement dun systme linaire quel-
conque.

Exercice 5 : En prenant un vecteur-tmoin pour reprer les numros des inconnues, appliquer la mthode
de Gauss-Pivot Maximum Total au systme linaire :

0 1 2 x1 1
1 4 2 x2 = 3
2 1 1 x3 0

II.3 Mthode de Jordan et inversion dune matrice carre


Le principe de la mthode de Jordan consiste ramener la rsolution du systme AX = B la rsolution du
systme diagonal AX = B avec A diagonale. Le principe de llimination est semblable celui de la mthode
de Gauss, mais on cherche M matrice inversible telle que M A soit diagonale.
Pour 1 k n, il faut liminer linconnue xk de toutes les quations sauf la kime. Donc, ltape k, on
fait apparatre des zros dans la colonne no k de (Ak1 ) en dessous et au dessus du pivot.
Sil ny a pas de pivot nul, (An ) contient un systme linaire diagonal : An X = Bn .

Remarques :
n3 n3
- Le cot asymptotique de la mthode est de lordre de additions, multiplications et 2n divisions.
2 2
- Si A nest pas inversible, au cours dune tape le pivot sera nul et la mthode sera en chec.

La mthode de Jordan (ou Gauss-Jordan) est utilise pour le calcul de linverse dune matrice donne. On
observe que le procd dinversion de matrice est mal adapt la rsolution des systmes linaires et trs
coteux en nombre doprations. Cependant, si on ne peut lviter, on procde partir de lidentit matricielle
AA1 = I, ce qui conduit rsoudre n systmes linaires :

A.[X1 |X2 | . . . |Xn ] = [e1 |e2 | . . . |en ] pour k = 1, . . . , n rsoudre AXk = ek

Xk et ek sont respectivement les colonnes no k de la matrice A1 et de la matrice unit I.


Une disposition pratique consiste raliser llimination sur un tableau T de n lignes et 2n colonnes tel
que : T = [A|I]. Les changes de lignes et combinaisons linaires de lignes sont ralises simultanment sur
tous les seconds membres.

Exercice 6 :
Dterminer linverse de la matrice
1 2 1 0
0 1 2 0

1 2 1 1
0 1 1 0
par la mthode de Jordan.

II.4 Interprtation matricielle de la mthode de Gauss et factorisation L U


dune matrice
II.4.1 Interprtation matricielle de la mthode de Gauss
Pour rsoudre AX = B, la mthode de Gauss comporte deux tapes :

9
II.4. Interprtation matricielle de la mthode de Gauss et factorisation L U dune matrice

- liminations successives des inconnues. Cela quivaut dterminer simultanment la matrice M A trian-
gulaire suprieure et le vecteur M B o M est une matrice inversible.
- rsolution du systme triangulaire (M A)X = (M B)
En pratique, on ne calcule pas explicitement M 4 mais seulement M A et M B.
(1)
Dans la phase limination, la premire tape, il faut que le pivot a11 soit non nul aprs change ventuel
de deux lignes. Si la permutation nest pas ncessaire, cela revient multiplier A gauche par la matrice
P1 = I, sinon, si une permutation est ncessaire par une matrice P1 traduisant lchange des deux lignes. Dans
le cas o lon intervertit les lignes i et j, la matrice P , dite alors matrice de transposition, contient des 1 sur la
diagonale, sauf la ligne i, o le 1 est dans la colonne j, et la ligne j, o le 1 est dans la colonne i ; tous autres
termes sont nuls.

Remarque :
On montre assez facilement que le dterminant dune matrice de transposition P est 1. Lorsque lon permute
deux lignes, le dterminant du systme de dpart change de signe.

Pour la matrice P1 A on a alors (P1 A)11 6= 0. Par des combinaisons linaires, on annule ensuite les lments,
de la premire colonne, situs sous la diagonale principale, cela revient multiplier la matrice P A gauche par
une matrice E1 dfinie par la suite. Plus gnralement, le fait de remplacer la ligne i par la ligne i + un multiple
de la ligne j (li li + lj ) est quivalent multiplier le systme de dpart par une matrice inversible Ei qui
vaut 1 sur toute la diagonale et 0 partout ailleurs sauf aij , qui vaut . Pour obtenir linverse de cette matrice Ei ,
il suffit alors de remplacer par .
Dune faon gnrale, en posant A(0) = A et B (0) = B nous obtenons :

A(1) = E1 P1 A(0) et det(A(1) ) = det(E1 ) det(P1 ) det(A(0) ) = det(A)

car det(E1 ) = 1 et det(P1 ) = 1 en cas dchange de lignes.

Llimination se traduit donc matriciellement par :


pour k = 1, . . . , n 1 rpter : A(k) = Ek Pk A(k1) et B (k) = Ek Pk B (k1)

Aprs la (n1)me tape, la matrice A(n1) = En1 Pn1 En2 Pn2 . . . E1 P1 A(0) est triangulaire suprieure.
Ainsi M = En1 Pn1 En2 Pn2 . . . E1 P1 telle que M A soit triangulaire suprieure. Comme det(M ) = 1,
(1) (2) (3) (n1) (n1) (k)
det(A(n1) ) = det(A) = a11 a22 a33 . . . an1 n1 ann o akk est le kime pivot.

Exercice 7 : Dterminer les matrices Ei et Pi pour les systmes linaires suivants



5u1 + 2u2 + u3 = 12
5u1 + 2u2 + 2u3 = 15
4u1 + 2u2 + u3 = 3


5u1 + 2u2 + u3 = 12
5u1 6u2 + 2u3 = 1
4u1 + 2u2 + u3 = 3

II.4.2 Factorisation LU dune matrice.


Supposons que nous ayons russi exprimer la matrice A en un produit de deux matrices triangulaires L et
U . Comment cela nous permet-il de rsoudre le systme AX = B ? Il suffit de remarquer que :

AX = LU X = B
4. M na aucune utilit pratique.

10
II.5. Mthode de Cholesky.

et de poser U X = Y . La rsolution du systme linaire se fait alors en deux tapes :

LY = B

UX = Y
Intressons nous maintenant la manire de construire une dcomposition LU pour une matrice A. Supposons
que lon ne sintresse pas leffet des erreurs darrondi dans la mthode de Gauss et donc que lon ne cherche
pas appliquer une stratgie du pivot.
Sil est possible de choisir, au cours de llimination, P1 = P2 = . . . = Pn1 = I, ce qui signifie
quaucune permutation nest ncessaire, on peut crire : A(n1) = En1 En2 . . . E1 A ou A(n1) = M A avec
M = En1 En2 . . . E1 .
On peut alors poser U = A(n1) puisque A(n1) est une matrice triangulaire suprieure obtenue par le
procd dlimination de la mthode de Gauss. De plus, les matrices E1 , E2 , . . . En1 tant toutes triangulaires
infrieures alors la matrice M lest aussi ainsi que L = M 1 . Ainsi la matrice A scrit comme le produit
A = LU dune matrice L triangulaire infrieure (Lower) et dune matrice U triangulaire suprieure (Upper).

En rsum : P1 = P2 = . . . = Pn1 = I A = LU avec : L = (En1 En2 . . . E1 )1 et U =


(En1 En2 . . . E1 )A

Thorme : Condition suffisante pour une factorisation LU dune matrice.


Soit A = (aij ) une matrice carre dordre n telle que les n sous-matrices

a11 a12 a1k
.. ..
. .
k = .. .. (1 k n)

. .
ak1 ak2 akk

soient inversibles alors il existe une matrice triangulaire infrieure L et une matrice triangulaire suprieure U
avec uii = 1 (1 i n) telles que A = LU . De plus, cette dcomposition est unique.

Dans la pratique, on construit cette dcomposition de A en LU par identification.

Exercice 8 : Dterminer les matrices L triangulaire infrieure et U triangulaire suprieure pour une matrice
4 4 quelconque note A.

Lintrt de la mthode de factorisation LU est de pouvoir rsoudre plusieurs systmes linaires ayant la
mme matrice : situation que lon rencontre souvent, notamment pour calculer linverse dune matrice. Il suffit
alors de conserver les matrices L et U et de rsoudre ensuite AX = B par les rsolutions successives des deux
systmes triangulaires : LY = B puis U X = Y . Le gain en nombre doprations est substantiel et on peut
limiter lespace mmoire au stockage des donnes.

II.5 Mthode de Cholesky.


On tudie lapplication du thorme prcdent et de la mthode LU au cas des matrices A symtriques.

Considrons la rsolution dun systme linaire AX = B o A Mnn est une matrice carre symtrique,
dfinie positive et b Rn . On dcompose A sous la forme : A = LL , o L est une matrice triangulaire
infrieure. On se ramne alors rsoudre successivement les systmes triangulaires :

LY = b puis L X = Y

car AX = b LL X = B LY = B avec Y = L X.

11
II.5. Mthode de Cholesky.

Dfinition :
Une matrice A Mnn est dfinie positive si : quel que soit X Rn X AX 0 et X AX = 0
X=0

Proposition :
Une matrice A dfinie positive est rgulire (det(A) 6= 0).

Thorme : Factorisation de Cholesky dune matrice.


Si A est symtrique, dfinie positive, il existe au moins une matrice L triangulaire infrieure telle que A =
LL . De plus, on peut imposer que tous les lments diagonaux de L soient positifs et alors la dcomposition
de Cholesky de A est unique.

Dfinition :
La matrice A est dominante diagonale stricte si :
n
X
pour tout 1 i n : |aii | > |aij | (II.1)
j=1
j6=i

Proprit :
Une matrice A Mnn symtrique, relle, dominante diagonale stricte dont les lments diagonaux sont
tous positifs est dfinie positive.

II.5.1 Factorisation de A = LL .
Comme A est symtrique il suffit didentifier, par exemple,les parties triangulaires infrieures.

11 0 0 11 21 n1 a11
.. .. .. ..
. .
= . . sym

21 22 0
0 22

.. . . . . . .

. . . 0 .
. 0 . . .
. .
. . .


n1 n2 nn 0 0 nn an1 an2 ann

En procdant ligne par ligne :



1re ligne de L : a11 = 211 do si a11 > 0 alors 11 = + a11
a21
2me ligne de L : a21 = 21 11 do 21 =
11

a22 = 221 + 222 do si S = a22 221 > 0 alors 22 = + S
Supposons que les lignes 3, . . . , k 1 soient dtermines, calculons la kme ligne :
ak1
1re colonne : ak1 = k1 11 do k1 =
11
pour j = 2, . . . , k 1 : j me colonne on a : akj = k1 j1 + k2 j2 + . . . + kj jj puisque j < k
j1
1 X
do en calculant dans cet ordre on obtient : kj = (akj kp jp )
jj p=1

kme colonne : akk = 2k1 + 2k2 + . . . + 2kk do si S = akk 2k1 2k2 . . . 2k k1 > 0 alors kk = + S
Exercice 9:
4 2 1 2 0 0
Pour A = 2 10 1/2 montrer que lon obtient A = LLT avec L = 1 3 0
1 1/2 5/2 1/2 0 3/2

12
II.5. Mthode de Cholesky.

II.5.2 Cot de la mthode de Cholesky.


n2 n3
Le cot asymptotique est n racines carres, divisions, mutiplications et additions. Donc la mthode
2 6
de Cholesky est plus rapide que la mthode de Gauss pour rsoudre des systmes linaires matrice symtrique,
dfinie positive.

Remarques : Le dterminant de A est gal (11 .22 . . . nn )2

La matrice A tant symtrique, il suffit de stocker sa partie triangulaire infrieure.


Pour conomiser la place en mmoire centrale, on peut stocker la matrice L dans les mmes mmoires que
celles de A.

II.5.3 Factorisation A = LDL .


Cest une variante de la mthode de Cholesky, D est une matrice diagonale et L une matrice triangulaire
infrieure avec : ii = 1 (1 i n). Elle permet dviter le calcul des racines carres.

13
C HAPITRE III

Mthodes de rsolution itratives

La rsolution numrique des grands systmes linaires peut parfois ncessiter lemploi de mthodes autres
que les mthodes directes. La raison principale est que ces dernires requirent la mise en mmoire dune
matrice de trs grande taille, avec peu de possibilits de comprimer toute cette information. Les mthodes
itratives, en revanche, permettent de ne placer en mmoire que les coefficients non nuls dune matrice. Cela
est particulirement important avec les matrices dites creuses, souvent rencontres par exemple dans le calcul
lments finis, dont une grande partie des coefficients sont nuls. Les mthodes directes ne permettent pas cette
possibilit puisque le processus mme de dcomposition tend remplir la matrice. En effet, la plupart des
coefficients nuls dune matrice creuse deviennent non nuls au terme de la dcomposition.

Les mthodes itratives possdent donc des avantages suffisamment importants pour justifier une recherche
active dans ce domaine. Cependant, contrairement par exemple la mthode de dcomposition LU , le succs
nest pas assur quelle que soit la matrice A pour laquelle on souhaite rsoudre un systme linaire de la forme

Ax = b.

La convergence des mthodes itratives nest ralise que dans certaines conditions qui seront prcises dans
ce chapitre. Enfin, signalons que les mthodes itratives, lorsquelles convergent, ne deviennent avantageuses
que pour les systmes linaires de trs grande taille.

III.1 Principe des mthodes itratives


III.1.1 Mthodes des points fixes
Rappelons tout dabord quon dsigne par point fixe dune fonction g une valeur x qui reste invariante pour
cette fonction, cest--dire toute solution de
x = g(x)
est un point fixe de la fonction g.

14
III.1. Principe des mthodes itratives

Il existe un algorithme trs simple permettant de dterminer des points fixes. Il suffit en effet deffectuer les
itrations de la faon suivante : (
x0 donn
xn+1 = g(xn )
partir dune valeur estime initiale x0 . Lintrt de cet algorithme rside dans sa gnralit et dans la relative
facilit avec laquelle on peut en faire lanalyse de convergence. Il en rsulte lalgorithme plus complet suivant :

Algorithme des points fixes


On dfinit la fonction g par un sous-programme
lire (prcision), N max (nombre maximum ditrations tolres), x(0) (initialisation).
indic = 0 i = 0
tant que indic = 0 et i N max rpter :
i =i+1
x(i) = g(x(i1) )
si kx(i) x(i1) k < (kx(i) k + kx(i1) k) alors indic = 1 x = x(i)
fin de si
fin de tant que
si indic = 0 alors crire "Nombre maximum ditrations atteint" sinon crire x
Fin

Il est videmment possible de rsoudre des quations, linaires ou non linaires, de la forme f (x) = 0 en
utilisant cet algorithme des points fixes. Il suffit pour cela de transformer lquation f (x) = 0 en un problme
quivalent x = g(x), mais il existe en gnral une infinit de faons diffrentes de la faire ; certains choix
donnant lieu des algorithmes convergents, dautres pas.

III.1.2 Convergence de la mthode des points fixes


On souhaite maintenant pouvoir dterminer dans quelles conditions la mthode des points fixes est conver-
gente pour la rsolution de lquation f (x) = 0. Cette quation ayant t transforme en une quation qui-
valente de la forme g(x) = x, on considre une valeur r la fois racine de f (x) = 0 et point fixe de g. On a
donc :
f (r) = 0
et
r = g(r)
On dfinit lerreur ltape n comme tant :
e(n) = x(n) r
Lalgorithme des points fixes convergera vers la solution r si lerreur e(n) tend vers zro lorsque n devient
grand. Par dfinition,
e(n+1) = x(n+1) r = g(x(n) ) g(r)

En utilisant ensuite un dveloppement de Taylor, lerreur ltape n + 1 peut tre approche par
e(n+1) g (r)e(n)
lorsque g (r) 6= 0. Lerreur ltape (n + 1) est donc directement proportionnelle lerreur ltape n, elle ne
pourra donc diminuer que si la condition ncessaire de convergence suivante est vrifie
|g (r)| < 1.
Ce rsultat a dj t illustr sur les figures I.1 et I.2 du chapitre I. Cette condition est ncessaire mais pas
suffisante, la convergence dune mthode de point fixes dpend galement fortement du choix de la valeur
initiale x(0) . Celui-ci est en gnral choisi de manire intuitive, aussi prs que possible de la solution.

15
III.1. Principe des mthodes itratives

III.1.3 Mthodes des points fixes en dimension n


La notion de point fixe se gnralise facilement dans le cas de plusieurs variables. En effet, en notant
x = (x1 , x2 , , xn ), il sagit simplement dune solution de

x1 = g1 (x1 , x2 , , xn )
x2 = g2 (x1 , x2 , , xn )
x3 = g3 (x1 , x2 , , xn )
..
.
xn = gn (x1 , x2 , , xn )

que lon peut crire sous forme condense


x = g(x). (III.1)
Lalgorithme de base de la mthode des points fixes en dimension n reste le mme, mais ltude de la
convergence devient plus dlicate. On se contentera, dans ce paragraphe de considrer un cas particulier de
lquation (III.1) de la forme
x = Ax
o A est une matrice carre quelconque de dimension n. On cherche alors une expression analogue de la
condition de convergence obtenue en dimension 1. La mthode de recherche des points fixes prend dans ce cas
la forme
x(i+1) = Ax(i) = A(Ax(i1) ) = = Ai+1 x(0)
(i) (i) (i)
o la notation x(i) = (x1 , x2 , , xn ) a t introduite.
Il y aura donc convergence vers 0 de la mthode des points fixes si la suite Ai x(0) tend vers 0 lorsque i tend
vers linfini. Pour tablir sous quelles conditions cela se produit, on introduit deux dfinitions :
Dfinition :
Le rayon spectral dune matrice A est dfini par

(A) = max |i | (III.2)


1in

o |i | dsigne la valeur absolue (ou le module complexe) de la valeur propre i de A.

Dfinition :
Une matrice A est dite convergente si :
lim An = 0 (III.3)
n+

Suivant cette dernire dfinition, il est clair que le cas particulier de la mthode des points fixes en dimension
n pour lequel lquation rsoudre est de la forme x = Ax convergera si la matrice A est convergente.
Pour terminer ce paragraphe, le thorme suivant, fournissant des conditions quivalentes permettant de
dterminer si une matrice A est convergente, est introduit.
Thorme :
Les quatre assertions suivantes sont quivalentes :
1. La matrice A est convergente.
2. Pour tout vecteur x
lim An x = 0 (III.4)
n+

3. Le rayon spectral de A est strictement infrieur 1 ((A) < 1)


4. Pour toute norme matricielle,
kAk < 1. (III.5)

16
III.2. Mthodes itratives pour les systmes linaires

III.2 Mthodes itratives pour les systmes linaires


III.2.1 Principe
Pour rsoudre un systme linaire de la forme AX = B o A Mnn , X et B Rn en utilisant une
mthode itrative, on va donc chercher formuler le systme linaire rsoudre sous la forme dun problme
de points fixes. Pour cela, on dcompose A sous la forme : A = M N o M, N Mnn et M est facilement
inversible , on obtient alors :

AX = B ou M X = N X + B ou X = M 1 N X + M 1 B

Partant dun vecteur X (0) arbitraire, on construit la suite X (1) , X (2) , . . . , X (p) . . . par la relation de rcur-
rence : X (p+1) = M 1 N X (p) + M 1 B
Quand p tend vers linfini, le vecteur X (p) tend vers le vecteur limite X et lon a :

X = M 1 N X + M 1 B ou (M N )X = B ou AX = B

Daprs le thorme nonc dans le paragraphe prcdent, cette mthode sera convergente lorsque le rayon
spectral de M 1 N est infrieur 1 :
(M 1 N ) < 1

Remarque :
On peut comparer la vitesse de convergence de deux mthodes itratives : la plus rapide est celle dont la
matrice a le plus petit rayon spectral.
Le principe de construction dune mthode itrative pour la rsolution de systmes linaires ayant t pr-
sente, nous nous intressons maintenant aux deux mthodes les plus couramment employes.

III.2.2 Mthode de Jacobi


Pour cette mthode, nous dcomposons la matrice A du systme AX = B sous la forme :

A=DEF

o D est une matrice diagonale telle que dii = aii (1 i n),


E est une matrice triangulaire infrieure dfinie par : eij = aij (1 j < i n), les autres eij tant
nuls,
F est une matrice triangulaire suprieure avec : fij = aij (1 i < j n) et les autres lments de
F sont nuls.
Pour la mthode de Jacobi nous choisissons M = D et N = E + F . tant donn X (0) , les lments de la
suite sont dfinis, sous rserve que D soit inversible, par :

DX (p+1) = (E + F )X (p) + B ou X (p+1) = D 1 (E + F )X (p) + D 1 B

En notant J = D 1 (E + F ), la mthode de Jacobi convergera donc si le rayon spectral de J est infrieur


1. Le calcul du rayon spectral dune matrice tant un problme difficile, surtout si la matrice est de grande
taille, on introduit la dfinition dun type de matrice qui vrifie automatiquement la condition de convergence
de la mthode de Jacobi.
Dfinition :
Une matrice A est dite dominante diagonale stricte si :
n
X
|aii | > |aij | i
j=1,j6=i

17
III.3. Rsolution dun systme dquations quelconques

Thorme :
Si A est dominante diagonale stricte, la mthode de Jacobi est convergente.
Exercice 10 :
Soit le systme linaire :
    
10 1 x1 11
= dont la solution est x1 = 1 et x2 = 1. (III.6)
2 10 x2 12

crire les formules permettant de calculer litr X (k+1) en fonction de litr X (k) . Que peut-on dire sur
la convergence ou la divergence de la mthode de Jacobi pour ce systme ?
Mmes questions pour le systme linaire :
    
1 10 x1 11
= dont la solution est x1 = 1 et x2 = 1. (III.7)
10 2 x2 12

En pratique, pour des questions de limitations despace de stockage, on ne conserve en mmoire que deux
vecteurs itrs conscutifs.

III.2.3 Mthode de Gauss-Seidel


Comme dans la mthode de Jacobi, nous dcomposons la matrice A du systme : AX = B sous la forme :
A = D E F . Pour la mthode de Gauss-Seidel, nous posons M = D E et N = F , alors tant donn
X (0) , on construit la suite X (1) , . . . , X (p) , . . . les lments de la suite sont dfinis par :

(D E)X (p+1) = F X (p) + B ou X (p+1) = (D E)1 F X (p) + (D E)1 B


En notant L = (D E)1 F la mthode converge lorsque (L) < 1.
Thorme :
Si A est dominante diagonale stricte, la mthode de Gauss-Seidel est convergente.
Exercice 11 : Ecrire les formules permettant de calculer litr X (k+1) en fonction de litr X (k) avec la
mthode Gauss-Seidel pour rsoudre les systmes linaires (III.6) et (III.7). Que peut-on dire sur la convergence
ou la divergence de la mthode de Gauss-Seidel pour ces systmes ?
Remarque :
En gnral, la mthode de Gauss-Seidel converge plus rapidement que la mthode de Jacobi.

III.3 Rsolution dun systme dquations quelconques


Nous considrons maintenant le problme plus gnral suivant :
soit A Rn et F une application dfinie par F : A Rn 7 Rn , on cherche, sil existe, X A Rn
tel que F (X ) = 0.
Le problme consiste donc trouver le ou les vecteurs X = (x1 , x2 , , xn )T vrifiant les n quations
non linaires suivantes :

f1 (x1 , x2 , , xn ) = 0
f2 (x1 , x2 , , xn ) = 0
f3 (x1 , x2 , , xn ) =0 (III.8)
.. ..
. .
fn (x1 , x2 , , xn ) = 0

o les fi sont des fonctions de n variables que nous supposons diffrentiables.

18
III.3. Rsolution dun systme dquations quelconques

III.3.1 Mthode des points fixes


Comme nous lavons constat dans le paragraphe III.1 de ce chapitre, pour construire la formule de rcur-
rence, il est ncessaire de transformer lquation donne en une quation au point fixe X = (X). Par analogie
avec la dimension 1 o la convergence vers le point fixe r est lie g (r), en dimension n, elle sera lie la
matrice jacobienne. Lquivalent multidimensionnel de la condition ncessaire de convergence |g (r)| < 1 est
alors tout simplement le rayon spectral de la matrice jacobienne qui doit tre infrieur 1.

III.3.2 Mthode de Newton-Raphson


Dans ce paragraphe, nous prsentons la mthode la plus importante et la plus utilise en pratique pour la
rsolution de systmes non linaires. Celle-ci est base sur la linarisation de chaque quation rsoudre : on ne
considrera que la partie linaire du dveloppement de Taylor (limit au premier ordre). On crit pour chaque
(k) (k)
quation de (III.8), i.e. pour 1 i n et au voisinage de X (k) = (x1 , . . . , xn )
n
(k) (k) fi (k)
X
0 = fi (x1 , . . . , xn ) fi (x1 , . . . , x(k)
n )+ (xj xj ) (x1 , . . . , x(k)
n )
xj
j=1

(k+1) (k+1)
Litr X (k+1) = (x1 , . . . , xn ) est alors obtenu aprs rsolution du systme linaire :
h i h i h i
J(X (k) ) [X] = F (X (k) ) en posant [X] = X (k+1) X (k) (III.9)

avec
f1 (k) f1

(X ) (X (k) ) (k) (k)
f1 (x1 , . . . , xn )
i x1 xn h
.. .. ..
h i
(k) , F (X (k) ) =

J(X ) = . . .


fn (k) fn (k) (k) (k)
fn (x1 , . . . , xn )
(X ) (X )
x1 xn
et (k+1) (k)
x1 x1 X1
.. .. ..
. = . + .


(k+1) (k) Xn
xn xn
La formule (III.9) est la formule itrative de la mthode de Newton-Raphson pour les systmes dquations
non linaires.
Remarque :
La mthode de Newton converge rapidement si X (0) nest pas trop loign de X .

19
C HAPITRE IV

Interpolation

IV.1 Introduction
Ce chapitre, ainsi que les deux chapitres suivants qui portent sur lapproximation de fonction et sur lin-
tgration numrique, sont trs troitement lis puisquils tendent rpondre diverses facettes dun mme
problme. Ce problme est le suivant : partir dune fonction f (x) connue seulement en (n + 1) points de
la forme ((xi , f (xi )) pour i = 0, 1, 2, ...n), peut-on construire une approximation de f (x) et ce, pour tout x ?
Les points ((xi , f (xi )) pour i = 0, 1, 2, ....n) sont appels points de collocation ou points dinterpolation et
peuvent provenir de donnes exprimentales. En dautres termes, si lon ne connat que les points dinterpola-
tion (xi , f (xi )) dune fonction, peut-on obtenir une approximation de f (x) pour une valeur de x diffrente des
xi ? Cest cette question et diffrentes manires dy rpondre que nous nous intressons dans ce chapitre.
Avant de dbuter cette partie du cours ddie linterpolation, on rappelle certains rsultats concernant les
polynmes.

Thorme
Un polynme de degr n, de forme gnrale

Pn (x) = a0 + a1 x + a2 x2 + +a3 x3 + + an xn (IV.1)

possde exactement n racines qui peuvent tre relles ou complexes.

Corollaire
Par (n + 1) points de collocation dabscisses distinctes ((xi , f (xi )) pour i = 0, 1, 2, , n), on ne peut
faire correspondre quun et un seul polynme de degr n.

Remarque
Le corollaire prcdent montre lunicit du polynme dinterpolation passant par n + 1 points donns.
Il reste en assurer lexistence, ce qui fait lobjet des paragraphes suivants o il sera construit laide de
diffrentes mthodes.

20
IV.2. Matrice de Vandermonde

IV.2 Matrice de Vandermonde


Le problme dinterpolation consiste donc dterminer lunique polynme de degr n passant par les
(n + 1) points de collocation ((xi , f (xi )) pour i = 0, 1, 2, , n). Une premire mthode de construction
repose sur la dtermination des inconnues ai du polynme (IV.1) en vrifiant directement les (n + 1) quations
de collocation :
Pn (xi ) = f (xi ) pour i = 0, 1, 2, , n.
Le problme rsoudre prend alors la forme dun systme de (n + 1) quations (n + 1) inconnues qui scrit
sous la forme suivante :
1 x0 x20 x30 xn0

a0 f (x0 )
1 x1 x2 x3 xn a1 f (x1 )
1 1 1
1 x2 x2 x3 xn a2 f (x2 )
2 2 2 = (IV.2)
.. .. .. .. .. .. .. ..

. . . . . . . .
1 xn x2n x3n xnn an f (xn )
La matrice de ce systme linaire est appelle matrice de Vandermonde.
Remarque
Le conditionnement de cette matrice augmente fortement avec la taille du systme, cette mthode est donc
simple mettre en uvre mais aussi particulirement instable, elle est donc rarement utilise. On privilgiera
plutt les mthodes qui ne ncessitent pas de rsoudre un systme linaire, plus efficaces qui sont prsentes
dans les paragraphes suivants.

IV.3 Interpolation de Lagrange


Linterpolation de Lagrange est une faon simple et systmatique de construire un polynme de collocation.

IV.3.1 Calcul du polynme dinterpolation de Lagrange


Etant donn (n + 1) points ((xi , f (xi )), pour i = 0, 1, 2, , n), supposons que lon sache construire
(n + 1) polynmes Li (x) de degr n satisfaisant les conditions suivantes :
(
Li (xi ) = 1 i
(IV.3)
Li (xj ) = 0 j 6= i

Dans ces conditions, la fonction L, dfinie par :


n
X
L(x) = f (xi )Li (x)
i=0

est un polynme de degr n qui passe par les (n + 1) points de collocation. Cest donc lunique polynme
recherch, appel polynme dinterpolation de Lagrange.

Il reste donc construire les fonctions Li pour achever la construction du polynme dinterpolation. Consi-
drons par exemple la fonction L0 . Elle doit sannuler en x = x1 , x2 , x3 , , xn . Il faut donc introduire la
fonction :
(x x1 )(x x2 )(x x3 ) (x xn )
qui vaut :
(x0 x1 )(x0 x2 )(x0 x3 ) (x0 xn )
en x = x0 . On a alors aprs division :

(x x1 )(x x2 )(x x3 ) (x xn )
L0 (x) =
(x0 x1 )(x0 x2 )(x0 x3 ) (x0 xn )

21
IV.3. Interpolation de Lagrange

qui est bien un polynme dordre n. On peut procder de mme pour exprimer les autres fonctions Li , i =
1, 2, , n ce qui conduit la formule gnrale suivante :
n
Y x xj
Li (x) = (IV.4)
xi xj
0jn
j6=i

Exercice 12 : Soient les points (0, 1), (1, 2), (2, 9) et (3, 28). Dterminer le polynme dinterpolation de
Lagrange pour ces point de collocation.
On obtient alors une approximation dune fonction f connue seulement en un certain nombre de points.
Cette opration entrane videmment une erreur dinterpolation quil est ncessaire de pouvoir quantifier.

IV.3.2 Erreur dinterpolation


Thorme :
Soit x0 < x1 < x1 < < xn , les abscisses des points de collocation. On suppose que la fonction f est
dfinie dans lintervalle [x0 , xn ] et quelle est (n + 1) fois continment drivable dans ]x0 , xn [. Alors pour tout
x [x0 , xn ], il existe un point (x) appartenant ]x0 , xn [ tel que lerreur dinterpolation, note , prenne la
forme :
n
f (n+1) ((x)) Y
(x) = f (x) Pn (x) = (x xj ) (IV.5)
(n + 1)!
j=0

En pratique, nous utilisons la formule de majoration :



n
kf (n+1) k Y
|(x)| = |f (x) Pn (x)| sup |x xj |
(n + 1)! x[a,b]
j=0

Consquences :
On constate immdiatement que lerreur dinterpolation est nulle aux points de collocation. De plus, si f est
un polynme de degr n alors f et son polynme dinterpolation sur un support (n+1) points sont identiques.

IV.3.3 Instabilit de linterpolation de Lagrange


Si lon remplace f (xi ) par la valeur approche f(xi ) (0 i n) alors Pn (x) est remplac par Pn (x).
Nous pouvons crire :
n n
Li (x)f(xi )
X X
Pn (x) = Li (x)f (xi ) et Pn (x) =
i=0 i=0

do
|Pn (x) Pn (x)| max |f (xk ) f(xk )| kn k
0kn
n
X
o kn k = sup |Li (x)|.
x[a,b] i=0
La stabilit est assure si kn k est petit, or on montre que cette valeur tend vers linfini quel que soit le
support.
Remarque :
Dans les applications o lon est souvent amen choisir un support de points rgulirement espacs on
observe de fortes instabilits quand n est grand : les effets de bords (fig. IV.1, page 23). En consquence, on
recommande dinterpoler laide de polynme de degr peu lev ( 20) et sur de petits supports. Cest le cas
pour lapproche dune courbe par une ligne polygonale.

22
IV.4. Interpolation de Newton

2.5
P10
exp(-x**2)

1.5

0.5

-0.5
-4 -2 0 2 4

F IGURE IV.1 Effets de bords dans linterpolation de Lagrange

IV.4 Interpolation de Newton


La mthode dinterpolation de Lagrange prsente un inconvnient majeur : elle nest pas rcursive. En
effet, si lon souhaite passer dun polynme de degr n un polynme de degr (n + 1) (en ajoutant un point
de collocation), on doit reprendre pratiquement tout le processus zro. Cest en revanche ce que permet la
mthode dinterpolation de Newton.

IV.4.1 Dtermination du polynme dinterpolation de Newton


Lorsquon crit lexpression gnrale dun polynme, on pense immdiatement la forme

Pn (x) = a0 + a1 x + a2 x2 + a3 x3 + + an xn

qui est la plus utilise. Il en existe cependant dautres qui sont plus appropries au cas de linterpolation, par
exemple :

Pn (x) = a0
+ a1 (x x0 )
+ a2 (x x0 )(x x1 )
+ a3 (x x0 )(x x1 )(x x2 ) (IV.6)
..
.
+ an1 (x x0 )(x x1 )(x x2 ) (x xn2 )
+ an (x x0 )(x x1 )(x x2 ) (x xn1 )

On notera que le coefficient de an comporte n monmes de la forme (xxi ) et quen consquence, ce polynme
est de degr n.
Lintrt de cette formulation apparat lorsquon essaie de dterminer les (n + 1) coefficients ai tels que
Pn (x) passe par les (n + 1) points de collocation (xi , f (xi )) pour i = 0, 1, 2, , n. On doit, en effet, sassurer
alors que :
Pn (xi ) = f (xi ) pour i = 0, 1, 2, , n

23
IV.4. Interpolation de Newton

Comme les coefficients de Pn sannulent tous en x = x0 sauf le premier a0 , on obtient :

Pn (x0 ) = a0 = f (x0 )

Le premier coefficient est donc :


a0 = f (x0 )
On doit ensuite sassurer que Pn (x1 ) = f (x1 ), cest dire :

Pn (x1 ) = a0 + a1 (x1 x0 ) = f (x0 ) + a1 (x1 x0 ) = f (x1 )

ce qui permet disoler a1 et fournit :


f (x1 ) f (x0 )
a1 =
x1 x0
Dfinition :
On dfinit les premires diffrences divises de la fonction f par :
f (xi+1 ) f (xi )
f [xi , xi+1 ] =
xi+1 xi
De cette manire, le coefficient a1 peut scrire :

a1 = f [x0 , x1 ]

Remarque :
Il est facile de dmontrer que le polynme de degr 1 :

P1 (x) = f (x0 ) + f [x0 , x1 ](x x0 )

obtenu en ne considrant que les deux premiers coefficients de (IV.6) et les expressions de a0 et a1 dtermines,
passe par les points (x0 , f (x0 )) et (x1 , f (x1 )). Il reprsente donc lunique polynme de collocation de degr 1
passant par ces deux points.
Le troisime coefficient a2 est son tour dtermin par :

Pn (x2 ) = a0 + a1 (x2 x0 ) + a2 (x2 x0 )(x2 x1 ) = f (x2 )

ou encore :
Pn (x2 ) = f (x0 ) + f [x0 , x1 ] (x2 x0 ) + a2 (x2 x0 )(x2 x1 ) = f (x2 )

En isolant a2 , on obtient :
f [x1 , x2 ] f [x0 , x1 ]
a2 =
x2 x0
Cela nous donne donc une expression qui fait intervenir une diffrence divise de diffrences divises.
Dfinition :
Les deuximes diffrences divises de la fonction f sont dfinies partir des premires diffrences divises
par la relation :
f [xi+1 , xi+2 ] f [xi , xi+1 ]
f [xi , xi+1 , xi+2 ] =
xi+2 xi
De mme, les n-imes diffrences divises de la fonction f sont dfinies partir des (n 1)-imes diffrences
divises de la faon suivante :
f [x1 , x2 , , xn ] f [x0 , x1 , x2 , , xn1 ]
f [x0 , x1 , x2 , , xn ] =
xn x0
Suivant cette notation, on a :
a2 = f [x0 , x1 , x2 ]

24
IV.4. Interpolation de Newton

Remarque :
Il est facile de dmontrer que le polynme :

P2 (x) = f (x0 ) + f [x0 , x1 ](x x0 ) + f [x0 , x1 , x2 ](x x0 )(x x1 )

passe par les trois premiers points de collocation. On remarque de plus que ce polynme de degr 2 sobtient
simplement par lajout dun terme de degr 2 au polynme P1 (x) dj calcul. En raison de cette proprit,
cette mthode est dite rcursive et peut tre rsume par le thorme suivant :
Thorme :
Lunique polynme de degr n passant par les (n+1) points de collocation (xi , f (xi )) pour i = 0, 1, 2, , n,
peut scrire selon la formule dinterpolation de Newton (IV.6) ou encore sous la forme rcursive :

Pn (x) = Pn1 (x) + an (x x0 )(x x1 ) (x xn1 )

Les coefficients de ce polynme sont les diffrences divises :

ai = f [x0 , x1 , x2 , , xi ] pour 0 i n

Il reste maintenant calculer efficacement la valeur de ce polynme. La manire la plus simple consiste
construire une table dite de diffrences divises de la faons suivante.

Table de diffrences divises


xi f (xi ) f [xi , xi+1 ] f [xi , xi+1 , xi+2 ] f [xi , xi+1 , xi+2 , xi+3 ]
x0 f (x0 )
f [x0 , x1 ]
x1 f (x1 ) f [x0 , x1 , x2 ]
f [x1 , x2 ] f [x0 , x1 , x2 , x3 ]
x2 f (x2 ) f [x1 , x2 , x3 ]
f [x2 , x3 ]
x3 f (x3 )

La construction de cette table est simple. Nous nous sommes arrts aux troisimes diffrences divises,
mais les autres sobtiendraient de la mme manire. Les premires diffrences divises dcoulent de la d-
finition. Par la suite, pour obtenir par exemple f [x0 , x1 , x2 ], il suffit de soustraire les 2 termes adjacents
f [x1 , x2 ]f [x0 , x1 ] et de diviser le rsultat par (x2 x0 ). De mme, pour obtenir f [x0 , x1 , x2 , x3 ], on soustrait
f [x0 , x1 , x2 ] de f [x1 , x2 , x3 ] et lon divise le rsultat par (x3 x0 ).

Exercice 13 :
Construire la table de diffrences divises pour les points (0, 1), (1, 2), (2, 9) et (3, 28) puis le polynme
de collocation avec la formule de Newton. Quel serait le polynme de collocation obtenu par la mthode de
Lagrange ?

IV.4.2 Erreur dinterpolation


Lexpression analytique de lerreur dinterpolation (IV.5) ne permet pas dvaluer la prcision de lapproxi-
mation. Il est cependant souhaitable de pouvoir valuer cette erreur, mme de faon grossire. Cela est possible
avec la formule de Newton. En effet, lexpression (IV.5) fait intervenir la drive dordre (n + 1) de la fonction
f en x = . Cest ce terme quil est ncessaire destimer, puisque cest le seul qui ne puisse pas tre valu
exactement.
Considrons le cas particulier o les abscisses xi sont galement distantes :

xi+1 xi = h

25
IV.5. Interpolation laide de fonctions Splines cubiques

Il faut tablir un lien entre les drives de la fonction f et les diffrences divises. On remarque dans un premier
temps que f [x0 , x1 ] est une approximation dordre 1 de la drive de f en x = x0 :

f [x0 , x1 ] = f (x0 ) + O(h)

En effet, on a :
f (x1 ) f (x0 ) f (x0 + h) f (x0 )
f [x0 , x1 ] = =
x1 x0 h
En utilisant le dveloppement de Taylor, on obtient :

h2
  
1 3
f [x0 , x1 ] = f (x0 ) + hf (x0 ) + f (x0 ) + O(h ) f (x0 ) = f (x0 ) + O(h)

h 2

De mme, on peut montrer qu une constante prs la n-ime diffrence divise de f est une approximation
dordre 1 de la drive n-ime de f en x = x0 . On peut en effet dmontrer que :

f (n) (x0 )
f [x0 , x1 , x2 , , xn ] = + O(h)
n!
Si on suppose alors que la drive (n + 1)-ime de f varie peu dans lintervalle [x0 , xn ], on a lapproximation
suivante :
f (n+1) (x0 ) f (n+1) ()
f [x0 , x1 , x2 , , xn , xn+1 ]
(n + 1)! (n + 1)!
On peut ainsi estimer le terme derreur (IV.5) par

(x) f [x0 , x1 , x2 , , xn , xn+1 ](x x0 )(x x1 ) (x xn )

ce qui revient crire :


(x) Pn+1 (x) Pn (x)

IV.5 Interpolation laide de fonctions Splines cubiques


Lutilisation de polynmes de degr lev est parfois dlicate et peut mener des erreurs dinterpolation
importantes. De plus, il est parfois ncessaire dobtenir des courbes trs rgulires passant par un grand nombre
de points. Cest le cas en conception assiste par ordinateur, o lon cherche reprsenter des objets aux formes
rgulires. Les polynmes de degr lev sont alors peu adquats.
Dans ce paragraphe, nous allons prsenter une mthode qui permet dobtenir des courbes rgulires passant
par un grand nombre de points, linterpolation laide de Splines cubiques. On peut mesurer la rgularit dune
fonction par le biais de ses drives. En effet, plus une fonction est diffrentiable, plus la courbe qui lui est
associe est lisse et plus la fonction est rgulire. Le problme, lorsquon utilise des polynmes de faible degr,
provient du fait quil faut en utiliser plusieurs pour relier tous les points. Cest le cas de linterpolation par
morceaux, qui consiste relier chaque paire de points par un segment de droite. On utilise aussi lappellation
splines linaires. On imagine assez mal comment une telle courbe pourrait permettre de faire la conception
dune carrosserie de voiture ou dune aile davion.
Une voie trs populaire consiste utiliser dans chaque intervalle [xi , xi+1 ] un polynme de degr 3 de la
forme :
Pi (x) = ai x3 + bi x2 + ci x + di pour i = 1, 2, , n
et relier ces diffrents polynmes de faon ce que la courbe rsultante soit deux fois diffrentiable. Cest ce
que lon appelle linterpolation par splines cubiques.
Principe de la mthode :
Soit une fonction f connue sur le support {x0 < x1 < . . . < xn } contenu dans un intervalle [a, b]. On
cherche les polynmes Pi pour i = 1, , n de degr 3 tels que :

26
IV.6. Extrapolation.

1. le polynme P1 passe par la premire extrmit (x0 , f (x0 )), i.e. :

P1 (x0 ) = f (x0 )

et pour lautre extrmit :


Pn (xn ) = f (xn )

2. pour chaque point intrieur, soit pour i = 1, 2, , n 1, les polynmes Pi et Pi+1 passent par le point
(xi , f (xi )) :
Pi (xi ) = f (xi ) pour i = 1, 2, , n 1
Pi+1 (xi ) = f (xi ) pour i = 1, 2, , n 1

3. pour la rgularit de la courbe, les drives premires et secondes de ces deux polynmes sont continues
aux points intrieurs :
Pi (xi ) = Pi+1

(xi ) pour i = 1, 2, , n 1
Pi (xi ) = Pi+1

(xi ) pour i = 1, 2, , n 1

4. et pour complter le systme rsoudre, on fixe de manire arbitraire deux des inconnues. Par exemple,
en posant
P0 (x0 ) = 0 et Pn (xn ) = 0
On parle alors de spline naturelle.

On peut alors montrer que la dtermination du polynme P dfinie par morceaux sur chaque intervalle
[xi , xi+1 ] (0 i n 1) revient alors la rsolution du systme linaire tridiagonal de (n + 1) quations
(n + 1) inconnues suivant


f0 = 0



hi hi+1
i1 , xi , xi+1 ] pour i = 1, 2, 3, , n 1
+ 2f +
fi1 = 6f [x
fi+1
i

hi + h i+1 hi + hi+1




fn = 0

o les inconnues sont les fi pour i = 0, 1, , n et hi = xi xi1 . Lquation de la spline dans lintervalle
[xi1 , xi ] scrit ensuite :
3 3 
f (xi1 ) hi fi1 f (xi ) hi fi
  
(x xi ) (x xi1 )
Pi (x) = fi1 + fi (x xi ) + (x xi1 )
6hi 6hi hi 6 hi 6

Remarque :
Ce procd supprime les effets de bords et fournit une courbe approche lisse .
Exercice 14 :
Soit les 4 points suivants : (1, 1), (2, 4), (4, 9), (5, 11). Dterminer la spline cubique pour ces donnes.

IV.6 Extrapolation.
Lextrapolation est le procd qui consiste interpoler une fonction sur un support donn contenu dans
un intervalle [a, b] et exploiter le polynme dinterpolation en dehors de cet intervalle [a, b]. Ce procd
hasardeux conduit souvent des rsultats non significatifs. Cest dj le cas de linterpolation au voisinage des
extrmits de lintervalle dinterpolation (effets de bords).

27
C HAPITRE V

Approximation de fonctions

V.1 Introduction
Dans le chapitre prcdent, nous avons abord les mthodes dinterpolation pour approcher une fonction
exprimentale. Ce procd dinterpolation, pour lequel on impose que la fonction recherche pour approcher
la fonction exprimentale passe par les points de collocation, donc par les donnes mesures, nest bien adapt
que si les mesures sont dexcellente qualit et si le domaine de dfinition nest pas trop grand.

Dans le cas contraire et, en particulier, lorsque le phnomne mesur est perturb par un bruit de fond , les
rsultats exprimentaux offrent souvent laspect dune dispersion de points autour dune courbe hypothtique
cense dcrire ce phnomne. On prfre alors adopter un point de vue diffrent de linterpolation : plutt que
dimposer que la fonction approche concide avec les points exprimentaux, on demande quelle soit proche
des rsultats exprimentaux de manire globale.

La nature du problme correspond au lissage de courbes irrgulires. Lapproximation permet alors


dapprocher au mieux la fonction mesure par une fonction rgulire.

V.2 Approximation au sens des moindres carrs


Puisquil sagit de la mthode la plus couramment utilise pour lapproximation de fonction, commenons
par prsenter la mthode dapproximation au sens des moindres carrs.
Soit F = C[a, b] et G F un espace vectoriel de dimension finie. Soit f F , le problme consiste donc
chercher g G tel que kf g k = inf gG kf gk, lerreur commise est alors k k = kf g k. Suivant
le choix de norme effectu, cela conduit diffrentes approximations. Si lensemble des fonctions dfinies sur
lensemble discret {x0 , x1 , . . . , xN } est muni de la norme discrte
v
uN
uX
kk = kk2 = kf gk2 = t [f (xj ) g(xj )]2
j=0

28
V.2. Approximation au sens des moindres carrs

il sagit dapproximation au sens des moindres carrs, mthode la plus classique et la plus utilise.

Thorme dexistence
Soit F un espace vectoriel norm, soit G F un sous-espace complet de F . Pour tout f F , il existe au
moins un g G tel que kf g k kf gk pour tout g G. Si de plus, les fonctions de base {g0 , g1 . . . , gn }
vrifient la condition de Haar, i.e. si toute combinaison linaire de ces fonctions de base, coefficients non tous
nuls, admet au plus n racines distinctes, alors g la meilleure approximation de f est unique.

V.2.1 Principe de la mthode


Soit F lensemble des fonctions dfinies sur le support {x0 , x1 , . . . , xN } de R. On munit F du produit
scalaire :
XN
(f, g) = f (xj )g(xj ) (V.1)
j=0

Soit G un sous-espace vectoriel de F de dimension n + 1, avec n < N, engendr par des fonctions lmen-
taires (0 , 1 , . . . , n ).
Soit f F , on cherche g G la meilleure approximation au sens des moindres carrs de f telle que :
n
X
g (x) = ai i (x) et kf g k2 kf gk2 pour tout g G.
i=0

Soit maintenant
n
X n
X
W = kk22 = (f g, f g) = (f ai i , f ak k ) (V.2)
i=0 k=0

La fonction W = W (a0 , a1 , . . . , an ) est donc une fonction de (n + 1) variables dont on cherche un minimum.
Puisque g est, par hypothse, la meilleure approximation au sens des moindres carrs de f , on a

W (a0 , a1 , . . . , an ) = min W (a0 , a1 , . . . , an )


ak , 0kn

et en (a0 , a1 , . . . , an ), on a les conditions :

W
(a , a , . . . , an ) = 0, 0 k n.
ak 0 1

En drivant (V.2) on obtient, pour 0 k n :


n
!
W X
(a0 , a1 , . . . , an ) = 2 ai (i , k ) (f, k )
ak
i=0

soit en (a0 , a1 , . . . , an ) , pour 0 k n :


n
!
W
X

(a , a , . . . , an ) = 2 ai (i , k ) (f, k ) = 0.
ak 0 1
i=0

Cette dernire relation peut alors scrire sous la forme du systme des quations normales :
n
X
(i , k )ai = (f, k ), 0 k n. (V.3)
i=0

29
V.2. Approximation au sens des moindres carrs

La forme matricielle de ce systme est donne par A = , cest--dire :



(0 , 0 ) (0 , 1 ) (0 , n ) a0

(0 , f )
.. ..
. . a1 (1 , f )



. = .. (V.4)

.. .. .

. .

. .


an (n , f )
(n , 0 ) (n , 1 ) (n , n )

Thorme de projection :
Soit f F espace vectoriel sur R muni du produit scalaire (., .) et G un espace vectoriel complet contenu
dans F .
1. Une condition ncessaire et suffisante pour que g G soit la meilleure approximation de f F est :

(f g , g) = 0 pour tout g G (V.5)

2. g est lunique meilleure approximation de f sur G (g tant la projection orthogonale de f sur G).

V.2.2 Evaluation de lerreur


Lerreur commise tant donne par

k k22 = (f g , f g ) = (f g , f ) (f g , g )

daprs (V.5), il vient


k k22 = (f g , f ) = kf k22 (f, g )
et si dim(G) est finie on a :
n
X
k k22 = kf k22 ai (i , f )
i=0

soit en utilisant la forme matricielle du systme des quations normales

kk22 = kf k22 A T

La matrice et le vecteur sont toujours calculables mais si la base {0 , 1 , . . . , n } de G est une base
quelconque la matrice est mal conditionne en gnral.
Exercice 15 :
Dterminer le polynme de degr 2 de meilleure approximation au sens des moindres carrs de la distance
darrt D en fonction de la vitesse initiale v avec les donnes suivantes :

v (m/s) D (m)
12 10,08
16 17,92
24 40,32
32 71,68

On choisit, de prfrence, une base de fonctions de G et un support de faon obtenir une formulation
directe de 1 cest--dire une base de fonctions orthogonales sur le support qui rend la matrice du systme
des quations normales diagonale. La rsolution du systme A = est alors immdiate :

(f, i )
ai = pour 0 i n
(i , i )

30
V.2. Approximation au sens des moindres carrs

V.2.3 Orthogonalisation de Schmidt


Un procd permettant dorthogonaliser une base quelconque est lorthogonalisation de Schmidt. Soit
{0 (x), 1 (x), . . . , n (x)} une base de fonctions quelconques, on construit une base de fonctions orthogo-
nales {0 (x), 1 (x), . . . , n (x)} en posant :

0 (x) = 0 (x)

puis
1 (x) = 1 (x) + a10 0 (x).
On cherche alors le scalaire a10 de sorte que 0 et 1 soient orthogonales, i.e. tel que

(1 , 0 ) = 0.

Comme
(1 , 0 ) = (1 , 0 ) + a10 (0 , 0 )
la condition dorthogonalit fournit alors pour a10

(1 , 0 )
a10 =
(0 , 0 )

Aprs avoir dtermin 1 (x), . . . , k1 (x), on cherche k (x) sous la forme :


k1
X
k (x) = k (x) + aki i (x)
i=0

de sorte que
(k , i ) = 0 pour 0 i k 1.
On obtient :
(k , i )
aki = pour 0 i k 1.
(i , i )

Exercice 16 :
Dterminer le polynme de degr 2 de meilleure approximation au sens des moindres carrs de la distance
darrt D en fonction de la vitesse initiale v avec les donnes suivantes :

v (m/s) D (m)
12 10,08
16 17,92
24 40,32
32 71,68

en construisant au pralable une base orthogonale.

V.2.4 Moindres carrs pondrs


Lutilisation de la mthode dapproximation des moindres carrs suppose que le bruit ou les incertitudes
sont les mmes, constants pour toutes les mesures exprimentales que lon souhaite approcher. Mais dans la
ralit, cette hypothse est loin dtre toujours satisfaite. En fait, on rencontre assez frquemment des situations
o les incertitudes sur les mesures varient au cours de lexprience, donc au cours des mesures, la situation la
plus commune tant celle o elle augmente rgulirement avec les chelles considres.
Dans une telle situation, la mthode des moindres carrs (dits ordinaires ) nest plus le modle le plus
adapt. Il doit tre remplac par le modle dit des Moindres Carrs Pondrs , dont lide gnrale est de

31
V.3. Modles non linaires

donner moins dimportance, dans la dtermination du modle, aux points affects dune incertitude leve. Ceci
est obtenu en gnralisant lapproximation au sens des moindres carrs, en prenant un produit scalaire pondr
avec, pour 0 j N , le poids j > 0 associ labscisse xj .
Les poids permettent de quantifier lindice de confiance que lon accorde la mesure, faite avec lappareil
utilis, en chaque point xj . Si xj fait partie de lensemble des points de mesure pour lesquels lappareil est
prcis alors on prendra j voisin de 1 sinon on prendra j proche de 0.
Ce produit scalaire pondr est dfini par :
N
X
(f, g) = wj f (xj )g(xj ).
j=0

On lassocie la norme pondre dfinie par


N
X
kf k22 = (f, f ) = j [f (xj )]2 .
j=0

Cela permet une approximation en valeurs relatives en choisissant


1
j = (0 j N ).
f (xj )2

On cherche alors minimiser


N
" n
#2
X 1 X
W = kk22 = (f g, f g) = f (xj ) ai i (xj )
f (xj )2
j=0 i=0

En choisissant cette pondration, la fonction dapproximation obtenue passera plus prs des points o f (xi ) est
petit, qui sont alors privilgis, que des points o les valeurs de f (xi ) sont importantes.

V.3 Modles non linaires


Dans la plupart des situations rencontres dans la ralit, les phnomnes ne peuvent tre approchs de
manire raliste par une rgression linaire ou encore par un polynme. En effet, la rpartition des points
peut souvent entraner la ncessit dutiliser un polynme de degr lev pour avoir une erreur relativement
faible , ce qui entrane alors gnralement une instabilit du systme rsoudre.
Une alternative consiste alors se ramener, lorsque cela est possible, un modle linaire au moyen dun
changement de variable. Cette technique est en particulier utilisable pour les lois dites de type puissance ou
exponentielle, souvent rencontres lorsquon cherche modliser des donnes exprimentales. En effet, si lon
veut approcher les points exprimentaux par une fonction de type :

f (x) = a ebx

alors, on obtient :
ln [f (x)] = ln a + bx
ce qui devient, par le changement de variable Y = ln [f (x)] et X = x :

Y = BX + A

avec B = b et A = ln a. On recherche ensuite les coefficients A et B en effectuant une rgression linaire par
la mthode des moindres carrs, puis on en dduit a et b par transformation inverse :

a = eA et b = B.

32
V.4. Comparaison entre interpolation et approximation.

On procde de la mme manire pour les lois de type puissance :

f (x) = axb

Comme
ln [f (x)] = ln a + bln x
le changement de variable Y = ln [f (x)] et X = ln x permet de se ramener

Y = BX + A

avec A = ln a et B = b.

V.4 Comparaison entre interpolation et approximation.


Interpolation : Cest le procd le moins coteux en temps calcul et en place mmoire. Linterpolation
polynomiale est sensible aux erreurs darrondi sur les donnes f (xj ) (do degr du polynme dinter-
polation n 10).
Approximation : Lapproximation au sens des moindres carrs sutilise couramment en pratique. Elle est
peu sensible au choix du support ; si N = 2 ou 3 fois n, on parle alors de mthode de lissage.
Conclusion : Si la fonction approcher est connue avec une grande prcision sur un petit domaine on
choisira linterpolation (procd local), si la fonction est exprimentale (valeurs entaches derreurs) on
prfrera lapproximation au sens des moindres carrs.
Si la fonction approcher est linconnue fondamentale dun problme, on peut choisir de dterminer les
valeurs que prend cette fonction en des points convenablement choisis (ex : mthode des diffrences finies ou
mthode des lments finis) et on utilise linterpolation pour la mise en quations.

33
C HAPITRE VI

Diffrentiation et intgration numriques

VI.1 Introduction
Le contenu de ce chapitre prolonge celui du chapitre IV sur linterpolation puisque quon y utilise sen-
siblement les mmes outils danalyse. Dans le cas de linterpolation, on cherchait valuer une fonction f
connue seulement en quelques points. Dans ce chapitre, le problme consiste obtenir des approximations des
diffrentes drives de cette fonction de mme que de :
Z xn
f (x) dx.
x0
On parle alors de drivation numrique et dintgration numrique. Ce type de problmes est rencontr lorsque,
par exemple, on connat la position dune particule intervalles de temps rguliers et que lon souhaite obtenir
sa vitesse ou encore son acclration. Si, linverse, on connat la vitesse dune particule certains intervalles
de temps, on obtient la distance parcourue en intgrant la vitesse dans lintervalle [x0 , xn ].

Dans le chapitre IV sur linterpolation, on a pu constater quune fonction f peut tre estime laide dun
polynme de degr n avec une certaine erreur (mthodes dinterpolation de Lagrange ou de Newton) :
f (x) = Pn (x) + En (x) (VI.1)
o En est le terme derreur dordre (n + 1). Cest cette relation qui est la base des dveloppements de ce
chapitre.

VI.2 Diffrentiation numrique


La diffrentiation numrique est base la fois sur le dveloppement de Taylor et lutilisation de lgalit
(VI.1). Si lon drive lquation (VI.1) de chaque ct de lgalit, on obtient :
f (x) = Pn (x) + En (x)
f (x) = Pn (x) + En (x)
.. ..
. = .

34
VI.2. Diffrentiation numrique

Ainsi, pour valuer la drive dune fonction f connue aux points (xi , f (xi )) pour i = 0, 1, 2, , n), il
suffit dvaluer le polynme dinterpolation passant par ces points. De plus, le terme derreur associ cette
approximation de la drive est tout simplement la drive de lerreur dinterpolation. Ce rsultat est vrai quel
que soit lordre de la drive. Nanmoins, comme la drivation du terme derreur dinterpolation (IV.5) rappel
ci-dessous :
n
f (n+1) ((x)) Y
(x) = (x xj )
(n + 1)!
j=0

pour un certain compris dans lintervalle [x0 , xn ], peut savrer long et fastidieux, lestimation de lordre de
la drive et donc de lordre de lerreur, peut seffectuer de manire plus simple laide de dveloppements de
Taylor. Cest donc ce principe que nous utiliserons dans la suite de ce paragraphe.
Remarque
Bien quen thorie, on soit en mesure destimer les drives de tout ordre, sur le plan pratique, on dpasse
rarement lordre 4. Cela sexplique par le fait que la diffrentiation numrique est un procd numriquement
instable.

VI.2.1 Drives dordre 1


Commenons par faire lapproximation des drives dordre 1, ce qui revient valuer la pente de la fonc-
tion f . Tout comme pour linterpolation, nous avons le choix entre plusieurs polynmes de degr plus ou moins
lev. De ce choix dpendent lordre et la prcision de lapproximation. On supposera dans la suite que les
points du support sont galement distancs, cest--dire :

xi+1 xi = h

Prenons tout dabord le polynme de degr 1 passant par les points (x0 , f (x0 )) et (x1 , f (x1 )) obtenu grce
la formule de Newton :
P1 (x) = f (x0 ) + f [x0 , x1 ](x x0 )
Sa drive premire est :

f (x1 ) f (x0 ) f (x1 ) f (x0 )


P1 (x) = f [x0 , x1 ] = = (VI.2)
x1 x0 h

qui constitue une approximation de la drive premire de f dans lintervalle [x0 , x1 ]. Pour en dterminer
lordre, qui dpend du point choisi pour lapproximation, on utilise un dveloppement de Taylor.

Premier cas : On fait lapproximation de la drive en x0 . Lgalit (VI.2) peut alors scrire :

f (x1 ) f (x0 ) f (x0 + h) f (x0 )


f (x0 ) P1 (x0 ) = =
h h
qui est la diffrence avant dordre 1. On lappelle diffrence avant, car pour valuer la drive en x = x0 ,
on cherche de linformation vers lavant (en x = x1 ). Pour dterminer lordre de lerreur lie cette
approximation, on utilise un dveloppement de Taylor. Comme

f (x0 )
f (x0 + h) = f (x0 ) + hf (x0 ) + h2 + O(h3 )
2!
on obtient
f (x0 )
f (x0 + h) f (x0 ) hf (x0 ) + h2 + O(h3 )
= 2! = f (x0 ) + O(h)
h h
Cette diffrence avant est donc une approximation dordre 1 de la drive premire de f .

35
VI.2. Diffrentiation numrique

Deuxime cas : On fait lapproximation de la drive en x1 . Lgalit (VI.2) se met alors sous la forme :

f (x1 ) f (x0 ) f (x1 ) f (x1 h)


f (x1 ) P1 (x1 ) = =
h h
qui est la diffrence arrire dordre 1. Par le mme raisonnement que dans le premier cas, on montre
alors quelle est aussi dordre 1.
On peut aussi convenir de toujours valuer la drive en x, situation qui est rsume dans le tableau suivant.

Formules de diffrences finies dordre 1 pour f

f (x + h) f (x)
f (x) = + O(h) Diffrence avant dordre 1
h
f (x) f (x h)
f (x) = + O(h) Diffrence arrire dordre 1
h

Reprenons lapproximation de la drive de f , mais maintenant en utilisant un polynme de degr 2. Soient


les points (x0 , f (x0 )), (x1 , f (x1 )) et (x2 , f (x2 )). Le polynme de degr 2 passant par ces trois points est :

P2 (x) = f (x0 ) + f [x0 , x1 ](x x0 ) + f [x0 , x1 , x2 ](x x0 )(x x1 )

et sa drive est :
P2 (x) = f [x0 , x1 ] + f [x0 , x1 , x2 ](2x (x0 + x1 )) (VI.3)
En reprenant la mme approche que celle utilise pour obtenir les deux approximations du premier ordre de
f , avec le polynme de degr 2, lorsque x prend successivement les valeurs x0 , x1 , et x2 , on peut montrer
aisment que lon obtient les approximations dordre 2 de la drive indiques dans le tableau suivant.

Formules de diffrences finies dordre 2 pour f

f (x + 2h) + 4f (x + h) 3f (x)
f (x) = + O(h2 ) Diffrence avant dordre 2
2h
f (x + h) f (x h)
f (x) = + O(h2 ) Diffrence centre dordre 2
2h
3f (x) 4f (x h) + f (x 2h)
f (x) = + O(h2 ) Diffrence arrire dordre 2
2h

VI.2.2 Drives dordre suprieur


Avec les drives dordre suprieur, on procde de la mme manire quavec les drives dordre 1, cest-
-dire que lon drive un polynme dinterpolation aussi souvent que ncessaire.
Reprenons le polynme de degr 2 dj utilis pour calculer la drive premire. Ce polynme scrit :

P2 (x) = f (x0 ) + f [x0 , x1 ](x x0 ) + f [x0 , x1 , x2 ](x x0 )(x x1 )

et sa drive seconde est :


f (x2 ) 2f (x1 ) + f (x0 )
P2 (x) = 2f [x0 , x1 , x2 ] = (VI.4)
h2
qui constitue une approximation de la drive seconde f dans lintervalle [x0 , x2 ]. Il reste en dterminer
lordre. Cet ordre dpend du point retenu pour lapproximation.

36
VI.2. Diffrentiation numrique

Premier cas : On fait lapproximation de la drive en x0 .


Lquation (VI.4) peut alors scrire :

f (x0 + 2h) 2f (x0 + h) + f (x0 )


f (x0 ) P2 (x0 ) =
h2
On remarque immdiatement quil sagit dune formule aux diffrences avant. Pour dterminer lordre
de lerreur lie cette approximation, on utilise un dveloppement de Taylor. Dans un premier temps,
on a :
f (x0 ) f (x0 )
f (x0 + 2h) = f (x0 ) + 2hf (x0 ) + (2h)2 + (2h)3 + O(h4 )
2! 3!
et de mme :
f (x0 ) f (x0 )
f (x0 + h) = f (x0 ) + hf (x0 ) + h2 + h3 + O(h4 )
2! 3!
On en dduit donc :
f (x0 + 2h) 2f (x0 + h) + f (x0 ) f (x0 )h2 + f (x0 )h3 + O(h4 )
= = f (x0 ) + O(h)
h2 h2
Cette diffrence avant est donc une approximation dordre 1 de la drive seconde.
Deuxime cas : On fait lapproximation de la drive en x1 .
Lquation (VI.4) peut alors scrire :

f (x1 + h) 2f (x1 ) + f (x1 h)


f (x1 ) P2 (x1 ) =
h2
qui est une diffrence centre. En procdant de la mme manire que dans le premier cas, cest--dire
en utilisant des dveloppements de Taylor, mais cette fois autour de x1 , on montre que lapproximation
de la drive seconde ainsi obtenue est dordre 2 :
f (x1 + h) 2f (x1 ) + f (x1 h)
= f (x1 ) + O(h2 )
h2
Troisime cas : On fait lapproximation de la drive en x2 .
En reprenant un raisonnement similaire celui des cas prcdents, on peut montrer que la relation (VI.4)
fournit alors une diffrence arrire, approximation de la drive seconde dordre 1.
Remarque
Il peut sembler surprenant de constater que la mme quation aux diffrences, obtenue partir dun poly-
nme de degr 2, soit dordre 1 en x = x0 et en x = x2 et soit dordre 2 en x = x1 . Cela sexplique par la
symtrie des diffrences centres, qui permet de gagner un ordre de prcision.

On peut obtenir toute une srie de formules aux diffrences finies en utilisant des polynmes de degr
plus ou moins lev et en choisissant des dveloppements de Taylor appropris pour en obtenir lordre de
convergence. Les tableaux suivants prsentent les principales dentre elles.

Formules de diffrences finies pour f

f (x 2h) 2f (x h) + f (x)
f (x) = + O(h) Diffrence arrire dordre 1
h2
f (x + 2h) 2f (x + h) + f (x)
f (x) = + O(h) Diffrence avant dordre 1
h2
f (x + h) 2f (x) + f (x h)
f (x) = + O(h2 ) Diffrence centre dordre 2
h2

37
VI.3. Intgration numrique

Formule de diffrences finies pour f

f (x + 2h) 4f (x + h) + 6f (x) 4f (x h) + f (x 2h)


f (x) = + O(h2 ) Diffrence centre dordre 2
h4

VI.2.3 Instabilit numrique


Pour finir ce paragraphe sur la diffrentiation numrique, nous allons examiner linstabilit numrique qui
en rsulte. Toutes les formules de diffrences finies dpendent dun paramtre h qui est la distance entre les
points dinterpolation. On pourrait croire, de faon intuitive, que la prcision du rsultat augmente mesure
que diminue la valeur de h. Dans le cas de la diffrentiation numrique, il y a une limite aux valeurs de h
qui peuvent tre utilises. En effet, si lon prend, par exemple, une diffrence centre pour estimer la drive
premire, cest--dire :
f (x0 + h) f (x0 h)
f (x0 )
2h
on constate que, lorsque h tend vers 0, le numrateur contient la soustraction de deux termes trs proches lun
de lautre. Cela rsulte en llimination par soustraction de plusieurs chiffres significatifs lorsque h est trop
petit. A quoi sajoute une division par un nombre trs petit. Lexemple suivant illustre le phnomne.
Exemple
On considre les diffrences centres dordre 2 pour le calcul des drives premire et seconde de la fonction
f (x) = ex en x = 0. Ces deux calculs, qui doivent normalement aboutir 1, permettent dapprcier la prcision
des rsultats. Le tableau suivant rassemble les rsultats en simple prcision, ce qui correspond peu prs
travailler avec une mantisse de 7 chiffres dcimaux.

Instabilit numrique (simple prcision)

f (x+h)f (xh) f (x+h)2f (x)+f (xh)


h f (x) = 2h f (x) = h2

0, 1 10+1 1, 175 201 178 1, 086 161 137


0, 1 10+0 1, 001 667 619 1, 000 839 472
0, 1 102 1, 000 016 928 1, 000 165 939
0, 1 103 1, 000 017 047 1, 013 279 080
0, 1 104 1, 000 166 059 0, 000 000 000
0, 1 105 1, 001 358 151 0, 000 000 000
0, 1 106 0, 983 476 758 59604, 6601

On constate que, lorsque h diminue, la prcision lie aux drives augmente dans un premier temps, puis
se dgrade brusquement pour les valeurs de h plus faibles. Cela est particulirement vident pour la drive
seconde. Lorsque h est trop petit, llimination par soustraction des chiffres significatifs a un impact dvastateur
sur la prcision des rsultats. Il est donc recommand dtre trs prudent dans le choix de h et dviter des
valeurs trop petites.

VI.3 Intgration numrique


Lintgration numrique est principalement base sur la relation :
Z xn Z xn Z xn
f (x) dx = Pn (x) dx + En (x) dx (VI.5)
x0 x0 x0

38
VI.3. Intgration numrique

o Pn est un polynme dinterpolation et En est lerreur qui lui est associe. En faisant varier la valeur de n,
on obtient les formules de Newton-Cotes. En principe, plus n est lev, plus grande est la prcision lie la
valeur de lintgrale recherche. En pratique cependant, les numriciens emploient des valeurs de n infrieures
ou gales 5 pour des questions de stabilit.
Pour finir ce paragraphe, nous aborderons les quadratures de Gauss, trs frquemment utilises dans les
mthodes numriques plus avances comme celle des lments finis.

VI.3.1 Formules de Newton-Cotes simples et composes


VI.3.1.a Mthode des trapzes
Commenons par la mthode la plus simple. On souhaite valuer :
Z x1
f (x) dx
x0

o f (x) est une fonction connue seulement en deux points x0 et x1 ou encore une fonction nayant pas de
primitive. La solution qui vient tout de suite lesprit consiste remplacer f (x) par le polynme de degr 1
passant par les points (x0 , f (x0 )) et (x1 , f (x1 )).

La valeur approximative de lintgrale correspond laire sous la courbe du polynme, aire qui forme un
trapze, ce qui donne son nom la mthode : mthode du trapze. Evidemment, lapproximation est grossire
et lon peut dores et dj souponner que le rsultat sera peu prcis. Avec le polynme de Newton dordre 1 et
lexpression de lerreur dinterpolation (IV.5), il vient :
Z x1 Z x1 Z x1
f (x) dx = P1 (x) dx + E1 (x) dx
x0 x0 x0
Z x1 Z x1
f ((x))
= {f (x0 ) + f [x0 , x1 ](x x0 )} dx + (x x0 )(x x1 ) dx
x0 x0 2!
ce qui peut galement scrire, si lon intgre le polynme :
Z x1 Z x1
x1 x0 f ((x))
f (x) dx = (f (x0 ) + f (x1 )) + (x x0 )(x x1 ) dx (VI.6)
x0 2 x0 2!
Le premier terme du membre de droite nest rien dautre que laire du trapze tandis que le deuxime terme est
lerreur commise. Par le changement de variable
x x0
s=
h
le terme derreur devient alors :
Z x1 Z 1
f ((x)) f ((s))
(x x0 )(x x1 ) dx = s(s 1)h3 ds
x0 2! 0 2!
On peut encore simplifier cette expression en faisant appel au second thorme de la moyenne.
Thorme
Soit f1 une fonction continue dans lintervalle [a, b] et f2 , une fonction intgrable qui ne change pas de
signe dans lintervalle [a, b]. Il existe alors [a, b] tel que :
Z b Z b
f1 (x)f2 (x) dx = f1 () f2 (x) dx (VI.7)
a a

Dans notre cas, comme la fonction s(s 1) ne change pas de signe dans [0, 1], on peut appliquer ce thorme,
ce qui permet de rsumer la mthode du trapze lgalit :
Z x1
h f () 3
f (x) dx = (f (x0 ) + f (x1 )) h pour [x0 , x1 ] (VI.8)
x0 2 12

39
VI.3. Intgration numrique

Il est facile de constater que la mthode du trapze est peu prcise, par exemple en considrant :
Z
2
sin x dx.
0

Une stratgie intressante pour amliorer lapproximation consiste dcomposer lintervalle o lon doit
faire lintgration, soit lintervalle [a, b], en n sous-intervalles de longueur
ba
h=
n

Les diffrents points engendrs sont nots xi pour i = 0, 1, 2, , n. Les valeurs aux extrmits sont
a = x0 et b = xn . Dans chaque sous-intervalle [xi , xi+1 ], on peut utiliser la mthode du trapze, ce qui fournit :
b n1
X Z xi+1 n1
h
Z X
f (x) dx = f (x) dx [f (xi ) + f (xi+1 )]
a xi 2
i=0 i=0

On obtient alors la formule des trapzes composs :


n1
Z b ( )
h X
f (x) dx f (x0 ) + 2 f (xi ) + f (xn ) (VI.9)
a 2
i=1

Dans chacun des n sous-intervalle [xi , xi+1 ], on commet une erreur lie la mthode du trapze, lerreur totale
commise est donc :  
f () 3 b a
n h = f ()h2
12 12
A titre dillustration, on pourra reprendre le calcul de
Z
2
I= sin x dx
0

avec la mthode des trapzes composs pour 4 intervalles puis pour 8 intervalles.

Remarques
La mthode des trapzes compose est dordre 2. La mthode des trapze simple (i.e. avec un seul inter-
valle), bien que dordre 3, est rarement utilise, car elle est trop imprcise. De plus, la mthode des trapzes
donne un rsultat exact si la fonction f est un polynme de degr infrieur ou gal 1.

Dfinition
Les formules dintgration numrique sont galement appeles formules de quadrature. Le degr de prci-
sion dune formule de quadrature est la valeur maximale de n pour laquelle cette formule de quadrature intgre
exactement tout polynme de degr infrieur ou gal n.

VI.3.1.b Formules de Simpson 1/3


Reprenons le raisonnement utilis avec la mthode des trapzes, mais cette fois en utilisant un polynme de
degr 2 dont la courbe passe par les points (x0 , f (x0 )), (x1 , f (x1 )), (x2 , f (x2 )). Ce polynme est donn par la
formule de Newton :

P2 (x) = f (x0 ) + f [x0 , x1 ](x x0 ) + f [x0 , x1 , x2 ](x x0 )(x x1 )

On se sert ensuite de lapproximation :


Z x2 Z x2 Z x2
f (x) dx P2 (x) dx = {f (x0 ) + f [x0 , x1 ](x x0 ) + f [x0 , x1 , x2 ](x x0 )(x x1 )} dx
x0 x0 x0

40
VI.3. Intgration numrique

En se plaant de nouveau dans le cas o les abscisses sont galement distances et en posant s = (xx0 )/h,
la dernire galit devient : Z x2
h
f (x) dx (f (x0 ) + 4f (x1 ) + f (x2 ))
x0 3
qui est la formule de Simpson 1/3 simple. On peut alors montrer que le terme derreur est donn par :
Z x2
f () 5
E3 (x) dx = h
x0 90

La mthode de Simpson 1/3 simple se rsume donc :


Z x2
h f () 5
f (x) dx = (f (x0 ) + 4f (x1 ) + f (x2 )) h
x0 3 90

o [x0 , x2 ]. La mthode de Simpson 1/3 est peu prcise, tout comme la mthode du trapze, ce qui pourra
tre aisment vrifi sur le mme exemple que prcdemment.

On peut encore une fois amliorer la prcision de la formule de Simpson 1/3 en la composant. Puisque
la mthode simple requiert deux intervalles, il semble souhaitable de diviser lintervalle dintgration [a, b] en
2n sous-intervalles et dutiliser la mthode de Simpson 1/3 simple dans chaque paire de sous-intervalle. On a
alors :
b n1 Z x2i+2 n1
h b a
Z X X
f (x) dx = f (x) dx = (f (x2i ) + 4f (x2i+1 ) + f (x2i+2 )) f ()h4
a x2i 3 180
i=0 i=0

VI.3.1.c Formule de Simpson 3/8


Pour terminer ce paragraphe sur les formules de Newton-Cotes, on peut poursuivre dans la mme voie et
dvelopper des formules bases sur des polynmes de degr plus lev. Par exemple, si lon utilise un polynme
de degr 3 dans lintervalle [x0 , x3 ] et passant par les points (xi , f (xi )) pour i = 0, 1, 2, 3, on obtient la formule
de Simpson 3/8 simple qui scrit :
Z x3
3h 3f () 5
f (x) dx = (f (x0 ) + 3f (x1 ) + 3f (x2 ) + f (x3 )) h
x0 8 80

pour un certain [x0 , x3 ].

Remarque
Pour n > 6, les formules de Newton-Cotes deviennent instables. En effet, lorsque n devient grand, les
coefficients Ai tels que lintgrale I puisse tre approche par
n
X
I hAi f (xi )
i=0

verifient lim Ai = . Cela induit donc quune petite erreur sur f (xi ) aura une influence Ai trs impor-
n
tante sur la valeur de lintgrale.

Tableau rcapitulatif pour les formules de Newton-Cotes

Nom de la mthode n Coefficients Ai Ordre de lerreur Degr de prcision


Trapze 1 A0 = 12 , A1 = 1
2 3 1
Simpson 1/3 2 A0 = 31 , A1 = 43 , A2 = 1
3 5 3
Simpson 3/8 3 A0 = 83 , A1 = 89 , A2 = 98 , A3 = 3
8 5 3

41
VI.3. Intgration numrique

VI.3.2 Quadratures de Gauss


Les quadratures de Gauss reposent sur un raisonnement diffrent de celui qui est la base des mthodes de
Newton-Cotes. Dune certaine faon, on cherche optimiser les schmas dintgration numrique en choisis-
sant plus judicieusement les points o est value la fonction f . Dans le cas o lvaluation de f est coteuse en
temps de calcul, ces quadratures permettent datteindre une plus grande prcision avec relativement peu dva-
luations de f . Par exemple, la mthode du trapze requiert lvaluation de la fonction f aux deux extrmits de
lintervalle sous la forme : Z b
ba
f (x) dx (f (a) + f (b))
a 2

Nous avons vu que le degr de prcision de cette mthode est 1, car cette quadrature est exacte dans le cas
de tout polynme de degr infrieur ou gal 1. On peut se demander sil est possible de trouver deux points
situs dans lintervalle dintgration ainsi que des coefficients appropris de telle sorte que lexpression :
Z b
f (x) dx w1 f (t1 ) + w2 f (t2 )
a

ait un degr de prcision suprieur celui de la mthode du trapze. Bien sr, si :


ba
w1 = w2 = , t1 = a et t2 = b
2
on retrouve la formule du trapze. Mais est-ce un choix optimal ?

Pour rpondre cette question, nous allons dans un premier temps nous restreindre lintervalle [1, 1],
o nous ferons tout le dveloppement. Pour un intervalle quelconque, il suffira deffectuer le changement de
variable :
(b a)t a + b ba
x= + et dx = dt (VI.10)
2 2 2
qui envoie lintervalle [1, 1] sur un intervalle quelconque [a, b]. En effet, le changement de variable permet
dcrire que :
Z b Z 1 
ba 1

(b a)t a + b b a
Z
f (x) dx = f + dt = g(t) dt
a 1 2 2 2 2 1
avec  
(b a)t a + b
g(t) = f +
2 2
Il est donc toujours possible de revenir lintervalle [1, 1].

De manire gnrale, on cherche des expression de la forme :


Z 1 X n
g(t)dt wi g(ti ) (VI.11)
1 i=1

dont le degr de prcision soit le plus lev possible.

Dfinition
Lexpression (VI.11) est appele quadrature de Gauss n points. Les ti sont appels points dintgration,
tandis que les coefficients wi sont les poids dintgration.

On choisit les points et les poids dintgration de faon ce que la quadrature (VI.11) soit exacte dans le
cas des polynmes de degr le plus lev possible. De toute vidence, les points dintgration ti doivent tre
tous distincts les uns des autres et les poids dintgration doivent tre non nuls. Puisque tout polynme de degr
m peut scrire :
Xm
Pm (t) = ck tk
k=0

42
VI.3. Intgration numrique

il suffit que la relation (VI.11) soit exacte successivement pour les monmes g(t) = tk , pour k = 0, 1, 2, , m
qui constituent une base de lespace des polynmes de degr m. On gagne alors accrotre le plus possible le
degr m. Le degr maximal atteint dpend du nombre de points dintgration n. Puisquil y a 2n coefficients
dterminer dans lquation (VI.11), il est raisonnable de penser que lon peut atteindre le degr m = 2n 1.
La valeur de k varie donc entre 0 et 2n 1.

VI.3.2.a Quadrature de Gauss 1 point


Dans ce cas particulier, la recherche dune expression de la forme :
Z 1
g(t) dt w1 g(t1 ) (VI.12)
1

qui soit exacte dans le cas des polynmes de degr le plus lev possible donne la quadrature de Gauss 1
point qui scrit : Z 1
g(t) dt 2g(0)
1
et qui est exacte pour tout polynome de degr 1.

Exercice 17 : Dmontrer la quadrature de Gauss 1 point.

Remarque
La quadrature de Gauss 1 point a le mme degr de prcision (1) que la mthode du trapze, qui est une
formule 2 points. La quadrature de Gauss 1 point est galement connue sous le nom de formule du point du
milieu.

VI.3.2.b Quadrature de Gauss 2 points


On doit maintenant dterminer les 4 coefficients inconnus de lexpression :
Z 1
g(t) dt w1 g(t1 ) + w2 g(t2 ) (VI.13)
1

La formule de Gauss deux points scrit alors :


1
r ! r !
1 1
Z
g(t) dt g +g
1 3 3

et est exacte dans le cas des polynmes de degr infrieur ou gal 3.

Exercice 18 :
Dmontrer la quadrature de Gauss 2 points.

Remarque
Pour un mme nombre de points dintgration, la quadrature de Gauss 2 points a un degr de prcision
de 3 par comparaison avec 1 pour la mthode du trapze. Pour un mme effort de calcul, on a ainsi une plus
grande prcision.

Remarque
Sans entrer dans les dtails, il est possible de dterminer les quadratures de Gauss avec un grand nombre
de points. Ces quadratures sont particulirement efficaces et sont utilises, par exemple, dans la mthode des
lments finis. On dtermine les 2n coefficients wi et ti en rsolvant un systme non linaire de 2n quations
que lon obtient en prenant g(t) = tk pour k = 0, 1, 2, , (2n 1). On donne dans le tableau suivant les
principales quadratures de Gauss.

43
VI.3. Intgration numrique

Quadrature de Gauss 1D

n Points dintgration ti Poids dintgration wi Degr de prcision

1 0 2 1

2 13 1 3

q
3 5
3 5 9 5

8
0 9
r q
32 65 1 1
4 7 2 + q 7
6 65
r q
3+2 65 1 1
7 2 q
6 65

VI.3.3 Intgrales multiples


On se limite au calcul dune intgrale double qui pourra aisment tre gnralis.
On dfinit le domaine D sur lequel on dsire calculer lintgrale comme un ensemble de points D de R2 tel
que a x b et p(x) y q(x) alors lintgrale sur D dune fonction f deux variables scrit :
Z Z bZ q(x) Z b
I= f (x, y) dx dy = f (x, y) dy dx = I(x) dx
D a p(x) a

o Z q(x)
I(x) = f (x, y) dy.
p(x)

On se ramne ainsi deux intgrations successives en utilisant les formules de quadrature des paragraphes
prcdents et en particulier la quadrature de Gauss. Comme dans le cas une dimension o le dveloppement
a t effectu sur lintervalle [1, 1], on se restreint un lment de rfrence. Par exemple, en considrant un
lment de rfrence carr, il vient :
Z 1 Z 1 X n2
n1 X
f (, ) d d = wi wj f (i , j )
1 1 i=1 j=1

qui intgre exactement tous les monmes k l dordre m k + l. Des exemples de points dintgration et leurs
poids associs pour m = 3 sont donns dans le tableau suivant.

44
VI.3. Intgration numrique

Quadrature de Gauss 2D

Nombre de points dintgration Coordonnes Poids dintgration wi

i i

4 13 13 1
2
4 1 0 3

0 12 4
3
q
2
4 3 0 1
q
2
0 3 1

Pour ensuite dterminer lintgrale sur le domaine rel D, on dfinit la transformation gomtrique permettant
de passer du quadrilatre de rfrence au quadrilatre rel D :

: (x = 1 (, ), y = 2 (, ))

On obtient alors
Z Z 1 Z 1
I= f (x, y)dxdy = f (1 (, ), 2 (, )) det(J(, ))d d
D 1 1

o J est la matrice jacobienne de la transformation

1 (, ) 1 (, )




det(J(, )) =
2 (, ) 2 (, )


Finalement, il en rsulte, en utilisant la formule obtenue sur llment de rfrence :


Z X n2
n1 X
I= f (x, y)dx dy = wi wj f (1 (i , j ), 2 (i , j )) det(J(i , j ))
D i=1 j=1

Exercice 19 :
Calculer la surface dun carr de cts de longueurs a et b en utilisant la quadrature de Gauss en deux
dimensions.

45
C HAPITRE VII

Rsolution numrique dquations


diffrentielles

VII.1 Introduction
La rsolution numrique des quations diffrentielles est probablement le domaine de lanalyse numrique
o les applications sont les plus nombreuses. Que ce soit en mcanique des fluides, en transfert de chaleur ou
en analyse de structures, on aboutit souvent la rsolution dquations diffrentielles, de systmes dquations
diffrentielles ou plus gnralement dquations aux drives partielles. Parmi les avantages des mthodes
numriques, on peut voquer ltude des problmes complexes pour lesquels on ne connat pas de solution
analytique, mais qui sont dun grand intrt pratique.
Dans ce chapitre comme dans les prcdents, les diverses mthodes de rsolutions proposes sont dautant
plus prcises quelles sont dordre lev. Nous commencerons par prsenter des mthodes relativement simples
ayant une interprtation gomtrique. Elles nous conduiront progressivement des mthodes plus complexes
telles que les mthodes de Runge-Kutta dordre 4, qui permettent dobtenir des rsultats dune grande prcision.
Nous considrerons principalement les quations diffrentielles avec conditions initiales, mais nous voquerons
brivement les quations diffrentielles avec conditions aux limites la fin du chapitre.
Le point de dpart de ce chapitre est la formulation gnrale dune quation diffrentielle dordre 1 avec
condition initiale. Lobjectif est de dterminer une fonction y(t) solution de :
(
y (t) = f (t, y(t))
(VII.1)
y(t0 ) = y0

La variable indpendante t reprsente trs souvent (mais pas toujours) le temps. La variable dpendante est
note y et dpend bien sr de t. La fonction f est pour le moment une fonction quelconque de deux variables
que nous supposons suffisamment diffrentiable. La condition y(t0 ) = y0 est la condition initiale. Il sagit
dobtenir y(t) pour t t0 , si lon cherche une solution analytique, ou une approximation de y(t), si lon utilise
une mthode numrique.

46
VII.2. Mthode dEuler

Dfinition
Lquation diffrentielle (VII.1) est dite dordre 1, car seule la drive dordre 1 de la variable dpendante y est
prsente. Si des drives de y(t) dordre 2 apparaissaient dans lquation diffrentielle (VII.1), on aurait une
quation dordre 2, et ainsi de suite.

Avec les outils numriques de rsolutions dquations diffrentielles, il nest pas possible dobtenir une
solution pour toutes les valeurs de la variable indpendante t. On obtient plutt une approximation de la solution
analytique seulement en certaines valeurs de t notes ti et distances dune valeur hi = ti+1 ti . Dans la plupart
des mthodes prsentes ici, cette distance est constante pour tout i et est note h. On appelle h le pas de temps.

Notations
On notera dans la suite du chapitre y(ti ) la solution analytique de lquation diffrentielle (VII.1) en t = ti , et
yi la solution approximative en t = ti obtenue laide dune mthode numrique.

VII.2 Mthode dEuler


La mthode dEuler est de loin la mthode la plus simple de rsolution numrique dquations diffrentielles
ordinaires. Son emploi tant facile, cest la mthode la plus approprie pour dbuter ce chapitre. Cependant elle
est relativement peu utilise en raison de sa faible prcision.
Reprenons lquation diffrentielle (VII.1) et considrons plus attentivement la condition intiale y(t0 ) = y0 .
Le but est maintenant dobtenir une approximation de la solution en t = t1 = t0 + h. Avant deffectuer la
premire itration, il faut dterminer dans quelle direction on doit avancer partir du point (t0 , y0 ) pour obtenir
le point (t1 , y1 ), qui est une approximation du point (t1 , y(t1 )). Nous navons pas lquation de la courbe y(t),
mais nous en connaissons la pente y (t) en t = t0 . En effet, lquation diffrentielle assure que

y (t0 ) = f (t0 , y(t0 )) = f (t0 , y0 )

On peut donc suivre la droite passant par (t0 , y0 ) et de pente f (t0 , y0 ). Lquation de cette droite, note
d0 (t), est :
d0 (t) = y0 + f (t0 , y0 )(t t0 )
En t = t1 , on a :
d0 (t1 ) = y0 + f (t0 , y0 )(t1 t0 ) = y0 + hf (t0 , y0 ) = y1
En dautres termes, d0 (t1 ) est proche de la solution analytique y(t1 ), cest--dire :

y(t1 ) y1 = d0 (t1 ) = y0 + hf (t0 , y0 )

Il est important de noter que, le plus souvent, y1 6= y(t1 ). Cette ingalit na rien dtonnant, mais elle a des
consquences sur la suite du raisonnement. En effet, si lon souhaite faire une deuxime itration et obtenir une
approximation de y(t2 ), on peut refaire lanalyse prcdente partir du point (t1 , y1 ). On remarque cependant
que la pente de la solution analytique en t = t1 est :

y (t1 ) = f (t1 , y(t1 ))

On ne connat pas exactement y(t1 ), mais on possde lapproximation y1 de y(t1 ). On doit utiliser lexpression :

y (t1 ) = f (t1 , y(t1 )) f (t1 , y1 )

et construire la droite :
d1 (t) = y1 + f (t1 , y1 )(t t1 )
qui permettra destimer y(t2 ). On constate que lerreur commise la premire itration est rintroduite dans
les calculs de la deuxime itration. On a alors :

y(t2 ) y2 = d1 (t2 ) = y1 + hf (t1 , y1 )

47
VII.2. Mthode dEuler

Remarque
Le dveloppement prcdent met en vidence une proprit importante des mthodes numriques de rso-
lution des quations diffrentielles. En effet, lerreur introduite la premire itration a des rpercussions sur
les calculs de la deuxime itration, ce qui signifie que les erreurs se propagent dune itration lautre. Il en
rsulte de faon gnrale que lerreur :
|y(ti ) yi |
augmente lgrement avec i.

Exemple
Soit lquation diffrentielle, avec condition initiale suivante :
(
y (t) = y(t) + t + 1
y(0) = 1

La solution analytique de cette quation diffrentielle tant

y(t) = et + t

on peut comparer celle-ci la solution numrique sur la figure VII.1.

F IGURE VII.1 Mthode dEuler : y (t) = y(t) + t + 1 pour y(0) = 1

Les rsultats de la figure VII.1 nous amnent parler de prcision et donc derreur. Cette figure montre
une lgre diffrence entre la solution numrique et la solution analytique. On peut se demander comment se
comporte cette erreur en fonction du pas de temps h. La dfinition qui suit aidera apporter une rponse. Elle
sapplique dans la plupart des mthodes tudies dans ce chapitre.

Dfinition
Une mthode de rsolution dquations diffrentielles est dite un pas si elle est de la forme :

yn+1 = yn + h(tn , yn ) (VII.2)

o est une fonction quelconque. Une telle relation est appele quation aux diffrences. La mthode est
un pas si, pour obtenir la solution en t = tn+1 , on doit utiliser la solution numrique au temps tn seulement.
On dsigne par mthodes pas multiples les mthodes qui exigent galement la solution numrique aux temps
tn1 , tn2 , tn3 ,...

48
VII.3. Mthodes de Taylor

La mthode dEuler est bien sr une mthode un pas o :

(t, y) = f (t, y).

Dans ce chapitre, lattention est principalement porte sur les mthodes un pas. Nous pouvons maintenant
aborder la notion derreur de troncature dans le cas de ces mthodes.

Dfinition
Lerreur de troncature locale au point t = tn est dfinie par :
y(tn+1 ) y(tn )
n+1 (h) = (tn , y(tn )) (VII.3)
h
Lerreur de troncature locale mesure la prcision avec laquelle la solution analytique vrifie lquation aux
diffrences (VII.2).

Remarque
Il est trs important de noter que lon utilise la solution exacte y(tn ) (et non yn ) dans la dfinition de
lerreur de troncature locale (voir lquation (VII.3)). Cela sexplique par le fait que lon cherche mesurer
lerreur introduite par lquation aux diffrences un pas donne, en supposant que la mthode tait exacte
jusque l.

Examinons plus prcisment le cas de la mthode dEuler pour laquelle (t, y) = f (t, y). Ici encore, loutil
de travail est le dveloppement de Taylor. En effectuant un dveloppement autour du point t = tn pour y(tn+1 ),
on peut mettre lerreur de troncature sous la forme suivante :

y (tn )h
n+1 (h) = + O(h2 )
2
ou plus simplement
n+1 (h) = O(h)
On peut donc en conclure que lerreur est dordre 1 et quelle diminue dun facteur 2 chaque fois que le pas de
temps h est diminu dun facteur 2.

Remarque
Il ne faut pas confondre lordre dune quation diffrentielle avec lordre dune mthode numrique utilise
pour rsoudre cette quation diffrentielle.

VII.3 Mthodes de Taylor


Le dveloppement de Taylor autorise une gnralisation immdiate de la mthode dEuler, qui permet
dobtenir des algorithmes dont lerreur de troncature locale est dordre plus lev. Nous nous limiterons ici la
mthode de Taylor du second ordre.
On cherche, au temps t = tn , une approximation de la solution en t = tn+1 . On a immdiatement :

y (tn )h2
y(tn+1 ) = y(tn + h) = y(tn ) + y (tn )h + + O(h3 )
2!
En utilisant alors lquation diffrentielle (VII.1), on trouve :

f (tn , y(tn ))h2


y(tn+1 ) = y(tn ) + f (tn , y(tn ))h + + O(h3 )
2!
Dans cette dernire relation, la drive de la fonction f par rapport au temps apparat. Comme
f (t, y(t)) f (t, y(t))
f (t, y(t)) = + y (t)
t y

49
VII.4. Mthodes de Runge-Kutta

cest--dire
f (t, y(t)) f (t, y(t))
f (t, y(t)) = + f (t, y(t))
t y
on obtient
h2
 
f (tn , y(tn )) f (tn , y(tn ))
y(tn+1 ) = y(tn ) + f (tn , y(tn ))h + + f (tn , y(tn )) + O(h3 ) (VII.4)
2 t y
En ngligeant les termes dordre suprieur ou gal 3, on en dduit la relation qui sera la base de la mthode
de Taylor :
h2 f (tn , y(tn )) f (tn , y(tn ))
 
y(tn+1 ) y(tn ) + f (tn , y(tn ))h + + f (tn , y(tn )) (VII.5)
2 t y

Remarque
On peut alors prciser lordre de troncature locale de cette mthode. Dans ce cas, suivant la notation (VII.3)
introduite, on peut montrer que lerreur de troncature de la mthode de Taylor est dordre 2 :
n+1 (h) = O(h2 )
En reprenant le mme exemple que dans le paragraphe prcdent, on peut remarquer que lerreur est plus
petite avec la mthode de Taylor quavec la mthode dEuler (figure VII.2). Comme on le verra dans la suite,
cet avantage des mthodes dordre plus lev vaut pour lensemble des mthodes de rsolution dquations
diffrentielles.

F IGURE VII.2 Mthode de Taylor : y (t) = y(t) + t + 1 pour y(0) = 1

Il est bien videmment possible dobtenir des mthodes de Taylor encore plus prcises en poursuivant
le dveloppement de Taylor jusqu des termes dordre plus lev. On doit alors valuer les drives de la
fonction f dordre de plus en plus lev, ce qui entrane des difficults dans leurs utilisation. Il existe cependant
un moyen de contourner cette difficult en dveloppant les mthodes dites de Runge-Kutta, ce qui fait lobjet
du paragraphe suivant.

VII.4 Mthodes de Runge-Kutta


Lobjectif des mthodes de Runge-Kutta est de disposer de mthodes dordre de plus en plus lev, tout
en vitant les dsavantages des mthodes de Taylor, qui ncessitent lvaluation des drives partielles de la
fonction f .

50
VII.4. Mthodes de Runge-Kutta

VII.4.1 Mthode de Runge-Kutta dordre 2


Le dveloppement de Taylor (VII.4) de la fonction y en tn+1 = tn + h nous a fourni

h2 f (tn , y(tn )) f (tn , y(tn ))


 
y(tn+1 ) = y(tn ) + f (tn , y(tn ))h + + f (tn , y(tn )) + O(h3 ) (VII.6)
2 t y
Le but est maintenant de remplacer cette dernire relation par une expression quivalente, possdant le
mme ordre de prcision (O(h3 )), tout en vitant la prsence des drives partielles de f . On propose alors la
forme suivante :

y(tn+1 ) = y(tn ) + a1 hf (tn , y(tn )) + a2 hf (tn + a3 h, y(tn ) + a4 h) (VII.7)

o lon doit dterminer les paramtres a1 , a2 , a3 et a4 de telle sorte que les expressions (VII.6) et (VII.7) aient
toutes deux une erreur en O(h3 ). Pour y arriver, on doit recourir au dveloppement de Taylor dune fonction
deux variables autour du point (tn , y(tn )) :

f (tn , y(tn )) f (tn , y(tn ))


f (tn + a3 h, y(tn ) + a4 h) = f (tn , y(tn )) + a3 h + a4 h + O(h2 )
t y
La relation (VII.7) devient alors :
f (tn , y(tn )) f (tn , y(tn ))
y(tn+1 ) = y(tn ) + (a1 + a2 )hf (tn , y(tn )) + a2 a3 h2 + a2 a4 h2 + O(h3 ) (VII.8)
t y
On voit immdiatement que les expressions (VII.6) et (VII.8) sont du mme ordre. Pour dterminer les
coefficients ai , il suffit de comparer ces deux expressions termes termes. On obtient ainsi un systme non
linaire de 3 quations comprenant 4 inconnues :



a1 + a2 = 1

1


a2 a3 = (VII.9)
2


f (tn , y(tn ))
a2 a4 =


2
Ce systme est sous-dtermin (i.e. il y plus dinconnues que dquations), il na donc pas de solution
unique. Cela offre donc, non pas une mthode mais plusieurs variantes de la mthode de Runge-Kutta dordre
2. Les deux choix les plus couramment utiliss sont les mthodes dEuler modifie et du point milieu.

Mthode dEuler modifie


On choisit
1
a1 = a2 = , a3 = 1, a4 = f (tn , y(tn )).
2

Mthode du point milieu


On choisit
1 f (tn , y(tn ))
a1 = 0, a2 = 1, a3 = , a4 = .
2 2

VII.4.2 Mthode de Runge-Kutta dordre 4


En reprenant le dveloppement de Taylor de la fonction f , mais cette fois jusqu lordre 5, un raisonnement
similaire celui qui a men aux mthodes de Runge-Kutta dordre 2 aboutit un systme de 8 quations non
linaires comprenant 10 inconnues. Le rsultat final est la mthode de Runge-Kutta dordre 4, qui reprsente
un outil dune grande utilit en raison de sa grande prcision. La solution approche t = tn+1 est donne par
1
yn+1 = yn + (k1 + 2k2 + 2k3 + k4 ) (VII.10)
6

51
VII.4. Mthodes de Runge-Kutta

o les coefficients ki sont fournis par :

k1 = hf (tn , yn )
 
h k1
k2 = hf tn + , yn +
2 2
 
h k2
k3 = hf tn + , yn +
2 2
k4 = hf (tn + h, yn + k3 )

Il est ensuite intressant de comparer sur une base aussi rigoureuse que possible les diffrentes mthodes vues
jusqu maintenant. On a constat que plus lordre dune mthode est lev, plus cette mthode est prcise. Par
contre, plus lordre de la mthode est lev, plus elle est coteuse en temps de calcul. Par exemple, la mthode
dEuler (dordre 1) ne ncessite quune seule valuation de la fonction f chaque pas de temps, alors que
la mthode dEuler modifie (dordre 2) en demande 2 et que la mthode de Runge-Kutta dordre 4 exige 4
valuations de cette fonction. En dautres termes, la mthode de Runge-Kutta dordre 4 demande peu prs
deux fois plus de calculs que la mthode dEuler modifie et quatre fois plus que la mthode dEuler.
Il est alors lgitime de se demander sil nest pas prfrable dutiliser la mthode dEuler avec un pas de
temps 4 fois plus petit ou la mthode dEuler modifie dordre 2 avec un pas de temps 2 fois plus petit, plutt
que de se servir de la mthode de Runge-Kutta dordre 4.
Pour rpondre cette question, on reprend lexemple de lquation diffrentielle dj tudie :
(
y (t) = y(t) + t + 1
y(0) = 1

et lon compare les rsultats obtenus dans le tableau suivant.


Comparaison des diffrentes mthodes : y (t) = y(t) + t + 1
Mthode h Nombre de pas Rsultat Erreur
Euler 0, 025 40 1, 363 232 0, 464 102
Euler modifie 0, 05 20 1, 368 039 0, 159 103
Runge-Kutta 4 0, 1 10 1, 367 880 0, 333 106
Mme en prenant un pas de temps quatre fois plus petit, la mthode dEuler reste trs imprcise par rapport
celle de Runge-Kutta dordre 4. On peut porter le mme jugement sur la mthode dEuler modifie. Il est
gnralement prfrable dutiliser des mthodes dordre aussi lev que possible.

VII.4.3 Mthode de Runge-Kutta avec contrle du pas


Nous avons considr jusqu maintenant seulement des mthodes de rsolution pas de temps h fix ds
le dpart. Ces mthodes sont certes trs utiles, mais souffrent de 2 inconvnients majeurs :
il faut dterminer le pas de temps h un peu au hasard ;
il ny a aucun contrle sur la prcision des rsultats.
Il est cependant important dans certaines situations de bien contrler la prcision des rsultats numriques. Ce
sera le cas lorsque la solution dun problme prsente de trs brusques variations dans certaines rgions. Une
valeur donne du pas de temps h peut tre tout fait adquate dans certaines rgions et trop grande (ou trop
petite) ailleurs.

Lide est alors de se servir du pas de temps h pour contrler la prcision. Si la solution prsente des
variations brusques, on prendra un pas de temps plus petit et on laugmentera ventuellement l o la solution
varie plus lentement. tudions ce processus pour la mthode du point milieu, cas particulier des mthodes de
Runge-Kutta dordre 2. La solution approche yn+1 t = tn+1 est donne par :

yn+1 = yn + hk2 = en + h(tn , yn )

52
VII.4. Mthodes de Runge-Kutta

avec
 
h h
k2 = f tn + , yn + k1
2 2
k1 = f (tn , yn )

De manire obtenir une estimation de lerreur commise avec cette approximation, on considre la mthode
de Runge-Kutta dordre suivant, cest--dire la mthode de Runge-Kutta dordre 3, qui fournit la solution
approche yn+1 t = tn+1 sous la forme :
h
yn+1 = yn + (k1 + 4k2 + k3 ) = yn + h(tn , yn )
6
avec

k3 = f (tn + h, yn + h(k1 + 2k2 ))


 
h h
k2 = f tn + , yn + k1
2 2
k1 = f (tn , yn )

Nous supposons ensuite que lalgorithme dbute partir dune valeur yn exacte, cest--dire y(tn ) = yn .
Cette hypothse est importante, car elle suppose quaucune erreur na t accumule jusquau pas de temps tn .
Puisque nous avons suppos que yn = y(tn ), on a :

y(tn+1 ) yn+1 = hn+1 (h) = O(h3 )

De mme, on montre que :


y(tn+1 ) yn+1 = hn+1 (h) = O(h4 )
et donc que :
hn+1 (h) = hn+1 (h) + (yn+1 yn+1 )
En regardant de chaque ct de lgalit, on constate que :

O(h3 ) = O(h4 ) + (yn+1 yn+1 )

Pour que lgalit puisse avoir lieu, il faut que :

y(tn+1 ) yn+1 (yn+1 yn+1 ) = O(h3 )

La partie la plus importante de lerreur commise fait donc simplement intervenir la diffrence entre les approxi-
mations dordre 2 et 3, note E :
h
E = (k1 2k2 + k3 )
6
Cette quantit est dterminante pour contrler lerreur. Pour une prcision tol spcifie lavance, on calcule
lapproximation de E par la relation prcdente et lon modifie h de manire vrifier le critre de prcision.
Cela signifie que la valeur de h sera augmente si lerreur constate est trs petite et sera diminue si lerreur
est juge trop grande. Pour y arriver, rappelons que :

y(tn+1 ) yn+1 = C(h)3 E

On remplace alors h par h de telle sorte que :

y(tn+1 ) yn+1 = C(h)3 = tol

En faisant le quotient des deux dernires relations, on a :


 1/3
tol

E

53
VII.5. Systmes dquations diffrentielles

ce qui nous donne le facteur de rduction (ou daugmentation si > 1) souhait du pas de temps h.
En pratique, on vitera de diminuer (daugmenter) trop fortement la valeur de h en lui fixant une valeur
maximale, par exemple :
(tf t0 )
hmax =
16
o tf est le temps final que lon souhaite atteindre. Le facteur 16 est arbitraire, mais semble donner de bons
rsultats en pratique. De mme, on peut prendre :
hmax
h=
8
comme valeur initiale du pas de temps. Ainsi lalgorithme rsultant nexige pas de donner cette valeur initiale
puisquon la dtermine automatiquement.

VII.5 Systmes dquations diffrentielles


Dans ce paragraphe, on sintresse lutilisation des mthodes de rsolution dquations diffrentielles
ordinaires dans le cas de systmes dquations diffrentielles avec conditions initiales. En fait, il suffit dadapter
lgrement les mthodes dj vues.
La forme gnrale dun systme de m quations diffrentielles avec conditions initiales scrit :



y1 (t) = f1 (t, y1 (t), y2 (t), , ym (t)) (y1 (t0 ) = y1,0 )


y2 (t) = f2 (t, y1 (t), y2 (t), , ym (t)) (y2 (t0 ) = y2,0 )




y3 (t) = f3 (t, y1 (t), y2 (t), , ym (t)) (y3 (t0 ) = y3,0 ) (VII.11)
..

.



y (t) = f (t, y (t), y (t), , y (t))

(y (t ) = y )
m m 1 2 m m 0 m,0

Ici encore, on note yi (tn ), la valeur exacte de la ieme variable dpendante en t = tn et yi,n son approximation
numrique. Ces m quations sont couples au sens o lquation diffrentielle rgissant la variable yi (t) peut
dpendre de toutes les autres variables. La mthode pour rsoudre ce type de systme dquations diffrentielles
consiste appliquer la mthode de Runge-Kutta chacune des quations diffrentielles.

VII.6 quations dordre suprieur


Dans le paragraphe prcdent, nous avons prsent la mthode de rsolution dun systme de m quations
diffrentielles dordre 1. Passons maintenant la rsolution numrique dune quation diffrentielle dordre m
avec conditions initiales. Ici encore, nous navons pas besoin de dvelopper de nouvelles mthodes numriques,
car une quation diffrentielle dordre m avec conditions initiales est parfaitement quivalente un systme de
m quations diffrentielles dordre 1.
La forme gnrale dune quation diffrentielle dordre m avec conditions initiales est :

y (m) = f (t, y(t), y (1) (t), y (2) (t), , y (m1) (t)) (VII.12)

o y (i) (t) dsigne la ieme drive de y(t). Pour assurer lunicit, on ajoute les conditions initiales :

y(t ) = c1
0


y (1) (t0 ) = c2





y (2) (t0 ) = c3

.. (VII.13)


.



y (m2) (t0 ) = cm1


(m1)
y (t0 ) = cm

54
VII.7. Mthodes des diffrences finies

Thorme
Lquation diffrentielle dordre m (VII.12) avec les conditions initiales (VII.13) est quivalente au systme
de m quations dordre 1 suivant :


y1 (t) = y2 (t)


y1 (t0 ) = c1

y2 (t) = y3 (t) y2 (t0 ) = c2




y (t) = y4 (t)

y3 (t0 ) = c3
3
. .. (VII.14)

.. .


y (t) = ym (t) ym1 (t0 ) = cm1


m1


(1) (2)
ym (t) = f (t, y(t), y (t), y (t), , y (m1) (t)) ym (t0 ) = cm

Une fois lquation dordre m transforme en un systme de m quations diffrentielles dordre 1, il suffit
utiliser la mthode de Runge-Kutta pour sa rsolution.

VII.7 Mthodes des diffrences finies


Pour terminer ce chapitre, on considre la rsolution dquations diffrentielles avec conditions aux limites
par la mthode des diffrences finies, principale application des techniques de diffrentiations numriques vo-
ques dans le chapitre prcdent, facilement gnralisables aux quations aux drives partielles.
On considre lquation diffrentielle avec conditions aux limites :
(
y (x) a2 (x)y (x) a1 (x)y(x) = a0 (x)
y(a) = ya et y(b) = yb

Lobjectif est de dterminer une approximation yi de y(xi ) en certains points xi de lintervalle [a, b]. On divise
dabord cet intervalle en n sous-intervalles de longueur h = (b a)/n et lon note x0 = a, xi = a + ih et
xn = a + nh = b. Les conditions aux limites imposent immdiatement que y0 = ya et yn = yb . Il reste donc
dterminer les (n 1) inconnues y1 , y2 , , yn1 . Pour ce faire, on remplace dans lquation diffrentielle
toutes les drives de la fonction y(x) par des formules aux diffrences finies, et ce en chaque point xi pour
1 i n 1. Plus prcisment, au point xi , lquaion diffrentielle scrit :

y (xi ) a2 (xi )y (xi ) a1 (xi )y(xi ) = a0 (xi )

En introduisant, par exemple les diffrences centres :


yi+1 2yi + yi1 yi+1 yi1
y (xi ) = 2
+ O(h2 ) et y (xi ) = + O(h2 )
h 2h
on parvient, en ngligeant le terme derreur O(h2 ) :

(2 + ha2 (xi ))yi1 + (4 + 2h2 a1 (xi ))yi + (2 + ha2 (xi ))yi+1 = 2h2 a0 (xi )

Cette relation tant vrifie pour i = 1, 2, , (n 1), on se ramne la rsolution du systme linaire

55
VII.7. Mthodes des diffrences finies

tridiagonal suivant :

4 + 2h2 a1 (x1 )

2 + ha2 (x1 ) 0 0

y1
..
2 ha2 (x2 ) 4 + 2h2 a1 (x2 ) . y2

2 + ha2 (x2 ) .
. . . .


0 .. .. .. .
2 ha2 (xn2 ) 4 + 2h a1 (xn2 ) 2 + ha2 (xn2 ) yn2
2

0
0 ... 2 ha2 (xn1 ) 4 + 2h2 a1 (xn1 ) yn1

2h2 a0 (x1 ) + (2 + ha2 (x1 ))ya



2h2 a0 (x2 )
..

= . (VII.15)

2

2h a0 (xn2 )
2
2h a0 (xn1 ) + (2 ha2 (xn1 ))yb

Le choix des diffrences centres, plutt que de diffrences avant ou arrire, permet dobtenir des rsultats
plus prcis, car dordre plus lev. Toutefois, il peut se rvler utile dans certaines situations dutiliser des
diffrences avant ou arrire lorsquon cherche des schmas aux diffrences finies quelque peu diffrents.

56
A NNEXE A

Calcul matriciel

A.1 Rappels de Calcul Matriciel


Soit V un espace vectoriel de dimension finie n sur le corps de base K = R. Une base de V est un ensemble
{e1 , e2 , ..., en } de n vecteurs linairement indpendants de V . Tout vecteur v V admet une dcomposition
unique :
X n
v= vi ei
i=1

o les scalaires vi sont les composantes de v dans la base.


En notation matricielle, v est un vecteur colonne et v dsigne le vecteur ligne transpos.
Lapplication : V V 7 R dfinie par :
n
X
u.v = v u = u v = v.u = u i vi
i=1

est appele produit scalaire euclidien.


Une matrice m lignes et n colonnes est appele matrice de type (m, n) et lon note Mmn (R) lespace
vectoriel des matrices de type (m, n) lments dans R.
Une matrice A dlments aij ou (A)ij est note : A = (aij ), le premier indice est celui de la ligne, le
second celui de la colonne.
La matrice nulle et le vecteur nul sont tous deux dsigns par 0.
Etant donn une matrice A Mmn (R), on note A Mmn (R) la matrice transpose de la matrice A,
dfinie de faon unique par :
Au.v = u.A v pour tous u et v Rn qui entrainent (A )ij = aji .

57
A.1. Rappels de Calcul Matriciel

A.1.1 Multiplications de matrices


Si A = (aik ) est une matrice de type (m, ) et B = (bkj ) de type (, n), leur produit AB est la matrice de
type (m, n) dfinie par :
X
(AB)ij = aik bkj
k=1
ou en dsignant par Ai le ime vecteur ligne de A et par Bj le jme vecteur colonne de B :

(AB)ij est gal au produit scalaire Ai .Bj


Rappel : (AB) = B A

Exercice 20 : Soit A, T Mnn avec 1 p < q n. On suppose que A est une matrice quelconque et que
T est dfinie par :
tii = 1 pour 1 i n et i 6= p, i 6= q (1 p < q n) tpq = tqp = 1 et les autres tij sont nuls,

Calculer la matrice B = T A en utilisant la formule du produit matriciel.

A.1.2 Matrices remarquables


Une matrice de type (n, n) est une matrice carre dordre n, la matrice unit est I = (ij ) ( 5 ), ses lments
diagonaux valent 1, les autres sont nuls.

Une matrice A est inversible sil existe une matrice unique A1 telle que : AA1 = A1 A = I, dans le
cas contraire A est dite singulire.

Rappel : (AB)1 = B 1 A1 , (A )1 = (A1 ) .

Une matrice A est


- symtrique si A est relle et A = A
- orthogonale si A est relle et si AA = A A = I
- diagonale si aij = 0 pour i 6= j, on note A = diag(a11 , . . . , ann ).

On appelle rayon spectral de A : (A) = max |i (A)| o i (A) sont les valeurs propres de A.
1in

Formes remarquables des matrices : diagonale (par blocs), tridiagonale (par blocs), p-diagonale (par blocs),
triangulaire (par blocs).

A.1.3 Oprations par blocs sur les matrices


Soit A Mmn . On appelle sous-matrice ou bloc de la matrice A toute matrice de la forme :

ai1 j1 ai1 j2 ai1 jq
ai j ai j ai j
21 2 2 2 q
.. .. . . ..
. . . .
ai p j 1 ai p j 2 aip jq

o ik , j sont des entiers tels que 1 i1 < . . . < ip m et 1 j1 < . . . < jq n.


Soit A Mmn que lon partage en quatre sous-matrices :
 
A11 A12
A=
A21 A22
si i = j

1
5. Symbole de Kronecker : ij =
0 si i 6= j

58
A.2. Normes vectorielles et normes matricielles

Considrons une matrice B dcompose de la mme manire, on a alors :


 
A11 + B11 A12 + B12
A+B =
A21 + B21 A22 + B22
 
A11 B11 + A12 B21 A11 B12 + A12 B22
AB =
A21 B11 + A22 B21 A21 B12 + A22 B22
Formellement, on fait le produit habituel en considrant les sous-matrices comme des lments sous rserve
que le produit des blocs soit licite 6 .
Si A Mm , A = (AIK ) et B Mn , B = (BKJ ), dcomposes par blocs, leur produit AB est la
matrice C = (CIJ ) Mmn dfinie par :
X
(CIJ ) = AIK BKJ
K

Remarque : Un vecteur, tant une matrice une colonne, ne peut tre dcompos quen blocs de lignes
videmment.
La dcomposition par blocs permet de simplifier les calculs sur les matrices dont certains blocs sont des
matrices lmentaires. Elle permet aussi de ramener la rsolution dun gros problme la rsolution de
plusieurs petits problmes (rsolution de systmes linaires, inversion de matrices).

Exercice 21 : Rsoudre le systme linaire dfini par les blocs :


    
A11 A12 x1 b1
=
A21 A22 x2 b2

Montrer que si det(A11 ) 6= 0 alors x1 = A1 1


11 (b1 A12 x2 ), et que si (A22 A21 A11 A12 ) est inversible on
1 1
a x2 = (A22 A21 A11 A12 ) (b2 A21 A11 b1 ).
1

A.2 Normes vectorielles et normes matricielles


Dfinition :
Soit V un espace vectoriel sur K. Une norme sur V (ou norme vectorielle) est une application k.k : V 7 R
telle que :
N1. pour tout x V on a kxk 0 et kxk = 0 x = 0
N2. kxk = ||kxk pour tout K et tout x V
N3. kx + yk kxk + kyk pour tous x et y V
Soit V un espace vectoriel de dimension finie n, les normes usuelles sont :
n
X Xn
kxk1 = |xi | kxk2 = ( |xi |2 )1/2 kxk = max |xi | (A.1)
1in
i=1 i=1

Soit Mnn lanneau des matrices carres dordre n, lments dans le corps K. Une norme matricielle est
une application k.k : Mnn 7 R telle que :
N1. pour tout A Mnn on a kAk 0 et kAk = 0 A = 0
N2. kAk = ||kAk pour tout K et A Mnn
N3. kA + Bk kAk + kBk pour tous A et B Mnn
N4. kABk kAkkBk pour tous A et B Mnn
6. Prendre garde lordre des facteurs.

59
A.2. Normes vectorielles et normes matricielles

On construit des normes matricielles partir de la notion de norme dune application linaire : tant donn
une norme vectorielle k.k sur V , lapplication k.kV : Mnn 7 R dfinie par :

kAvk
kAkV = sup
vV kvk

est une norme matricielle appele norme matricielle subordonne la norme vectorielle donne.

Il rsulte de la dfinition que : kAvk kAkV kvk pour tous A Mnn et v V et que pour une norme
subordonne 7 , on a toujours kIk = 1.

Dfinition : Soit A = (aij ) une matrice carre, alors :


n
kAvk1 X
kAk1 = sup = max |aij | (A.2)
vV kvk1 1jn
i=1

n
kAvk X
kAk = sup = max |aij | (A.3)
vV kvk 1in
j=1

Thorme : Si k.k est une norme matricielle quelconque on a toujours (A) kAk o (A) dsigne la
plus grande valeur propre de A en module.

7. Il existe des normes matricielles non subordonnes une norme vectorielle.

60

Vous aimerez peut-être aussi