Vous êtes sur la page 1sur 51

Introduction à l’Analyse Numérique avec

Matlab
   
ξ
−div ∧ ξ, grad uε = Q
ε

u(x, y) = sin(4Πx)sin(2Πy)

DONFACK HUBERT
Doctorat/PhD en Analyse Numérique UYI
Année Académique 2017-2018
2
Table des matières

1 Méthode de résolution approchée 5


1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Differentes sources d’erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Systèmes linéaires 7
2.1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Méthodes directes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.1 Résolution d’un système triangulaire . . . . . . . . . . . . . . . . . . . . 8
2.2.2 Méthode d’élimination de Gauss et Factorisation LU . . . . . . . . . . . 9
2.2.3 Opérations élémentaires sur les lignes . . . . . . . . . . . . . . . . . . . . 9
2.2.3.1 Multiplication d’une ligne par un scalaire . . . . . . . . . . . . 9
2.2.3.2 Permutation de deux lignes . . . . . . . . . . . . . . . . . . . . 10
2.2.3.3 Opération (Li ← Li + λLj ) . . . . . . . . . . . . . . . . . . . . 10
2.2.4 Méthode d’élimination de Gauss et Factorisation LU . . . . . . . . . . . 11
2.2.4.1 Méthode d’élimination de Gauss . . . . . . . . . . . . . . . . . 11
2.2.5 Factorisation LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.6 Méthode de Cholesky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.7 Méthode de Gauss-Jordan . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 Méthodes itératives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.1 Définition et propriété . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.2 Exemples de méthodes itératives . . . . . . . . . . . . . . . . . . . . . . 17
2.3.2.1 Méthode de Richardson . . . . . . . . . . . . . . . . . . . . . . 17
2.3.3 Méthode de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3.4 Méthode de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3 Résolution des équations non linéaires 21


3.1 Méthode de dichotomie (ou de la bissection) . . . . . . . . . . . . . . . . . . . . 21
3.2 Méthodes des points fixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3 Méthode de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4 Systèmes d’équations non linéaires . . . . . . . . . . . . . . . . . . . . . . . . . 23

4 Interpolation 29
4.1 Interpolation polynômiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.1.1 Polynôme de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.1.2 Erreur d’interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1.3 Instabilité de l’interpolation de Lagrange . . . . . . . . . . . . . . . . . . 33
4.2 Interpolation de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2.1 Détermination du polynôme d’interpolation de Newton . . . . . . . . . . 34
4.2.2 Erreur d’interpolation avec les différences divisées . . . . . . . . . . . . . 37

3
4 TABLE DES MATIÈRES

4.3 Interpolation à l’aide de fonctions Splines cubiques . . . . . . . . . . . . . . . . 37

5 Intégration numérique 41
5.1 Formules d’intégration simples . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2 Liens avec l’interpolation polynomiale . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2.1 Formalisme de l’intégration approchée . . . . . . . . . . . . . . . . . . . 43
5.2.2 Formules de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.2.3 Estimation de l’erreur et Stabilité . . . . . . . . . . . . . . . . . . . . . 44
5.2.4 Formules composites de Simpson . . . . . . . . . . . . . . . . . . . . . . 45
5.2.5 Autres approches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

6 Résolution numérique des équations différentielles 47


6.1 Résolution numérique : méthode d’Euler . . . . . . . . . . . . . . . . . . . . . . 48
6.2 Méthodes à un pas générique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.3 Méthodes à pas multiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Chapitre 1

Méthode de résolution approchée

1.1 Introduction
Les cours traditionnels de mathématiques nous familiarisent avec des théories et des mé-
thodes qui permettent de résoudre de façon analytique un certain nombre de problèmes. C’est
le cas notamment des techniques d’integration et de résolution d’équations algébriques ou dif-
férentielles. Bien qu’on puisse proposer plusieurs méthodes pour résoudre un problème donné,
celles-ci conduisent à un même résultat, précis et unique.
C’est ici que l’analyse numérique se distingue des autres champs plus classique des ma-
thématiques. En effet, pour un problème donné, il est possible d’utiliser plusieurs techniques
de résolution qui résultent en différents algorithmes. Ces algorithmes dépendent de certains
paramètres qui influent sur la précision du résultat. De plus, on utilise en cours de calcul des
approximations plus ou moins précises. Par exemple, on peut remplacer une dérivée par une
différence finie de façon à transformer une équation différentielle en une équation algébrique.
Le résultat final et son degré de précision dépendent des choix que l’on fait.
Une partie de l’analyse numérique consiste donc à contenir les effets des erreurs ainsi intro-
duites, qui proviennent de trois sources principales
– Les erreurs de modélisation ;
– Les erreurs de représentation sur ordinateur ;
– Les erreurs de troncature.
Les erreurs de modélisation, comme leur nom l’indique, proviennent de l’étape de mathémati-
sation du phénomène physique auquel on s’intéresse. Cette étape consiste à faire ressortir les
causes les plus déterminantes du phénomène observé et à les mettre sous forme d’équations
(différentielles le plus souvent). Si le phénomène observé est très complexe, il faut simplifier et
négliger ses composantes qui paraissent moins importantes ou qui rendent la résolution numé-
rique trop difficile. C’est ce que l’on appelle les erreurs de modélisation.
La seconde catégorie d’erreurs est liée à l’utilisation de l’ordinateur. En effet, la représen-
tation sur ordinateur (généralement binaire) des nombres introduit souvent des erreurs. Même
infimes au départ, ces erreurs peuvent s’accumuler lorsqu’on effectue un très grand nombre
d’opérations. Par exemple 1/3 n’a pas de représentation binaire exacte, car elle ne possède
pas de représentation décimale finie. Ces erreurs se propagent au fil des calculs et peuvent
compromettre la précision des résultats.
Enfin, les erreurs de troncature proviennent principalement de l’utilisation du développement
de Taylor, qui permet par exemple de remplacer une équation différentielle par une équation
algébrique. Le développement de Taylor est le principal outil mathématique du numéricien. Il donc
primordial d’en maitriser l’énoncé et ses conséquences.. Ce chapitre traite donc principalement
d’erreurs numériques, et non des inévitables erreurs de programmation qui font, hélas, partie

5
1.2. DIFFERENTES SOURCES D’ERREURS

du quotidien du numéricien. Il devrait permettre au lecteur de mieux gérer les erreurs au sein
des processus numériques afin d’être en mesure de mieux interpreter les résultats.

1.2 Differentes sources d’erreurs


Définition 1. Soit x, un nombre, et x? , une approximation de ce nombre. L’erreur absolue est
définie par :

4x = |x − x? | (1.2.1)
L’erreur relative est définie par :

|x − x? | 4x
Er (x) = = (1.2.2)
|x| |x|

De plus, en multipliant par 100%, on obtient l’erreur relative en pourcentage.

En pratique, il est difficile d’évaluer les erreurs absolue et relative, car on ne connait géné-
ralement pas la valeur exacte de x et on n’a que x? . Dans le cas de quantités mésurées dont
on ne connait que la valeur approximative, il est impossible de calculer l’erreur ; on dispose en
revanche d’une borne supérieur pour cette erreur qui dépend de la précision des instruments
de mesure utilisés. Cette borne est quand même appelée erreur absolue, alors qu’en fait on a :

|x − x? | ≤ 4x

ce qui peut également s’écrire :

x? − 4x ≤ x ≤ x? + 4x (1.2.3)

et que l’on note parfois x = x? ± 4x. On peut interpréter ce résultat en disant que l’on a
estimé la valeur exacte x à partir de x? avec une incertitude de 4x de part et d’autre.
L’erreur absolue donne une mesure quantitative de l’erreur commise et l’erreur relative en
mesure l’importance. Par exemple si on fait usage d’un chronomètre dont la précision est de
l’ordre du dixième de seconde, l’erreur absolue est bornée par 0, 1 s. Mais est-ce une erreur
importante ? Dans le contexte d’un marathon d’une durée de 2h20min, l’erreur relative liée au
0,1
chronométrage est très faible : 2×60×60+20×60 = 0, 0000119 et ne devrait pas avoir de conséquence
sur le classement de coureurs. Par contre, s’il s’agit d’une course de 100m d’une durée d’environ
10s, l’erreurrelative est beaucoup plus importante : 0,1
10
= 0, 01 soit 1% du temps de course. Avec
une telle erreur, on ne pourra vraisemblablement pas faire la difference entre le premier et le
dernier coureur.Cela nous amène à parler de précision et de chiffres significatifs au sens de la
définition suivante

Définition 2. Si l’erreur absolue vérifie 4x ≤ 0, 5 × 10m alors le chiffre correspondant à la me


puissance de 10 est dit significatif et tous ceux à sa gauche (correspondant aux puissances de
10 supérieures à m) le sont aussi

6
Chapitre 2

Systèmes linéaires

