Académique Documents
Professionnel Documents
Culture Documents
Polycopié de cours
Analyse Numérique
2
TABLE DES MATIÈRES
3
Chapitre 1
Résolution numérique de f (x) = 0
Le problème général
Etant donnée une fonction f : I −→ R continue, le problème est d'obtenir ecacement une
(resp : les) solutions de f (x) = 0 dans un intervalle I = [a, b]. La condition f (a)f (b) < 0 assure
l'existence d'une solution. Une étude théorique plus ne peut être nécessaire pour isoler une
unique solution dans un intervalle.
1.1 Méthode de la dichotomie
On veut résoudre f (x) = 0, où f est une fonction de I dans R non linéaire (sinon c'est
évident!). On recherche donc un nombre réel x tel que f (x ) = 0. Comme pour toute méthode
∗ ∗
itérative, on va donc construire une suite de nombres réels x , x , ..., x , ... qui converge
(0) (1) (n)
vers x . Puisqu'ici les termes de la suite sont des nombres réels, on les notera plus simplement
∗
x0 , x1 , ..., xn , ...
Le principe de la dichotomie est très simple. On suppose que f : [a, b] −→ R est continue
et que f (a)f (b) < 0, c'est-à-dire qu'il y a au moins une racine réelle de f dans [a, b]. On prend
alors le milieu de l'intervalle c = .
a+b
Si f (c) = 0 (ou numériquement très proche de 0), on considère que l'on a résolu le
2
problème.
Autrement, deux cas peuvent se présenter :
1. si f (a)f (c) < 0, alors f a une racine réelle dans [a, c] (au moins une, en tous cas, un
nombre impair de racines),
2. autrement, f (a)f (c) > 0, donc f (a)f (b)f (a)f (c) < 0, ce qui donne f (b)f (c) < 0 et
f a une racine réelle dans [c, b].
On itère alors le processus avec l'intervalle qui contient au moins une racine.
La méthode de dichotomie s'écrit de la manière suivante :
4
CHAPITRE 1. RÉSOLUTION NUMÉRIQUE DE F (X) = 0
On pose :
et x = a +2 b .
a0 = a, b0 = b, I0 = [a0 , b0 ], 0
0 0
c) si f (x ) ̸= 0, alors :
n−1 n−1
an = an−1 , bn = xn−1 ;
Il est clair qu'à chaque itération la longueur l de l'intervalle de localisation de la racine x est ∗
b−a
ln = bn − an = , n ≥ 1.
2n
Cette proposition est utile sur le plan numérique, en eet elle renseigne sur le nombre minimal
d'itérations nécessaires pour calculer la racine à ϵ près, ϵ > 0 étant une précision xée à l'avance
par l'utilisateur (test d'arrêt).
En eet, on peut montrer que ce nombre n doit vérier :
b − a
n ≥ log2
ϵ
a) − log2 (ϵ) + 1.
Exemple : Si [a, b] = [0, 1], pour obtenir une précision |xn −x∗ | ≤ 10−6 , il faut 19 itérations,
quelle soit la fonction f .
5
CHAPITRE 1. RÉSOLUTION NUMÉRIQUE DE F (X) = 0
Algorithm 1 Méthode de Dichotomie pour résoudre f (x) = 0
Require: : a < b, f continue avec f (a) ∗ f (b) < 0, précision ϵ
Ensure: : c : approximation de la solution f (x) = 0.
a+b
1: c← 2
2: while |f (c)| ≥ ϵ do
3: if f (a) ∗ f (c) < 0 then
4: b←c
5: else
6: a←c
7: end if
a+b
8: c← 2
9: end while
10: retourner c
1.2 La méthode de point xe
Pour résoudre f (x) = 0, on peut se ramener à un problème équivalent de la forme g(x) = x
(par exemple en posant g(x) = f (x) + x). Mais il y a beaucoup de choix possibles pour dénir
g!
La résolution de g(x) = x s'appelle recherche des points xes de g.
Par exemple pour calculer la racine carrée d'un nombre réel a > 0, on résout x = a . Il 2
2. 2x = x + soit x = 2x − et g (x) = 2x −
x x
a a a
2
3. x = + et g (x) = +
x x x
x a x a
3
Les méthodes dites de point xe, consistent à construire la suite x , x , ..., x , ... de la façon
2 2x 2 2x
suivante :
0 1 n
x donné
0
(1.1)
x = g(x ), n > 0
n+1 n
g . En eet
n
Le choix de la fonction g n'est pas unique (voir les exemples ci-dessus). En général, les
diérentes suites construites à partir de ces fonctions ne convergent pas toujours et qu'il faut
donc choisir soigneusement la fonction g. Le paragraphe suivant donne quelques conditions sur
la fonction g pour que la suite converge.
6
CHAPITRE 1. RÉSOLUTION NUMÉRIQUE DE F (X) = 0
1.2.1 Convergence des méthodes de point xe
Proposition 1.2.1 Soit une fonction g : [a, b] −→ [a, b] continûment dérivable sur [a, b] et
supposons que : ′
|g (x)| ≤ k < 1, ∀x ∈ [a, b].
Alors g possède un point xe unique x ∈ [a, b] et la suite :
∗
x donné 0
(1.2)
xn+1 = g(xn ), n > 0
converge vers x .
∗
Démonstration La première partie est une conséquence immédiate du théorème des valeurs
intermédiaires. En eet, si l'on n'est pas
dans les cas évidents g(a) = a ou g(b) =b, la fonction
H(x) = g(x)−x est telle que H(a) = g(a)−a > 0 (car g(a) ∈ [a, b]) et H(b) = g(b)−b < 0
(car g(b) ∈ [a, b]). Il existe donc un point x de ]a, b[ tel que H(x ) = 0, c'est-à- dire un point
∗ ∗
xe de g. On montre aisément en exercice que ce point xe est unique (en utilisant l'absurde
et le théorème des accroissements nis).
Pour montrer la convergence de la suite vers x , on calcule : ∗
suite.
Dans la proposition précédente, on a supposé que la valeur absolue de la dérivée était majorée
par 1 sur l'intervalle [a, b] tout entier. Si l'on considère l'exemple de la racine carrée d'un nombre
réel traité dans le paragraphe précédent, on a décrit trois fonctions g pour lesquelles le point
xe x correspond à cette racine carrée.
∗
Calculons les dérivées correspondantes aux points xes x ( dans notre cas : x = a) :
∗ ∗2
1. g (x) = , g (x) = et g (x ) = −1
1
a ′ −a ′ ∗
2. g (x) = 2x − , g (x) = 2 + et g (x ) = 3
x 1 x2 1
a ′ a ′ ∗
2
3. g (x) = + , g (x) = − et g (x ) = 0
x 2 x2 2
x a ′ 1 a ′ ∗
3 2 2x 3 2 2x2 3
Proposition 1.2.2 Soit x un point xe de g, fonction continûment dérivable, tel que |g (x )| <
∗ ′ ∗
1, alors la suite (x ) dénie par x = g(x ) converge vers x si x est susamment proche
∗
de x .
n n+1 n 0
∗
7
CHAPITRE 1. RÉSOLUTION NUMÉRIQUE DE F (X) = 0
Algorithm 2 Méthode de point xe pour résoudre g(x) = x
Require: : x0 , la fonction g, précision ϵ
Ensure: : x∗ : approximation de la solution g(x) = x.
1: dx ← |x0 − g(x0 )|
2: while dx ≥ ϵ do
3: x0 ← g(x0 )
4: dx ← |x0 − g(x0 )|
5: end while
6: x∗ ← x0
7: retourner x ∗
Il s'agit donc d'une méthode de point xe x = g(x ) pour laquelle la fonction g : g(x) =
.
n+1 n
f (x)
x− f ′ (x)
Remarque 1 La méthode de Newton est une méthode de point xe telle que g (x ) = 0 c'est-
′ ∗
8
CHAPITRE 1. RÉSOLUTION NUMÉRIQUE DE F (X) = 0
Si la méthode de Newton converge vers x∗, alors on a en passant à la limite quand n tend vers
+∞ :
f (x∗ )
x∗ = x∗ −
f ′ (x∗ )
On voit alors que l'on obtient bien si . On suppose dorénavant que cette
f (x∗ ) = 0 f ′ (x∗) ̸= 0
condition est remplie c'est-à-dire que la courbe n'est pas tangente à l'axe Ox lorsqu'elle
y = f (x)
coupe cet axe.
Algorithm 3 Méthode de Newton pour résoudre f (x) = 0
Require: : x , les fonctions f et f , précision ϵ ′
1: x ← x0
2: while |f (x)| ≥ ϵ do
f (x)
3: x←x− f ′ (x)
4: end while
5: x∗ ← x
6: retourner x ∗
tel que f (x ) = 0 et f (x ) ̸= 0. Alors il existe α > 0 tel que la suite générée par la méthode de
∗ ′ ∗
Newton : f (x ) n
xn+1 = xn −
f ′ (xn )
converge vers x pour tout x ∈ [x − α, x + α].
∗
0
∗ ∗
Démonstration : Comme il s'agit d'une méthode de point xe de la fonction g(x) = x − , f (x)
l'existence de α tel que la suite x = g(x ) converge vers le point xe x ∈ [x − α, x + α]. ⋆ ⋆
Cette proposition donne une condition susante de convergence mais heureusement la méthode
n+1 n 0
9
CHAPITRE 1. RÉSOLUTION NUMÉRIQUE DE F (X) = 0
on dit que l'ordre de convergence de la suite est (au moins) p.
Si p = 1, la convergence est linéaire,
si 1 < p < 2, la convergence est dite super-linéaire,
si p = 2, la convergence est dite quadratique.
Proposition 1.4.1 Pour que l'ordre de convergence soit p, il sut que :
lim
|e |
|e |
existe et soit nie
n→∞
n+1
p
.
n
|xn+1 − x⋆ | ≤ C|xn+1 − x⋆ |2
M
|xn+1 − x∗ | ≤ |xn − x∗ |2
2
où M = max x∈[a,b] |g
′′
.(x)|
d'où le résultat.
10
CHAPITRE 1. RÉSOLUTION NUMÉRIQUE DE F (X) = 0
11
Chapitre 2
Interpolation numérique
2.1 Introduction
Dans la résolution de certains problèmes numériques, on rencontre la situation suivante :
on veut calculer les valeurs d'une fonction f (x) pour un très grand nombre de valeurs de x,
mais on ne connaît pas f explicitement. Ceci se produit lorsque :
f n'est connue qu'en certains points expérimentaux x , x , ..., x
ou lorsque la fonction f est évaluée numériquement par un code de calcul dont l'exécution
0 1 n
est coûteuse.
On veut alors représenter f par une fonction simple dont l'évaluation est aisée.
Autrement dit, il s'agit d'approcher la fonction f par une autre fonction, plus facile à calculer.
Cette fonction approchée f est choisie dans une classe F̄ de fonctions dont le calcul n'est pas
¯
trop coûteux. Citons l'ensemble des polynômes, l'ensemble des fractions rationnelles, l'ensemble
des polynômes trigonométriques,. . ..
Dans ce chapitre, on va s'intéresser aux techniques de l'interpolation qui consiste à chercher
une fonction f ∈ F̄ telle que :
¯
Dans la suite, nous ne traitons que l'interpolation polynomiale (c'est à dire que la fonction
f va être approchée par un polynôme.
Dénition 2.1.1 Un polynôme de degré n à coecients dans R est une fonction de la forme
pn (x) = a0 + a1 x + a2 x2 + ... + an xn ,
L'importance des polynômes provient du fait qu'ils sont faciles à calculer, à dériver et à intégrer.
De plus pour n'importe quelle fonction continue sur un intervalle fermé et borné, on peut
toujours trouver un polynôme qui est aussi proche que l'on veut de la fonction donnée. Ce
résultat est exprimé précisément par le théorème de Weierstrass.
12
CHAPITRE 2. INTERPOLATION NUMÉRIQUE
Théorème 2.1.1 Soit f une fonction continue sur un intervalle [a, b] et ϵ > 0. Alors il existe
un polynôme p(x) tel que :
maxx∈[a,b] |p(x) − f (x)| < ϵ
Il reste maintenant à le construire de la manière la plus ecace et la plus simple possible.
2.2 Écriture du Polynôme dans la base canonique
Proposition 2.2.1 La famille (1, x, x , ..., x ) représente la base canonique de l'ensemble des
2 n
polynômes de degré ≤ n (P ).
Tout polynôme p de P peut s'écrire : p (x) = a + a x + a x + ... + a x .
n
2 n
n n n 0 1 2 n
(2.1)
. . . . . . . . = .
. . . . . . . .
.
. . . . . . . . .
1 xn x2n . . . xnn an f (xn )
polynôme d'interpolation de f .
j i
Exemple :
13
CHAPITRE 2. INTERPOLATION NUMÉRIQUE
1. Calculer le polynôme passant par les points (0, 1), (1, 2), (2, 9) et (3, 28) en utilisant la
base canonique.
Solution :
Étant donné ces 4 points d'interpolation, le polynôme recherché est au plus de degré 3
Ses coecients a sont solution de :
i
1 x0 x20 x30 a0 f (x0 )
1
1
x1
x2
x21
x22
3
x 1 a1
x32 a2
f (x1 )
=
f (x2 ) (2.2)
1 x3 x23 x33 a3 f (x3 )
ce qui donne :
1 0 0 0 a0 1
1
1
1
2
1 1 a1
4 8 a2
2
=
9
(2.3)
1 3 9 27 a3 28
dont la solution est (1, 0, 0, 1). Le polynôme recherché est donc :
p(x) = 1 + x3 .
où δ ij = 1 si i = j et δ ij = 0 si i ̸= j . Explicitement on a :
Y (x − xj )
ϕi (x) = , i = 0...n.
(x i − xj )
i̸=j
Dénition 2.3.1 Les polynômes ϕ , ϕ , ..., ϕ sont appelés polynômes de Lagrange associés au
support de points {x , x , ..., x }.
0 1 n
0 1 n
14
CHAPITRE 2. INTERPOLATION NUMÉRIQUE
Théorème 2.3.1 Étant donné un support de (n+1) points d'interpolation (x , f (x )) . L'unique n
polynôme d'interpolation p de degré ≤ n passant par tous ces points peut s'écrire :
i i i=0
n
n
X
pn (x) = f (xi )ϕi (x),
i=0
où Y (x − xj )
ϕi (x) =
i̸=j
(xi − xj )
sont les polynômes de Lagrange.
Le polynôme p ainsi déni s'appelle le polynôme d'interpolation de Lagrange de la fonction f
relativement au support de points (x , x , ..., x ).
n
Puisque les polynômes de Lagrange ϕ sont de degré égal à n. Donc p est de degré
0 1 n
n
X
Pn (xj ) = f (xi )ϕi (xj ) = f (xj )ϕj (xj ) = f (xj ).
i=0
Exemple :
On prend n = 2, (x , f (x )) = (−1, −2), (x , f (x )) = (0, 1) et (x , f (x )) = (1, 2).
Les polynômes de Lagrange associés sont :
0 0 1 1 2 2
(x − 0)(x − 1) x(x − 1) 1 1
ϕ0 (x) = = = x2 − x;
(−1 − 0)(−1 − 1) 2 2 2
(x − (−1))(x − 1) (x + 1)(x − 1)
ϕ1 (x) = = = 1 − x2 ;
(0 − (−1))(0 − 1) −1
(x − 0)(x − (−1)) x(x + 1) 1 1
ϕ2 (x) = = = x2 + x;
(1 − 0)(1 − (−1)) 2 2 2
Ainsi le polynôme d'interpolation de Lagrange de f sur {−1, 0, 1} est :
pn (x) = f (x0 )ϕ0 (x) + f (x1 )ϕ1 (x) + f (x2 )ϕ2 (x)
= −2ϕ0 (x) + 1ϕ1 (x) + 2ϕ2 (x)
= −x2 + 2x + 1.
avec une précision qui sera discutée plus loin lorsque nous aborderons la question de l'erreur de
l'interpolation.
15
CHAPITRE 2. INTERPOLATION NUMÉRIQUE
Exemple :
Reprenons les points (0, 1), (1, 2), (2, 9) et (3, 28) et calculons l'interpolation de Lagrange dans
ce cas.
1. les éléments de la base Lagrange :
(x − 1)(x − 2)(x − 3)
ϕ0 (x) =
(0 − 1)(0 − 2)(0 − 3)
(x − 0)(x − 2)(x − 3)
ϕ1 (x) =
(1 − 0)(1 − 2)(1 − 3)
(x − 0)(x − 1)(x − 3)
ϕ2 (x) =
(2 − 0)(2 − 1)(2 − 3)
(x − 0)(x − 1)(x − 2)
ϕ3 (x) =
(3 − 0)(3 − 1)(3 − 2)
2. Le polynôme de Lagrange est donné par :
p3 (x) = f (x0 )ϕ0 (x) + f (x1 )ϕ1 (x) + f (x2 )ϕ2 (x) + f (x3 )ϕ3 (x)
c'est à dire :
(x − 1)(x − 2)(x − 3) x(x − 1)(x − 3) x(x − 1)(x − 2)
p3 (x) = − +x(x−2)(x−3)−9 +14
6 2 3
Après simplication du calcul, on trouve :
p3 (x) = x3 + 1
16
CHAPITRE 2. INTERPOLATION NUMÉRIQUE
forme une base de P [R] (l'espace des polynômes de degré ≤ n).
n
Nous allons montrer comment calculer les coecients du polynôme de degré inférieur ou
égal à n, p , interpolant une fonction f dans les points x , x , ..., x . Ce polynôme s'écrit :
n 0 1 n
Notons que le coecient c est le coecient de x dans p . C'est ce qu'on appelle le coecient
n
directeur du p .
n n
n
f (x1 ) − f (x0 )
c1 = .
x1 − x0
Pour i = 2, de même, on obtient que :
f (x2 )−f (x0 ) f (x1 )−f (x0 )
x2 −x0
− x1 −x0
c2 = .
x2 − x1
f (x2 )−f (x1 )
x2 −x1
− f (xx00)−f
−x1
(x1 )
=
x2 − x0
f [x0 ] = f (x0 )
.
La 1ière diérence divisée de f en x , x est : 0 1
f (x1 ) − f (x0 )
f [x0 , x1 ] = .
x1 − x0
La 2-ième diérence divisée de f en x , x et x est : 0 1 2
f [x1 , x2 ] − f [x0 , x1 ]
f [x0 , x1 , x2 ] =
x2 − x0
La n-ième diérence divisée de f en x , x , ..., x est : 0 1 n
17
CHAPITRE 2. INTERPOLATION NUMÉRIQUE
Suivant cette notation, on a :
c0 = f [x0 ], c1 = f [x0 , x1 ], c2 = f [x0 , x1 , x2 ].
pn (x) = f [x0 ]
+ f [x0 , x1 ](x − x0 )
+ f [x0 , x1 , x2 ](x − x0 )(x − x1)
...
+ f [x0 , x1 , ..., xn ](x − x0 )(x − x1 )...(x − xn−1 )
p0 (x) = f [x0 ]
pn (x) = pn−1 (x) + f [x0 , x1 , ..., xn ](x − x0 )(x − x1 )...(x − xn−1 ), n > 0.
ceci permet d'ajouter un point d'interpolation sans avoir à recalculer tous les coecients du
polynôme d'interpolation.
Il reste maintenant à déterminer ecacement les coecients de ce polynôme. La manière la
plus simple consiste à construire une table dite de diérences divisées de la façon suivante :
xi f [xi ] f [xi , xi+1 ] f [xi , xi+1 , xi+2 ] f [xi , xi+1 , xi+2 , xi+3 ]
x0 f [x0 ]
x1 f [x1 ] f [x0 , x1 ]
x2 f [x2 ] f [x1 , x2 ] f [x0 , x1 , x2 ]
x3 f [x3 ] f [x2 , x3 ] f [x1 , x2 , x3 ] f [x0 , x1 , x2 , x3 ]
La construction de cette table est simple. Nous nous sommes arrêtés aux troisièmes diérences
divisées, mais les autres s'obtiendraient de la même manière.
Exemple :
La table de diérences divisées pour les points (0, 1), (1, 2), (2, 9) et (3, 28) est :
xi f [xi ] f [xi , xi+1 ] f [xi , xi+1 , xi+2 ] f [xi , xi+1 , xi+2 , xi+3 ]
0 1
1 2 1
2 9 7 3
3 28 19 6 1
18
CHAPITRE 2. INTERPOLATION NUMÉRIQUE
Suivant la formule de Newton, le polynôme d'interpolation est :
p( x) = 1 + 1(x − 0) + 3(x − 0)(x − 1) + 1(x − 0)(x − 1)(x − 2) = x3 + 1,
qui est le même polynôme (en vertu de l'unicité) que celui obtenu en passant par la matrice de
Vendermonde ou par la méthode de Lagrange.
Maintenant si on souhaite ajouter un point d'interpolation et calculer le polynôme de degré
4, il n'est pas nécessaire de tout recommencer. Par exemple, si on veut inclure le point (5, 54),
on peut compléter la table de diérences divisées déjà utilisée. Ce polynôme de degré 4 est
alors : 3
p4 (x) = p3 (x) − (x − 0)(x − 1)(x − 2)(x − 3).
5
En (x) = f x) − pn (x)
.
Proposition 2.5.1 Pour tout x ∈ I, x ̸= xi , i = 0...n , on a :
n
Y
En (x) = f (x) − pn (x) = f [x0 , ..., xn , x] (x − xi )
i=0
ce qui donne : n
Y
En (x) = f [x0 , ..., xn , x] (x − xi )
i=0
Avant de donner une estimation plus générale de l'erreur, nous présentions résultats classiques.
19
CHAPITRE 2. INTERPOLATION NUMÉRIQUE
Théorème 2.5.1 (théorème de Rolle) Soit f : [a, b] → R une application continue sur [a, b] et
dérivable sur ]a, b[ telle que f (a) = f (b), alors ∃c ∈]a, b[ tel que f (c) = 0.
′
Lemme 2.5.1 Soit f : [a, b] → R dérivable sur ]a, b[ alors si f possède au moins n + 2 zéros
distincts sur [a, b], f possède au moins n + 1 zéros distincts sur [a, b]
′
Démonstration
Il sut d'appliquer le théorème de Rolle entre deux zéros consécutifs de f .
Corollaire 2.5.1 Soit f ∈ C ([a, b]). Si f possède au moins n + 2 zéros distincts sur [a, b]
(n+1)
alors f a au moins un zéros sur [a, b]. (∃ϵ ∈ [a, b], tel que f (ϵ) = 0)
(n+1) (n+1)
démonstration
Il sut de faire une récurrence en appliquant le lemme précédent.
Estimation d'erreur d'interpolation
Soit f une fonction réelle dénie sur un intervalle [a, b] et soit {x , x , ..., x }, n + 1 points dis-
tincts de [a, b]. On note p le polynôme d'interpolation de Lagrange de f aux points {x , x , ..., x }.
0 1 n
n 0 1 n
Théorème 2.5.2 On suppose que f ∈ C ([a, b]), alors ∀x ∈ [a, b], ∃ϵ ∈ [a, b] tel que :
(n+1
Qn
− xi ) (n+1)
i=0 (x
En (x) = f (x) − pn (x) = f (ϵ)
(n + 1)!
Démonstration
Si x = x , alors la relation est vériée.
Soit x ∈ [a, b] xé,Q x ̸= x , i = 0...n.
i
Posons Π (x) = (x − x ) et
i
n
n i=0 i
Πn (t)
w(t) = f (t) − p( t) − (f (x) − pn (x))
Πn (x)
La fonction w est de classe C comme f et s'annule pour t = x, x , x , ..., x , elle admet donc
n+1
au moins n + 2 racine (zéros). D'après le Corolaire, il existe au moins un nombre ϵ tel que
0 1 n
(n + 1)!
0 = f n+1 (ϵ) − 0 − (f (x) − pn (x))
Πn (x)
|Πn (x)|
∀x ∈ [a, b], |f (x) − pn (x)| ≤ supx∈[a,b] |f n+1 (x)|
(n + 1)!
L'erreur d'interpolation résulte en deux termes : le premier terme sup |f (x)| dépend de n+1
f et on ne peut pas l'améliorer car f n'est pas donnée, par contre le deuxième terme Π (x)
x∈[a,b]
dépend de la distribution des points x . on peut choisir l'ensemble des points (x ) pour que
n
20