Académique Documents
Professionnel Documents
Culture Documents
Cours Danalyse Numérique
Cours Danalyse Numérique
1 Introductions et définitions 2
1.1 Qu’est ce que l’analyse numérique ? . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Analyse numérique et ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Généralités sur les matrices : Norme et conditionnement . . . . . . . . . . . . . . 6
1
[ Premier Chapitre \
Introductions et définitions
I = ( x1 − x0 ) f ( x0 ) + ( x2 − x1 ) f ( x1 ) + · · · + ( x10 − x9 ) f ( x9 ).
2
1.2. ANALYSE NUMÉRIQUE ET ORDINATEUR 3
Définition 1.2 Un organigramme est une représentation schématique de toute les possibilités
pour résoudre un problème considéré c-à-d une succession de calcul et de décision traduisant
le processus de résolution.
a 11 x1 + a 12 x2 + a 13 x3 = b 1
a 11 a 12 a 13 x1 b1
a 21 x1 + a 22 x2 + a 23 x3 = b 2 ⇐⇒ a 21 a 22 a 23 x2 = b 2
a 31 x1 + a 32 x2 + a 33 x3 = b 3 a 31 a 32 a 33 x3 b3
⇐⇒ Ax = B
Remarque 1.1
→ Un organigramme considère toute les possibilités de calcul puis donne aussi une représen-
tation du résultat (possibilité de visualiser les résultats sous forme de tableau, graphe,
figure).
4 CHAPITRE 1. INTRODUCTIONS ET DÉFINITIONS
Exemple 1.3
p
— 2 = 1.414213 ± 10−6 .
— π = 3.14159 ± 10−5 .
Les opérations algébrique sur ordinateur sont des approximations des opérations algébriques
des mathématiques.
(y+ x)− x y+(x− x)
Exemple 1.4 Associativité : u= y ; v= y
— Calcul algébrique : ∀ y 6= 0 on a u = v = 1.
— Informatique : si x = 1 et y = 10−17 on aura u = 0 et v = 1 c-à-d dans la parenthèse y + x
l’ordinateur a négligé la valeur de y d’où l’ordinateur ne prend pas en considération
l’infiniment petit.
• Capacité de mémoire :
La mémoire de l’ordinateur est limité, en effet, il effectue ses calculs en général par l’énumé-
ration binaire en base de 2 avec un nombre de digit qui est fini. par exemple, les nombres qui
possèdent un nombre infini de chiffres non nuls après la virgule, or ce n’est pas le cas pour
1
p
3 = 0. 3333 ... ou 2 = 1.4142....
→ Erreurs de modèle
Ces erreurs sont dues au fait que les modèles mathématiques sont plus ou moins idéali-
sés, ce qui donne lieu à plusieurs erreurs. Un exemple une planète n’est jamais parfaitement
sphérique.
1.2. ANALYSE NUMÉRIQUE ET ORDINATEUR 5
→ Erreurs d’entrée
L’information d’entrée est rarement exacte, par exemple les mesures physiques ne sont
jamais exactes : π, la gravité g, charge élémentaire e, ...
→ Erreurs d’algorithme
En plus des erreurs d’entrée, l’algorithme lui même engendre des erreurs qui sont particu-
lièrement dû aux opérations arithmétiques et à la précision de l’ordinateur.
→ Erreurs de sortie
Mesure de l’erreur
Soit x une valeur exacte d’une quantité et x sa valeur approchée.
On peut envisager plusieurs façons pour mesurer l’erreur ² entre une valeur approchée x
et une valeur exacte x.
→ L’erreur absolue
Exemple 1.5 (Formule des accroissement finis) Soit f une fonction continue derivable au
voisinage de x0 et soit x ∈ V ( x0 ).
0
∃ c ∈ V ( x0 ) tel que f ( x) = f ( x0 ) + f ( c)( x − x0 ).
Donc si M est petite (pente faible), comme x ∈ V ( x0 ) on aura y est une bonne approximation de
y. ∆y ≤ M | x − x0 |
L0 erreur absolue
→ L’erreur relative
Remarque 1.2 Puisque la valeur de x est inconnu donc on peut jamais calculer de façon
exacte ∆ x. En pratique, on cherche à majorer l’erreur absolue ∆ x en ∆ cx et estimer l’erreur
∆cx
relative en bx , en général, la majoration de l’erreur absolue est donnée par le constructeur
(tensiomètre, Thermomètre, balance, ... ).
6 CHAPITRE 1. INTRODUCTIONS ET DÉFINITIONS
Proposition 1.1
— Si A est une matrice carrée alors ∃U unitaire telle que U −1 AU est triangulaire.
— Si A est normale alors ∃U unitaire telle que U −1 AU est diagonale.
— Si A est symétrique alors ∃Q orthogonale telle que Q −1 AQ est diagonale.
Définition 1.3 Étant donné E un espace vectoriel sur R ou C, on appelle norme sur E notée
k · k, toute application de E à valeur dans R+ et qui vérifie :
1. k xk = 0 ⇐⇒ x = 0.
2. kλ xk = |λ|k xk, ∀ x ∈ E, ∀λ ∈ C.
3. k x + yk ≤ k xk + k yk, ∀ x, y ∈ E .
à !1
n p
Exemple 1.6 x ∈ Cn , | xk | p
X
k xk p = , p ≥ 1 (norme de Hölder).
k=1
— p = 2 Norme euclidienne, elle correspond à la norme habituellement utilisée pour la dis-
tance entre deux points dans le plan ou l’espace.
— p = 1 est donnée par la somme des modules (ou valeurs absolues) des coefficients de x.
— k · k∞ = max | xk | Norme infini.
k Axk
définie à partir d’une norme vectorielle par k A k = sup k Axk = sup (On a confondu les
k xk=1 x6=0 k xk
notations norme matricielle et norme vectorielle) qui vérifie
k ABk ≤ k A kkBk,
∀ x ∈ E, k Axk ≤ k A kk xk.
Une norme est non subordonnées si et seulement si cette norme ne provient pas d’une
norme vectorielle.
à !1
2
| a i j |2
X
Exemple 1.7 k A ks = , 1 ≤ i ≤ n et 1 ≤ j ≤ m (norme de Schur).
i, j
à !1
2
X 2 p
n = m c’est la norme de Frobeinus (k · kF ) et on note k A kF = |a i j | = trace( A ∗ A ).
i, j
Exercice 1.1 Montrer que k · ks est une norme matricielle non induite.
Démonstration Exercice.
Exemple 1.8
1 −1 0
1. Pour A = −1 1 −3 ,
1 −1 −1
on a k A k∞ = max{2, 5, 3} = 5 et k A t k∞ = max{3, 3, 4} = 4.
and k A k1 = max{3, 3, 4} = 4 et k A t k1 = max{2, 5, 3} = 5.
1 1
1 2 ··· n
1 1 1 n 1
· · · n+
2 3 1
X
2. La matrice de Hilbert .
. . , k A k∞ = .
.. .. ··· ..
k=1 k
1 1 1
n n+1 ··· 2n−1
8 CHAPITRE 1. INTRODUCTIONS ET DÉFINITIONS
0 −1 1
3. Soit la matrice symétrique A = −1 1 −1 ,On vérifie que les valeurs propres de A
1 −1 0
sont
p p
λ1 = −1, λ2 = 2 + 1, λ3 = 2 − 1.
p
Donc, k A k2 = 2 + 1.
à !
1 1
4. Soit la matrice non symétrique , On voit que les valeurs propres sont
0 1
λ1 = λ2 = 1 =⇒ ρ ( A ) = 1.
à !à ! à !
1 0 1 1 1 1
Alors que, A ∗ A = = ,
1 1 0 1 1 2
3 1p 3 1p
=⇒ λ1 ( A ∗ A ) = + 5, λ2 ( A ∗ A ) = − 5,
2 2 2 2
r
3 1p
=⇒ k A k2 = + 5.
2 2
On constate que %( A ) 6= k A k2 , mais %( A ) ≤ k A k2 .
Proposition 1.3
³ ´
. . . A} = a kij pour A ∈ Mn (C) et k ∈ N∗ , on écrit
Définition 1.4 On note A k = |A A{z
k f ois
Théorème 1.1 Pour A une matrice carrée d’ordre n, les propriétés suivantes sont équiva-
lents :
1. lim A k = 0.
k→+∞
2. lim A k x = 0, ∀ x ∈ Cn .
k→+∞
3. ρ ( A ) < 1.
4. k A k p < 1 pour au moins un p ∈ {1, 2, ..., ∞}.
1.3. GÉNÉRALITÉS SUR LES MATRICES : NORME ET CONDITIONNEMENT 9
∃ x ∈ Cn , x 6= 0 tel que Ax = λ x =⇒ A k x = λk x
A k x −→ 0 =⇒ λk x −→ 0
k→+∞ k→+∞
k
absurde car λ ≥ 1.
1−ρ (A)
(3) =⇒ (4) Soit ² = 2 On sait qu’il existe au moins une norme matricielle telle que
k A k p ≤ ρ ( A ) + ² < 1.
k
( I n − A )−1 = lim Ai.
X
k→+∞ i =0
→ Conditionnement de matrices
On considère le système perturbé, où les seconds membres ont été "légèrement" modifiés, la
matrice restant inchangée :
x1 + δ x1
10 7 8 7 32.1 9.2
7 5 6 5 x + δ x 22.9 −12.6
2 2
= , de solution
8 6 10 9 x3 + δ x3 33.1
4.5
7 5 9 10 x4 + δ x4 30.9 −1.1
1
Autrement dit, une erreur relative de l’ordre de 300 sur les données (ici les composantes du
8.1736
second membre) entraîne une erreur relative de 1 sur le résultat, soit une multiplication
de l’erreur relative par 2452.
10 CHAPITRE 1. INTRODUCTIONS ET DÉFINITIONS
Considérons également le système où, cette fois, ce sont les éléments de la matrice qui ont
été "légèrement" modifiées :
x1 + δ x1
10 7 8.1 7.2 32 −81
7.08 5.04 6 5 x2 + δ x2 23 137
= , de solution
x3 + δ x3
8 5.98 9.89 9 33 −34
6.99 4.99 9 9.98 x4 + δ x4 31 22
Donc une petite perturbation sur les coefficients de la matrice ou sur le second membre en-
traîne une grosse perturbation sur la solution. C’est un problème de stabilité. A cause des
erreurs de mesure ou d’arrondi qui sont inévitables on veut éviter le genre de situation pré-
sentée ci-dessus. Un critère pour évaluer le degré d’instabilité du système est le nombre de
conditionnement sa la matrice : si ce nombre est petit la matrice est dite bien conditionnée et
le système sera stable (c’est-à-dire peu sensible aux perturbations).
Définition 1.5 Soit k · k une norme matricielle et A une matrice inversible. Le nombre de
conditionnement de A relativement à la norme matricielle choisie est
K( A ) = cond ( A ) = k A kk A −1 k.
Lorsque k · k est la norme matricielle induite par la norme l p , avec 1 ≤ p ≤ ±∞, on note
cond p ( A ) ou K p ( A ).
kδ x k kδ b k
≤ K( A ) .
k xk k bk
kδ xk kδ A k
≤ K( A ) .
k x + δ xk k Ak
Remarque 1.3
Démonstration
1. Trivial.
2. On a A A −1 = I =⇒ k I k ≤ k A kk A −1 k, pour la norme induite k I k = sup k I xk on a k I k =
k xk=1
1 =⇒ K( A ) ≥ 1.
?
3. K22 ( A ) = k A k22 k A −1 k22 = ρ ( A ∗ A )ρ (( A −1 )∗ A −1 )?
4. Soit A une matrice inversible. On peut trouver U et V unitaires et D = diag(µ i ) telles ques
A = U DV ∗ .
La dernière propriété montre que si le conditionnement dans une norme est mauvais, on n’a
que très peu de chance de l’améliorer en changeant de norme. Il faut recourir à d’autres mé-
thodes pour améliorer le conditionnement d’une matrice. par exemple pré-multiplier A par une
12 CHAPITRE 1. INTRODUCTIONS ET DÉFINITIONS
bonne matrice P dite de pré-conditionnement afin que cond (P A ) soit sensiblement plus petit
que cond ( A ). La recherche de telles matrices de pré-conditionnement ne peut se faire qu’au
cas par cas et est de toute manière très difficile. Deux choix classiques sont de prendre pour
P la matrice diagonale formée des termes diagonaux de A . ou. si A = I d − B avec kBk < 1. de
prendre pour P la matrice I d + B.
Exercice 1.2
à !
1 100
1. Soit A = . Calculer K( A ).
0 100
2. Considérons les systèmes suivants :
à ! à !
100 100
Ax = et A ( x + δ x) =
1 0
kδ x k1 kδ bk1
Calculer la variation relative k x k1 de la solution et celle du second membre k b k1 .
kδ xk1 k bk1
Quel est le facteur d’amplification de l’erreur, c’est-à -dire k xk1 kδ bk1
?
[ Deuxième Chapitre \
Méthodes de résolution des systèmes linéaires
Ax = b
Dans tout ce qui suit les matrices considérées sont des matrices réelles carrées d’ordre n.
Dans ce cas, on est assuré de l’existence et de l’unicité de la solution si une des conditions
équivalentes suivantes est remplie :
1. A est inversible (i.e. det( A ) 6= 0).
2. le système Ax = 0 admet seulement la solution nulle.
La solution du système peut alors être calculée par la formule de CRAMER. Cependant cette
formule est d’une utilité pratique limitée à cause du calcul des déterminants qui est très coû-
det(A )
teux numériquement xk = det(A)k . Évaluons le nombre d’opérations nécessaire au calcul dans
le cas d’une matrice pleine. Le calcul de det( A ) nécessite donc n! additions et n ∗ n! multipli-
cations. En négligeant les additions (dont le coût n’est cependant pas tout à fait négligeable),
on a donc n( n + 1)! opérations à effectuer. Si on dispose d’un ordinateur qui effectue 2 × 1011
opérations par seconde (l’Intel Core i7-3770 par exemple). Pour résoudre un système 50 × 50. il
faudrait donc
50 × 51! 50 ∗ 51!
11
secondes, soit 11
' 1.225 × 1049 années.
2 × 10 2 × 10 × 3600 × 24 × 365
Pour cette raison, des méthodes numériques alternatives aux formules de CRAMER ont été
développées. Elles sont dites directes si elles fournissent la solution du système en un nombre
fini d’étapes, itératives si elles nécessitent (théoriquement) un nombre infini d’étapes. Notons
dès à présent que le choix entre une méthode directe et une méthode itérative pour la résolution
d’un système dépend non seulement de l’efficacité théorique des algorithmes, mais aussi du
type de matrice, des capacités de stockage en mémoire et enfin de l’architecture de l’ordinateur.
13
14 CHAPITRE 2. MÉTHODES DE RÉSOLUTION DES SYSTÈMES LINÉAIRES Ax = b
Notons que la résolution d’un système triangulaire inférieur se fera de la même façon. Soit,
donc le système linéaire suivant :
a 11 x1 + a 12 x2 + a 13 x3 + · · · + a 1n xn = b 1
a 22 x2 + a 23 x3 + · · · + a 2n xn = b 2
.. .. .. ..
..
.
. . . .
a kk xk + · · · a kn xn = b k
.. .. ..
.
. = .
a nn xn = b n
Algorithme
bn
— xn = a nn .
n
X
a ki x i
bk i = k+1
— Pour k = n − 1, . . . , 1, xk = a kk − a kk .
a 11 x1 + a 12 x2 + · · · + a 1n xn = b1
a 21 x1 + a 22 x2 + · · · + a 2n xn = b2
.. .. .. .. ..
. . . . .
a k1 x1 + a k2 x2 ··· a kn xn = b k
. . .. .. ..
.. ..
. . .
a n1 x1 + a n2 x2 a nn xn = b n
···
donne
a 11 x1 +a 12 x2 + · · · + a 1n xn = b 1
+a(1) (1) (1)
0 22 x2 + · · · + a 2n x n = b 2
.. .. .. .. ..
. . . . .
0 +a k2 x2 + · · · + a kn xn = b(1)
(1) (1)
k
.. .. .. .. ..
. . . . .
(1) (1)
+a n2 x2 + · · · + a nn xn = b(1)
0
n
a a
avec ∀ j, k = 2, ..., n a(1)
kj
k1
= a k j − a 1 j ∗ a11 et b(1)
k
k1
= b k − b 1 ∗ a11 .
On recommence ainsi de proche en proche : à l’étape k on suppose que a(k) kk
est non nul
(quitte à permuter avec les lignes en dessous). Si on ne peut pas trouver de coefficient diagonal
non nul à ce stade c’est que la matrice A n’est pas inversible. Détaillons l’étape k
a(1) (1) (1)
11 a 12 a 13 ··· · · · a(1)
1n
0 a(2) (2)
· · · a(2)
22 a 23 ···
2n
.. .. .. ..
.. ..
. .
. . . .
.
0
··· 0 a(k)
kk
(k)
· · · a kn Ligne pivot numéro k : Lk
. .. .. .. .. ..
..
. . . . .
0 ··· 0 a(k)
nk
· · · a(k)
nn
16 CHAPITRE 2. MÉTHODES DE RÉSOLUTION DES SYSTÈMES LINÉAIRES Ax = b
a((kk)+1)1
Lk+1 −→ Lk+1 − Lk ∗ k)
a(kk
..
.
a(nk1)
Ln −→ Ln − Lk ∗ k)
a(kk
Au bout de toutes ces manipulations on obtient une matrice triangulaire supérieure U . Comme
on agit sur les lignes en faisant des combinaisons linéaires cela revient à multiplier à gauche
par une matrice M .
Donc x4 = 0, x3 = 0, x2 = 0, x1 = 1,
où A 0 est le bloc restant de taille ( n − k + 1) × ( n − k + 1). Cela montre que det( A 0 ) 6= 0, donc
nécessairement l’un des termes a(k)ik
avec i > k est non nul. Notons i 0 l’un des entiers supérieurs
à k tel que a(k)
i0 k
,il faut permuter les lignes k et i 0 . Cela se fait en multipliant à gauche par une
matrice de permutation bien choisie. On en rappelle ici la définition.
à ! 0 0 1
1 2 3
Exemple 2.3 pour n = 3, i = 1 et j = 3 on a σ = et Pσ = 0 1 0 .
3 2 1
1 0 0
Choix du pivot
Si un pivot est très petit, sans pour autant être nul, le procédé d’élimination ne s’arrête pas,
mais le résultat peut être entaché d’erreurs considérables, comme on va le voir dans l’exemple
ci-dessous. Soit ² un petit nombre réel et considérons le système de deux équations à deux
inconnues
(
²x + y = 1
x+ y =2
Par élimination sans recherche de pivot, nous obtenons le système équivalent suivant
(
²x + y =1
1 − ² y = 2 − 1²
1
¡ ¢
qui devient, (
x+ y =2
y =1
18 CHAPITRE 2. MÉTHODES DE RÉSOLUTION DES SYSTÈMES LINÉAIRES Ax = b
Définition 2.3 (Les mineurs principaux dominants) Une sous-matrice k × k formé à par-
tir de A en éliminant les n − k dernières colonnes et les mêmes n − k dernières lignes, est appe-
lée une sous-matrice de A , d’ordre principal dominant k. Le déterminant d’une sous-matrice
principale dominante k × k est appelé le mineur principal dominant d’ordre k de la matrice
A.
Remarque 2.2 Une fois que la décomposition est faite, la résolution de Ax = b se fait en
résolvant d’abord L y = b, puis U x = y par descente remontée. Cela permet de traiter facilement
les problèmes où plusieurs seconds membres successifs avec la même matrice A apparaissent.
Il faut alors calculer et stocker L et U . Remarquons que le stockage de U nécessite n(n2+1)
entrées, tandis que celui de L en demande n(n2−1) car il est inutile de stocker les éléments
diagonaux.
Propriétés 2.1
n
Y
— det( A ) = det(L) det(U ) = u kk .
k=1
— Le calcul explicite de l’inverse d’une matrice peut être effectué en utilisant la factori-
sation LU comme suit. En notant X l’inverse d’une matrice régulière A , les vecteurs
colonnes de X sont les solutions des systèmes linéaires
Ax i = e i , pour i = 1, ..., n.
20 CHAPITRE 2. MÉTHODES DE RÉSOLUTION DES SYSTÈMES LINÉAIRES Ax = b
L yi = P e i , U x i = yi , pour i = 1, ..., n,
c’est-à-dire une suite de systèmes linéaires ayant la même matrice mais des seconds
membres différents.
Définition 2.4 Une matrice A , n × n est définie positive et on note A Â 0 si chacun des mineurs
principaux dominants de A est > 0.
a 11 a 12 a 13
Exemple 2.4 Soit A = a 12 a 22 a 23 , alors
a 13 a 23 a 33
¯ ¯
¯ a
¯ 11 a 12 a 13
¯ ¯ ¯
¯ a
¯ 11 a 12
¯ ¯
AÂ0 ⇐⇒ a 11 > 0, ¯ ¯ > 0 et ¯ a 12 a 22 a 23 ¯ > 0.
¯ ¯ ¯
¯ a 12 a 22 ¯ ¯ ¯
¯ a 13 a 23 a 33 ¯
Théorème 2.2 Soit A une matrice réelle symétrique définie positive. Il existe une unique ma-
trice réelle B triangulaire inférieure, telle que tous ses éléments diagonaux soient positifs et
qui vérifie : A = BB t .
2.1. MÉTHODES DIRECTES DE RÉSOLUTION DE Ax = b 21
Algorithme :
for j = 1 to n do
for k = 1 to j − 1 do
a j j ← a j j − a2jk
end for
p
ajj ← ajj
for i = j + 1 to n do
for k = 1 to j − 1 do
a i j ← a i j − a ik a jk
end for
a
ai j ← ai j
jj
end for
end for
1 1 1 1
1 5 5 5
Exemple 2.6 Soit A = , Effectuer la factorisation de Cholesky de la matrice
1 5 14 14
1 5 14 15
A.
n3
Remarque 2.3 Pour résoudre un système linéaire par cette méthode, il faut environ 6 addi-
n2
tions et multiplications, 2 divisions et n extractions de racines carrées.
Propriétés 2.2 (Matrices non symétriques) Soit A ∈ M n (R) inversible. On suppose que A
est non symétrique. On cherche a résoudre le système Ax = b par la méthode de Cholesky. Ceci
est possible en remarquant que : Ax = b ⇐⇒ A t Ax = A t b Il ne reste alors plus qu’à vérifier
que A t A est symétrique définie positive.
22 CHAPITRE 2. MÉTHODES DE RÉSOLUTION DES SYSTÈMES LINÉAIRES Ax = b
Ax = b ⇐⇒ x + Ax − x = b
⇐⇒ x = ( I − A ) x + b.
| {z }
=B
On est donc ramené à la recherche d’un point fixe de l’application x 7−→ Bx + b, pour cela on
considère la suite définie pour k ∈ N, par
(
x0 donné
(2.1)
xk+1 = Bxk + b.
lim xk = x, ∀ x0 .
k→+∞
2. Si deux matrices B i conviennent quelle est la « meilleure », c’est-à-dire celle pour laquelle
la méthode est la plus rapide ou demande le moins d’opérations etc ... ?
Ax = b ⇐⇒ Mx = N x + b ⇐⇒ x = M −1 N x + M −1 b.
la matrice B sera donc B = M −1 N mais en pratique nous verrons qu’on ne calcule pas M −1 . La
méthode itérative associée est (
x0 donné
(2.2)
Mxk+1 = N xk + b.
La méthode de JACOBI
M = D (diagonale) et N = E + F.
La méthode de Gauss-Seidel
M = D − E (triangulaire inférieure) et N = F.
La méthode de relaxation
La méthode de relaxation est une méthode entre la méthode de Jacobi et celle de Gauss-
Seidel et correspond à la décomposition suivante, Pour ω 6= 0, en posant
1 1−ω
µ¶
M = D − E, N= D + F,
ω ω
Il faut encore résoudre à chaque étape un système triangulaire inférieur où la matrice L ω n’est
pas plus compliquée que L 1 . Si
— ω = 1, on retrouve la méthode de Gauss-Seidel.
— ω > 1, la méthode est dite de sur -relaxation.
— ω < 1, la méthode est dite de sous -relaxation.
Théorème 2.4 Soit A une matrice symétrique définie positive. On suppose que
A = M − N, avec M inversible.
Démonstration
2.2. MÉTHODES ITÉRATIVES DE RÉSOLUTION DE Ax = b 25
— M t + N est symétrique :
M t + N = A t + N t + N = A + N t + N = M + N t.
définit une norme sur Rn . On considère alors la norme matricielle k · k induite par cette
norme vectorielle
k M −1 N k = k I − M −1 A k = sup kv − M −1 Avk.
kvk=1
k v − w k2 = ( v − w ) t A ( v − w )
= 1 − w t M t w − w t Mw + w t Aw
= 1 − w t ( M t + M − A )w
= 1 − w t ( M t + N )w
Nous allons utiliser le résultat qui précède pour donner un critère de convergence pour la
méthode de relaxation.
1 1−ω
µ ¶
t t
M +N = D−E + D + Ft
ω ω
1 1−ω
µ ¶
= D+ D
ω ω
2−ω
µ ¶
= D
ω
0 < ω < 2 =⇒ 2−ωω > 0. =⇒ 2−ωω D est définie positive. Donc d’après le théorème (2.4) on a la
¡ ¢ ¡ ¢
convergence.
Le résultat ci-dessus est une condition suffisante de convergence. En fait c’est aussi une
condition nécessaire comme le montre le résultat suivant :
26 CHAPITRE 2. MÉTHODES DE RÉSOLUTION DES SYSTÈMES LINÉAIRES Ax = b
det 1−ωω D + F
¡ ¢
n
¢ = (1 − ω)n .
Y
λ i = det(L ω ) = ¡1
i =1 det ω D − E
¯ ¯1
¯Y n ¯n
=⇒ ρ (L ω ) ≥ ¯ λ i ¯ = |1 − ω|.
¯ ¯
¯ i=1 ¯
Nous terminons cette section par un théorème de comparaison des méthodes de Jacobi et de
Gauss-Seidel dans un cas particulier. Nous admettrons ce résultat.
ρ (L 1 ) = ρ ( J )2 .
Soit f une fonction réelle et D f son domaine de définition (D f ⊆ R). Notre problème consiste
à:
trouver x ∈ D f tel que f ( x) = 0.
Montrer l’existence d’une racine, déterminer le nombre des racines éventuelles de l’équa-
tion f ( x) = 0 et le calcul approché de ces racines posent des problèmes qui ne sont pas résolus
par une méthode générale.
Nous introduisons pour la résolution de ce problème plusieurs algorithmes dont on étudiera
les caractéristiques (bissection, méthodes du point fixe, Newton-Raphson, ...).
Définition 3.1 Si s est une racine de f alors f ( s) = 0. Si f est p fois différentiable et telle
que :
0
f ( s) = 0, f ( s) = 0, f (p−1) ( s) = 0 et f p ( s) 6= 0, (3.1)
→ Méthode graphique
Si f est continue sur [a, b] ⊂ R, et si f (a) f ( b) < 0 alors il existe au moins un point s ∈]a, b[
telle que f ( s) = 0. Si de plus f est strictement monotone sur [a, b], alors cette racine est unique.
Dans ce qui suit, nous présentons plusieurs techniques de résolution, chacune ayant ses
avantages et inconvénients. Nous tâcherons de les mettre en évidence de façon à tirer le
meilleur parti de chacune des méthodes proposées.
Il faudra se souvenir des enseignements du chapitre précèdent pour développer des algo-
rithmes numériquement stables.
27
28 CHAPITRE 3. SOLUTION D’UNE ÉQUATION À UNE SEULE VARIABLE
c 0 est bien le milieu de l’intervalle [a, b], il suffit donc de déterminer entre les intervalle
[a 0 , c 0 ] et [ c 0 , b 0 ], celui qui possède encore un changement de signe. La racine se trouve force-
ment dans cet intervalle et ainsi de suite.
Par récurrence, on construit deux suites (a n ) et ( b n ). La suite ( c n ) est définie par c n = a n +2 b n .
On remarque qu’à chaque opération on diminue de moitié la longueur de l’intervalle contenant
la racine s. Au bout de n opérations la longueur de l’intervalle devient b2−na . Le coefficient de
réduction de l’erreur est au moins 21 . Cela nous amène à l’algorithme suivant :
|b n − a n | b−a
| c n − s| < , bn − an =
2 2n
b−a
<
2n+1
On en conclut donc que la suite ( c n ) ainsi formée converge vers la racine s de f ( x) = 0. c n est
une approximation de s, l’erreur e n au bout de la nième opération est donnée par e n = | c n − s|.
On a la majoration de l’erreur suivante :
b−a
| c n − s| < .
2n+1
Pour avoir une approximation de s par c n avec une précision ², il suffit qu’on ait :
b−a
| c n − s| < < ²,
2n+1
et donc ¡ b−a ¢
ln ²
n> − 1.
ln(2)
Remarque 3.1 • n est le nombre d’itération nécessaire pour avoir une approximation de
s à l’erreur ².
• Sur le plan pratique on doit avoir n le plus petit possible, pour cela on doit choisir un
intervalle de longueur aussi petite que possible.
Exemple 3.1 Soit à résoudre par la méthode de dichotomie f ( x) = log( x) + x = 0. f est une
fonction continue sur R en particulier sur [0.5, 1], de plus f (0.5) f (1) < 0 et f est strictement
croissante sur [0.5, 1] donc f admet une racine unique s ∈]0.5, 1[. D’après l’algorithme de dicho-
tomie, on a le tableau suivant :
n an bn cn | c n+1 − c n |
0 0.5 1 0.75 0.75
1 0.5 0.75 0.625 0.125
2 0.5 0.625 0.5625 0.0625
3 0.5625 0.625 0.59375 0.03125
4 0.5625 0.59375 0.578125 0.015625
5 0.5625 0.578125 0.5703125 0.0078125
6 0.5625 0.5703125 0.56640625 0.00390625
7 0.56640625 0.5703125 0.568359375 0.001953125
8 0.56640625 0.568359375 0.5673828125 0.0009765625
9 0.56640625 0.5673828125 0.56689453125 0.00048828125
10 0.56689453125 0.5673828125 0.567138671875 0.000244140625
11 0.567138671875 0.5673828125 0.5672607421875 0.0001220703125
12 0.567138671875 0.5672607421875 0.56719970703125 0.00006103515625
0.5
L’erreur au bout de la 12ème opération est inférieure à 213
= 0.0000610. La valeur appro-
chée de s à 10−15 près est donnée par 0.567143290409784.
b) c n est une approximation de s, | c n+1 − c n | donne aussi une information sur l’ordre de gran-
deur de l’erreur. Pour n = 11 on a : | c 12 − c 11 | ≈ 0.00006103515625
Remarque 3.3 • La convergence de la méthode de la bissection n’est pas très rapide, mais
elle est sûre du moment où on a un intervalle avec changement de signe.
• Il existe des cas où la méthode de bissection ne fonctionne pas. La première situation
critique est celle où la fonction f est tangente à l’axe des abscisse et ne présente pas de
changement de signe, la bissection ne peut alors s’appliquer. Il y’a aussi le cas où deux
racines (en général un nombre pairs de racines) présentes dans l’intervalle de départ ;
dans ce cas il n’y aura pas de changement de signe. Enfin si l’intervalle d départ contient
un nombre impaire de racines, f ( x) change de signe, mais l’algorithme peut avoir des
difficultés à choisir parmi ces racines. On peu facilement éviter ces écueils en illustrant
graphiquement la fonction f dans l’intervalle d’intérêt.
Définition 3.2 on appelle point fixe de la fonction f de R dans R un réel x qui vérifie f ( x) = x.
Il existe un algorithme très simple permettant de déterminer des points fixes. Soit f une
fonction de R dans R et x0 ∈ R, on construit la suite suivante :
Algorithme
(
x0 donné
xn+1 = f ( xn ).
à partir d’une valeur estimé x0 , l’intérêt de cet algorithme réside dans sa généralité et la
facilité avec laquelle on peut faire l’analyse de convergence. Il en résulte l’algorithme suivant :
Remarque 3.4 L’algorithme des points fixes peut diverger complètement dans certains cas, Il
faut donc déterminer dans quelles conditions la méthode converge.
3.2. LA MÉTHODE DE POINT FIXE 31
tion a) à elle seule est insuffisante car on peut avoir une fonction qui vérifie bien f (D f ) ⊆ D f
et qui ne possède pas de point fixe comme le montre le graphe de la fonction suivante où
f est discontinue en α. Donc comme seconde condition pour qu’un point fixe existe il faut
que :
b) f soit une fonction continue.
32 CHAPITRE 3. SOLUTION D’UNE ÉQUATION À UNE SEULE VARIABLE
Une question capitale se pose, si ce point fixe existe et il unique ? La suite ( xn )n∈N > 0 converge-
t-elle pour tout x0 ∈ D f ?
Théorème 3.1 (Existence) Soit f une fonction réelle de variable réelle dont le domaine D f
est un intervalle fermé borné [a, b] et dont l’image f (D f ) vérifie f (D f ) ⊆ [a, b] = D f . On suppose
que f est continue sur [a, b]. Alors f a un point fixe sur [a, b] c’est à dire qu’il existe un point
s ∈ [a, b] tel que s = f ( s)
Remarque 3.5 • Si D f est non borné ça ne marche plus. Prenons par exemple la fonction
f ( x) = x + 1 définie sur D f = R qui n’est pas borné et qui vérifie néanmoins f (D f ) ⊆ D f
mais pour tout x ∈ D f , x 6= x + 1.
• Les conditions imposées ci-dessus n’interdisent pas l’existence de plusieurs points fixes.
Si on souhaiterait avoir une seule solution on doit supposer que f ne varie pas trop
rapidement.
Une façon d’imposer que l’intersection du graphe de f et de y = x soit non vide est de
0
supposer | f | < L avec L < 1. On arrive ainsi à la notion d’application contractante mais la
dérivabilité n’est pas nécessaire. Dans ce cas on n’a plus besoin de supposer que D f borné et
ceci est contenu dans le théorème suivant :
Théorème 3.2 (Existence et unicité) soit f une fonction d’une variable réelle dont le do-
maine de définition D f est un intervalle fermé (pas forcément borné). Donc D f = [a, b] ou
[a, +∞[ ou ] − ∞, a] ou R. On suppose :
1. que l’image de D f par f vérifie : f (D f ) ⊆ D f .
2. et qu’il existe une constante L telle que 0 < L < 1 et que
∀ x, y ∈ D f : | f ( x) − f ( y)| ≤ L| x − y|,
alors :
a) f a un point fixe unique s,
b) La suite xn définie par x0 ∈ D f : xn+1 = f ( xn ) converge vers s quel que soit x0 ∈ D f .
n
c) pour n = 1, 2, ... on a e n = | xn − s| = 1L−L | x1 − x0 |.
e n définie l’erreur à l’itération n.
Supposons que D f = [a, +∞[. Si f (a) = a, a est un point fixe, il n’y a plus rien à montrer,
sinon f (a) > a ( f (D f ) ⊆ D f ).
donc
f ( x ) ≤ c + L | x |.
| f (a)| + |a|
f (a) > a =⇒ f (a) − La > (1 − L)a =⇒ | f (a)| + L|a| > (1 − L)a =⇒ x̃ > > a.
1−L
−| f ( x)| ≤ | f ( x)|
−| f (a) + f ( x) − f (a)| ≤ | f ( x)|
−| f (a)| − | f ( x) − f (a)| ≤ | f ( x)|
−L| x − a| − | f (a)| ≤ | f ( x)|
−L| x| − L|a| − | f (a)| ≤ | f ( x)| =⇒ −(L| x| + c) ≤ f ( x)
Soit x̃ < 1−−cL =⇒ x̃ < a et −(L| x̃| + c) ≤ f ( x̃) =⇒ f ( x̃) ≥ −L| x̃| − c = x̃ d’où l’existence d’un point
fixe entre a et x̃.
Dans les 3 cas on a montré l’existence d’un point fixe, reste à prouver son unicité :
Unicité du point fixe :
En effet : soient s 1 et s 2 deux points fixes, | f ( s 1 ) − f ( s 2 )| ≤ L| s 1 − s 2 | =⇒ | s 1 − s 2 | ≤ L| s 1 − s 2 |
Si s 1 6= s 2 alors | s 1 − s 2 | 6= 0 =⇒ L ≥ 1 ce qui est absurde.
a) Pour montrer la convergence de ( xn )n ∈ N vers s, considérons :
a) donne un encadrement de l’erreur | xn − s| après n itérations. Pour prouver (c) on doit montrer
que
| xk+1 − xk | ≤ L k | x1 − x0 |
En effet
Remarque 3.6
pour n fixe, l’erreur | xn − s| est d’autant plus petite que L est proche de 0.
• pour n fixe, l’erreur diminue très lentement si L ≈ 1.
0 0
Proposition 3.1 Soit f une fonction dérivable dans [a, b], si f vérifie : max | f ( x)| = L < 1
x∈[a,b]
alors f est contractante sur l’intervalle [a, b].
0
Démonstration d’après la formule des accroissements finis : f ( x) − f ( y) = f (ξ)( x − y), ξ ∈] x, y[
donc
0
| f ( x) − f ( y)| = | f (ξ)|| x − y| = L| x − y| avec 0 ≤ L < 1.
0 0
Remarque 3.7 Il faut que max | f ( x)| < 1 et non | f ( x)| < 1 comme le montre le contre exemple
suivant :
0
si f ( x) = x + 1x pour x ∈ [1, +∞[, f ( x) = 1 − x12 . On a pour tout x ∈ [1, +∞[, | f 0 ( x)| < 1 mais
0 0
max | f ( x)| = 1 pour x ≥ 1 on a aussi | f ( x) − f ( y)| = | x − y| f (ξ) < | x − y| avec ξ ∈ [1, +∞[ mais
f n’a pas de point fixe.
f ( xn )
xn+1 = xn −0 , n = 0, 1, .... (3.2)
f ( xn )
Nous voyons ainsi que la méthode de Newton est une méthode de point fixe pour calculer
x̂. En effet, il suffit de constater que si on pose
f ( x)
g ( x) = x − 0 ,
f ( x)
36 CHAPITRE 3. SOLUTION D’UNE ÉQUATION À UNE SEULE VARIABLE
Démonstration Nous avons observé que la méthode de Newton est une méthode de point
f (x) 0
fixe avec g( x) = x − 0 et que | g ( x̂)| < 1 en vertu de la relation (3.3). Ainsi le résultat de la
f (x)
convergence annoncé dans ce théorème est une conséquence de la proposition 3.2. A priori la
convergence est linéaire, nous allons démontrer que la convergence est quadratique, ceci étant
0
une conséquence du fait que g ( x̂) = 0.
Si nous développons f autour du point xn nous obtenons :
00
0 f (² x )
f ( x) = f ( xn ) + f ( xn )( x − xn ) + ( x − xn )2 ,
2
où ² x appartient à l’intervalle d’extrémité x et xn . en choisissons x = x̂ dans l’égalité ci-dessus,
0
en divisant pas f ( xn ) et en tenant compte du fait que f ( x̂) = 0, on obtient
00
f ( xn ) f (² x )
0 + x̂ − xn + 0 ( x̂ − xn )2 = 0.
f ( xn ) 2 f ( xn )
en utilisant (3.2) nous obtenons,
00
| f (² x )|
| x̂ − xn+1 | = 0 | x̂ − xn |2 .
2| f ( x n ) |
3.3. LA MÉTHODE DE NEWTON-RAPHSON 37
pour obtenir
| x̂ − xn+1 | ≤ C | x̂ − xn |2 .
00
1. f (a) < 0, f ( b) > 0 f ( x) ≤ 0 sur [a, b].
00
2. f (a) > 0, f ( b) < 0 f ( x) ≤ 0 sur [a, b].
00
3. f (a) < 0, f ( b) > 0 f ( x) ≥ 0 sur [a, b].
00
4. f (a) > 0, f ( b) < 0 f ( x) ≥ 0 sur [a, b].
Pour montrer que la suite ( x̃n ) est convergente, on montrera qu’elle est croissante majorée. En
effet, montrons que :
∀n ≥ 0 si x̃n ≤ s alors x̃n ≤ x̃n+1 ≤ s
f ( x̃n ) f ( x̃n ) 0
Si x̃n ≤ s alors f ( x̃n ) ≤ f ( s) = 0 donc − 0 > 0 d’où x̃n+1 = x̃n − 0 ≥ x̃n (vu que f ( x̃n ) ≥ 0).
f ( x̃n ) f ( x̃n )
Par application de la formule de Taylor à l’ordre 2 on a :
0 1 00
f ( x̃n+1 ) = f ( x̃n ) + f ( x̃n )( x̃n+1 − x̃n ) + f (²n )( x̃n+1 − x̃n )2 , ²n ∈ [ x̃n , x̃n+1 ]
¶ 2
f ( x̃n ) 1 00
µ
0
= f ( x̃n ) + f ( x̃n ) − 0 + f (²n )( x̃n+1 − x̃n )2
f ( x̃n ) 2
1 00 00
= f (²n )( x̃n+1 − x̃n )2 < 0 ( f < 0)
2
f ( x̃n+1 )
Finalement on a : f ( x̃n+1 ) ≤ 0, x̃n+2 = x̃n+1 − 0 > x̃n+1 et donc x̃n+2 > x̃n+1 .
f ( x̃n+1 )
D’autre part, on appliquons la formule de Taylor au second ordre, on a :
0 ( s − x̃n )2 00
0 = f ( s) = f ( x̃n ) + ( s − x̃n ) f ( x̃n ) + f (²n ), ²n ∈ [ x̃n , s].
2
00
Comme f < 0, alors :
f ( x̃n )
− f ( x̃n ) < ( s − x̃n ) f 0 ( x̃n ) =⇒ − < s − x̃n
f 0 ( x̃n )
f ( x̃n )
x̃n+1 = x̃n − 0 =⇒ x̃n+1 < x̃n + s − x̃n = s
f ( x̃n )
=⇒ x̃n+1 < s.
Conclusion : La suite ( x̃n ) est croissante majorée et est donc convergente. Choix de x̃0 : Dans
00
le cas que nous considérons ( f < 0), d’après (iv) la convergence est assurée pour x̃0 tel que :
x̃0 ∈ [a, b] et f ( x̃0 ) < 0. Dans ce cas de figure on a x̃0 < s. D’après ce qui précède on a :
x̃0 < x̃1 < x̃2 < ... < x̃n < s,
f (s)
la suite converge donc vers un point s tel que s = s − 0 =⇒ f ( s) = 0.
f (s)
( x̃1 − x̃0 )2 00
f ( x̃1 ) = f ( x̃0 ) + ( x̃1 − x̃0 ) f 0 ( x̃0 ) + f ( c), c ∈ [ x̃1 , x̃0 ] (3.4)
2
f ( x̃0 ) 0 1 f ( x̃0 ) 2 00
µ ¶
= f ( x̃0 ) − 0 f ( x̃0 ) + f ( c) (3.5)
f ( x̃0 ) 2 f 0 ( x̃0 )
1 f ( x̃0 ) 2 00
µ ¶
= f ( c) < 0 (3.6)
2 f 0 ( x̃0 )
00
ainsi, on a trouvé un autre point d’initialisation x̃1 tel que f ( x̃1 ) f ( x̃1 ) > 0.
3.4. LA MÉTHODE DE SÉCANTE 39
f ( b ) − f ( x1 )
y = f ( x1 ) + ( x − x1 )
b − x1
soit A 2 ( x2 , 0) le point d’intersection de la droite (B1 B) avec l’axe des abscisses, A 2 vérifie l’équa-
tion de la droite (B1 B), donc
b − x1
x2 = x1 − f ( x1 )
f ( b) − f ( x1 )
la même opération répétée plusieurs fois permet d’obtenir une suite ( xn ) telle que
b − xn f ( xn )
xn+1 = g( xn ) = xn − f ( xn ) = xn − f (b)− f (xn )
f ( b) − f ( xn )
b− xn
40 CHAPITRE 3. SOLUTION D’UNE ÉQUATION À UNE SEULE VARIABLE
00
La suite ( xn ) ainsi obtenue est convergente. Dans le cas où la dérivée seconde f a un signe
constant : la suite ( xn ) est, soit croissante majorée, soit décroissante minorée. En effet, deux
cas se présentent :
00
Fig. 3.7 – Méthode de la sécante avec f (x) > 0 et f (a) > 0 figure (a), f (a) < 0 figure (b).
00
a) f ( x) > 0 et f (a) > 0 : Dans ce cas l’extrémité a est fixe et les approximations successives
sont : (
x0 =b
xn+1 = xn − f ( xn ) f (xxnn)−
−a
f (a)
d’après la figure on remarque que :
a < s < ... < xn+1 < xn < ... < x1 < x0
Dans ce cas la suite ( xn ) est décroissante minorée par a et est donc convergente.
00
b) f ( x) > 0 et f (a) < 0 : Dans ce cas l’extrémité b est fixe et les approximations successives
sont : (
x0 =a
xn+1 = xn − f ( xn ) f (b)b− xn
− f (xn )
d’après la figure on remarque que :
a = x0 < x1 < ... < xn < xn+1 < ... < s < b
Dans ce cas de figure la suite ( xn ) est croissante majorée par b et est donc convergente.
00
Remarque 3.9 Si f ( x) < 0 , on se ramène au cas précédent en considérant − f ( x) = 0.
Théorème 3.6 Soit f deux fois continûment différentiable sur un intervalle ouvert de centre
x̃ vérifiant :
0
f ( x̃) = 0, f ( x̃) 6= 0.
Alors, si x0 , x1 sont choisis assez près de x̃, l’algorithme de la sécante défini par :
xn − xn−1
xn+1 = xn − f ( xn ) , ∀n > 1
f ( xn ) − f ( xn−1 )
Exercice 3.1 Résoudre dans R l’équation f ( x) = 0 avec f ( x) = x − 0.2 sin( x) − 0.5 par les quatres
méthodes.
42 CHAPITRE 3. SOLUTION D’UNE ÉQUATION À UNE SEULE VARIABLE
Dichotomie
X la convergence est assurée × vitesse de convergence linéaire,
X on a un encadrement de la solu- donc lente
tion × sensible aux erreurs d’arrondi ;
X un seul calcul de fonction à exemple : la fonction f ( x) = e x −
2
chaque itération. 1 − x − x2 s’annule théorique-
ment en x = 0 seulement. Nu-
mériquement, elle change de
signe un grand nombre de fois
autour de x = 0.
Point fixe
X méthode d’intérêt théorique × convergence souvent difficile à
X elle a permis de déduire l’ana- réaliser en pratique
lyse mathématique de la mé- × certains points fixes -dits
thode de Newton instables- ne peuvent être
X qu’elle joue un rôle considérable atteints
pour adapter des algorithmes × convergence lente de type li-
linéaires à des situations non néaire, en général.
linéaires.
Newton
X converge rapidement quand elle × peut diverger ou converger vers
converge un autre zéro que celui cher-
X relativement stable et peu sen- ché si la donnée initiale est mal
sible aux erreurs d’arrondis choisie
0
si f ( xn ) n’est pas trop petit × nécessite le calcul de la dérivée
quand n → ∞. d’une fonction, ce qui est nu-
mériquement difficile si on ne
la connaît pas explicitement
× chaque étape nécessite deux éva-
luations de fonctions.
Sécante
X nécessite une seule évaluation × comme la méthode de Newton,
de fonction à chaque étape peut diverger si les données
X convergence relativement ra- initiales sont mal choisies
pide, bien que moins que celle × le calcul de f ( xn ) − f ( xn−1 ) peut
de Newton. produire des erreurs de chute.
[ Quatrième Chapitre \
Interpolation et approximation polynômiale
Dans ce chapitre, on dispose d’une fonction f , connue par exemple uniquement par ses
valeurs en certains points, et on cherche à remplacer ou à approcher f par une fonction plus
simple, le plus souvent par un polynôme. Nous verrons dans ce contexte, l’interpolation qui
consiste à rechercher un polynôme qui passe exactement par les points donnés, l’interpolation
par morceaux, en particulier les fonctions splines où l’expression du polynôme est différente
sur chaque sous-intervalle.
P n ( x i ) = f ( x i ), i = 1, ..., n.
On montrera que P n existe et est unique. On l’appelle le polynôme d’interpolation de f aux
points { x0 , x1 , · · · , xn }. La représentation graphique de cette fonction P n est une courbe passant
par les n + 1 points de coordonnées
( x0 , f 0 ), ( x1 , f 1 ), · · · , ( xn , f n ).
43
44 CHAPITRE 4. INTERPOLATION ET APPROXIMATION POLYNÔMIALE
Théorème 4.1 Il existe un unique polynôme P n de degré inférieur ou égal à n tel que
P n ( x i ) = f ( x i ), i = 0, ..., n.
Démonstration Démontrons ce résultat dans le cas n = 2. Le cas général se fait d’une manière
similaire. En écrivant
P 2 ( x) = a 0 + a 1 x + a 2 x2 ,
et
P 2 ( x i ) = f ( x i ), i = 0, 2,
on obtient le système linéaire
2
a 0 + a 1 x0 + a 2 x0 = f 0
a 0 + a 1 x1 + a 2 x12 = f 1
a 0 + a 1 x2 + a 2 x22 = f 2
1 x0 x02
a0 f0
1 x1 x12 a 1 = f 1
1 x2 x22 a2 f2
Ce déterminant est différent de zéro puisque les points x i sont distincts. D’où l’existence et
l’unicité des a i .
Remarque 4.1 Dans le cas général, on montre que la résolution du système, permettant le cal-
cul des coefficients du polynôme d’interpolation, nécessite un nombre d’opérations en O ( n3 ). On
utilisera plutôt d’autres méthodes, moins coûteuses en nombre d’opérations, dès que n devient
grand. Par exemple, l’utilisation des polynômes de Lagrange nécessite un nombre d’opérations
en O ( n2 ).
4.2. LES POLYNÔMES DE TAYLOR 45
Théorème 4.2 Soient a et b deux nombres réels tels que a < b et f : [a, b] −→ R une fonction n
fois dérivable sur [a, b]. On suppose que f ∈ C n+1 ([a, b]) et x0 ∈ [a, b] (un point fixe). Si x ∈ [a, b],
alors il existe un élément c entre x0 et x tel que
f ( x ) = P n ( x ) + E n ( x ).
0
f ( x0 ) f n ( x0 )
où, P n ( x) = f ( x0 ) + ( x − x0 ) + · · · + ( x − x0 )n
1! n!
f n+1 ( c)
E n ( x) = ( x − x0 )n+1 .
( n + 1)!
P n est le polynôme qui peut être utilisé comme approximation de f , E n ( x) est l’erreur commise
lors de cette approximation.
Démonstration On pose :
0
f ( x0 ) f n ( x0 )
P n ( x) = f ( x0 ) + ( x − x0 ) + · · · + ( x − x0 )n
1! n!
P n est un polynôme de degré n et est indéfiniment dérivable. Considérons la fonction g définie
par : g( t) = f ( t) − P n ( t) + λ( t − x0 )n+1 , λ est une constante telle que g( x) = 0. On a donc :
P n ( x) − f ( x)
g ( t) = f ( t) − P n ( t) + ( t − x0 )n+1 .
( x − x0 )n+1
On vérifie facilement que :
0 0 00 00
P n ( x0 ) = f ( x0 ), P n ( x0 ) = f ( x0 ), P n ( x0 ) = f ( x0 ), · · · P nn ( x0 ) = f n ( x0 )
P n(n+1) est identiquement nulle, donc g est n-fois dérivable sur [a, b] et g( n) est dérivable sur
]a, b[. De plus on a :
0 00
g( x0 ) = g ( x0 ) = g ( x0 ) = · · · = g n ( x0 ) = 0
0
Alors on a g( x0 ) = g( x) = 0 d’après le théorème de Rolle il existe c 1 entre x0 et x tel que g ( c 1 ) = 0.
0 0 00
On a alors g ( x0 ) = g ( c 1 ) = 0, donc il existe un élément c 2 entre x0 et c 1 tel que g ( c 2 ) = 0. Par
récurrence on construit donc une suite d’éléments ( c i ) i=1,2,...,n de ]a, b[ tels que :
On a alors g n ( x0 ) = g n ( c n ) = 0 et d’après le théorème de Rolle il existe c entre x0 et c n tel que
g n+1 ( c) = 0. Or
P n ( x) − f ( x)
g n+1 ( c) = 0 = f n+1 ( c) + ( n + 1)!
( x − x0 )n+1
f n+1 (c) n+1
donc : f ( x) − P n ( x) = (n+1)! ( x − x0 ) . Ce qui démontre le théorème.
x2 x3 x15
P15 ( x) = 1 + x + + + ... +
2! 3! 15!
P15 (1) = S 15 . L’erreur est donnée par :
f 16 ( c) x16
E 15 ( x) = , c ∈]0, 1[
16!
A partir de f 16 ( c) = e c et de 1 < e c < e < 3, on obtient une majoration de l’erreur (pour x = 1) :
f 16 ( c) ec 3
E 15 (1) = = < = 1.43384310−13 .
16! 16! 16!
Remarque 4.2 Il est évident que :
i) la précision du polynôme de Taylor est d’autant meilleure que n est grand,
ii) la précision de chaque polynôme de Taylor décroît lorsque x est loin de x0 .
Un compromis entre (i) et (ii) et de choisir :
• n assez grand
• restreindre le domaine de validité de l’approximation de f par P n a un voisinage de x0
Si on choisit x dans un intervalle de centre x0 et de rayon R (c-à-d | x − x0 | ≤ R ), on obtient la
majoration de l’erreur suivante :
MR n+1
|Erreur | = |E n ( x)| ≤ (4.1)
( n + 1)!
Sur cette figure on remarque que l’on approche bien e x par P4 ( x) sur [−2, 2].
4.3. INTERPOLATION POLYNÔMIALE DE LAGRANGE 47
∀ n = 0, 1, ...n, P n ( x i ) = f ( x i ). (4.2)
Démonstration
Existence : On vérifie directement que le polynôme donne par (4.3) est solution de (4.2) (on
utilise le fait que L i ( x j ) = δ i j ).
Unicité : Soit Q un autre polynôme solution. Alors ∀ i = 0, 1, ..., n, Q ( x i ) − P ( x i ) = 0. Ainsi Q − P
est un polynôme de degré inférieur ou égal a n s’annulant en n + 1 points. Il est donc
identiquement nul.
4.3.1 Exemple
Nous allons construire le polynôme de Lagrange passant par les 4 points :
( x − 3)( x − (−1))( x − 4) 1
L 0 ( x) = = ( x − 3)( x − (−1))( x − 4)
(2 − 3)(2 − (−1))(2 − 4) 6
( x − 2)( x − (−1))( x − 4) −1
L 1 ( x) = = ( x − 2)( x − (−1))( x − 4)
(3 − 2)(3 − (−1))(3 − 4) 4
( x − 2)( x − 3)( x − 4) −1
L 2 ( x) = = ( x − 2)( x − 3)( x − 4)
(−1 − 2)(−1 − 3)(−1 − 4) 60
( x − 2)( x − 3)( x − (−1)) 1
L 3 ( x) = = ( x − 2)( x − 3)( x − (−1))
(4 − 2)(4 − 3)(4 − (−1)) 10
Le polynôme de Lagrange est donné par :
P ( x) = 1 L 0 ( x) + 2 L 1 ( x) + 3 L 2 ( x) + 4 L 3 ( x)
1 3 7 2 16 8
= x + x − x+
60 20 15 5
48 CHAPITRE 4. INTERPOLATION ET APPROXIMATION POLYNÔMIALE
Théorème 4.4 Soit f une fonction de classe C n+1 [a, b]. Si x0 , x1 , ..., xn ∈ [a, b], P le polynôme
d’interpolation de Lagrange au points : ( x0 , f ( x0 )), ( x1 , f ( x1 )), ..., ( xn , f ( xn )) alors :
∀ x ∈ [a, b]
( x − x0 )( x − x1 )...( x − xn ) n+1
f ( x) − P ( x) = f (θ ) (4.5)
( n + 1)!
où a < min( x, x0 ) < θ < max( x, xn ) < b
( x − x0 )( x − x1 )...( x − xn ) n+1
E n ( x) = f (θ ).
( n + 1)!
De plus si f n+1 est continue sur [a, b], elle atteint sa borne supérieure, on a la majoration de
l’erreur suivante :
|( x − x0 )( x − x1 )...( x − xn )|
E n ( x) = | f ( x) − P ( x)| ≤ max | f n+1 ( x)|.
( n + 1)! x∈[a,b]
déduire P n à partir de P n−1 . Cette méthode est introduite récursivement de la façon suivante :
P1 ( x) = a 0 + a 1 ( x − x0 ) (4.6)
P2 ( x) = a 0 + a 1 ( x − x0 ) + a 2 ( x − x0 )( x − x1 ) (4.7)
P3 ( x) = a 0 + a 1 ( x − x0 ) + a 2 ( x − x0 )( x − x1 ) + a 3 ( x − x0 )( x − x1 )( x − x2 ) (4.8)
.. .
. = ..
P n ( x) = a 0 + a 1 ( x − x0 ) + a 2 ( x − x0 )( x − x1 ) + a 3 ( x − x0 )( x − x1 )( x − x2 ) + (4.9)
a 4 ( x − x0 )( x − x1 )( x − x2 )( x − x3 ) + ... + a n ( x − x0)...( x − xn−1 )
Le polynôme P n (4.9), de degré ≤ n, est appelé polynôme de Newton au points x0 , x1 , ..., xn−1 .
4.4.2 Exemple
Étant donné les points x0 = 1, x1 = 3, x2 = 4 et x3 = 4.5 et les coefficients a 0 = 5, a 1 = −2,
a 2 = 0.5, a 3 = −0.1 et a 4 = 0.003. Trouver P1 ( x), P2 ( x), P3 ( x) et P4 ( x) et calculer P i (2.5) pour
i = 1, 2, 3, 4. En utilisant les formules précédentes on a :
P1 ( x) = 5 − 2( x − 1)
P2 ( x) = 5 − 2( x − 1) + 0.5( x − 1)( x − 3)
P3 ( x) = 5 − 2( x − 1) + 0.5( x − 1)( x − 3) − 0.1( x − 1)( x − 3)( x − 4)
P4 ( x) = P3 ( x) + 0.003( x − 1)( x − 3)( x − 4)( x − 4.5)
on trouve :
P1 (2.5) = 2
P2 (2.5) = P1 (2.5) + 0.5(1.5)(−0.5) = 1.625
P3 (2.5) = P2 (2.5) − 0.1(1.5)(−0.5)(−1.5) = 1.5125
P4 (2.5) = P3 (2.5) + 0.003(1.5)(−0.5)(−1.5)(−2) = 1.50575
P1 ( x0 ) = f ( x0 ) et P1 ( x1 ) = f ( x1 )
On trouve :
a0 = f ( x0 ) (4.10)
f ( x1 ) − a 0 f ( x1 ) − f ( x0 )
a1 = = (4.11)
x1 − x0 x1 − x0
50 CHAPITRE 4. INTERPOLATION ET APPROXIMATION POLYNÔMIALE
Les coefficients a 0 et a 1 de P2 sont les mêmes que ceux qui figurent dans P1 et qu’on vient de
calculer (4.10), (4.11). Le coefficient a 2 de P2 est déterminé de la façon suivante :
P2 ( x2 ) = f ( x2 ) = a 0 + a 1 ( x2 − x0 ) + a 2 ( x2 − x0 )( x2 − x1 )
f ( x2 ) − a 0 − a 1 ( x2 − x0 )
a2 = (4.12)
( x2 − x0 )( x2 − x1 )
1 f ( x2 ) − f ( x1 ) f ( x1 ) − f ( x0 )
· ¸
= − (4.13)
( x2 − x0 ) x2 − x1 x1 − x0
Définition 4.1 Les différences divisées d’une fonction f sont définies comme suit :
f [ xk ] = f ( xk )
f [ xk ] − f [ xk−1 ]
f [ xk−1 , xk ] =
xk − xk−1
f [ xk−1 , xk ] − f [ xk−2 , xk−1 ]
f [ xk−2 , xk−1 , xk ] =
xk − xk−2
f [ xk−2 , xk−1 , xk ] − f [ xk−3 , xk−2 , xk−1 ]
f [ xk−3 , xk−2 , xk−1 , xk ] =
xk − xk−3
.. ..
. = .
Théorème 4.5 Soit f ∈ C n+1 ([a, b]). Si x0 , x1 , ..., xn sont n + 1 points distincts de [a, b], alors
il existe un unique polynôme P n , dit polynôme de Newton, de degré au plus égal à n tel que :
f ( x) = P n ( x) + E n ( x)
(4.15)
E n ( x) = (x− x0 )(x(n−+x11)!
)...(x− xn ) n+1
f (θ )
Définition 4.2 Pour n = 0, 1, 2, · · · et pour tout x ∈ [−1, 1], les polynômes de Tchebychev sont
définis par :
T n ( x) = cos( n arccos x).
Propriétés 4.1
Démonstration
T 0 ( x) = 1
T 1 ( x) = x
T 2 ( x) = 2 x2 − 1
T3 ( x) = 23−1 x3 − 3 x
T4 ( x) = 24−1 x4 − 8 x2 + 1
T5 ( x) = 25−1 x5 − 20 x3 + 5 x
T6 ( x) = 26−1 x6 − 48 x4 + 18 x2 − 1
T7 ( x) = 27−1 x7 − 112 x5 + 56 x3 − 7 x
Remarque 4.3 D’après la propriété i), T n est un polynôme dont le terme de plus haut degré
x n a pour coefficient 2n−1 . On appelle polynôme de Tchebychev normalisé à l’unité de T n ( x) le
polynôme T̃ n ( x) défini par T̃ n ( x) = 2n1−1 T n ( x) et on a :
1
max T̃ n ( x) = .
x∈[−1,1] 2n−1
1
= max T̃ n ( x) ≤ max | p( x)|. (4.20)
2n−1 x∈[−1,1] x∈[−1,1]
4.5. POLYNÔMES DE TCHEBYCHEV 53
1
Démonstration Supposons qu’il existe un polynôme p de E n tel que : max | p( x)| < et
x∈[−1,1] 2n−1
considérons le polynôme d ( x) défini par : d ( x) = T̃ n ( x) − p( x). d est un polynôme de degré ≤ n − 1
(le coefficient de x n est le même pour T̃ n ( x) et p( x)). La fonction polynômiale d ( x) s’annule au
moins une fois dans chacun des intervalles fermés :
kπ ( k + 1)π
· µ ¶ µ ¶¸
xk = cos , xk+1 = cos , k = 0, 1, ..., n − 1.
n n
k k+1
En effet : d’après iii) on a : d ( xk ) = (2−n1) (−1)
−1 − p ( x k ) et d ( x k+1 ) = 2 n−1 − p ( x k+1 ), il est facile de voir
que d ( xk ) d ( xk+1 ) < 0. Alors, d ( x) possède n zéros dans [−1, 1] et deg d = n − 1 , par conséquent
d ( x) est identiquement nul donc :
d ( x) = 0 , T̃ n ( x) = p( x)
1 1
= max | T̃ n ( x )| = max | p ( x )| < (4.21)
2n−1 x∈[−1,1] x∈[−1,1] 2n−1
1
ce qui est en contradiction avec l’hypothèse : max | p( x)| <
x∈[−1,1] 2n−1
Théorème 4.7 L’expression (4.16) est minimale parmi toutes les subdivisions ( x0 , x1 , ..., xn ) si
et seulement si :
a+b b−a (2 k + 1)π
µ ¶
xk = + cos , k = 0, 1, ..., n.
2 2 2( n + 1)
( b − a)n+1
max |( x − x0 )( x − x1 )...( x − xn )| = .
x∈[a,b] 22n+1
( b − a)n+1
| f ( x ) − P C ( x )| ≤ max | f (n+1) ( x)|. (4.22)
( n + 1)!22n+1 x∈[−1,1]
Exemple 4.1 Construire sur [−1, 1] les polynômes d’interpolation de Lagrange de la fonction
1
f ( x) = 1+12x 2 d’une part en prenant des abscisses d’interpolation équidistantes, d’autre part en
P ( x i ) = yi , i = 0, ..., n
0
P (xi ) = zi , i = 0, ..., n
P ( x i ) = yi , i = 0, ..., n
0
P (xi ) = zi , i = 0, ..., n
Démonstration
0
h i ( x) = [1 − 2( x − x i )L i ( x i )]L2i ( x)
k i ( x) = ( x − x i )L2i ( x)
Comme les polynômes L i sont de degré n, les polynômes h i et les polynômes k i sont de
degré 2 n + 1.
0
h i ( x j ) = [1 − 2( x j − x i )L i ( x i )]L2i ( x j ) = δ i j
k i ( x j ) = 0 ∀0 ≤ j ≤ n
0 0 0 0
h i ( x) = −2L2i ( x)L i ( x i ) + 2[1 − 2( x − x i )L i ( x i )]L i ( x)L i ( x)
0 0 0 0
h i ( x j ) = −2L2i ( x j )L i ( x i ) + 2[1 − 2( x j − x i )L i ( x i )]L i ( x j )L i ( x j ) ∀0 ≤ j ≤ n
0 0
k i ( x) = L2i ( x) + 2( x − x i )L i ( x)L i ( x)
0 0
k i ( x j ) = L2i ( x j ) + 2( x j − x i )L i ( x j )L i ( x j ) = δ i j
Donc
n
X n
X n
X
P (x j ) = xi h i (x j ) + zi k i (x j ) = yi δ i j = y j
i =0 i =0 | {z } i =0
=0
et
0
n
X 0
n
X 0 X n
P (x j ) = xi h i (x j ) + zi k i (x j ) = zi δi j = z j
i =0 | {z } i =0 i =0
=0
Théorème 4.9 Soit f ∈ C n+1 ([a, b]) dérivable 2 n + 2 fois sur l’intervalle ]a, b[, Si a < x0 < · · · <
xn < b, alors
( x − x0 )2 ( x − x1 )2 · · · ( x − xn )2 2n+2
f ( x) − P ( x) = f (²)
(2 n + 2)!
où ² tel que a ≤ min( x, x0 ) < ² < max( x, xn ) ≤ b
Démonstration Exercice.
La fonction P ainsi construite est évidemment continue sur l’intervalle [a, b].
Il est clair qu’une telle courbe n’est pas lisse, il faut donc être prudent à la jonction de
ses différents segments de courbe. Une voie très populaire consiste à utiliser dans chaque
intervalle [ x i−1 , x i ] un polynôme de degré 3 de la forme
P i ( x) = a i x3 + b i x2 + c i x + d i , i = 1, ..., n
et à relier ces différents polynômes de façon à ce que la courbe résultante soit deux fois diffé-
rentiable. C’est l’interpolation par Spline cubique. Supposons que l’on a ( n + 1) points d’inter-
polation est n intervalle [ x i−1 , x i ], cela indique qu’il y a 4 n coefficients (a i , b i , c i , d i , i = 1, ..., n)
à déterminer. La situation est décrite dans la figure 4.5 pourn = 4
Voyons combien de conditions ou d’équations nous pouvons imposer pour calculer les 4 n
coefficients. Ces équations proviennent des conditions de régularité que l’on souhaite imposer
à la courbe résultante. Voici les contraintes imposés aux n polynômes de degré 3.
• P1 ( x0 ) = f ( x0 ) et P n ( xn ) = f ( xn ).
• Les splines P i−1 et P i sont reliées au point de contrôle x i , i = 1, ..., n − 1, alors
P i ( x i ) = f ( x i ) = P i+1 ( x i ).
4.7. INTERPOLATION SPLINE CUBIQUE 57
• Pour assurer la régularité de la courbe, on doit imposer que les dérivés premières et
secondes soient continuent aux points i = 1, ..., n − 1
0 0
P i ( x i ) = P i+1 ( x i ) (4.23)
00 00
P i ( x i ) = P i+1 ( x i ) (4.24)
00 00 x − xi 00 x − x i −1
P i ( x) = f i−1 + fi
x i−1 − x i x i − x i−1
En intégrant deux fois cette équation, on obtient d’abord
0 00 ( x − x i )2 00 ( x − x i −1 )
2
P i ( x) = f i−1 + fi + αi
2( x i−1 − x i ) 2( x i − x i−1 )
et par la suite
00 ( x − x i )3 00 ( x − x i −1 )
3
P i ( x) = f i−1 + fi + αi (x − xi ) + βi
6( x i−1 − x i ) 6( x i − x i−1 )
où α i et β i sont les constantes d’intégration. On exprime ses constantes d’intégration en
00
fonctions des inconnues f i .
La courbe du polynôme P i ( x) défini dans [ x i−1 , x i ] doit passer par les points ( x i−1 , f ( x i−1 )) et
( x i , f ( x i )), on en déduit que
00 ( x i − x i−1 )3 00 ( x i − x i −1 )
2
p i (xi ) = f (xi ) = f i + βi = f i + βi
6( x i − x i−1 ) 6
ce qui entraîne que
00 ( x i − x i−1 )2
βi = f (xi ) − f i
6
De même en x = x i−1
00 ( x i−1 − x i )2
p i ( x i−1 ) = f ( x i−1 ) = f i−1 + α i ( x i−1 − x i ) + β i
6
d’où l’on tire
00 00
f ( x i ) − f ( x i−1 ) ( f i − f i−1 )( x i − x i−1 )
αi = −
x i − x i−1 6
On en déduit que l’équation de la spline sur l’intervalle [ x i−1 , x i ] est
58 CHAPITRE 4. INTERPOLATION ET APPROXIMATION POLYNÔMIALE
00 ( x − x i )3 00 ( x − x i −1 )
3
P i ( x) = f i−1 + fi
6( x i−1 − x i ) 6( x i − x i−1 )
à 00 00 !
f ( x i ) − f ( x i−1 ) ( f i − f i−1 )( x i − x i−1 )
+ − (x − xi )
x i − x i−1 6
00( x i − x i−1 )2
+ f (xi ) − f i
6
ou encore
00 ( x − x i )3 00 ( x − x i −1 )
3
P i ( x) = f i−1 + fi
6( x i−1 − x i ) 6( x i − x i−1 )
à 00 !
f ( x i−1 ) f i−1 ( x i − x i−1 )
− − (x − xi )
x i − x i−1 6
à 00 !
f (xi ) f i ( x i − x i−1 )
+ − (x − xi )
x i − x i−1 6
00( x i − x i−1 )2
+ f (xi ) − f i
6
pour obtenir une formule plus compacte, on remplace le monôme ( x − x i ) par l’expression
équivalente ( x − x i−1 ) + ( x i−1 − x i ), on obtient alors :
00 ( x − x i )3 00 ( x − x i −1 )
3
P i ( x) = − f i−1 + fi
6( x i − x i−1 ) 6( x i − x i−1 )
f ( x i−1 ) ( x i − x i−1 )
µ ¶
00
− − f i−1 (x − xi )
x i − x i−1 6
f (xi ) 00 ( x i − x i −1 )
µ ¶
+ − fi ( x − x i−1 )
x i − x i−1 6
00 ( x − x i )3 00 ( x − x i −1 )
3
P i ( x) = − f i−1 + fi
6h i 6h i
à 00 !
f ( x i−1 ) h i f i−1
− − (x − xi )
hi 6
à 00 !
f (xi ) h i f i
+ − ( x − x i−1 )
hi 6
qui est l’équation de la spline dans l’intervalle [ x i−1 , x i ]. Des (4 n − 2) conditions retenues, seule
la continuité de la première dérivé n’a pas était imposée. Pour ce faire, il faut dériver p i ( x)
dans l’intervalle [ x i−1 , x i ] et p i+1 ( x) dans l’intervalle [ x i , x i+1 ], puis évaluer p i ( x i ) et p i+1 ( x i ).
4.7. INTERPOLATION SPLINE CUBIQUE 59
On a d’une part :
0 00 ( x − x i )2 00 ( x − x i −1 )
2
p i ( x) = − f i−1 + fi
2h i 2h i
à 00 !
f ( x i−1 ) h i f i−1
− −
hi 6
à 00 !
f (xi ) h i f i
+ −
hi 6
et d’autre part
2
0 00 ( x − x i +1 ) 00 ( x − x i )2
p i+1 ( x) = − fi + f i+1
2 h i+1 2 h i+1
à 00 !
f ( x i ) h i+1 f i
− −
h i+1 6
à 00 !
f ( x i+1 ) h i+1 f i+1
+ −
h i+1 6
00 00 00
h i f i−1 + 2( h i + h i+1 ) f i + h i+1 f i+1 = 6( f [ x i , x i+1 ] − f ([ x i−1 − x i ])) pour i = 1, ..., n − 1.
Une dernière simplification est possible si on divise chaque terme de cette équation par :
ce qui donne
hi 00 00 h i+1 00
f i−1 + 2 f i + f i+1 = 6 f ([ x i−1 , x i , x i+1 ]) pour i = 1, ..., n − 1.
h i + h i+1 h i + h i+1
On remarque que le terme de droite fait intervenir les deux différences divisées. Il y a au
00
total ( n + 1) inconnues f i et on a que ( n − 1) équations. On doit donc fixer de façon arbitraire
deux des inconnues. Il existe plusieurs possibilités, mais la plus simple consiste à imposer
00 00
f0 = f n = 0
on qualifie la spline naturelle la courbe qui en résulte. La spline naturelle impose que la
dérivé seconde est nulle aux deux extrémités et donc que la courbe y est linéaire. Un autre
choix possible consiste à imposer
00 00 00 00
f 0 = f 1 et f n = f n−1
ce qui revient à imposer une courbure constante dans le premier et le dernier intervalle.
Nous pouvons alors écrire ce système d’équations linéaires de n − 1 équations
60 CHAPITRE 4. INTERPOLATION ET APPROXIMATION POLYNÔMIALE
00
2 u2 f1 w1
00
v2 2 u 3 f2 w2
v3 2 u4 v3 w3
=
. .. ... .. .. ..
.
00 .
.
vn−2 2 u n−1 f n−2 wn−2
00
vn−1 2 f n−1 wn−1
où
h i+1
u i+1 =
h i + h i+1
hi
vi = , i = 1, ..., n − 1
h i + h i+1
wi = 6 f ([ x i−1 , x i , x i+1 ])
Dans ces cas, on peut appliquer des méthodes numériques pour évaluer la valeur de l’intégrale
donnée.
Dans ce chapitre, nous allons présenter le principe général du calcul approché d’intégrale
que nous appliquons dans le cas de la méthode des rectangles, trapèzes et Simpson. La dernière
partie sera consacrée à la dérivation numérique.
5.1.2 Rappels
Rβ
1. Si f est continue sur [a, b], alors f admet une primitive donc α f ( t) dt existe pour tous
α, β ∈ [a, b].
2. Soient f :]a, b[−→ R et F : [a, b] −→ R, F est une primitive de f sur [a, b] si F est continue
0
sur [a, b], si F est dérivable sur ]a, b[ alors F ( x) = f ( x), quelque soit x ∈]a, b[.
3. Si F est une primitive de f alors G = F + cte est aussi une primitive de f .
4. α, β ∈ [a, b] , si F et G sont deux primitives de f on a :
Z β
I = F (β) − F (α) = G (β) − G (α) = f ( t) dt.
α
61
62 CHAPITRE 5. INTÉGRATION ET DÉRIVATION NUMÉRIQUE
Fig. 5.3 – Subdivision de [a, b] et approximation de ab f (x)dx par la somme des surfaces hachurées
R
Z β
f ( t) dt ≈ h f (γ) + R α,β ( f ), h = β − α.
α
h h2 0 h3 00
F (α) − F (γ) = − f (γ) + f (γ) − f (η), η ∈ [α, γ] (5.3)
2 8 48
64 CHAPITRE 5. INTÉGRATION ET DÉRIVATION NUMÉRIQUE
a i+1 h3 00 a i + a i+1
Z
f ( t) dt = h f (γ i ) + f (θ i ), a i < θ i < a i+1 avec γ i = .
ai 24 2
1 nX
−1 00 00
f (θ i ) = f (θ )
n i=0
Propriétés 5.1
00
1. Si f = 0 sur [a, b] c-à-d f est un polynôme de degré un ou moins, il n’y a pas d’erreur de
méthode.
00 Rb
2. Si f ≥ 0 l’approximation de a f ( t) dt fournie par Q n ( f ) est par excès.
00
3. La méthode est convergente, en effet si M est un majorant de | f | sur [a, b] on a :
h2 1
|R n ( f )| ≤ ( b − a) M proportionnelle à 2 → 0.
24 n
Exemple 5.1
R2
Log(2) = 1 1t dt ≈ 0.6931471806
1 0 1 00 2 00
f ( x) = , f ( x) = − , f ( x) = , | f ( x)| ≤ 2 = M, ∀ x ≥ 1
x x2 x3
a 0 +a 1
— Si n = 1 on a : h = 2−1 1 = 1, a 0 = 1, a 1 = 2 = 1 + 1 h donc γ0 = 2 = 32 d’où
1X
−1 3
µ ¶
2
Q1 = h f (γ i ) = h f (γ0 ) = f = = 0.66666666.
i =0 2 3
— Si n = 3 on a : h = 2−3 1 = 31 , a 0 = 1, a 1 = 1 + 1 31 = 43 , a 2 = 1 + 2 13 = 35 et a 3 = 1 + 3 13 = 2 donc :
a +a a +a a +a
γ0 = 0 2 1 = 76 , γ1 = 1 2 2 = 96 , γ2 = 2 2 3 = 11 6 d’où
3X
−1 1 6 6 6
µ ¶
478
Q3 = h f (γ i ) = h( f (γ0 ) + f (γ1 ) + f (γ2 )) = + + = = 0.68975468
i =0 3 7 9 11 693
— Si n = 9 on a : h = 91 , a 0 = 1, a 1 = 1 + 1 19 = 10 1
9 , a2 = 1 + 2 9 =
11
9 , a i = 1 + i 19 et a 9 = 2 donc :
a +a a 1 +a 2 a i +a i+1
γ0 = 0 2 1 = 19
18 , γ1 = 2 = 21
18 , γ i = 2 = 1918
+2i
d’où
9X
−1
Q9 = h f (γ i )
i =0
= h( f (γ0 ) + f (γ1 ) + ... + f (γ8 ))
1 18 18 18 18
= ( + + ... + + ... + )
9 19 21 19 + 2 i 35
14145553414
= = 0.69276237
20419054425
2
n Qn ( b − a) h24M |Q n − Q 3n | erreur exacte
1 0.66666667 8.310−2 − −2.710−2
3 0.68975468 4.610−3 2.310−2 −3.410−3
9 0.69276237 5.210−3 3.010−3 −3.910−4
66 CHAPITRE 5. INTÉGRATION ET DÉRIVATION NUMÉRIQUE
Z β h
f ( t) dt = ( f (α) + f (β)) + R α,β ( f ).
α 2
00
Pour exprimer le reste R α,β ( f ), on suppose que f a une dérivée seconde f continue sur
[α, β] et introduisons la fonction auxiliaire ϕ( x) définie par :
α+β
ϕ( x) = F (γ + x) − F (γ − x) − x( f (γ + x) + f (γ − x)) − kx3 , γ= . (5.4)
2
k est une constante choisie telle que ϕ( h2 ) = 0. En exigeant cela on obtient pour k l’expression
suivante :
0 0 0
ϕ ( x) = − x( f (γ + x) − f (γ − x)) − 3 kx2
0
Le théorème des accroissements finis appliqué à f sur l’intervalle ]γ − ², γ + ²[ implique qu’il
existe η ∈]γ − ², γ + ²[ telle que
0 0 00
f (γ + ²) − f (γ − ²) = 2² f (η)
0 00
comme ϕ (²) = 0 on obtient k = − 32 f (η) et comme ϕ( h2 ) = 0 = F (β) − F (α) − h2 ( f (β) + f (α)) +
2 00 h 3
3 f (η)( 2 ) , on en déduit :
Z β h h3 00
f ( t) dt = ( f (β) + f (α)) − f (η), α<η<β
α 2 12
c’est la formule élémentaire pour la méthode des trapèzes.
5.3. LA MÉTHODE DES TRAPÈZES 67
a i+1 h h3 00
Z
f ( t) dt = ( f (a i ) + f (a i+1 )) − f (² i ), a i < ² i < a i+1
ai 2 12
sur l’intervalle [a, b] on a donc :
b h nX−1 h3 nX−1 00
Z
f ( t) dt = ( f (a i ) + f (a i+1 )) − f (² i )
a 2 i=0 12 i=0
à !
f (a) nX −1 f ( b) h2 00
= h + f (a i ) + − ( b − a ) f (θ )
2 i =1 2 12
} | {z }
Rn( f )
| {z
Tn ( f )
Rb
T n ( f ) est la valeur approchée de a f ( t) dt. Rn( f ) est l’erreur de la méthode lorsqu’on ap-
Rb
proche a f ( t) dt par T n ( f ). La figure suivante permet de schématiser cette méthode d’approxi-
mation :
Propriétés 5.2
00
— si f = 0 alors R n ( f ) = 0.
00
— si f > 0 l’approximation fournit par T n ( f ) est par défaut.
00
— si f ≥ 0 et garde le même signe sur un intervalle [a, b] on peut encadrer l’intégrale
Rb
a f ( t) dt par : Z b
Qn( f ) ≤ f ( t) dt ≤ T n ( f ).
a
1
— la méthode est convergente : la convergence est en n2
.
R2 1
Exemple 5.2 Log(2) = 1 t dt ≈ 0.6931471806
(b−a)h2 M
n Tn 12 |T2n − T n | erreur exacte
−2
1 0.75 8.310 − 5.710−2
2 0.7083333 2.110−2 4.710−2 1.510−2
4 0.6970238 5.210−3 1.110−2 3.410−3
8 0.69412183 1.310−3 2.910−3 9.810−4
x
ϕ( x) = F (γ + x) − F (γ − x) − ( f (γ + x) + f (γ − x) + 4 f (γ)) + kx5
3
k est une constante choisie telle que : ϕ( h2 ) = 0.
0
ϕ(0) = ϕ( h2 ) = 0, d’après le théorème de Rolle, il existe ²1 ∈ [0, h2 ] telle que ϕ (²1 ) = 0. D’après
0
l’expression de ϕ ( x) donnée ci-dessous
0 2 4 x 0 0
ϕ ( x) = ( f (γ + x) + f (γ − x)) − f (γ) − ( f ( x + γ) − f (γ − x)) + 5 kx4
3 3 3
0 0
on conclut que ϕ (0) = 0, et comme ϕ (²1 ) = 0 on en déduit du théorème de Rolle qu’il existe
00
²2 ∈ [0, ²1 ] telle que ϕ (²2 ) = 0
5.4. MÉTHODE DE SIMPSON : ACCÉLÉRATION DE LA CONVERGENCE (1710-1761) 69
00 1 0 0 x 00 00
φ ( x) = ( f (γ + x) − f (γ − x)) − ( f ( x + γ) + f (γ − x)) + 20 kx3
3 3
00 00
ϕ (²2 ) = 0, ϕ (0) = 0 ; par application du théorème de Rolle de nouveau, il existe ²3 ∈ [0, ²2 ]
telle que ϕ3 (²3 ) = 0. Le même procédé appliqué à ϕ3 donne :
x
ϕ3 ( x) = − ( f 3 ( x + γ) − f 3 (γ − x)) + 60 kx2
3
²3
ϕ3 (²3 ) = 0 implique 3
f 3 (γ − ²3 )) = 60 k²23 .
3 ( f (²3 + γ) −
Le théorème des accroissements assure l’existence de η ∈]γ − ²3 , γ + ²3 [ tel que
On a donc finalement :
1 4
k= f (η)
90
avec cette valeur de k mise dans l’expression de la fonction auxiliaire et en demandant que
ϕ( h2 ) = 0 on en déduit :
Z β h h5 4
f ( t) dt = F (β) − F (α) = ( f (β) + f (α) + 4 f (γ)) − f (η)
α 6 2880
a i+1 h ³a +a ´ h5 4
Z
i i +1
f ( t) dt = F (a i+1 ) − F (a i ) = ( f (a i ) + f (a i+1 ) + 4 f )− f (η i )
ai 6 2 2880
d’où sur [a, b] :
70 CHAPITRE 5. INTÉGRATION ET DÉRIVATION NUMÉRIQUE
b h nX
−1 ³a +a ´ h5 nX−1
Z
i i +1
f ( t) dt = ( f (a i ) + f (a i+1 ) + 4 f )− f 4 (η i )
a 6 i=0 2 2880 i=0
En appliquant le théorème des valeurs intermédiaire au dernier terme du membre de
droite : on trouve :
à !
b h nX −1 nX −1 ³ a + a h4
Z ´
i i +1
f ( t) dt = f ( a) + f ( b ) + 2 f (a i ) + 4 f − ( b − a) f 4 (θ )
a 6 i =1 i =0 2 2880
| {z } | {z }
Rn( f )
Sn( f )
Rb
Le reste R n ( f ) représente l’erreur de méthode lorsqu’on remplace a f ( t) dt par la somme
finie S n ( f ).
Propriétés 5.3
Rb
— R n ( f ) = a f ( t) dt − S n ( f ).
— la méthode est convergente, sa convergence est réglée par le terme en h4
— S n ( f ) = 13 (2Q n ( f ) + T n ( f )).
Exemple 5.3
R2 0 00
Log(2) = 1 1t dt ≈ 0.6931471806, f ( x) = − x12 , f ( x) = 2
x3
, f 3 ( x) = 6
x4
, f 4 ( x) = 24
x5
. On remarque
donc que f 4 ( x) est majorée par 24.
(b−a)h4 M
n nombre de point Sn 2880 |S 2n − S n | erreur exacte
−3
1 3 0.69444443 8.310 − 1.210−3
2 5 0.69325393 2.210−4 1.210−3 1.110−4
4 9 0.69315450 3.310−5 1.110−4 6.310−6
8 17 0.69314760 2.010−6 6.910−6 4.210−7
5.4.4 Conclusion
Le tableau suivant résume les trois méthodes d’intégration numérique étudiées dans ce
chapitre.
Méthode Expression de l’approximation L’erreur de l’approximation
nX
−1 ³ a + a ´
i i +1 h2 00
Quadrature Q n ( f ) = h f R n ( f ) = 24 ( b − a ) f (θ )
Ãi=0 2 !
nX −1 f ( b)
f (a) h2 00
Trapèze Tn( f ) = h 2 + f (a i ) + R n ( f ) = 12 ( b − a ) f (θ )
i =1 2
à !
nX −1 nX −1 ³ a + a ´
i i +1 h4
Simpson S n ( f ) = h6 f (a) + f ( b) + 2 f (a i ) + 4 f R n ( f ) = 2880 ( b − a) f 4 (θ )
i =1 i =0 2
5.5. DÉRIVATION NUMÉRIQUE 71
f ( x) = P n ( x) + E n ( x)
0
f ( x0 ) f n ( x0 )
P n ( x) = f ( x0 ) + ( x − x0 ) + ... + ( x − x0 )n
1! n!
f n+1 ( c)
E n ( x) = ( x − x0 )n+1
n!
P n est le polynôme qui peut être utilisé comme approximation de f , E n ( x) est l’erreur com-
mise lors de cette approximation. Si on se limite au cas ou n = 1 on aura :
0
f ( x0) f 2 ( c)
f ( x) = f ( x0 ) + ( x − x0 ) + ( x − x0 )2 (5.5)
1! 2!
0
La quantité, f ( x0 ) + f ( x0 )( x − x0 ) n’est rien d’autre que l’équation de la tangente de f au
0
voisinage de x0 . Dans ce voisinage, la droite f ( x0 ) + f ( x0 )( x − x0 ) est une bonne approximation
de f ( x). Cette approximation est d’autant meilleure que x est très voisin de x0 , c’est à dire que :
∆ x = x − x0 est petit et donc l’erreur est d’ordre ∆ x2 .
df f ( x0 + ∆ x) − f ( x0 ) ∆ x d 2 f
( x0 ) = − ( c) (5.6)
dx ∆x 2 dx2
L’approximation de la dérivée première est donc donnée par :
0 df f ( x0 + ∆ x) − f ( x0 )
f + ( x0 ) = ( x0 ) ≈ (5.7)
dx ∆x
cette approximation est appelée différence finie progressive (où avancée). Si on remplace ∆ x
par −∆ x dans (5.6) on obtient :
df f ( x0 − ∆ x) − f ( x0 ) ∆ x d 2 f
( x0 ) = + ( c̃) (5.8)
dx −∆ x 2 dx2
72 CHAPITRE 5. INTÉGRATION ET DÉRIVATION NUMÉRIQUE
df
0 f ( x0 − ∆ x) − f ( x0 )
( x0 ) ≈
f − ( x0 ) = (5.9)
dx −∆ x
cette approximation est appelé différence finie rétrograde (où arrière).
Dans les deux cas d’approximation (différence finie progressive ou rétrograde), on remarque
que l’erreur est d’ordre O (∆ x) et est approximativement la même dans les deux cas.
df
Pour obtenir une approximation plus précise de la dérivée dx ( x0 ), on peut faire la moyenne
des approximations progressive et rétrograde. En effet, en faisant la somme des équations (5.6)
et (5.8) on a :
df f ( x0 + ∆ x) − f ( x0 − ∆ x) − f ( x0 ) ∆ x d 2 f d2 f
· ¸
2 ( x0 ) = + ( c̃) − ( c) (5.10)
dx −∆ x 2 dx2 dx2
puisque x0 < c < x0 + ∆ x, x0 − ∆ x < c̃ < x0 et ∆ x est petit, donc c et proche de c̃ et par suite
d2 f d2 f
la différence dx2 ( c̃) − dx2 ( c) tend vers zéro. On conclut que l’erreur dans (5.10) est beaucoup
plus petite que O (∆ x). Pour calculer l’erreur dans ce cas on procède comme suit : On utilise le
développement de Taylor à l’ordre 3 de f ( x0 + ∆ x) et f ( x0 − ∆ x) :
0 (∆ x)2 2 (∆ x)3 3
f ( x0 + ∆ x) = f ( x0 ) + ∆ x f ( x0 ) + f ( x0 ) + f ( x0 ) + ...
2! 3!
0 (∆ x)2 2 (∆ x)3 3
f ( x0 − ∆ x) = f ( x0 ) − ∆ x f ( x0 ) + f ( x0 ) − f ( x0 ) + ...
2! 3!
En faisant la différence de (5.11) et (5.11) on obtient :
0 2(∆ x)3 3
f ( x0 + ∆ x) − f ( x0 − ∆ x) = 2∆ x f ( x0 ) + f ( x0 ) + ... (5.11)
3!
On pourra montrer que
0 f ( x0 + ∆ x) − f ( x0 − ∆ x) (∆ x)2 3
f ( x0 ) = − f (² ) (5.12)
2∆ x 6
ceci conduit à l’approximation suivante :
0 f ( x0 + ∆ x) − f ( x0 − ∆ x)
0
f ± ( x0 ) = f ( x0 ) ≈ (5.13)
2∆ x
appelée différence finie centrée. Comme nous allons le voir dans un exemple explicite, la
différence finie centrée est plus precise que la différence finie progressive et rétrograde. Ceci est
prévisible du fait que l’erreur est d’ordre O (∆ x)2 dans le cas de la différence centrée. Dans les
trois cas que nous avons considéré (progressive, rétrograde et centrée) le nombre d’évaluation
de la fonction f est égal à deux.
0
Exemple 5.4 Considérons la fonction f ( x) = log( x), on cherche à approcher f ( x0 = 1) en utili-
0 0
sant ∆ x = 0.1. Le calcul exact de f (1) donne f (1) = 1.
• A partir de l’approximation différence progressive on a :
0 f (x +∆ x=1.1)− f (x0 =1)
f ( x0 = 1) ≈ 0 ∆x ≈ 0.953102, l’erreur de cette approximation est de l’ordre :
¯ ∆x 2 ¯
E 2 ≈ 2 f (1) ≈ 0.05.
¯ ¯
• Dans le cas de différence arrière on a :
0 f (x −∆ x=1.1)− f (x0 =1)
f − ( x0 = 1) ≈ 0 −∆ x
≈ 1.053605.
5.5. DÉRIVATION NUMÉRIQUE 73
0 f (x +∆ x=1.1)− f (x −∆ x=0.9)
• L’approximation de différence centrée donne : f ± ( x0 = 1) ≈ 0 2∆ x
0
≈ 1.00335,
l’erreur
¯ dans ce¯cas est de l’ordre :
¯ (∆ x)2 3 ¯
E 3 ≈ ¯ 6 f (1)¯ ≈ 0.00333.
Dans cet exemple, on voit clairement que la différence centrée donne une meilleure approxima-
tion avec une erreur de l’ordre de 10−3 .
00 (∆ x)4 4
f ( x0 + ∆ x) + f ( x0 − ∆ x) = 2 f ( x0 ) + (∆ x)2 f ( x0 ) + 2 f ( x0 ) + ... (5.14)
4!
On peut démontrer le résultat suivant
00 f ( x0 + ∆ x) − 2 f ( x0 ) + f ( x0 − ∆ x) (∆ x)2 4
f ( x0 ) = − f (² ) (5.15)
(∆ x)2 12
Ceci nous conduit à la formule d’approximation de la dérivée seconde :
00 00 f ( x0 + ∆ x) − 2 f ( x0 ) + f ( x0 − ∆ x)
f ± ( x0 ) = f ( x0 ) ≈ (5.16)
(∆ x )2
appelée différence finie centrée, cette appellation est dû au fait que l’approximation (5.16)
peut être obtenu en appliquant deux fois la différence centrée (5.13) de la dérivée première.
[ Sixième Chapitre \
Résolution numérique d’équations
différentielles
0
(
y ( t) = f ( t, y( t)), t > 0
(6.1)
y(0) = y0 donné
Notons qu’une équation d’ordre strictement supérieur à 1 peut-être aussi écrite sous la
forme (6.2). Considérons par exemple le problème d’ordre 2 :
00 0
(
y ( t) = g( t, y( t), y ( t))
0 (6.3)
y(0) = y0 , y (0) = y1
ou y : [0, +∞[−→ R est la fonction inconnue, g : [0, +∞[×R × R −→ R, y0 et y1 sont des réels
donnés (position et vitesse initiales). Posant alors
0
u 1 ( t) = y( t), u 2 ( t) = y ( t),
74
6.1. QUELQUES REMARQUES SUR (??) 75
à !
u 1 ( t)
on remplace (6.3) par un système équivalent ou l’inconnue est le vecteur U ( t) = soit
u 2 ( t)
à ! à !
dU u 2 ( t) y0
( t) = , U0 ( t ) =
dt g( t, u 1 ( t), u 2 ( t)) y1
à !
u2
ce qui est un système de la forme (6.2) avec n = 2 et f ( t, u 1 , u 2 ) = . La même
g( t, u 1 , u 2 )
remarque vaut pour les équations d’ordre p
(
y p ( t) = g( t, y( t), ..., y p−1 ( t))
0
y p−1 (0), ..., y (0), y(0) donnés
et les méthodes numériques que nous allons décrire pourront leur être appliquées.
→ Exemples linéaires
0
(
y = ay
, a∈R
y(0) = y0
La solution est bien sûr y( t) = y0 e at . Bien qu’élémentaire, cet exemple nous permettra
d’analyser quelques propriétés importantes des algorithmes étudiés plus loin. Plus généra-
lement, si a dépend de t, l’unique solution est donnée par
µZ t ¶
y( t) = y0 exp a( x) dx
0
0
(
y = Ay
(6.4)
y(0) = y0 ∈ Rn
où y : [0, +∞[−→ Rn et A est une matrice d’ordre n. Si A est diagonale, le système se de-
couple en n équations scalaires indépendantes. On a alors
..
. 0
yi ( t) = y0i eλ i t si A =
λi
..
0 .
X tn
+∞
e tA = An.
n=0 n!
76 CHAPITRE 6. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES
0
(
y = y2
(6.5)
y(0) = y0
1
( 0
y = y3
(6.6)
y(0) = y0
L’équation (6.5) s’intègre explicitement puisque, sur un intervalle où y ne s’annule pas :
0 0 d 1 1 1 y0
y = y2 ⇐⇒ y y−2 = 1 ⇐⇒ (− ) = 1 ⇐⇒ − = t ⇐⇒ y( t) = .
dt y y0 y( t) 1 − t y0
Ainsi, pour y0 > 0, la solution explose pour t∗ = y10 : il n’y a donc pas existence globale pour
tout t > 0. L’équation (6.6) s’intègre de façon identique : on obtient
d 3 2 3 2 3 2
µ ¶
0
− 31
yy = 1 ⇐⇒ y 3 = 1 ⇐⇒ y 3 ( t) = y03 + t.
dt 2 2 2
En particulier, si y0 = 0, on obtient comme solution
¶3
2
µ
2
y( t) = t
3
Seulement, on vérifie que y( t) = 0 est aussi solution. Donc, il n’y a pas unicité des solutions
de (6.6). En fait il y en a une infinité puisque pour tout a > 0
( ¡
2
¢ 23
ya ( t) = 3 ( t − a) , si t ≥ a
0, si 0 ≤ t ≤ a
est aussi une solution. Énonçons sans démonstration un théorème classique relativement
général assurant existence et unicité locale.
Nous cherchons à déterminer l’ensemble des fonctions Y vérifiant (6.7) ; ce sont les solutions
du système différentiel proposé.
Théorème 6.1 (Cauchy-Lipshitz) On suppose que la fonction f vérifie les conditions sui-
vantes :
• f est continue par rapport a ses deux variables.
• f ( t, Y ) est Lipschitzienne en Y uniformément par rapport a t, c’est-a-dire :
Remarque 6.1 Parfois la condition (6.8) est trop forte ; la fonction f est seulement localement
Lipschitzienne, c’est-à-dire
Théorème 6.2 Si f est continue sur [a, b] × Rn et vérifie (6.9), alors il existe un voisinage V
de t 0 et une unique solution Y de (6.7) de classe C 1 sur V .
Remarque 6.2 Même si la fonction f est très régulière, la fonction de (6.7) peut ne pas être
définie sur [a, b] tout entier.
Remarque 6.3 Dans les paragraphes suivants, sauf indication contraire, nous nous limite-
rons au cas d’un problème différentiel (6.7) relatif à n = 1 pour lequel nous supposons assurées
l’existence et l’unicité de la solution sur [a, b].
Nous allons commencer par décrire une méthode très simple mais fondamentale : nous
mettrons à profit sa simplicité pour en analyser son erreur de discrétisation.
78 CHAPITRE 6. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES
( t i+1 − t i )2 00
0
y( t i+1 ) = y( t i ) + ( t i+1 − t i ) y ( t i ) +
y (c i)
2
Puisque y( t) satisfait l’équation différentielle on peut écrire :
h2 00
y( t i+1 ) = y( t i ) + h f ( t i , y( t i )) + y (c i)
2
h2 00
La méthode d’Euler consiste à négliger pour chaque indice i le terme 2 y ( c i ). On obtient
ainsi une estimation de la solution sur les points de la subdivision :
(
yi+1 = yi + h f ( t i , yi ), pour i = 0, ..., n − 1
(6.11)
y(a) = y0
00
Théorème 6.3 On peut montrer que suivant certaines conditions ( f lipschitzienne et y bor-
née sur [a, b]) l’approximation ( y0 , y1 , ..., yn ) donnée par la méthode d’Euler converge vers la
solution exacte ( y( t 0 ), y( t 1 ), ..., y( t n )) lorsqu’on augmente le nombre des points de la subdivision
c’est-a-dire lorsque h tends vers 0.
6.2. MÉTHODE D’EULER 79
Définition 6.1 Une méthode numérique fournissant des valeurs approchées ( y0 , y1 , ..., yn ) de
la solution exacte ( y( t 0 ), y( t 1 ), ..., y( t n )) est dite d’ordre p s’il existe une constante K telle que :
max | y( t i ) − yi | ≤ K h p .
i =0,...,n
On peut vérifier que la méthode d’Euler est d’ordre 1 donc c’est une méthode qui ne converge
pas rapidement. En général on utilise des méthodes d’ordre plus élevé comme les méthodes de
Runge-Kutta qui peuvent atteindre l’ordre 4.
Evaluation de l’erreur e i
0 h2 00
y( t i+1 ) = y( t i ) + h y ( t i ) + y (ξ i ),
2
soit encore
h2 00
y( t i+1 ) = y( t i ) + h f ( t i , y( t i )) + y (ξ i ).
2
Vu la définition des itérés d’Euler (6.11), il vient :
h2 00
e i+1 = e i + h[ f ( t i , y( t i )) − f ( t i , yi )] + y (ξ i ).
2
Nous appliquons alors le théorème des accroissements finis à la fonction v 7−→ f ( t i , v) sur l’in-
tervalle ( yi , y( t i )). D’où l’existence d’un réel v i ∈ ( yi , y( t i )) tel que :
∂f
f ( t i , y( t i )) − f ( t i , yi ) = e i ( t i , v i ).
∂y
∂f h2 00
e i+1 = e i + he i (t i , vi ) + y (ξ i ), avec v i ∈ ( yi , y( t i )) et ξ i ∈] t i , t i + h[. (6.12)
∂y 2
80 CHAPITRE 6. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES
Majoration de l’erreur e i
Supposons de plus qu’il existe des constantes strictement positives M1 et M2 telles que :
¯∂f
¯ ¯
¯ 00
∀ t ∈ [a, b], ¯ ( t, y( t))¯¯ ≤ M1 et | y ( t)| ≤ M2 .
¯
∂y
Avec ces conditions l’égalité (6.12) entraîne pour tout i ∈ {0, ..., n − 1} :
h2
| e i+1 | ≤ | e i |(1 + hM1 ) + M2 .
2
Lemme 6.1 Considérons la suite des erreurs ( e i ) définie par e 0 = 0 et la relation (6.12). Il
vient la majoration d’erreur suivante
hM2 (t i − t0 )M1
|e i| ≤ (e − 1).
2 M1
Exemple 6.1
0
(
y = π cos(π t) y( t),
y(0) = 1
La solution exacte est : y = e sin(π t) .
0
(
y ( t) = f ( t, y( t)), ∀ t ∈ [a, b]
(6.13)
y(a) = y0 donné
où y est une fonctions dérivable sur [a, b] à valeurs dans R et f est une fonction de [a, b] × R
dans R.
Soit n ∈ N∗ et h le réel positif défini par : h = b−n a .
Notons, pour tout entier naturel i ∈ {0, ..., n} , t i le réel défini pas : t i = a + ih.
Nous supposons vérifiées les conditions de régularité qui autorisent les calculs développés.
Les méthodes de Runge-Kutta d’ordre 2 reposent sur la recherche d’une suite ( yi )0≤ i≤n de
valeurs approchées des y( t i ), définie par
(
yi+1 = yi + c 1 k 1 + c 2 k 2 , ∀ i ∈ {0, ..., n − 1}
(6.14)
y(a) = y0 donné
k 1 = h f ( t i , yi )
k 2 = h f ( t i + α h, yi + β k 1 )
Les réels c 1 , c 2 , α, β sont des constantes à déterminer pour que l’égalité yi+1 = yi + c 1 k 1 + c 2 k 2
copie au mieux le développement de Taylor qui fournit y( t i+1 ) en fonction de y( t i ).
82 CHAPITRE 6. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES
h2 ∂ f ∂ f
µ ¶
y( t i+1 ) = y( t i ) + h f ( t i , y( t i )) + + f ( t i , y( t i )) + O ( h3 ). (6.15)
2 ∂t ∂ y
Par ailleurs, en utilisant un développement de Taylor pour la fonction f , nous obtenons :
k2 ∂f ∂f
= f ( t i + α h, yi + β k 1 ) = f ( t i , yi ) + α h ( t i , yi ) + β k 1 ( t i , yi ) + O ( h2 ).
h ∂t ∂y
∂f ∂f
µ ¶
2
yi+1 = yi + h( c 1 + c 2 ) f ( t i , yi ) + h c2 α + c2 β f ( t i , yi ) + O ( h3 ).
∂t ∂y
c1 + c2 = 1
.
c 2 α = c 2 β = 12
Il existe une infinité de solutions pour ( c 1 , c 2 , α, β) donc une infinité de méthodes de Runge-
Kutta d’ordre 2. Nous privilégions ici celles obtenue pour c 1 = c 2 et obtenons finalement
1
c1 = c2 = et α = β = 1.
2
Remarque 6.4 Historiquement, la notion d’ordre de convergence a été mis en évidence par
Runge : il définit l’ordre de convergence d’une méthode comme étant le nombre de termes qui
coïncident dans le développement de Taylor de la vrai valeur y( t i ) et de la valeur approchée yi .
Ainsi dans la méthode de Runge-Kutta 2 on un ordre de convergence égal à 3.
b) Bilan
• Étant donné n ∈ N∗ et h = b−n a , pour résoudre sur [a, b] le problème (6.13) par la méthode
de Runge-Kutta d’ordre 2, on construit la suite ( yi )0≤ i≤n des valeurs approchées de la
solution y aux points t i = a + ih grâce à la relation de récurrence
1
yi+1 = yi + ( k 1 + k 2 ), ∀ i ∈ {0, ..., n − 1} (6.16)
2
y(a) = y0 (6.17)
(
k 1 = h f ( t i , yi ),
avec = (6.18)
k 2 = h f ( t i + h, yi + k 1 ).
• Etude de l’erreur
Remarquons que :
1 1 1 1
· ¸
k1 + k2 = h f ( t i , yi ) + f ( t i + h, yi + h f ( t i , yi )) .
2 2 2 2
6.3. MÉTHODE DE RUNGE-KUTTA 83
h2 1
y( t i+1 ) = y( t i ) + h f ( t i , y( t i )) + f ( t i , y( t i )) + O ( h3 ).
2
L’erreur de consistance ² i définie par
h2 1
² i = h f ( t i , y( t i )) + f ( t i , y( t i )) − hΦ( t i , y( t i ), h) +O ( h3 ).
| 2 {z }
H
1
yi+1 = yi + ( k 1 + 2 k 2 + 2 k 3 + k 4 ), ∀ i ∈ {0, ..., n − 1} (6.19)
6
y(a) = y0 (6.20)
k 1 = h f ( t i , yi ),
k = h f ( t + 1 h, y + 1 k ),
2 i 2 i 2 1
avec = 1 1 (6.21)
k 3 = h f ( t i + 2 h, yi + 2 k 2 ),
k 4 = h f ( t i + h, yi + k 3 ).
2. Etude de l’erreur
Grâce au calcul formel, on montrera dans le TD que l’erreur de consistance est en O ( h5 ),
on en déduira que la méthode de Runge-Kutta proposée ci-dessus est effectivement d’ordre
4.