2.1 INTRODUCTION
Les systèmes d’équations jouent un rôle très important en ingeniérie. On peut classer les
systèmes algébriques en deux grandes familles : les systèmes linéaires et les systèmes non li-
néaires. Beaucoup de problèmes se réduisent à la résolution numérique d’un système d’équations
linéaires. Par exemple calculer l’écoulement de l’air autour d’un avion ou l’écoulement de l’eau
dans une turbine hydraulique. On peut également analyser la resistance de la carlingue d’un
avion à différentes contraintes extérieurs et en vérifier numériquement la solidité. Il y a deux
grandes classes de méthodes :
Méthodes directes :Déterminent explicitement la solution après un nombre fini d’opérations
arithmétiques.
Méthodes indirectes ou iteratives : Consistent à générer une suite qui convergent vers la
solution du système après un nombre infini d’itérations.
On note Mn (R) l’ensemble des matrices carrées d’ordre n. Soit A ∈ Mn (R) une matrice
inversible, b ∈ Rn . On se propose de résoudre le système linéaire Ax = b c’est -à-dire
(
x ∈ Rn
(2.1.1)
Ax = b

Comme A est inversible, il existe un unique vecteur x ∈ Rn solution de (2.1.1).


Problématique : La solution du système (2.1.1) est donnée d’un point de vue théorique
par les formules de Cramer à savoir :

4j
xj = j = 1, 2, 3, ..., n (2.1.2)
det(A)

où 4j est le déterminant de la matrice obtenue de A en remplaçant sa j eme colonne par le second


menbre b cette formule est d’une utilité pratique limitée car :
X
det(A) = sign(π)a1π1 a2π2 ...anπn
π∈P

nécessite (n + 1) ! flops (operations à virgule flottante). Soit au total environ (n + 1)(nn! − 1)


flops. Lorsque n = 100 le nombre d’opérations est d’environ 9, 4×10161 flops. Pour un ordinateur
fonctionnant à 100 megaflops environ 3 × 10146 années sont nécessaire. Pour cette raison les
méthodes alternatives aux formules de Cramer ont été devéloppé.

7
2.2. MÉTHODES DIRECTES

2.2 Méthodes directes


2.2.1 Résolution d’un système triangulaire
Définition 3. Une matrice est dite triangulaire inférieure (ou supérieure) si tous les aij (ou
tous les aji ) sont nuls pour i < j. Une matrice triangulaire inférieure a la forme :
 
a11 0 0 . . . 0
 a21 a22 0 . . . 0 
 
 a31 a a . . . 0 
 32 33 
 . . . . . . . 
 
 . . . . . . . 
 
 an−11 an−12 . . . an−1n−1 0 
an1 an2 . . . an−1n ann

Une matrice triangulaire supérieure est la transposée d’une matrice triangulaire inférieure.
Les systèmes triangulaires faciles à résoudre. Il suffit en effet de commencer par l’équation
qui se trouve à la pointe du triangle ( la prémière pour une matrice triangulaire inférieure et la
dernière pour une matrice triangulaire supérieure) et de résoudre une à une les équations. On
parle de descente triangulaire ou de remontée triangulaire, selon le cas.
Considérons un système inversible 3 × 3 triangulaire inferieur.
    
l11 0 0 x1 b1
 l21 l22 0   x2  =  b2  (2.2.1)
l31 l32 l33 x3 b3

La matrice étant inversible, ses termes diagonaux lii i = 1, 2, 3 sont non nuls. On peut donc
déterminer successivement les valeurs inconnues xi pour i = 1, 2, 3

x1 = b1 /l11
x2 = (b2 − l21 x1 ) /l22
x3 = (b3 − l31 x1 − l32 x2 ) /l33

Cet algorithme de substitution directe peut être étendu aux système n × n. Dans le cas d’un
système (
x ∈ Rn
Lx = b
où L est une matrice inversible triangulaire inférieur d’ordre n (n ≥ 2) la méthode (Formule de
descente) s’écrit :


 x1 = b1 /l11 !
P
i−1 i = 2, 3, ..., n (2.2.2)

 xi = bi − lij xj /lii
j=1

Cet algorithme effectue n(n + 1)/2 divisions et multiplications, n(n − 1)/2 additions et sous-
tractions.
Lemme 4. La résolution d’un système d’équations linéaires triangulaire se fait en n2 opérations
à virgule flottante.

8
2.2. MÉTHODES DIRECTES

On traite de manière analogue un système linéaire U x = b où U est une matrice inversible


triangulaire supérieur d’ordre n (n ≥ 2) la méthode (Formule de remontée) s’écrit (l’algorithme
de substitution retrograde ) dans le cas général


 xn = bn /Unn !
Pn i = n − 1, n − 2, n − 3, ..., 2, 1 (2.2.3)

 xi = bi − Uij xj /Uii
j=i+1

2.2.2 Méthode d’élimination de Gauss et Factorisation LU


2.2.3 Opérations élémentaires sur les lignes
Revenons au système (2.1.1) et voyons comment on peut le transformer sans en modifier la
solution. La réponse est toute simple. On peut toujours à gauche de chaque côté, les termes
de cette relation par une matrice M inversible, la solution n’est pas modifiée puisque l’on peut
remultiplier par M −1 pour revenir au système de départ. Ainsi
M Ax = M b (2.2.4)
possède la même solution que le système (2.1.1).
Remarque 5. Ce résultat n’est plus vrai si la matrice n’est pas inversible. On ne peut plus en
effet revenir en arrière (car M −1 n’existe pas).
Pour transformer un système quelconque en système triangulaire, il suffit d’utiliser trois
opérations élémentaires sur les lignes de la matrice. Ces trois opérations élémentaires sur les
lignes correspondent à trois types de matrices M différents. C’est la base de la méthode d’éli-
mination de Gauss. On note Li la ligne i de la matrice A. Les trois opérations élémentaires
dont on a besoin sont les suivantes.
1. Opération (Li ← λLi ) : remplacer la ligne i par un multiple d’elle- même
2. Opération (Li ←→ Lj ) : intervertir la ligne i et la ligne j
3. Opération (Li ← Li + λLj ) : remplacer la ligne i par la ligne i plus un multiple de la ligne
j

2.2.3.1 Multiplication d’une ligne par un scalaire


Remplacer la ligne i par un multiple d’elle même (Li ← λLi ) revient à multiplier le système
(2.1.1) par une matrice diagonale inversible N = M (Li ← λLi ), dont tous les éléments diago-
naux sont 1, sauf aii qui vaut λ. Tous les autres termes sont nuls. Cette matrice a pour effet de
multiplier la ligne i par le scalaire non nul λ et son inverse est N −1 = M (Li ← (1/λ) Li ).
Exemple 6. Soit le système
    
3 1 2 x1 6
 6 4 1   x2  =  11  (2.2.5)
5 4 1 x3 10

dont la solution →
−x = (1; 1; 1)T . Si on souhaite multiplier la ligne 2 par un facteur 3, cela
revient à multiplier le système par la matrice
 
1 0 0
N = M (L2 ← 3L2 ) =  0 3 0 
0 0 1

9
2.2. MÉTHODES DIRECTES

on obtient :     
3 1 2 x1 6
 18 12 3   x2  =  33 
5 4 1 x3 10
La solution de ce nouveau système reste la même que celle du système de depart.

2.2.3.2 Permutation de deux lignes


L’opération élémentaire qui consiste à intervertir deux lignes (Li ←→ Lj ) est également
connue sous le nom de permutation de lignes. Cette opération est équivalente à la multiplication
du système (2.1.1) par une matrice inversible N = M (Li ←→ Lj ), qui 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 les autres sont nuls.

Exemple 7. On veut intervertir la ligne 2 et la ligne 3 au système de l’exemple précedent, il


suffit de multiplier par la matrice
 
1 0 0
P (L2 ←→ L3 ) =  0 0 1 
0 1 0

et on obtient. La matrice P (Li ←→ Lj )est inversible. Pour obtenir son inverse, il suffit de
réfléchir une seconde. En effet , quelle est l’opération inverse de celle qui inverse deux lignes,
sinon l’inverse des deux mêmes lignes ? P −1 (Li ←→ Lj ) = P (Li ←→ Lj )

2.2.3.3 Opération (Li ← Li + λLj )


La dernière opération élémentaire consiste à remplacer la ligne i par la ligne i plus un
multiple de la ligne j(Li ← Li + λLj ). Cela est encore une fois équivalent à multiplier le système
de départ par une matrice inversible N = M (Li ← Li + λLj )qui vaut 1 sur toute la diagonale
et 0 partout ailleurs, sauf aij qui vaut λ.
Remarque 8. La matrice N = M (Li ← Li + λLj ) est inversible. Pour obtenir son inverse, il
suffit de remplacer λpar −λ, c’est -à-dire :

N −1 = M −1 (Li ← Li + λLj ) = M (Li ← Li − λLj ) (2.2.6)

Cela signifie que pour revenir en arrière il suffit de soustraire la ligne que l’on vient d’ajouter.

Exemple 9. Dans le système (2.2.5), on souhaite remplacer la deuxième la ligne par la deuxième
ligne (i = 2) moins deux fois (λ = −2) la première ligne (j = 1). Il suffit alors de multiplier le
système par :  
1 0 0
M (L2 ← L2 − λL1 ) =  −2 1 0 
0 0 1
ce qui donne :     
3 1 2 x1 6
 0 2 −3   x2  =  −1 
5 4 1 x3 10

10
2.2. MÉTHODES DIRECTES

2.2.4 Méthode d’élimination de Gauss et Factorisation LU


2.2.4.1 Méthode d’élimination de Gauss
La méthode délimination de Gauss a pour but de transformer le système (2.1.1) en un
système équivalent c’est-à-dire ayant la même solution de la forme U x = b̃ où U est une
matrice inversible triangulaire supérieur d’ordre n et b̃ est un second membre convenablement
modifié. Ce dernier système peut être alors résolu par la méthode de substitution retrograde.
Considérons la matrice A du système (2.1.1) dont le terme diagonal a11 est supposé non nul.
On pose A(1) = A , b(1) = b. On introduit les multiplicateurs
(1)
ai1
mi1 = (1)
i = 2, 3, ..., n
a11
(1)
où les aij désignent les éléments de A(1) . On peut éliminer l’inconnue x1 des lignes i = 2, 3, 4, ..., n
en leur retranchant mi1 fois la première ligne et en faisant de même pour le membre de droite.
On définit alors :
(2) (1) (1)
aij = aij − mi1 a1j i, j = 2, 3, ..., n
(2) (1) (1)
bi = bi − mi1 b1 i = 2, 3, ..., n
On obtient un nouveau système de la forme
 (1) (1) (1)
   (1)

a11 a12 . . . a1n x1 b1
    
 0 a(2)22
(2)
. . . a2n  x2  
(2)
b2 
    
 . . . . . .  . = . 
    
 . . . . . .  .   . 
    
 . . . . . .  .  . 
(2) (2) xn (2)
0 an2 . . . ann bn
que l’on note A(2) x = b(2) qui est équivalent au système de depart. On peut à nouveau trans-
former ce système de façon à éliminer l’inconnue x2 des lignes 3, 4, ..., n. En poursuivant ainsi
on obtient une suite finie de systèmes.

A(k) x = b(k) 1 ≤ k ≤ n
(i)
où on a supposé aii 6= 0 pour i = 1, 2, 3, ..., k − 1. Il est clair que pour k = n on obtient alors
un système triangulaire supérieur A(n) x = b(n) avec
 (1) (1) (1)
  (1) 
a11 a12 . . . a1n b1  
 (2) (2)   (2)  x1
 0 a22 . . . a2n   b2   x2 
     
 . . . . . .   .   . 
(n)   (n)    
A = . . . . . .  b = . x= 
     . 
 . . . . . .   .   . 
 (n−1) (n−1)   (n−1) 
 0 0 . . an−1n−1 an−1n   bn−1 
(n) (n)
xn
0 0 . . 0 ann bn

11
2.2. MÉTHODES DIRECTES

Code matlab élimination de Gauss


function [b]=gauss(A,b)
n=length(b) ;
% phase d’élimination
for k=1 :n-1
for i=k+1 :n
if A(i,k)~=0
lambda=A(i,k)/A(k,k) ;
A(i,k+1 :n)=A(i,k+1 :n)-lambda*A(k,k+1 :n) ;
b(i)=b(i)-lambda*b(k) ;
end
end
end
% phase de substitution retrograde
for k=n :-1 :1
b(k)=(b(k)-A(k,k+1 :n)*b(k+1 :n)/A(k,k)
end

2.2.5 Factorisation LU
La méthode de Gauss est équivalente à la factorisation de la matrice sous forme d’un produit
de deux matrices L et U , A = L × U avec U = A(n) . Une fois calculées les matrices L et U ,
résoudre le système (2.1.1) consiste simplement à résoudre successivement les deux systèmes
triangulaires Ly = b et U x = y.
– Les matrices L et U ne dépendent que A et non du second membre.
– Le nombre d’opérations est alors considérablement reduit puisque l’éffort de calcul le plus
important est environ 2n3 /3 flops
 est dédié à la procedure d’élimination
1 0 . . . 0
 m21 1 . . . 0 
 
 m31 m32 1 . . . 
 
L=  . . . . . . 

 . . . . . . 
 
 . . . . 1 0 
mn1 mn2 . . . 1

(k)
aik
mik = (k)
i = k + 1, k + 2, ..., n k = 1, 2, ..., n
akk
(k+1) (k) (k)
aij = aij − mik aik i, j = k + 1, k + 2, ..., n
(k+1) (k) (k)
bi = bi − mik bk i = k + 1, k + 2, ..., n

Théorème 10. (Condition suffisante d’existence et d’unicité de la factorisation LU)


Soit A une matrice d’ordre n la factorisation LU de A avec lii = 1, i = 1, 2, 3, ..., n existe
et est unique si toutes les sous matrices principales
 
a11 a12 . a1k
 
ek =  a21 a22 . . 
A  . . . . 
ak1 ak2 . akk

12
2.2. MÉTHODES DIRECTES

(avec 1 ≤ k ≤ n − 1) extraites de A sont inversibles.


Démonstration. Unicité
soit A = L1 U1 = L2 U2 d’où U1 U2−1 = L−1 1 L2 = I donc U1 = U2
(r)
Existence : il suffit de montrer que arr 6= 0 pour 1 ≤ r ≤ n − 1. On le démontre par
récurrence. Le premier pivot est forcément non nul car c’est la sous matrice Af1 qui est régulière
(r) (1)−1 (2)−1 (3)−1 −1
par hypothèse. si arr 6= 0 pour 1 ≤ r ≤ k − 1 , on a alorsA = L L L ...L(k−1)
 A 
(k)

fk = L
soit par blocs A fk A
fk , or d’une part par hypothèse det A
fk 6= 0 et d’autre part det A fk =
(1) (2) (k−1) (k) (r) (k)
a11 a22 ....ak−1k−1 akk . Par hypothèse de récurrence arr 6= 0 pour 1 ≤ r ≤ k − 1, donc akk est
aussi different de zéro.
Remarque 11. Une fois utilisés, les coefficients de la matrice A ne servent plus à rien, ils peuvent
être détruits au fur et à mesure que la décomposition progresse. De fait on peut les remplacer
par les valeurs de Lij ou Uij selon le cas. C’est ce que l’on nomme la noatation compacte. La
notation compacte évite de garder inutilement en memoire des matrices de grande taille.
Définition 12. La notation compacte de la décomposition LU est la matrice de coefficients
 
U11 U12 U13 U14
 l21 U22 U23 U24 
  (2.2.7)
 l31 l32 U33 U34 
l41 l42 l43 U44
dans le cas d’une matrice de dimension 4 sur 4. La matrice initiale A est tout simplement
détruite. Les coefficients 1 sur la diagonale de la matrice ne sont pas indiqués explicitement
mais doivent tout de même être pris en compte de façon plus rigoureuse la notation compacte
revient à mettre en memoire la matrice L + U − I et à détruire la matrice A.

Code matlab décomposition LU notation compacte


function [A]=LUdec(A)
n=size(A,1) ;
% Ce code retourne la matrice A=[L\U] forme compacte
for k=1 :n-1
for i=k+1 :n
if A(i,k)~=0
lambda=A(i,k)/A(k,k) ;
A(i,k+1 :n)=A(i,k+1 :n)-lambda*A(k,k+1 :n) ;
A(i,k)=lambda ;
end
end
end
Remarque 13. c’est la valeur sur la diagonale de L qui donne l’unicité. cette valeur doit donc
être fixée.
– Que faire en cas de pivot nul ?
Théorème 14. (Décomposition LU d’une matrice)
Soit A ∈ Mn (R) une matrice inversible, il existe une matrice de permutation P telle que,
pour cette matrice de permutation, il existe un et un seul couple de matrices (L, U )où L est
triangulaire inférieure de termes diagonaux égaux à 1 et U est triangulaire supérieure, vérifiant
P A = LU

13
2.2. MÉTHODES DIRECTES

Remarque 15. En fait n’importe quelle matrice carrée admet une décomposition de la forme
P A = LU , mais si la matrice A n’est pas inversible, son échelonnement va nous donner des
zeros pour les dernieres lignes. La décomposition LU n’est pas dans ce cas unique.

2.2.6 Méthode de Cholesky


Une matrice symétrique définie positive admet une factorisation ne faisant intervenir qu’une
seule matrice triangulaire inférieure, appelée factorsation de Cholesky. Plus précisement, on a
le resultat suivant.
Théorème 16. (Factorisation de CHOLESKY)
Soit A une matrice symétrique définie positive. Alors, il existe une unique matrice triangu-
laire inférieur B dont les éléments diagonaux sont strictement positifs, telle que A = BB t
Démonstration. On pose B = (bij )1≤i,j≤n avec bij = 0 si i < j et l’on déduit de l’égalité
A = BB t que :
n min(i,j)
X X
aij = bik bjk = bik bjk avec 1 ≤ i, j ≤ n
k=1 k=1

La matrice étant symétrique, il suffit par exemple que les relations ci-dessus soient vérifiées
pour j ≤ i et l’on construit alors les colonnes de la matrice B à partir de celles de A. En fixant
l’indice j à 1 et en faisant varier l’indice i de 1 à n. On trouve

a11 = (b11 )2 d0 où b11 = a11
a21 = b11 b21 d0 où b21 = ab11
21

. . .
. . .
. . .
an1 = b11 bn1 d où bn1 = abn1
0
11

Ce qui permet la détermination de la première colonne de B. Les coefficients de la j eme colonne


de B, 2 ≤ j ≤ n s’obtiennent en utilisant les relations
v
u j−1
u X
2 2
ajj = (bj1 ) + (bj2 ) + ... + (bjj )2 0
d où t
bjj = ajj − (bjk )2
k=1

P
j−1
aj+1,j − bjk bj+1,k
0 k=1
aj+1,j = bj1 bj+1,1 + bj2 bj+1,2 + ... + bjj bj+1,j d où bj+1,j =
bjj
. . .
P
j−1
an,j − bjk bn,k
0 k=1
an,j = bj1 bn,1 + bj2 bn,2 + ... + bjj bn,j d où bn,j =
bjj
. . .
P
j−1
ai,j − bjk bi,k
k=1
bi,j = ∀i = j + 1, j + 2, ...n ∀j = 2, 3...n
bjj

14
2.2. MÉTHODES DIRECTES

2.2.7 Méthode de Gauss-Jordan


Elle consiste à :

1. Transformation de la matrice
transf ormation (n)
 A en la matrice identité :
(A, b) → In , b où In est la matrice identité dans Mn (R)
2. Résolution du système :

AX = b ⇐⇒ In X = b(n) ⇐⇒ X = b(n)

Algorithme de Gauss-Jordan
On pose A(1) = A et b(1) = b
 (1) (1) (1) (1)

a11 a12 . . . a1n : b1
 (1) (1) (1) (1) 
 a21 a22 . . . a2n : b2 
  
 . . . . . . : . 
A(1) : b(1) =  
 . . . . . . : . 
 
 . . . . . . : . 
(1) (1) (1) (1)
an1 an2 . . . ann : bn

(1)
A la 1ère étape : si a11 6= 0 (sinon on fait une permutation de lignes) on fait les affectations
suivantes :
( (2) 1 (1)
L1 ← (1) L1
a11
(2) (1) (1) (2)
Li ← Li − ai1 Li 2≤i≤n

On obtient
 (2) (2) (2)

1 a12 . . . a1n : b1 (2)
 (2) (2) (2)  L1
 0 a22 . . . a2n : b2  (2)
   L
 . . . . . . : .  2
A(2) :b (2)
=  .
 . . . . . . : . 
  .
 . . . . . . : .  (2)
(2) (2) (2) Ln
0 an2 . . . ann : bn


 (1)

 (2) a1j (2)
(2)
b1

a 1j = (1) 2 ≤ j ≤ n; b1 = (1)

 (2) a11 a11
ai1 = 0 2≤i≤n

 (2) (1) (1) (2)
aij = aij − ai1 a1j 2 ≤ i, j ≤ n



b(2) = b(1) − a(1) b(2)
i i i1 1 2≤i≤n

(k)
A la k ième étape (1 ≤ k ≤ n) : Si akk 6= 0 ( sinon on fait une permutation de lignes) on fait les
affectations suivantes :

( (k+1) 1 (k)
Li ← (k) Li
akk
(k+1) (k) (k) (k+1)
Li ← Li − aik Lk 1 ≤ i ≤ n i 6= k

15
2.3. MÉTHODES ITÉRATIVES

On obtient donc
 (k+1) (k+1) (k+1)

1 0 . . 0 a1k+1 . . a1,n : b1
 0 1 . . .
(k+1)
a2k+1 . . :
(k+1)
: b2  L(k+1)
  1
 . 0 . . 0 . . . : : .  (k+1)
   L2
 
A(k+1) :b (k+1)
= . . . . 1
(k+1)
ak,k+1 .
(k+1)
. ak,n : .  .
 
 . . . . . . . . : : .  :
  (k+1)
 . . . . 0 . . . . : .  Ln
(k+1) (k+1) (k+1)
0 0 . . 0 an,k+1 . . an,n : bn

où  (k)

 a(k+1) = akj

 kj (k)

 akk k + 1 ≤ j ≤ n;
a (k+1) (k+1)
= aij
(k) (k+1)
− aik akj i = 1, 2, .., n, i 6= k
 ij (k)

 b(k+1) = bk

 k (k)


akk 2 ≤ i, j ≤ n
b(k+1) = b(k+1) − a(k) b(k+1) i = 1, 2, .., n, i 6= k
i i ik k

Remarque 17. Pour résoudre un système d’ordre n, la méthode de Gauss-Jordan nécessite O (n3 )
opérations (moins rapide que celle de Gauss).
transf ormation
Elle est conseillée pour inverser une matrice (A, In ) → (In , A−1 )

2.3 Méthodes itératives


Les méthodes itératives donnent en théorie la solution d’un système linéaire après un nombre
infini d’itérations. A chaque pas, elles nécessitent le calcul du résidu du système. Dans le cas
d’une matrice pleine, leur coût est donc de l’ordre de n2 opérations à chaque itération, alors
que le coût des méthodes directes est : en tout et pout tout de l’ordre de 23 n3 . Les méthodes
itératives peuvent devenir compétives si elles convergent en un nombre d’itérations indépendant
de n, ou sous-linéairement avec n. Pour les grandes matrices creuses les méthodes directes
s’avèrent parfois très coûteuses à cause du remplissage et les méthodes itératives peuvent offrir
une alternative intéressante.

2.3.1 Définition et propriété


Définition 18. On appelle
 méthode itérative de resolution linéaire (2.1.1) une méthode qui
construit une suite x(k) k∈N où l’itéré x(k) est calculé à partir des itérés x(0) , x(1) , ..., x(k−1) censer
converger vers x solution de (2.1.1)
Rappelons qu’une méthode itérative est convergente si pour un choix initial x(0) ∈ Rn , on a
x(k) → x quand k → +∞

L’idée naturelle est de travailler avec une matrice P inversible qui soit proche de A, mais
plus facile que A à inverser. On appelle cette matrice de préconditionnement cette matrice P.
On écrit alors A = P − (P − A) = P − N avec N = P − A on écrit le système linéaire Ax = b
sous la forme
b = P x − N x =⇒ P x = N x + b =⇒ x = P −1 N x + P −1 b
On pose

x(k+1) = Bx(k) + c (2.3.1)

16
2.3. MÉTHODES ITÉRATIVES


avec B = P −1 N et c = P −1 b. Evidement si la suite x(k) k∈N
converge, elle converge bien vers
la solution du système (2.1.1)
Remarque 19. La quantité e(k) = x(k) − x représente l’erreur d’approximation à l’itération k.

Théorème 20. (Convergence de la suite) 


Soit A et P ∈ Mn (R) des matrices inversibles. Soit x(0) donné et soit x(k) k∈N la suite
définie par (2.3.1). 
1) La suite x(k) k∈N converge vers x = A−1 b si et seulement si ρ (B) < 1

2) La suite x(k) k∈N converge vers x = A−1 b si et seulement s’il existe une norme induite
notée k.k telle que kBk < 1

2.3.2 Exemples de méthodes itératives


Naivement on peut prendre la matrice P = In cependant la convergence de la méthode n’est
pas toujours assurée
   
2 −1 −1 1
Exemple 21. A = B =P −A= les valeurs propres de B sont 0 et
−1 2 1 −1
−2 donc ρ (B) = 2 > 1

2.3.2.1 Méthode de Richardson


On pose P = βIn avec β ∈ R on a dans ce cas P − A = βIn − A et B = In − β1 A ou encore
B = In − αA avec α = β1 . Les valeurs propres de B sont de la forme 1 − αλ où λ est une
 
1 − 2α α
valeur propre de A . Pour l’exemple précedent B = on aura comme valeurs
α 1 − 2α
propres 1 − α et 1 − 3α, ρ (B) dépend donc de α (ici α < 2/3 ). La méthode itérative s’écrit :
(
x(0) ∈ Rn donné
(k+1) (k)
(2.3.2)
x = Bx + c avec c = αb

où encore (
x(0) ∈ Rn donné
(2.3.3)
x(k+1) = x(k) + αr(k) avec r(k) = b − Ax(k)
Cette méthode est connue sous le nom de méthode de Richardson. r(k) = b − Ax(k) est le residu.
La valeur qui minimise le rayon spectral dans l’exemple précédent est α = 1/2

2.3.3 Méthode de Jacobi


On considère la décomposition suivante de la matrice
 
−F
A=D−E−F = D 
−E

où 

D la diagonale de A
−E la partie au dessous de la diagonale de A


−F la partie au dessus de la diagonale de A

17
2.3. MÉTHODES ITÉRATIVES

   
a11 0 . . . 0 0 0 . . . 0
 0 a22 0 . . .   a21 0 0 . . . 
   
 . 0 . . . .   a31 a32 0 . . . 
D=

 −E = 
 


 . . . . . .   . . . . . . 
 . . . 0 an−1,n−1 0   . . . an−1n−2 0 0 
0 . . . 0 ann an1 an2 . . ann−1 0
 
0 a12 a13 . . a1,n
 0 0 a23 . . a2n 
 
 . 0 . . . . 
−F = 



 . . . . an−2n−1 an−2n 
 . . . 0 0 an−1n 
0 . . . 0 0
La méthode de Jacobi s’écrit donc
(
x(0) ∈ Rn donné
(k+1) (k)
(2.3.4)
Dx = (E + F ) x + b

où encore (
x(0) ∈ Rn donné
(k+1) −1 (k) −1
(2.3.5)
x = D (E + F ) x + D b
soit (
x(0) ∈ Rn donné
(2.3.6)
x (k+1)
= BJ x + D b avec BJ = D−1 (E + F )
(k) −1

Ainsi la méthode de Jacobi se présente encore sous la forme



x ∈ R
(0) n
 " #
(k+1) P (k) P (k) bi

x i = − a1ii aij xj + aij xj + aii
∀i = 1, 2, 3, ..., n
j<i i<j

2.3.4 Méthode de Gauss-Seidel


La méthode de Gauss-Seidel est une variante améliorée de la méthode de Jacobi. Pour bien
comprendre le principe, il suffit de reconsiderer la méthode de Jacobi et de voir comment on
pourrait l’améliorer. On sait que dans le cas général la méthode de Jacobi s’écrit :
 
Xn
(k+1) 1  (k) 
xi = bi − aij xj 
aii j=1
i6=j

qui peut aussi s’exprimer


" i−1 n
#
(k+1) 1 X (k)
X (k)
xi = bi − aij xj − aij xj
aii j=1 j=i+1

18
2.3. MÉTHODES ITÉRATIVES

(k) (k+1)
Ici on remplace les composantes xj pour j < i par xj

x ∈ R
(0) n
 " #
(k+1) 1
P
i−1
(k+1) P
n
(k)

xi = aii
bi − aij xj − aij xj ∀i = 1, 2, 3, ..., n
j=1 j=i+1

La méthode de Gauss-seidel s’écrit donc sous la forme

P x(k+1) = (P − A) x(k) + b

avec P = D − E et P − A = F soit finalement


(
x(0) ∈ Rn
(2.3.7)
(D − E) x(k+1) = F x(k) + b

où encore (
x(0) ∈ Rn
x(k+1) = Bx(k) + c avec B = (D − E)−1 F

Ici B = (D − E)−1 F est la matrice de Gauss-Seidel.


Remarque 22. En général, la méthode de Gauss-Seidel converge plus rapidement que la méthode
de Jacobi.

19
2.3. MÉTHODES ITÉRATIVES

20
Chapitre 3
EQUATIONS NON LINEAIRES
Résolution des équations non linéaires
ectif : trouver les zéros de fonctions (ou systèmes) non
Objectif Trouver les zéros de fonctions (ou systèmes) non linéaires c’est-à-dire les valeurs
aires, c-à-d lesα valeurs
∈ R telles que R telles
α ∈f (α) =0 que f (α) = 0.
y
f(x)

α1 α2
α3 x

Motivation
On veut calculer le taux de rente moyen T d’un fond de placement sur plusieurs années. On
a investi dans le fond v = 1000000CF A chaque année et on se retrouve après 5 ans avec un
montant M = 6000000F CF A 2
Réponse on sait que
X5
v (1 + T ) 
M = v (1 + T )k = (1 + T )5 − 1
k=1
T

d’où
(1 + T ) 
6= (1 + T )5 − 1
T
Posons
(1 + T ) 
f (T ) = 6 − (1 + T )5 − 1 = 0
T
Il s’agit donc de résoudre une équation non linéaire, dont on n’est capable de trouver une
solution exacte

3.1 Méthode de dichotomie (ou de la bissection)


Cette méthode est utilisée pour calculer les zéros d’une fonction continue. C’est-à-dire les
points α tels que f (α) = 0. En général, on construit une suite(xk )k∈N telle que lim xk = α
k→+∞
. S’il existe a, b avec f (a) × f (b) < 0, on sait alors qu’il existe au moins un zéro α de f dans
l’intervalle ]a, b[alors :

21
3.2. MÉTHODES DES POINTS FIXES

a+b
1. On pose x0 = 2
2. si f (x0 ) = 0 alors x0 est le zéro cherché
3. si f (x0 ) 6= 0
i) Soit f (a) × f (x1 ) > 0 et alors le zéro α ∈ ]x0 , b[et on définit a = x0 et x1 = a+b2
pour
ce nouveau a
ii) Soit f (a) × f (x0 ) < 0 et alors α ∈ ]a, x0 [et on pose b = x0 et x1 = a+b
2
pour ce nouveau
b.
Par des divisions de ce type, on construit la suite x0 , x1 , x2 , ...., xm qui vérifie pour tout m

b−a
|xm − α| ≤ (3.1.1)
2m+1

3.2 Méthodes des points fixes


Avant d’aborder les méthodes des points fixes, il importe de définir ce qu’est un point fixe
d’une fonction

Définition 23. Un point fixe d’une fonction g(x) est une valeur de x qui reste invariante pour
cette fonction, c’est-à-dire toute solution de : g(x) = x est un point fixe de la fonction g(x).

Il existe un algorithme très simple permettant de determiner les points fixes. Il suffit en effet
d’éffectuer les itérations de la façons suivante :
(
x0 donné
xn+1 = g(xn )

à partir d’une valeur initiale x0 . L’interêt de cet algorithme réside dans sa généralité et dans la
relative facilité avec laquelle on peut en faire l’analyse de la convergence, il en esulte l’algorithme
plus complet suivant.
Algorithme des points fixes
1. Etant donné ε, un critère d’arrêt
2. Etant donné N , le nombre maximal d’itérations
3. Etant donné x0 , une valeur extimée initiale du point fixe
4. Effectuer xn+1 = g(xn )
5. si |xn+1 −xn |
|xn+1 |

-convergence atteinte
- écrire la solution xn+1
-arrêt
6. si le nombre maximal d’itérations N est atteint
-convergence non atteinte en N itérations
-arrêt
7. retour à l’étape 4
On peut résoudre des équations non linéaires de la forme f (x) = 0 en utlisant l’algorithme des
points fixes. Il suffit pour ce faire de transformer l’équation f (x) = 0 en un problème équivalent
de la forme x = g(x). L’ennui, c’est qu’il y a une infinité de façons différentes de le faire. Nous
verrons que certains choix donnent lieu à des algorithmes convergents et d’autres pas.

22
3.3. MÉTHODE DE NEWTON

Exemple 24. On se propose de résoudre l’équation du second dégré x2 − 2x − 3 = 0. Il n’est


pas nécessaire de recourir aux méthodes numériques pour résoudre ce problème dont les deux
solutions sont r1 = 3 et r2 = −1. Cet exemple permet cependant de mieux comprendre ce
qui se passe lorsqu’on utilise l’algorithme des points fixes. Puisqu’il y a une infinité de façon
différentes de transformer cette équation sous la forme x = g(x) nous choissons trois au hazard


1. isolons le x2 et posons g1 (x) = 2x + 3 = x
3
2. factorisons les deux premiers termes puis posons g2 (x) = x−2
=x
x2 −3
3. isolons le x de −2x ce qui donne g3 (x) = 2
=x

L’algorithme semble converger vers la racine r1 = 3 pour x0 = 4 avec g1 (x). Cependant avec
g2 (x) pour x0 = 4 les itérations convergent vers r2 = −1 en ignorant la racine r2 = 3. En
dernier lieu essayons l’algorithme avec la fonction g3 (x)avec la même valeur initiale x0 = 4, on
constate que les itérations tendent vers l’infini et aucune des deux solutions possibles ne sera
atteintes.

3.3 Méthode de Newton


Soit f : R → R une fonction donnée, soit x0 un point donné. On considère la droite y(x) qui
passe par le point (xk , f (xk )) et qui a comme pente f 0 (xk ) alors on a : y(x) = f 0 (xk ) (x − xk ) +
f (xk ) on définit xk+1 comme étant le point où cette droite intersecte l’axe (ox).
C’est-à-dire y(xk+1 ) = f 0 (xk ) (xk+1 − xk )+f (xk ) = 0. On en déduit que : xk+1 = xk − ff0(x k)
(xk )
k=
0, 1, 2...Soit donc la méthode de Newton :
(
x0 f ixé dans [a, b]
(3.3.1)
xk+1 = xk − ff0(x k)
(xk )

Théorème 25. (Convergence de la méthode de Newton)


si f ∈ C 2 ([a, b])et est telle que
i)f (a) × f (b) < 0
ii)∀x ∈ [a, b] , f 0 (x) 6= 0 (stricte monotonie)
iii)∀x ∈ [a, b] , f 00 (x) 6= 0 (convexité dans le même sens sur l’intervalle[a, b]). Alors ∀x(0) ∈
[a, b]tel que f (x0 ) × f 00 (x0 ) > 0 ,la suite (xk )k∈N définie par (3.3.1) converge vers l’unique
solution α de f (x) = 0 dans [a, b] .

3.4 Systèmes d’équations non linéaires


Les phénomèmes non linéaires sont extrêmement courants en pratique. Ils sont sans doute
plus fréquents que les phénomènes linéaires. Dans cette section, nous examinons les systèmes
non linéaires et nous montrons comment les résoudre à l’aide d’une suite de problèmes linéaires,
auxquels on peut appliquer diverses techniques de résolution comme la décomposition LU . Le
problème consiste à trouver le ou les vecteurs x = (x1 , x2 , x3 , ..., xn )T vérifiant les n équations

23
3.4. SYSTÈMES D’ÉQUATIONS NON LINÉAIRES

non linéaires suivantes :


f1 (x1 , x2 , ..., xn ) = 0
f2 (x1 , x2 , ..., xn ) = 0
f3 (x1 , x2 , ..., xn ) = 0 (3.4.1)
. . .
. . .
. . .
fn (x1 , x2 , ..., xn ) = 0
où les fi sont les fonctions de n variables que nous supposons différentiables. Contrairement
aux systèmes linéaires, il n’ y a pas de condition simple associée aux systèmes non linéaires
qui permette d’assurer l’existence et l’unicité de la solution. Le plus souvent, il existe plusieurs
solutions possibles et seul le contexte indique laquelle est bonne.
Les méthodes de résolution des systèmes non linéaires sont nombreuses. Notamment, presque
toutes méthodes des sections précédentes peuvent être généralisées aux systèmes non linéaires.
Pour éviter de surcharger l’exposé, nous ne présentons que la méthode la plus importante et
la plus utiliée en pratique, soit la méthode de Newton. L’application de cette méthode à un
système de deux équations non linéaires est suffisante pour illustrer le cas général. Considérons
donc le système : (
f1 (x1 , x2 ) = 0
f2 (x1 , x2 ) = 0
Soit (x01 , x02 ), une approximation initiale de la solution de ce système. Cette approximation
initiale est cruciale et doit être choisie avec soin. Le but de ce qui suit est déterminer une
correction (δx1 , δx2 )à (x01 , x02 ) de sorte que :
(
f1 (x01 + δx1 , x02 + δx2 ) = 0
f2 (x01 + δx1 , x02 + δx2 ) = 0

Pour déterminer (δx1 , δx2 ), il suffit maintenant de faire un développement de Taylor en deux
variables pour chacune des deux fonctions
 ∂f1 0 0  ∂f1 0 0 
0 = f1 x01 , x02 + x , x δx1 + x , x δx2 + ...
∂x1 1 2 ∂x2 1 2
 ∂f2 0 0  ∂f2 0 0 
0 = f2 x01 , x02 + x , x δx1 + x , x δx2 + ...
∂x1 1 2 ∂x2 1 2
Dans les relations précédents, les pointillés désignent des termes d’ordre supérieur ou égal à deux
et faisant intervenir les dérivées partielles d’ordre correspondant. Pour déterminer (δx1 , δx2 ), il
suffit de négliger les termes d’ordre superieur et d’écrire :

∂f1 0 0  ∂f1 0 0 
x , x δx1 + x , x δx2 = −f1 (x01 , x02 )
∂x1 1 2 ∂x2 1 2
∂f2 0 0  ∂f2 0 0 
x , x δx1 + x , x δx2 = −f2 (x01 , x02 )
∂x1 1 2 ∂x2 1 2
où encore sous forme matricielle :
" #   
∂f1 ∂f1
∂x1
(x01 , x02 ) ∂x2
(x01 , x02 ) δx1 f1 (x01 , x02 )
∂f2 ∂f2 =−
∂x1
(x01 , x02 ) ∂x2
(x01 , x02 ) δx2 f2 (x01 , x02 )

24
3.4. SYSTÈMES D’ÉQUATIONS NON LINÉAIRES

Ce système linéaire s’écrit également sous forme plus compacte :


 
J x01 , x02 δx = −R x01 , x02

où J (x01 , x02 )désigne la matrice des dérivées partielles ou matrice jacobienne évaluée au point
(x01 , x02 ) , où δx est le vecteur de corrections relatives à chaque variable et −R (x01 , x02 ) est le
vecteur résidu évalué en (x01 , x02 ). Le déterminant de la matrice jacobienne est appelé le jacobien.
Le jacobien doit être différent de zéro pour que la matrice jacobienne soit inversible. On pose
ensuite :

x11 = x01 + δx1


x12 = x02 + δx2

qui est la nouvelle approximation de la solution du système non linéaire. On cherchera par la
suite à corriger (x11 , x12 )d’une nouvelle quantité δx, et ce jusqu’à la convergence.
De manière générale, on pose :
 ∂f1
 ∂f1
 
∂x1
xk . . . ∂xn
xk
 . . . 
   
J x k
=
 . . . 

 .  . . 
∂fn k ∂fn

∂x1
x . . . ∂xn
xk

c’est-à-dire la matrice jacobienne évaluée au point xk = xk1 , xk2 , ..., xkn . De plus on pose :
   
(k) (k) (k)
f1 x1 , x2 , ..., xn  
  δx1
 .   . 
     
R x k
=
 .  δx = 
  . 

 .   . 
   
(k) (k)
fn x1 , x2 , ..., xn
(k) δxn

Le principe est donc le suivant :


1. Etant donné ε, un critère d’arrêt
2. Etant donné N , le nombre maximal d’itérations
T
3. Etant donné x0 = (x01 , x02 , ..., x0n ) , une approximation initiale de la solution du système
4. Résoudre le système linéaire
 
J xk δx = −R xk (3.4.2)
et poser :
xk+1 = xk + δx
kδxk 
5. Si < ε et R xk+1 < ε : converge atteinte, ecrire la solution xk+1 , arrêt
kxk+1 k
6. si le nombre maximal d’itérations N est atteint : convergence non atteinte en N itérations.
arrêt
7. Retour à l’étape 4.

25
3.4. SYSTÈMES D’ÉQUATIONS NON LINÉAIRES

Exemple 26. On cherche à trouver l’intersection de la courbe x2 = ex1 et du cercle de rayon


4 cntré à l’origine d’équation x21 + x22 = 16.L’intersection des ces courbes est une solution de :
(
e x1 − x 2 =0
2 2
x1 + x2 − 16 = 0

La première étape consiste à calculer la matrice jacobienne de dimension 2.


Dans ce cas, on a :  x 
e 1 −1
J (x1 , x2 ) =
2x1 2x2
Un graphique de ces deux courbes montre qu’il a deux solutions à ce problème non linéaire . La
première solution se trouve prés du point (−4; 0) et la deuxième, près de (2, 8; 2, 8) . Prenons le
point (2, 8; 2, 8)comme approximation initiale de la solution de ce système non linéaire, c’est-à-
dire x0 = (2, 8; 2, 8)
1. Itération 1 : Le système (3.4.2) devient :
    
e2,8 −1 δx1 e2,8 − 2, 8
=−
2 (2, 8) 2 (2, 8) δx2 2, 82 + 2, 82 − 16
c’est-à-dire     
16, 445 −1 δx1 13, 645
=−
5, 6 5, 6 δx2 −0, 3200
dont la solution est δx = (−0, 77890; 0, 83604)T . La nouvelle approximation de la solution
est donc : (
x11 = x01 + δx1 = 2, 8 − 0, 77890 = 2, 0211
x12 = x02 + δx2 = 2, 8 − 0, 83604 = 3, 63604
2. Itération 2 : on effectue une deuxième itération à partir de (x11 , x12 ) . Le système (3.4.2)
devient alors :
    
e2,0211 −1 δx1 e2,0211 − 3, 63604
=−
2 (2, 0211) 2 (3, 63604) δx2 2, 02112 + 3, 636042 − 16
c’est-à-dire     
7, 5466 −1 δx1 3, 9106
=−
4, 0422 7, 2721 δx2 1, 3056
dont la solution est δx = (−0, 5048; 0, 10106)T . On a maintenant :
(
x21 = x11 + δx1 = 2, 0211 − 0, 5048 = 1, 5163
x22 = x12 + δx2 = 3, 9106 + 1, 3056 = 3, 7371

3. Itération 3 : A la troisième itération, on doit résoudre


    
4, 5554 −1 δx1 0, 81824
=−
3, 0326 7, 4742 δx2 0, 26508

ce qui entraine que δx = (−0, 17208; 0, 034355)T . La nouvelle solution est :


(
x31 = x21 + δx1 = 1, 5163 − 0, 17208 = 1, 3442
x32 = x22 + δx2 = 3, 7371 + 0, 034355 = 3, 7715

26
3.4. SYSTÈMES D’ÉQUATIONS NON LINÉAIRES

4. Itération 4 : Le système linéaire à résoudre est :


    
3, 8351 −1 δx1 0, 063617
=−
2, 6884 7, 5430 δx2 0, 031086

ce qui entraine que δx = (−0, 0161616; 0, 0163847)T . La nouvelle approximation de la


solution est : (
x41 = x31 + δx1 = 1, 3442 − 0, 0161616 = 1, 3280
x42 = x32 + δx2 = 3, 7371 + 0, 0163847 = 3, 7731
On deduit de la convergence de l’algorithme de Newton du fait que les modules de δx et
de R diminuent avec les itérations.
L’inconvenient majeur de cette méthode réside dans le fait qu’à chaque itération de la méthode,
on ait à construire la matrice J (x1 , x2 ) et à procéder à la résolution d’un système linéaire. Pour
contourner cet inconvenient on peut utiliser la méthode de la corde qui, qui pour un système
non linéaire s’ecrit :
 −1
xn+1 = xn − J x01 , x02 R (xn ) ∀n = 1, 2, 3, ..... (3.4.3)

Remarque 27. La méthode de Newton-Raphson converge rapidement si x0 n’est pas trop éloigné
de x? .

27
3.4. SYSTÈMES D’ÉQUATIONS NON LINÉAIRES

28
Chapitre 4

Interpolation

Problème Etant donné (n + 1) points {(xi , yi )}ni=0 ,trouver une fonction


Φ : x → Φ(x) telle que Φ(xi ) = yi

Définition 28. Approcher une fonction f consiste à la remplacer par une autre fonction Φ
dont la forme est plus simple et dont on peut se servir à la place de f . La forme de la fonction
Φ dépend du problème et du but de l’interpolation. En effet, Φ peut être un polynôme, on parle
d’interpolation polynômiale, ou bien un polynôme trigonométrique, ou une fonction polynômiale
par morceaux, et on dit que Φ est une interpolation polynômiale par morceaux. On verra dans
le prochain chapitre l’importance de cette strategie en intégration ou en équation differentielle
ou même en analyse des données.

4.1 Interpolation polynômiale


4.1.1 Polynôme de Lagrange
Nous voulons trouver un polynôme Πm ∈ Pm passant par (n + 1) couples(xi , yi ), appelé
polynôme d’interpolation ou polynôme interpolant, tel que

Πm (xi ) = am xm
i + ... + a1 xi + a0 = yi i = 0, ..., n
Les points xi sont appelés noeuds d’interpolation. Si n 6= m le problème est sûr ou sous
déterminé. Si n = m, nous avons le théorème suivant :

Théorème 29. Etant donnée (n+1) points distincts x0 , ..., xn et (n+1) valeurs correspondantes
y0 , ..., yn , il existe un unique polynôme Πn ∈ Pn tel que Πn (xi ) = yi pour i = 0, ..., n qu’on peut
écrire sous la forme
n
X
Πn (x) = yi li (x) (4.1.1)
i=0

Démonstration. (Unicité ) Supposons que qn ∈ Pn soit une autre solution du problème alors
Q
n
Πn (xi ) = qn (xi ) = yi donc xi est racine Πn − qn , par suite le polynôme Πn+1 (x) = (x − xj )
j=0
divise Πn − qn comme deg(Πn+1 ) = n + 1 et deg(Πn − qn ) ≤ n la seule possibilité est que
Πn − qn = 0 =⇒ Πn = qn
Q
n
0 Q
n
On a Πn+1 (x) = (x − xi ) (x − xj ) d’où Πn+1 (xi ) = (xi − xj ) ceci donne la formule
j6=i j6=i

29
4.1. INTERPOLATION POLYNÔMIALE

n
Y (x − xj )
Πn+1 (x)
li (x) = 0 = (4.1.2)
(x − xi ) Πn+1 (xi ) j=0
(xi − xj )
j6=i

Définition 30. Le polynôme nodal de degré n+1, noté ωn+1 est définit par :
n
Y
ωn+1 (x) = (x − xi )
i=0

Le polynôme d’interpolation Πn s’écrit sous la forme suivante :


n
X ωn+1 (x)
Πn (x) = 0
yi (4.1.3)
i=0
(x − x i ) ωn+1 (x i )

Q
n
0
Q
n
Démonstration. Nous avons ωn+1 (x) = (x − xi ) (x − xj ) d’où ωn+1 (xi ) = (xi − xj ) ceci
j=0 j=0
j6=i j6=i
donne
Y (x − xj )n
ωn+1 (x)
0
= li (x) =
(x − xi ) ωn+1 (xi ) j=0
(xi − xj )
j6=i

par consequent
n
X n
X ωn+1 (x)
Πn (x) = yi li (x) = 0
yi
i=0 i=0
(x − xi ) ωn+1 (xi )

Remarque 31. Pour démontrer ce théorème on peut également poser Πn (x) = an xn +...+a1 x+a0
et résoudre le système linéaire de (n + 1) équations
n
X
aj xji = yi 0 ≤ i ≤ n
j=0

en les (n + 1)inconnues a0 , a1 , a2 , ..., an le determinant du système est un déterminant dit de


Vandermonde
1 x0 . . . xn0
1 x1 . . . xn1
. . . . . .
4=
. . . . . .
. . . . . .
1 xn . . . xnn
Q
n
On montre que 4 = (xi − xj ) il n’est pas recommandé de resoudre numériquement le
0≤j<i
système précedent pour obtenir Πn

30
4.1. INTERPOLATION POLYNÔMIALE

Exemple 32. Considérons les couples de points (0; 0) , (1; 2) , (2; 0) avec
(x0 = 0; y0 = 0) , (x1 = 1; y1 = 2) , (x2 = 2; y0 = 0) pour un degré de polynômiale n = 2.
Après avoir calculé les polynômes caractéristiques nous obtenons les résultats suivants

x2 − 3x + 2
Jeudi 5 juin 2014 l0 (x) = 2. Interpolation
2
Exemple
Pour m = 2 le polynôme de L AGRANGE s’écrit
l1 (x) = −x2 + 2x
(x − x 1 )(x − x 2 ) (x − x 0 )(x − x 2 ) (x − x 0 )(x − x 1 )
P (x) = y 0 + y1 + y2
(x 0 − x 1 )(x 0 − x 2 ) (x 1 − x 0 )(x 1 − x 2 ) (x 2 − x 0 )(x 2 − x 1 )

x2 − x
Exemple l2 (x) =
On cherche le polynôme d’interpolation de L AGRANGE qui en −1 vaut 8, en 02vaut 3 et en 1 vaut 6. On a

ce qui nous donne P (x) = y 0


(x − x 1 )(x − x 2 )
(x 0 − x 1 )(x 0 − x 2 )
+ y1
(x − x 0 )(x − x 2 )
(x 1 − x 0 )(x 1 − x 2 )
+ y2
(x − x 0 )(x − x 1 )
(x 2 − x 0 )(x 2 − x 1 )
x(x − 1) (x + 1)(x − 1) (x + 1)x
=8 +3 +6 = 4x 2 − x + 3.
Π2 (x) = 0 × l0 (x) + 2 × l1 (x) + 0 × l2 (x) = −2x2 + 4x
2 −1 2

Exemple 33. On considère la fonction définie sur R par f (x) = exp(x), déterminer l’interpolant
Remarque
Si m est petit il est souvent plus simple de calculer directement les coefficients a 0 , a 1 , . . ., a m avec la méthode “naïve” en
de f aux points −1,
résolvant 0, 1linéaire (2.2).
le système

Soit f : R → R une fonction continue donnée et soit x 0 , x 1 , x 2 , . . . , x m , (m+1) points distincts donnés. Interpoler la fonction
f aux points x i , 0 ≤ i ≤ m signifie chercher un polynôme P m de degré m tel que

(x P− (x i ) −pour
x =)f (x
m (x i )1
x2 )0 ≤ i ≤ m. (x − x0 ) (x − x2 )(2.3)
P (x) = f (x0 ) + f (x1 )
La solution de ce problème est donc donnée (x0 − par x1 ) (x0 − x2 ) (x1 − x0 ) (x1 − x2 )
P m (x) =
(x f−
Xm
x (x)) (x
(x i )L i0
−x )
∈ Rm [x] 1où L i (x) =
Ym x −x
j
+ f (x 2 ) i =0 j =0 x i − x j
(x2 − x0 ) (x2 − x1 ) j 6=i
   
1
et le polynôme P m est appelée interpolant de f de edegré m2 aux points
e x0, x1,1x2, . . . , xm .
Exemple = −1+ x + − x+1
Soit f : R → R la fonction définie 2e 2 l’interpolant 2de f aux2e
par f (x) = e x . On cherche points −1, 0, 1. On a

(x − x 1 )(x − x 2 ) (x − x 0 )(x − x 2 ) (x − x 0 )(x − x 1 )


P (x) = f (x 0 ) + f (x 1 ) + f (x 2 )
(x 0 − x 1 )(x 0 − x 2 )
La figure ci-dessous montre le1 x(xgraphe
− 1) (x + 1)(x − 1)
(x 1 − x 0 )(x 1 − x 2 )
de la fonction
(x + 1)x
µ
1
(x 2 − x 0 )(x 2 − x 1 )
dee ¶ son
µ interpolant
e 1
¶ aux points −1, 0, 1
= + +e = −1− x2 + − x + 1.
e 2 −1 2 2e 2 2 2e

La figure ci-dessous montre le graphe de la fonction f et de son interpolant aux points −1, 0, 1.
y

e
f
P2

1
e

−1 0 1 x

Proposition Erreur
Si y i = f (x i ) pour i = 0, 1, . . . , n, f : I → R étant une fonction donnée de classe C n+1 (I ) où I est le plus petit intervalle
Figure 4.1.1 – Comparaison de la fonction f avec son interpolant

© G. Faccanoni 63

4.1.2 Erreur d’interpolation


Dans cette section, nous donnons un évaluation de l’erreur d’interpolation faite quand on
remplace une fonction f (donnée) par le polynôme Πn (f ) qui interpole aux noeuds x0 , x1 , ..., xn
(pas forcément équirépartis). De plus, nous obtenons une estimation plus fine de l’erreur maxi-
male dans le cas particulier où les noeuds sont équirépartis sur un intervalle [a,b].

31
4.1. INTERPOLATION POLYNÔMIALE

Théorème 34. Soient x0 , x1 , ..., xn , n+1 noeuds distincts et soit x un point appartenant au
domaine de définition de f. On suppose que f ∈ C n+1 (Ix ) est le plus petit intervalle contenant
les noeuds x0 , x1 , ..., xn et x. L’erreur d’interpolation au point x est donnée par

f (n+1) (ξ)
En (x) = f (x) − Πn f (x) = ωn+1 (x) (4.1.4)
(n + 1)!

où ξ ∈ Ix et ωn+1 est le polynôme nodal de degré n+1.

Démonstration. Le résultat est trivial si x coincide avec l’un des noeuds d’interoplation car
ωn+1 (xi ) = 0 ∀i = 0, 1, ..., n. Autrement, définissons pour t ∈ Ix la fonction G(t) = En (t) −
ωn+1 (t) En (x)/ωn+1 (x). Comme nous savons que f ∈ C n+1 (Ix ) et que ωn+1 est un polynôme
alors G ∈ C n+1 (Ix ) possède au moins (n+2) zéros distincts dans Ix . En effet,

G (xi ) = En (xi ) − ωn+1 (xi ) En (x)/ωn+1 (x) = 0 pour i = 0, 1, ..., n

G (x) = En (x) − ωn+1 (x) En (x)/ωn+1 (x) = 0


Par le théorème des valeurs intermédiaires, G0 admet au moins n + 1 zéros distincts, et par
récurrence G(j) a au moins n + 2 − j zéros distincts. Par conséquent, G(n+1) a au moins un zéro,
(n+1) (n+1)
qu’on note ξ. D’autre part, puisque En (t) = f (n+1) (t) et ωn+1 (x) = (n + 1) ! on obtient

(n + 1) !
G(n+1)
n (t) = f (n+1) (t) − En (x)
ωn+1 (x)

ce qui donne, avec t = ξ, l’expression voulue pour En (x)

Corollaire 35. Soient x0 , x1 , ..., xn ∈ [a, b], n+1 noeuds équirépartis avec x0 = a et xn = b. on
suppose que f ∈ C n+1 ([a, b]). L’erreur d’interpolation sur [a, b] est estimée par
 n+1
1 b−a
|En (f )| = max |f (x) − Πn f (x)| ≤ max f (n+1) (x) (4.1.5)
x∈[a,b] 4(n + 1) n x∈[a,b]

Démonstration. Notons kf k∞ = max |f (x)|. Le théorème (4.1.4) nous donne déjà que
x∈[a,b]

f (n+1) ∞
En (f ) ≤ kωn+1 k∞ (4.1.6)
(n + 1)!

Il reste à estimer kωn+1 k∞ . Soit x ∈ [a, b] avec x 6= xi ∀i . On a que x ∈ Ik = [xk−1 , xk ] pour


un certain k ∈ {1, ..., n}. Comme les noeuds sont équirépartis, nous avons xi+1 = xi + h où
h = b−a n
. On obtient
h2
max |(x − xk−1 ) (x − xk )| =
x∈Ik 4
de plus on peut estimer |x − xk−2 |par 2h, |x − xk−3 |par 3h etc. D’où
n
Y    
h2 n−1
 hn+1
kωn+1 k∞ = max (x − xi ) ≤ n!h = n! (4.1.7)
x∈[a,b]
i=0
4 4

En substituant (4.1.6) dans (4.1.7) on obtient le résultat voulu.

32
4.2. INTERPOLATION DE NEWTON

4.1.3 Instabilité de l’interpolation de Lagrange


Si l’on considère f (xi ) par la valeur approchée f˜ (xi ) (0 ≤ i ≤ n) alors pn (x) est rem-
P
n P
n
placé par p˜n (x). Nous pouvons écrire : pn (x) = Li (x)f (xi ) et p̃n (x) = Li (x)f˜ (xi ) d’où
i=0 i=0
P
n
|pn (x) − p˜n (x)| ≤ max f (xk ) − f˜(xk ) kΛn k∞ où kΛn k∞ = sup |Li (x)| .
0≤k≤n x∈[a,b]i=0
La stabilité est assurée si kΛn k∞ est petit, or on montre que cette valeur tend vers l’infini
quelque soit le support.
Remarque 36. Dans les applications où l’on est souvent amené à choisir un support de points ré-
gulièrement espacés on observe de fortes instabilités (les effets de bords) quand n est grand : Un
exemple célèbre d’un tel cas <‌<pathologique>‌> est celui dû à Runge dans lequel on concidère
le polynôme d’interoplation avec les noeuds équirépartis la fonction f (x) = x21+1 sur l’intervalle
[−5, 5]. On observe une croissance de l’erreur avec n. La figure () représente les graphes de la
fonction f et des polynômes d’interpolation P3 f, P5 f et P10 f associés à des noeuds équirépartis
sur l’intervalle[−5, 5] et permet de mettre en évidence le phénomène de divergence de l’interpo-
lation au voisinage de l’extrémités de l’intervalle. En conséquences, on recommande d’interpoler
à l’aide des polynôme de degré peu élévé (≤ 20) et sur de petits supports. C’est le cas pour
l’approche d’une courbe par une ligne polygonale. On peut éviter le phénomène de Runge en
choissant correctement la distribution des noeuds d’interpolation d’interpolation sur un inter-
valle [a, b], on peut par exemple considérer les neouds de CHEBYSHEV-GAUSS-LOBATO.

a+b b−a π 
xi = − cos i pour i = 0, 1, ..., n
2 2 n
Pour cette distribution particulière de noeuds, il est possible de montrer que si f est dérivable
sur [a, b], alors Pn converge vers f quand n tends vers +∞ pour tout x ∈ [a, b].
2. Interpolation Jeudi 5 juin 2014

1.0 1.0

0.8 0.8

0.6 0.6

0.4 0.4

0.2 0.2

0.0 0.0
f f
0.2 p_3 0.2 p_3
p_5 p_5
0.4 p_10 0.4 p_10
4 2 0 2 4 4 2 0 2 4

(a) Distribution équirepartie des nœuds (b) Nœuds de C HEBYSHEV-G AUSS -L OBATTO

F IGURE 2.1.: Interpolation de L AGRANGE, exemple de RUNGE

Figure 4.1.2 – Phénomène de Runge


23 axis([-5, 5, -0.5, 1])
24 show()

2.1.3. Stabilité de l’interpolation polynomiale


Soit f : I → R une fonction de classe C n+1 (I ) où I est le plus petit intervalle contenant les nœuds distincts { x i }ni=0 .
4.2 Interpolation de Newton
Qu’arrive-t-il aux polynômes d’interpolation si, au lieu des valeurs exactes f (x i ), on considère des valeurs perturbées f˜(x i ),
i = 0, . . . , n ? Ces perturbations peuvent provenir d’erreurs d’arrondi ou d’incertitudes dans les mesures. Soit P n le polynôme
exact interpolant les valeurs f (x i ) et P̃ n le polynôme exact interpolant les valeurs f˜(x i ). En notant x le vecteur dont les
composantes sont les nœuds d’interpolation, on a
La méthode d’interpolation de Lagrange présente un incovenient majeur : elle n’est pas
X n
récursive. En effet, si l’onmax
souhaite
|P n (x) − P̃ n (x)| passer
= max| ( f (xd’un ˜ ))ϕi (x)| ≤ Λn (x) max
i ) − f (x ipolynôme de| f (x) − f˜(x)| n à un polynôme de degré
degré
x∈I x∈I i =0 0≤i ≤n

(n + 1)(en ajoutant

un point de collocation), on doit reprendre pratiquement tout le processus
n
X
à zéro. C’est en revanche ce que permetΛla n (x) méthode
≡ max |ϕi (x)| d’interpolation de Newton.
x∈I i =0

est appelée constante de L EBESGUE (noter que cette constante dépend des nœuds d’interpolation). Des petites perturba-
tions sur les valeurs nodales f (x i ) entraînent des petites variations sur le polynôme d’interpolation quand la constante
33
de L EBESGUE est petite. La constante de L EBESGUE mesure donc le conditionnement du problème d’interpolation. Pour
l’interpolation de L AGRANGE avec des nœuds équirépartis

2n+1
Λn (x) '
(ln(n) + γ)ne

où e ' 2.71834 (nombre de N EPER) et γ ' 0.547721 (constante d’E ULER). Quand n est grand, l’interpolation de L AGRANGE
4.2. INTERPOLATION DE NEWTON

4.2.1 Détermination du polynôme d’interpolation de Newton


Lorsqu’on écrit l’expression générale d’un polynôme, on pense immédiatement à la forme

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

qui est la plus utilisée. Il en résulte cependant d’autres qui sont plus appropriées au cas de
l’interpolation, par exemple :

Pn (x) = a0
+ a1 (x − x0 )
+ a2 (x − x0 ) (x − x1 )
. .
. .
. .
+ an−1 (x − x0 ) (x − x1 ) (x − x2 ) ... (x − xn−2 ) (4.2.1)
+ an (x − x0 ) (x − x1 ) (x − x2 ) ... (x − xn−1 )

On notera que le coefficient de an comporte n monômes de la forme (x − xi ) et qu’en consé-


quence, ce polynôme est de degré n. L’interêt de cette formulation apparaît lorsqu’on éssaie de
déterminer les (n + 1) points de collocation (xi , f (xi )) pour i = 0, 1, 2, ..., n. On doit, en effet,
s’assurer alors que :
Pn (xi ) = f (xi ) pour i = 0, 1, 2, ..., n
Comme les coefficients de Pn s’annulent tous en x = x0 sauf le premier a0 , on obtient :

Pn (x0 ) = f (x0 ) = a0

Le premier coefficient est donc : f (x0 ) = a0


On doit ensuite s’assurer que Pn (x1 ) = f (x1 ) , c’est à dire :

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

ce qui permet d’isoler a1 et fournit :


f (x1 ) − f (x0 )
a1 =
x1 − x0
Définition 37. On définit les premières différences divisées de la fonction f par
f (xi+1 ) − f (xi )
f [xi , xi+1 ] =
xi+1 − xi

De cette manière, le coefficient a1 peut s’écrire : a1 = f [x0 , x1 ]


Remarque 38. Il est facile de démontrer que le polynôme de degré 1 :

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


obtenu en ne considérant que les premiers coefficients de (4.2.1) et les expressions de a0 et
a1 déterminées, passe par les points (x0 , f (x0 ))et (x1 , f (x1 )). Il représente donc l’unique poly-
nôme de collocation de degré 1 passant par ces deux points.

34
4.2. INTERPOLATION DE NEWTON

Le troisième coefficient a2 est à son tour déterminé par :

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

ou encore :

Pn (x2 ) = f (x2 ) = f (x0 ) + f [x0 , x1 ] (x2 − x0 ) + a2 (x2 − x0 ) (x2 − x1 )

En isolant a2 , on obtient :
f [x1 , x2 ] − f [x0 , x1 ]
a2 =
x2 − x0
Cela nous donne donc une expression qui fait intervenir une différence divisée de différences
divisées.

Définition 39. Les deuxième différences divisées de la fonction f sont définies à partir des
premières différences divisées par la relation :

f [xi+1 , xi+2 ] − f [xi , xi+2 ]


f [xi , xi+1, xi+2 ] =
xi+2 − xi

De même, les n-ièmes différences divisées de la fonction f sont définies à partir des (n − 1) −
ièmes différences divisées de la façon suivantes :

f [x1 , x2 , ..., xn ] − f [x0 , x1 , ..., xn−1 ]


f [x0 , x1 , ..., xn ] = (4.2.2)
xn − x0
Suivant cette notation, on a :
a2 = f [x0 , x1 , x2 ]

Remarque 40. Il est facile de démontrer que le polynôme

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

passe par les trois premiers points de collocation. On remarque de plus que ce polynôme de degré
2 s’obtient simplement par l’ajout d’un terme de degré 2 au polynôme P1 (x) déjà calculé. En
raison de cette propriété, cette méthode est dite récursive et peut être résumée par le théorème
suivant :

Théorème 41. L’unique polynôme de degré n passant par les (n + 1)points de collocation
(xi , f (xi ))pour i = 0, 1, 2, ..., n peut s’écrire selon la formule d’interpolation de Newton (4.2.1)
ou encore sous la forme récursive :

Pn (x) = Pn−1 (x) + an (x − x0 ) (x − x1 ) ... (x − xn−1 )


(4.2.3)
= Pn−1 (x) + an ωn (x)

Les coefficients de ce polynôme sont les différences divisées :


ai = f [x0 , x1 , x2 , ..., xi ] pour 0 ≤ i ≤ n à déterminer.

Il reste maintenant à calculer efficacement la valeur de ce polynôme. Puisque Pn (xi ) =


f (xi ) = yi ∀i = 0, 1, ..., n où f est la fonction donnée, pas nécessairement sous forme explicite.
On déduit de (4.2.3) que
f (xn ) − Pn−1 (xn )
an = (4.2.4)
ωn (xn )

35
4.2. INTERPOLATION DE NEWTON

Le coefficient an est appelée n-ième différence divisée de Newton et on le note en général

an = f [x0 , x1 , x2 , ..., xn ] (4.2.5)

pour n≥ 1. Par consequent, (4.2.3) devient

Pn (x) = Pn−1 (x) + an (x − x0 ) (x − x1 ) ... (x − xn−1 )


(4.2.6)
= Pn−1 (x) + f [x0 , x1 , x2 , ..., xn ]ωn (x)

En posant y0 = f (x0 ) = f [x0 ] et ω0 (x) = 1, on obtient à partir de (4.2.6) en itérant la formule


suivante
Xn
Pn (x) = ωk (x) f [x0 , x1 , ..., xk ] (4.2.7)
k=0

D’ après l’unicité du polynôme d’interpolation, cette expression définit le même polynôme que
la formule de Lagrange. La forme (4.2.7) est communément , appelée formule de différences
divisées de Newton du polynôme d’interpolation.
La manière la plus simple consiste à construire une table dite de différences divisées de la
façons suivante.

Table de différences divisées


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 sous sommes arrêtés aux troisièmes diffé-
rences divisées, mais les autres s’obtiendraient de la même manière. 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 résul-
tat par (x2 − x0 ). De même pour obtenir f [x0 , x1 , x2 , x3 ] , on soustrait f [x1 , x2 , x3 ]−f [x0 , x1 , x2 ]
et on divise le résultat par (x3 − x0 ). La formule de Newton utilise la diagonale principale de
cette table.

Exemple 42. Déterminer le polynôme de Newton défini par le tableau ci-dessous

x 0 2 3 5
f(x) -1 2 9 87

Corrigé :

x0 = 0 f (x0 )=-1
3/2
x1 = 2 f (x1 ) =2 11/6
7 53/30
x2 = 3 f (x2 ) =9 32/3
39
x3 = 5 f (x3 ) =87

36
4.3. INTERPOLATION À L’AIDE DE FONCTIONS SPLINES CUBIQUES

Suivant la formule de Newton (4.2.1) avec x0 = 0 le polynôme de collocation est


3 11 53
P3 (x) = −1 + x + x (x − 2) + x (x − 2) (x − 3)
2 6 30
Finalement
53 3 253
P3 (x) = x − 7x2 + x−1
30 30
Remarque 43. On remarque que la n-ième f [x0 , x1 , ..., xn ] = an est le coefficient de xn dans Pn .
En isolant ce coefficient dans (4.1.3) et en identifiant avec le coefficient correspondant dans la
formule de Newton (4.2.4) on obtient la définition explicite

Xn
f (xi )
f [x0 , x1 , ..., xn ] = 0
(4.2.8)
ω (x )
i=0 n+1 i

Cette formule a des conséquences remarquables :

4.2.2 Erreur d’interpolation avec les différences divisées


Soit Pn le polynôme d’interpolation de f aux noeuds x0 , x1 , ..., xn et soit x un noeud distinct
des précédents ; en posant xn+1 = x, on note Pn+1 le polynôme interpolant f aux noeuds xk ,
k = 0, ..., n, n + 1. En utilisant la formule des différences divisées de Newton, on a

Pn+1 (t) = Pn (t) + (t − x0 ) (t − x1 ) ... (t − xn ) f [x0 , x1 , ..., xn , t]


Puisque Pn+1 (t) = f (t), on obtient l’expression suivante pour l’erreur d’interpolation en t = x :

En (x) = f (x) − Pn (x)


= (x − x0 ) (x − x1 ) ... (x − xn ) f [x0 , x1 , ..., xn , x] (4.2.9)
= ωn+1 (x)f [x0 , x1 , ..., xn , x]

En supposant f ∈ C (n+1) (Ix ) et en comparant (4.2.9) à (4.1.4), on a donc

f (n+1) (ξ)
f [x0 , x1 , ..., xn , x] = (4.2.10)
(n + 1) !

pour un certain ξ ∈ Ix . Comme (4.2.10) est le reste du développement de Taylor de f , la


formule d’interpolation de Newton peut être vue comme un développement tronqué autour de
x0 (à condition que |xn − x0 |ne soit pas trop grand).

4.3 Interpolation à l’aide de fonctions Splines cubiques


L’utilisation de polynômes de degré élévé est parfois délicate et peut mener à des erreurs
d’interpolation importantes. De plus, il est parfois nécessaire d’obtenir des courbes très régu-
lières passant par un grand nombre de points. C’est le cas en conception assistée par ordinateur,
où l’on cherche à représenter des objects aux formes régulières. Les polynômes de degré élévé
sont alors peu adéquats.
Dans ce section, nous allons présenter une méthode qui permet d’obtenir des courbes ré-
gulières passant par un grand nombre de points, l’interpolation à l’aide de Splines cubiques.
On peut mesurer la régularité d’une fonction par le biais de ses dérivées. En effet, plus une

37
4.3. INTERPOLATION À L’AIDE DE FONCTIONS SPLINES CUBIQUES

fonction est différentiable, plus la courbe qui lui est associée est lisse et plus la fonction est ré-
gulière. Le problème, losqu’on utilise des polynômes de faible degré, provient du fait qu’il faut
en utiliser plusieurs pour relier tous les points. C’est le cas de l’interpolation par morceaux, qui
consiste à relier chaque paire de points par un segment de droite. On utilise aussi l’appellation
splines linéaires. On imagine assez mal comment une telle courbe pourrait permettre de faire la
conception d’une carrosserie de voiture ou d’une aile d’avion. Une voie très populaire consiste
à utiliser dans chaque intervalle intervalle [xi , xi+1 ] un polynôme de degré 3 de la forme :

Pi (x) = ai x3 + bi x2 + ci x + di pour i = 1, 2, ..., n

et à relier ces différents polynômes de façon à ce que la courbe résultante soit deux fois diffé-
rentiable. C’est ce que l’on appelle l’interpolation par splines cubiques.

Le principe de la méthode
Soit une fonction f connue sur le support {x0 < x1 < x2 < ... < xn } et continue sur [a, b] on
cherche les polynômes Pi pour i = 1, ..., n de degré 3 tels que
1. Le polynôme P1 passe par la prémière extrémité (x0 , f (x0 )), i.e :P1 (x0 ) = f (x0 ) pour
l’autre extrémité Pn (xn ) = f (xn )
2. Pour chaque point intérieur, soit pour i = 1, 2, ..., n − 1, les polynômes Pi et Pi+1 pas
sant par le point (xi , f (xi )) : Pi (xi ) = f (xi ) pour i = 1, ..., n − 1 Pi+1 (xi ) = f (xi ) pour
i = 1, ..., n − 1
3. Pour la régularité de la courbe, les dérivées premières et seconde de ces deux polynômes
0 0 00
sont continues aux points intérieurs : Pi (xi ) = Pi+1 (xi ) pour i = 1, ..., n − 1 Pi (xi ) =
00
Pi+1 (xi ) pour i = 1, ..., n − 1
4. Et pour compléter le système à résoudre, on fixe de manière arbitraire deux des inconnues.
00 00
Par exemple en posant P0 (x0 ) = 0 et Pn (xn ) = 0 on parle alors de spline naturelle.
On peut alors montrer (confère livre André Fortin ) que la détermination du polynôme P définie
par morceaux sur chaque intervalle [xi , xi+1 ] (i = 0, 1, ..., n − 1) revient alors à la résolution d’un
système tridiagonal de (n + 1) équations à (n + 1) inconnues suivant



f 0 = 0
h
hi ”
fi−1 + 2fi” + hih+h
i+1
f”
i+1 i+1
= 6f [xi−1 , xi , xi+1 ] ∀i = 1, 2, ..., n − 1 (4.3.1)

 ”
i +h i+1

fn = 0

où les inconnues sont les f ”i pour i = 0, 1, ..., n − 1, n et hi = xi − xi−1 . L’équation de la spline


dans l’intervalle [xi−1 , xi ] s’écrit ensuite :

 
− xi )3
” (x (x − xi−1 )3 f (xi−1 ) hi fi−1 ”
Pi (x) = −fi−1 + fi ” − − (x − xi )
6hi 6hi hi 6
 
f (xi ) hi fi ”
+ − (x − xi−1 )
hi 6

Remarque :
Ce procédé supprime <‌< les effets de bords >‌> et fournit une courbe approchée <‌<lisse>‌>.
Dans le cas où les abscisses sont équidistantes, c’est-à-dire hi = h ∀i = 0, 1, ..., n − 1, n.
La matrice du système linéaire (4.3.1) se trouve simplifiée de beaucoup. En effet, on obtient

38
4.3. INTERPOLATION À L’AIDE DE FONCTIONS SPLINES CUBIQUES

alors une matrice dont la diagonale principale ne contient que des 2, tandis que les deux autres
diagonales sont constituées de coefficients valant 1/2 . Cette matrice ne depend donc pas de la
valeur de h, qui n’affecte pas le terme de droite.

39
4.3. INTERPOLATION À L’AIDE DE FONCTIONS SPLINES CUBIQUES

40
Chapitre 5

Intégration numérique

Objectif
´b
On veut approcher de façon numérique la valeur d’intégrales de la forme I (f ) = a f (x)dx
En pratique, on ne connait pas forcément l’expression symbolique de f .
La plupart des fonctions n’admettent pas de primitives pouvant s’exprimer à l’aide de fonc-
tions élémentaires, voici quelques exemples :
ˆ 1 ˆ 1 ˆ π
p
2
−x2 2
e dx cos(x )dx 1 + cos2 (x)dx
0 0 0
Dans ces cas, on peut appliquer des méthodes numériques pour évaluer la valeur de l’intégrale
donnée.

5.1 Formules d’intégration simples


Les fonctions que l’on cherche à integrer numériquement sont continues sur l’intervalle [a, b],
soit x0 = a < x1 < x2 < x3 < ... < xn = b une subdivision de l’intervalle [a, b]. On approche
alors I (f ) par :
ˆ b
I (f ) = f (x)dx
a
n−1
X
= lim f (ξj ) (xj+1 − xj ) (5.1.1)
n→+∞
j=0
∀j ξj ∈ [xj , xj+1 ]
Les differents choix de ξj mènent aux formules d’intégrations simples
Pour ξj = xj on obtient la formules des rectangles à gauche dont sa formule composite
s’écrit :
n−1
X
Irg(f ) = f (xj ) (xj+1 − xj ) (5.1.2)
j=0

On obtient également la formule des rectangles à droite en posant ξj = xj+1 ce qui conduite
à la formule composite suivante :
n−1
X
Ird(f ) = f (xj+1 ) (xj+1 − xj ) (5.1.3)
j=0

41
Formule des rectangles à gauche
Pn−1 AVEC L’INTERPOLATION POLYNOMIALE
5.2. LIENS
ξj = xj Irg (f ) = j=0 f (xj ) (xj+1 − xj )

Formule des rectangles à gauche

Formule des rectangles à droite


a xPx2 x3 x4 x5 x6 x7 b x
ξj = xj+1 Ird0 (f ) = 1 n−1
j=0 f (xj+1 ) (xj+1 − xj )

y Thomas Cluzeau Analyse Numérique

Formule des rectangles à droite

0 a x1 x2 x3 x4 x5 x6 x7 b x

Thomas Cluzeau Analyse Numérique

xj +xj+1
Pour ξj = on obtient la formule du point milieu qui est plus précise que les deux
2
précédentes, dont la formule composite s’écrit :
n−1 
X 
xj + xj+1
Ipm(f ) = f (xj+1 − xj ) (5.1.4)
j=0
2

Ces formules sont qualifiées de rectangles parceque dans chaque sous-intervalles Ij = [xj , xj+1 ] , j =
0, 1, 2, ...n − 1 la fonction f est interpolée par un polynôme constant, et par consequent ces for-
mules ne seront exactes que pour les fonctions constantes sur [a, b].
Enfin la méthode des trapèzes
n−1
X f (xj ) + f (xj+1 )
It (f ) = (xj+1 − xj ) (5.1.5)
j=0
2

5.2 Liens avec l’interpolation polynomiale


Les méthodes des rectangles et la méthode du point milieu reviennent à interpoler f sur
chaque intervalle Ij = [xj , xj+1 ] par le polynôme d’interpolation de degré 0 relatif à l’unique
noeuds ξj . Ces formules seront donc exactes que pour les fonctions constantes sur [a, b] et en
particulier f ∈ P0 . La méthode des trapèzes revient à interpoler f sur chaqueIj = [xj , xj+1 ] par
le polynôme d’interpolation de degré 1. Cette formule sera donc exacte pour f ∈ P1 .

42
Formule du point milieu
xj +xj+1 Pn−1  xj +xj+1  5.2. LIENS AVEC L’INTERPOLATION POLYNOMIALE
ξj = 2 Ipm (f ) = j=0 f 2 (xj+1 − xj )

Formule du point milieu

0 a x1 x2 x3 x4 x5 x6 x7 b x

Thomas Cluzeau Analyse Numérique


5.2.1 Formalisme de l’intégration approchée
Soit f une fonction de C ([a, b]) espace vectoriel des fonctions continues sur [a, b].
Supposons qu’on connait au moins les valeurs de f en certains points x0 , x1 , x2 , ..., xn de
l’intervalle [a, b].
On cherche alors une formule d’intégration approchée de la forme
ˆ b Xn
I (f ) = f (x)dx ≈ λj f (xj ) = I˜(n) (f ) (5.2.1)
a j=0

où les λj sont à déterminer. La formule (5.2.1) est encore appelée formule de quadrature ou
méthode d’intégration numérique . Notons également que les λj sont appelés les poids de la
formule de quadrature et les xj les noeuds ou points d’intégration. On définit l’erreur comme
étant R (f ) = I (f ) − I˜(n) (f ) . Une formule de quadrature est dite exacte sur une ensemble V
si ∀f ∈ V ,R (f ) = 0.
Définition 44. Une méthode d’intégration numérique est dite d’ordre N (N ∈ N) si elle est
exacte sur PN (polynôme de degré N)
En pratique : connaissant les valeurs de f aux points x0 , x1 , x2 , ..., xn de l’intervalle [a, b],
Pn
(n)
on remplace f par le polynôme d’interpolation f (xj )Lj (x) écrit dans la base de Lagrange,
j=0
alors la formule d’intégration approchée est sur PN ([a, b]) est :
n
X (n)
I˜(n) (f ) = f (xj )Aj
j=0

(n) ´b (n)
où Aj = a
Lj (x)dx

Théorème 45. Soit f ∈ C n+1 ([a, b]) et I˜(n) (f ) donnée ci-dessus. Alors on a la majoration
suivante de l’erreur d’integration :
ˆ b
˜(n) Mn+1
I (f ) − I (f ) ≤ |πn+1 (x)| dx
(n + 1) ! a
n
avec Mn+1 = supx∈[a,b] f (n+1) (x) et πn+1 (x) = Π (x − xj )
j=0

43
5.2. LIENS AVEC L’INTERPOLATION POLYNOMIALE

5.2.2 Formules de Newton-Cotes


(n) ´ b (n)
Les formules de Newton-Cotes découlent du calcul des Aj = a Lj (x)dx suivant les valeurs
de n et de j.
Hypothèses : x0 = a, xn = b, n ≥ 1 et points d’interpolation équidistants
Lemme 46. Pour k = 0, 1, ..., n on a :
(−1)n−k ´ b
n
(n)
i)Ak = (b−a)
n k!(n−k)! a
Π (x − j) dx
j=0
j6=k
(n) (n)
ii) An−k = Ak
(1) (1)
Le cas n = 1, on obtient A0 = A1 = b−a
2
d’où
˜(1) b−a
I (f ) = 2 (f (a) + f (b)) (Formule des trapèzes)
(2) (2) (2)
Le cas n = 2, on obtient A0 = A2 = b−a et A1 = 4(b−a) d’où
  6 6
I˜ (f ) = 6 f (a) + 4f 2 + f (b) (Formule de Simpson)
(2) b−a a+b

(n)
Calcul pratique des coefficients Ak
En pratique, utiliser le fait que que I˜(n) est exacte sur PN ([a, b])
(1) (1)
Pour n = 1, a = −1, b = 1 on a donc ´ :I˜(1) (f ) = A0 f (−1) + A1 f (1),
´ I˜(1) est exacte
1 1
sur P1 ([−1, 1]) d’où I˜(1) (1) = I (1) = −1 1dx = 2 ,I˜(1) (x) = I (x) = −1 xdx = 0=⇒
(
(1) (1)
A0 + A1 =2 (1) (1)
(1) (1) d’où A0 = A1 = 1
−A0 + A1 =0
´1
Remarque 47. Cette formule n’est pas exacte sur P2 ([−1, 1])puisque I (x2 ) = −1 x2 dx = 2/3
alors que I˜(1) (x2 ) = 2.

5.2.3 Estimation de l’erreur et Stabilité


P
n
(n)
Théorème 48. Considérons l’erreur En (f ) = I (f ) − Aj f (xj ). Alors :
j =0
n+1
i) si n est impair et f ∈ C ([a, b]), alors ∃ξ ∈ [a, b]tel que :
 n+2 (n+1) ˆ
b−a f (ξ) n
En (f ) = t (t − 1) ... (t − n) dt
n (n + 1)! 0
ii) si n est pair et f ∈ C n+2 ([a, b]), alors ∃ξ ∈ [a, b] tel que :
 n+3 (n+2) ˆ
b−a f (ξ) n 2
En (f ) = t (t − 1) ... (t − n) dt
n (n + 2)! 0
En particulier si n =2 : si f ∈ C 4 ([a, b]), alors l’erreur d’approximation commise par la
(4)
formule de Simpson vaut −h5 f 90(ξ) où h = b−a2
et ξ ∈ [a, b]
EXERCICE i)Vérifier que la formule de Simpson est exacte pour les polynômes de dégré au

moins 2. Donner son dégré de précision


ii)Montrer son erreur est
(b − a)5
R (f ) ≤ max f (4 ) (x )
2880 x ∈[a,b]

44
5.2. LIENS AVEC L’INTERPOLATION POLYNOMIALE

Théorème 49. (Admis) Le degré de précision des formules de Newton-Cotes à n+1points est :
(
n si n est impair
n + 1 si n est pair
L’erreur dans les formules de Newton à n + 1 points est en
(
hn+2 si n est impair
hn+3 si n est pair
où h = b − a
Définition 50. On dira ici qu’une formule de quadrature est stable si les poids intervenant
dans la formule sont strictement positifs.
N.B : A partir de n ≥ 9 les formules de Newton-Cotes sont inutilisables car elles deviennent
instables ie les poids intervenant dans les formules peuvent être négatifs.
Supposons les valeurs calculées de f (xk ) non exactes, alors
X
n
(n)
X
n
(n)
X
n
(n)
Aj (f (xj ) + Ej (f )) − Aj f (xj ) = Aj f (xj )Ej (f )
j =0 j =0 j =0

n
X  X
n
(n) (n)
=⇒ Aj f (xj )Ej (f ) ≤ max |Ej (f )| Aj
0≤j≤
j=0 j=0
P
n
(n)
et le terme Aj dépend de la méthode.
j=0

P
n
(n)
Définition 51. La formule d’intégration numérique I˜(n) (f ) = f (xj )Aj est dite stable s’il
j=0
existe M ∈ R tel que :
 
P
n
(n)
∀n ∈ N,∀ (E0 , E1 , ..., En ) ∈ Rn+1 Aj f (xj )Ej (f ) ≤ M max |Ej (f )|
j =0 0 ≤j ≤n

Théorème 52. Avec les notations précedentes, une condition nécessaire et suffisante de stabilité
P
n
(n)
est qu’il existeM ∈ R (indépendant de n) tel que : Aj ≤ M.
j=0

(n)
Les Formules de Newton-Cotes : pour certaines valeurs de j, lim Aj = +∞ donc pour
n−→+∞
de grandes valeurs de n ces formules ne sont pas stables

5.2.4 Formules composites de Simpson


Les méthodes composites sont d’autant plus intéressantes que l’erreur d’approximation di-
minue lorsque la taille de l’intervalle diminue.Subdivisons l’intervalle [a, b] en k sous intervalles
avec k pair, on obtient la formule Composites de Simpson
 k k

−1
h X
2 X 2

I˜(2) (f ) = ISimpson (f ) = f (a0 ) + 2 f (a2i ) + 4 f (a2i−1 ) + f (ak ) (5.2.2)


3 i=0 i=0

b−a
avec h = k
,a0 = a,ak = b et ai = h + ai−1 . si f ∈ C 4 ([a, b]), alors l’erreur d’approximation
(4)
commise par la formule de Simpson vaut −k.h5 f 180(ξ) où h = b−a
k
et ξ ∈ [a, b]

45
5.2. LIENS AVEC L’INTERPOLATION POLYNOMIALE

5.2.5 Autres approches


– Les formules de quadrature de Gauss : Famille de formules de quadrature assez précises,
qui utilisent des polynômes d’interpolation. Les noeuds sont les zéros des polynômes
d’interpolation, et/ou des points donnés
– Les méthodes adaptives : le nombre de noeuds est choisi suivant le comportement de la
fonction.
Plusieurs implémentations sont disponibles sur Matlab :
– trapz : méthode des trapèzes, intervalles uniformes
– quad : formule de Simpson, quadrature adaptive,
– integral : méthode adaptive globale

46
Chapitre 6

Résolution numérique des équations


différentielles

Position du problème
On appelle équation différentielle une équation reliant une fonction et ses dérivées succes-
sives. Si l’équation ne fait intervenir que sa dérivée , on parle d’équation du premier ordre. Soit
Ω un ouvert de R × RN . Etant donnés f : Ω ⊂ R × RN −→ RN qui à un couple (t, u) ∈ Ω
associe f (t, u) continue, un point quelconque t0 ∈ R, un point quelconque U0 ∈ RN , nous cher-
chons une fonctionu : I −→ RN , où I est un voisinage de t0 dans R, qui à t ∈ I associe u(t),
continûment dérivable, telle que u vérifie le problème de Cauchy suivant :
(
u0 (t) = f (t, u(t))
(6.0.1)
u(t0 ) = U0 Condition initiale ou de Cauchy

On dit que qu’il y a unicité au problème de Cauchy en (t0 , U0 ) s’il existe au moins une solution
à ce problème et si pour toutes solutions ϕ : I −→ RN et ψ : J −→ RN , les fonctions ϕet
ψcoincident sur I ∩ J.
L’étude mathématique de l’existence et de l’unicité d’une solution u est délicate et constitue
une branche entière des mathématiques. Nous nous contenterons de donner une condition suffi-
sante d’existence et d’unicité d’une solution au problème de Cauchy. Nous ne nous intéresserons
ensuite qu’à la résolution numérique de ces équations différentielles.

Théorème 53. Théorème de Cauchy-Lipschitz (admis)


Si f est continue dans Ω et si f est localement lipschitzienne par rapport à sa deuxième
variable, ie si pour tout (t0 , u0 ) ∈ Ω il existe un voisinage V de (t0 , u0 )et L > 0 tels que :

∀ (t, u) , (t, u) ∈ V, |f (t, u) − f (t, v)| ≤ L |u − v|

alors pour tout (t0 , u0 ) ∈ Ω, il existe I voisinage de t0 dans R et une application u, continûment
dérivable, de I dans RN solution unique de :
(
u0 (t) = f (t, u(t))
u(t0 ) = U0

Remarque 54. Si f est de classe C 1 alors f est localement lipschitzienne par rapport à sa
deuxième variable, et le théorème de Cauchy-Lipschitz s’applique.

47
6.1. RÉSOLUTION NUMÉRIQUE : MÉTHODE D’EULER

(
u0 (t) = −u(t)
tlnt
+ 1
lnt
t ∈ [e, 5] t
Exemple la fonction u(t) = ln(t)
est solution unique car :
u(e) = e

v−u v−u 1
|f (t, u) − f (t, v)| = ≤ ≤ |v − u|
tlnt e e

6.1 Résolution numérique : méthode d’Euler


On suppose que les hypothèses du théorème (53) sont vérifiées. Nous cherchons à approcher
les valeurs de la solution u de l’équation (6.0.1) pour différentes valeurs de t ∈ I = [0, T ] .Soit
h la longueur du pas, on définit tj = jh,j = 0, 1, 2, ..., n :
ˆ tj+1 ˆ tj+1
0
u (t)dt = f (t, u(t))dt
tj tj

ˆ tj+1
u(tj+1 ) − u(tj ) = f (t, u(t))dt
tj
| {z }
intégration numérique

On note uj = u(tj ) et uj = u(tj+1 )


En utilisant la formule des rectangles à gauche, on obtient :

uj+1 − uj = (tj+1 − tj ) f (tj , u(tj ))


uj+1 = uj + (tj+1 − tj ) f (tj , uj )

On obtient alors le schéma d’Euler explicite (explicite car on a directement uj+1 en fonction de
uj )
(
uj+1 = f (t, u(t)) + (tj+1 − tj ) f (tj , uj ) ∀j = 0, 1, 2, ..., n − 1
(6.1.1)
u0 = U0

En utilisant la formule des rectangles à droite, on obtient :

uj+1 − uj = (tj+1 − tj ) f (tj+1 , u(tj+1 ))


uj+1 = uj + (tj+1 − tj ) f (tj+1 , uj+1 )

On obtient alors le schéma d’Euler implicite (implicite car uj+1 est des deux côtés de l’équation) :
(
uj+1 = uj + (tj+1 − tj ) f (tj+1 , uj+1 ) ∀j = 0, 1, 2, ..., n − 1
(6.1.2)
u0 = U 0

Remarque 55. Le schéma d’Euler explicite est plus simple à utiliser mais moins précis que le
schéma d’Euler implicite. De plus, le schéma d’Euler implicite est plus stable que le schéma
d’Euler explicite.
(
u0 (t) = −αu(t)
Exemple Soit α > 0 et l’équation : La fonction u(t) = exp(−αt) est
u(0) = 1
solution .

48
6.2. MÉTHODES À UN PAS GÉNÉRIQUE

Remarque 56. Par le schéma d’Euler explicite :uj+1 = (1 − αh) uj ⇐⇒ uj = (1 − αh)j . Donc
comme u(t) tend vers 0 quand t tend vers l’infini,|1 − αh| < 1, soit la condition de stabilité
h < 2/α
1
Par le schéma d’Euler implicite :(1 + αh) uj+1 = uj ⇐⇒ uj = (1+αh) j alors uj tend vers 0

pour tout h > 0. Il n’y a de condition de stabilité.


Le θ-schéma
En combinant les schémas d’Euler explicite et implicite, on obtient le θ − schéma
(
uj+1 = uj+1 + h [(1 − θ) f (tj , uj ) + θf (tj+1 , uj+1 )] 0 ≤ θ ≤ 1
u0 = U0

On retrouve le schéma d’Euler explicite pour θ = 0, et implicite pour θ = 1. Pour θ = 1/2 on


retrouve la formule des trapèzes
Le schéma-Heun

u?j+1 = uj + hf (tj , uj )
h 
uj+1 = uj + f (tj+1 , u?j+1 ) + f (tj , uj )
2
h
uj+1 = uj + [f (tj+1 , uj + hf (tj , uj )) + f (tj , uj )]
2
u0 = U0

Le schéma-d’Euler modifié
h
uj+1/2 = uj + f (tj , uj )
2
uj+1 = uj + hf (tj+1/2 , uj+1/2 )
u0 = U0

6.2 Méthodes à un pas générique


Les méthodes à un pas s’écrivent
(
uj+1 = uj + hφ (tj , uj , h)
u0 = U0

avec φcontinue par rapport aux trois variables. Choisir une méthode revient à choisir la fonction
φ !. Quelles conditions imposer à φpour que la méthode fonctionne ?
Exemples
Schéma d’Euler φ (t, u, h) = f (t, u)
Schéma de Heun φ (t, u, h) = 1/2 (f (t + h, u + hf (t, u) + f (t, u))
On pose ej (h) = u(tj ) − uj , j = 0, 1, 2, ..., n : l’erreur à l’étape j Objectif1 :Quand h tend
vers 0, u(tj ) doit tendre vers uj ie on a la convergence de la solution approchée trouvée uj vers
la solution exacte au point tj , u(tj ).
Définition 57. Un méthode à un pas est dite convergente sur [0, T ] si quelle que soit U0
condition initiale :
Lim max |ej (h)| = 0
h−→00≤j≤n

Lim max |u(tj ) − uj | = 0


h−→00≤j≤n

49
6.2. MÉTHODES À UN PAS GÉNÉRIQUE

Objectif2 :
Il faut que la méthode approche bien l’équation différentielle.
Définition 58. Une méthode à un pas est dite consistante si pour tout u solution de u0 =
f (t, u) :
1
Lim max (u(tj+1 ) − u(tj )) − φ (tj , u(tj ), h) = 0
h−→00≤j≤n h

Objectif3 : Connaître et contrôler la répercussion des erreurs d’arrondi.


Définition 59. Une méthode à un pas est dite stable si : il existe K indépendant de h tel que,
f0 et uj+1 = uj + hφ (tj , u(tj ), h) ,
pour tous U0 , U

ug ej + hφ (tj , u(tj ), h) + εj
j+1 = u

vérifient !
j−1
X
|uj − u
ej | ≤ K f0 +
U0 − U |εj | ∀0 ≤ j ≤ n
i=0

Ces trois notions sont liées pour les schémas à un pas.


Remarque 60. En effet pour une méthode à un pas, la convergence implique la consistance.
Théorème 61. Si une méthode à un pas est consistante et stable alors elle est convergente.
Démonstration. Soit u une solution de l’équation différentielle, la consistance donne :u (tj+1 ) =
u(tj ) + hφ (tj , u(tj ), h) + εj avec Lim max |εj | = 0 or la méthode est aussi stable,donc
h−→00≤j≤n
 
max |u(tj ) − uj | ≤ K |u(0) − U0 | + hN max |εj |
0≤j≤n 0≤j≤n
 

max |u(tj ) − uj | ≤ K |u(0) − U0 | + T max |εj |


0≤j≤n 0≤j≤n
−→0

Donc max |u(tj ) − uj | −→ 0


0≤j≤n

Théorème 62. Le schéma d’Euler et le schéma de Heun sont explicites et convergents


1
Définition 63. On dit qu’une méthode est d’ordre p si max (u(tj+1 ) − u(tj )) − φ (tj , u(tj ), h) =
0≤j≤n h
O (h p )

Méthode d’ordre 4 : Méthode de Runge-Kutta


On pose φ (t, u, h) = 16 (k1 + k2 + k3 + k4 ) avec

k1 = f (t, u)

k2 = f (t + h/2, u + (h/2) k1 )
k3 = f (t + h/2, u + (h/2) k2 )
k4 = f (t + h, u + (h/2) k3 )
Cette méthode est d’ordre 4 et donne d’excellents résultats. Son défaut est qu’elle demande
l’évaluation de f quatre fois.

50
6.3. MÉTHODES À PAS MULTIPLES

6.3 Méthodes à pas multiples


On appelle méthode à k pas une méthode définie par :

αk uj+k + αk−1 uj+k−1 + ... + α0 uj = h (βk fj+k + βk−1 fj+k−1 + ... + β0 fj ) αk 6= 0

où on a posé fj = f (tj , uj ).
si βk = 0, la méthode est explicite et implicite sinon.
Pour définir ces méthodes à pas multiples, on utilise les formules d’intégration ou de diffé-
rentiation ou d’interpolation.
Exemples ˆ ˆ
tj+1 tj+1
u0 (t)dt = f (t, u(t))dt
tj−1 tj−1
ˆ tj+1
u(tj+1 ) − u(tj−1 ) = f (t, u(t))dt
tj−1
| {z }
P oint milieu

u(tj+1 ) − u(tj−1 ) = 2hfj


On obtient alors le schéma saute-mouton (Leap-frog en anglais)
(
uj+1 = uj−1 + 2hfj
u0 = u (0)

On peut également utiliser la formule des Simpson


ˆ tj+2 ˆ tj+2
0
u (t)dt = f (t, u(t))dt
tj tj
ˆ tj+2
u(tj+2 ) − u(tj ) = f (t, u(t))dt
tj
| {z }
Simpson

u(tj+2 ) − u(tj ) = 2h/6 (fj+2 + 4fj+1 + fj )


Soit (
uj+2 = uj + h/3 (fj+2 + 4fj+1 + fj )
u0 = u (0)
Remarque 64. Comment programmer un schéma implicite ? soient y0 et y1 donnés.
Pour i = 1 à n faire (étape de prédiction, formule explicite) :
0
yi+1 = yi + (3h/2) f (xi , yi ) − (h/2) f (xi−1 , yi−1 )

Pour k = 0, 1, ..jusqu0 à convergence f aire (étape de correction) :

k+1
 k

yi+1 = yi + (h/2) f (xi , yi ) + f xi+1 , yi+1
y1 donné par Runge-Kutta de même ordre que le schéma pour conserver la précision. On peut
montrer que si la prédiction est bien choisie, une itération de correction suffit.

51

Vous aimerez peut-être aussi