Vous êtes sur la page 1sur 83

Table des matières

Table des matières 1

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

2 Méthodes de résolution des systèmes linéaires Ax = b 13


2.1 Méthodes directes de résolution de Ax = b . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Méthodes itératives de résolution de Ax = b . . . . . . . . . . . . . . . . . . . . . . 22

3 Solution d’une équation à une seule variable 27


3.1 Méthode de dichotomie ou de bissection . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2 La méthode de point fixe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3 La méthode de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.4 La méthode de sécante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.5 Comparaison des algorithmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4 Interpolation et approximation polynômiale 43


4.1 Polynôme d’interpolation d’une fonction . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.2 Les polynômes de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.3 Interpolation polynômiale de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.4 Interpolation polynômiale de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.5 Polynômes de Tchebychev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.6 Interpolation d’Hermite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.7 Interpolation Spline cubique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5 Intégration et dérivation numérique 61


5.1 L’intégration numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.2 Formule des rectangles ( avec point milieu ) . . . . . . . . . . . . . . . . . . . . . . 63
5.3 La méthode des trapèzes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.4 Méthode de Simpson : Accélération de la convergence (1710-1761) . . . . . . . . . 68
5.5 Dérivation numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

6 Résolution numérique d’équations différentielles 74


6.1 Quelques remarques sur (6.1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.2 Méthode d’Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.3 Méthode de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

1
[ Premier Chapitre \
Introductions et définitions

1.1 Qu’est ce que l’analyse numérique ?


L’analyse numérique est une branche des mathématiques appliquées née après la fondation
en 1947 de "Institute of Numerical Analysis" à l’Université de California de Los Angelos, dont
l’objectif est de donner une réponse numérique à des problèmes qui n’ont pas de solution ana-
lytique (solution calculée à la main) où de concevoir et d’étudier des méthodes de résolution de
certains problèmes mathématiques, en général issus de la modélisation de problèmes "réels",
et dont on cherche à calculer la solution à l’aide d’un ordinateur.
R1 2
Exemple 1.1 Calculer l’intégrale I = 0 e x dx.
Il est impossible de donner une valeur exacte a I , Dans ce cas, on peut appliquer des méthodes
2
numériques pour évaluer la valeur de l’intégrale donnée. Pour cela on note f ( x) = e x et on
subdivise l’intervalle [0, 1] on des intervalles [ x i , x i+1 ] i=0,...,n−1 , c’est à dire nous choisissons des
points x i , i = 0, ..., n tel que

x0 = 0, x1 = x0 + h, ..., xn = xn−1 + h = x0 + nh, h = max | x i+1 − x i |. (1.1)


0≤ i ≤ n−1

Par exemple pour n=10 et après quelques opérations algébriques on obtient :

I = ( x1 − x0 ) f ( x0 ) + ( x2 − x1 ) f ( x1 ) + · · · + ( x10 − x9 ) f ( x9 ).

Ainsi connaissant la valeur de f ( x0 ) jusqu’à f ( x9 ) on peut obtenir une valeur approchée de I .

L’analyse numérique =⇒ Résultat approché

Conséquence : L’analyse numérique permet d’évaluer et de développer les processus (Mé-


thodes) de résolution de problèmes mathématiques par la voie du calcul numérique à partir de
données numériques accessibles (par l’experience).

L’analyse numérique =⇒ Traitement de l’information

1.2 Analyse numérique et ordinateur


Depuis la deuxième guerre mondiale, les applications des mathématiques s’étendent à tous
les secteurs d’activité et ceci grâce aux ordinateurs et leur rapidité de calcul. L’ordinateur est
un outil incontournable pour simuler et modéliser les systèmes. Il existe souvent plusieurs
façon d’approcher un problème pour le résoudre =⇒ L’existence d’algorithme.

2
1.2. ANALYSE NUMÉRIQUE ET ORDINATEUR 3

Définition 1.1 On appelle Algorithme un processus ou une méthode numérique pour la


résolution d’un problème toujours à partir de données accessible, en général, le problème
d’analyse numérique se résume dans l’organigramme suivant :

Données d’entrée Algorithme Données de sortie

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.

Exemple 1.2 Considérant le système linéaire :

     
 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

Pour résoudre Ax = B on procède par l’organigramme suivant

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

→ Un algorithme peut être utile s’il satisfait un certain nombre de conditions :


- Rapidité : Réduire au maximum le nombre des opérations menant au résultat.
- Précision : Négliger toutes les erreurs commise au calcul c-à-d savoir contenir les
effets des erreurs (ces erreurs peuvent être dues à la modélisation, aux données, à
la représentation sur ordinateur ou encore à la troncature).
- Souple : L’algorithme doit être facilement transposable à des problèmes différents.
D’où, l’elaboration d’un algorithme nécessite beaucoup d’effort et présente de nom-
breux difficultés.

1.2.1 Difficultés liées à l’ordinateur


On considérera un réel comme connu numériquement si on connaît un certain nombre de
chiffres de son développement décimal et la précision avec laquelle ce développement appro-
chée est donnée.

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....

1.2.2 Les erreurs en analyse numérique


Les erreurs commises dans les problème mathématiques peuvent être en principe classées
en cinq catégories. Les deux premiers types d’erreur sont regroupés sous le nom d’erreurs de
modélisation tandis que les trois derniers sont appelés erreurs numériques.

→ 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

Elle sont engendrées par les erreurs précédentes et la précision de l’ordinateur.

Erreur d’entrée −→ Erreur d’algorithme −→ Erreur 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

On appelle erreur absolue de x la quantité ²abs = ∆ x = x − x. Autrement, c’est la mesure de


l’écart entre la valeur exacte et la valeur approchée.
Si ∆ x ≤ 0 alors x est une valeur approchée par excès.

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 ).

on pose y = f ( x) et y = f ( x0 ) sa valeur approchée. Alors si f est bornée par M au V ( x0 ) on aura


0
| f ( c)| ≤ M =⇒ | y − y| ≤ M | 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

On appelle erreur relative de x la quantité ²rel = ∆xx = x− x


x .

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

1.3 Généralités sur les matrices : Norme et


conditionnement
1.3.1 Quelques matrices particulières
1. Matrice symétrique : A = (a i j ), A t = A ou A t = ( b i j ), b i j = a ji .
2. Matrice hermitienne : A ∗ = A où A ∗ = (a∗i j ), a∗i j = a ji .
3. Matrice symétrique positive et définie positive : une matrice est dites semi-définie
positive ssi 〈 Ax, x〉 ≥ 0, ∀ x ∈ Cn \ {0} (resp. 〈 Ax, x〉 ≥ 0, ∀ x ∈ Cn \ {0} )
4. Matrice normale : ssi A A ∗ = A ∗ A .
5. Matrice unitaire : ssi A A ∗ = A ∗ A =I.
(A est orthogonale = unitaire dans le cas réel.)
6. Matrice diagonale : ssi a i j = 0, ∀ i 6= j

1.3.2 Quelques exemples

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.

1.3.3 Normes matricielles

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.

→ Normes matricielles induites

Soit E un K -espace vectoriel de dimension n muni d’une norme (vectorielle) notée k · k.


k · k est une norme matricielle induite ou subordonnée si et seulement si k · k est une norme
1.3. GÉNÉRALITÉS SUR LES MATRICES : NORME ET CONDITIONNEMENT 7

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.

→ Normes non subordonnées

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.

Proposition 1.2 Soit A = (a i j ) une matrice carrée. Alors


k Axk1 X
— k A k1 ≡ sup = max |a i j |.
x6=0 k xk1 j i
k Axk2
= ρ ( A ∗ A ) = ρ ( A A ∗ ) = k A ∗ k2 où ρ ( A ) désigne le rayon spectral
p p
— k A k2 ≡ sup
x6=0 k xk2
de A.
k Axk∞ X
— k A k∞ ≡ sup = max |a i j |.
x6=0 k xk∞ i j

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

1. Si A est une matrice carrée d’ordre n de norme k · k (quelconque) alors ρ ( A ) ≤ k A k on a


l’égalité dans le cas où A est symétrique hermitienne.
2. Étant données une matrice A et ² > 0, il existe au moins une norme matricielle induite
k · k A,² telle que
k A k p ≤ ρ ( A ) + ².

→ Convergence d’une suite de matrices

³ ´
. . . 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

lim A k = 0 ⇐⇒ lim a kij = 0 ⇐⇒ lim k A k k = 0


k→+∞ k→+∞ k→+∞

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

Démonstration (1) =⇒ (2) On a k A k xk ≤ k A k kk xk, ∀ la norme et le résultat se déduit.


(2) =⇒ (3) Supposons que ρ ( A ) ≥ 1, |λ| = ρ ( A )

∃ 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.

(4) =⇒ (1) Évidente car k A k k ≤ k A kk .

On peut maintenant étudier quelques propriétés des séries de matrices :

Théorème 1.2 Si A ∈ Mn (C) tel que ρ ( A ) < 1 alors I n − A est inversible et

k
( I n − A )−1 = lim Ai.
X
k→+∞ i =0

Démonstration ρ ( A ) < 1 ∀λ ∈ sp( A ), (1 − λ) ∈ sp( I − A ) =⇒ quad |λ| ≤ ρ ( A ) < 1 =⇒


1 − λ 6= 0 =⇒ 0 6∈ sp( I − A ) =⇒ ( I − A ) est inversible.
De plus ( I − A )( I + A + . . . A k ) = I − A k+1 ,
=⇒ I + A + . . . A k = ( I − A )−1 − ( I − A )−1 A k+1 ,
k
A i = ( I − A )−1 , car A k x −→ 0.
X
=⇒ lim
k→+∞ i =0 k→+∞

→ Conditionnement de matrices

Considérons le système linéaire suivant


      
10 7 8 7 x1 32 1
 7 5 6 5  x   23   1 
 2
=  , de solution
     

 8 6 10 9   x3
  
  33   1 
7 5 9 10 x4 31 1

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 ).

→ Majoration des perturbations

On s’interesse maintenant à la résolution d’un système linéaire de la forme Ax = b et à sa


stabilité.

Théorème 1.3 (Perturbation du second membre) Soit x la solution de Ax = b et x + δ x


la solution de A ( x + δ x) = b + δ b. Alors, si k · k est une norme matricielle induite

kδ x k kδ b k
≤ K( A ) .
k xk k bk

Démonstration Laissé en exercice.

Théorème 1.4 (Perturbation du premier membre) Soit x la solution de Ax = b et x + δ x


la solution de ( A + δ A )( x + δ x) = b. Alors, si k · k est une norme matricielle induite

kδ xk kδ A k
≤ K( A ) .
k x + δ xk k Ak

Démonstration Laissé en exercice.


1.3. GÉNÉRALITÉS SUR LES MATRICES : NORME ET CONDITIONNEMENT 11

Donnons quelques propriétés immédiates de cond ( A ).

Théorème 1.5 Soit A une matrice inversible à coefficients dans K = C, R.


1. K(α A ) = K( A ), ∀α 6= 0.
2. K( A ) ≥ 1 si la norme matricielle est induite.
µmax
3. K2 ( A ) = µmin
où µmax et µmin sont les plus grande et petite valeurs singulières.
4. K2 ( A ) = 1 ⇐⇒ A = αQ où α ∈ K et Q est unitaire.

Remarque 1.3

1. Une matrice est bien conditionnée si K( A ) est très proche de 1.


2. Une matrice unitaire est bien conditionnée.
3. Une matrice qui a un spectre large est mal conditionnée (K( A ) >> 1).

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 )?

ρ (( A −1 )∗ A −1 ) = ρ (( A ∗ A )−1 ) = max{|λ i |, λ i valeur propore de ( A ∗ A )−1 }


1
=
min{|λ i |, λ i v. p. de A ∗ A }

Donc K22 ( A ) = ||λλmax|| , λ i v. p. de A ∗ A,


min
µ
=⇒ K2 ( A ) = µmax où µ i est une valeur singulière de A .
min

4. Soit A une matrice inversible. On peut trouver U et V unitaires et D = diag(µ i ) telles ques
A = U DV ∗ .

K( A ) = 1 ⇐⇒ µmax = µmin ⇐⇒ ∀ i, µ i = µ ⇐⇒ A = µUV ∗ .

Remarque 1.4 Si on change de norme matricielle, il existe des constantes K 1 et K 2 positives


telles que
∀ A ∈ Mn (R), K 1 cond k·k ( A ) ≤ cond k·k0 ( A ) ≤ K 2 cond k·k ( A ).

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.

2.1 Méthodes directes de résolution de Ax = b


La résolution de Ax = b est très simple dans plusieurs cas :
— si A est diagonale.
— si A est unitaire : si A t A = I , alors A −1 = A t .
— si A est triangulaire supérieure ou inférieure.

2.1.1 Résolution d’un système triangulaire (supérieur)

Définition 2.1 (Matrices et systèmes triangulaires) On dit qu’une matrice carrée A =


(a i j ) est triangulaire supérieure (respectivement triangulaire inférieure) si i > j =⇒ a i j = 0

13
14 CHAPITRE 2. MÉTHODES DE RÉSOLUTION DES SYSTÈMES LINÉAIRES Ax = b

(resp. si i < j =⇒ a i j = 0).


Si la matrice est triangulaire supérieure (resp. triangulaire inférieure), on dira que le système
linéaire est un système triangulaire supérieur (resp. triangulaire inférieur).

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

On remarque que le déterminant de la matrice A définie par


 
a 11 a 12 a 13 ··· · · · a 1n
 0 a
22 a 23 ··· · · · a 2n 
 
 . . .. .. ..
 .. .. ...

. . . 
,
 

 0 ··· 0 a kk · · · a kn 
 .. .. .. .. .. ..
 
. .

 . . . . 
0 ··· 0 ··· 0 a nn
n
Y
est non nul et égal à a ii , donc ∀ i, a ii 6= 0. L’algorithme de résolution de ce système est le
i =1
suivant

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 .

Comptons le nombre d’opérations nécessaires pour résoudre ce système :


1. A chaque étape k : 1 division et n − k multiplications, soit n − k + 1 multiplications au sens
large.
2. A chaque étape k : n − k additions si k ≤ n − 1.
Au total,
n
X nX
−1
( n − k + 1) + ( n − k).
k=1 k=1
n(n+1)
opérations, c’est-à-dire 2 + n(n2−1) = n2 .

Exemple 2.1 pour n = 100 on a 10000 opérations à faire.


2.1. MÉTHODES DIRECTES DE RÉSOLUTION DE Ax = b 15

2.1.2 La méthode de Gauss


On considère maintenant le système « plein » suivant :



 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

···

La méthode du pivot de GAUSS transforme le système Ax = b en un système équivalent


(c’est-à-dire ayant la même solution) de la forme U x = y, où U est une matrice triangulaire
supérieure et y est un second membre convenablement modifié. Enfin on résout le système
triangulaire U x = y.
Le principe de la méthode est le suivent :


 a 11 x1 + a 12 x2 + · · · + a 1n xn = b1
= b 2 L2 −→ L2 − L1 ∗ aa21

a 21 x1 + a 22 x2 + · · · + a 2n xn



 11
.. .. .. .. ..



 . . . . .
a k1

 a k1 1x + a k2 2 x · ·· a kn xn = b k Lk −→ Lk − L1 ∗ a11
.. .. .. .. ..





 . . . . .
a

 a x + a x a nn xn = b n Ln −→ Ln − L1 ∗ an111

n1 1 n2 2 ···

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

On effectue les opérations suivantes sur les lignes se trouvant en dessous de Lk :

a((kk)+1)1
Lk+1 −→ Lk+1 − Lk ∗ k)
a(kk
..
.
a(nk1)
Ln −→ Ln − Lk ∗ k)
a(kk

de sorte que la matrice A k devienne


 
a(1) a(1) (1)
12 a 13 ··· ··· a(1)
 11 (2) (2)
1n
a(2)

 0 a 22 a 23 · · · ··· 2n

 .. . . . .. ..
 
 . .. .. .. . .


(k)
a(k)
 
 0
 ··· 0 a kk ··· kn .

 . . . ..
 .. .. ..

 0 a(k +1)
(k+1)(k+1)
. 

 . .. .. .. .. 
 .. . . 0 . . 
 
(n)
0 0 0 0 ··· a nn

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 .

Exemple 2.2 Soit le système linéaire




 x1 + 2 x2 + 3 x3 + 4 x4 =1

 2x + 3x + 4x + x
1 2 3 4 =2
,


 3 x1 + 4 x2 + x3 + 2 x4 =3
4 x1 + x2 + 2 x3 + 3 x4 =4

Résolution par la méthode du pivot de GAUSS


 

 x 1 + 2 x 2 + 3 3 + 4 x4 = 1 
 x1 + 2 x2 + 33 + 4 x4 =1

 2 x + 3 x + 4 x + x = 2 L −→ L − 2L 
1 2 3 4 2 2 1
 0 − x2 − 2 x3 − 7 x4 =0
=⇒


 3 x1 + 4 x2 + x3 + 2 x4 = 3 L3 −→ L3 − 3L1 

 0 − 2 x2 − 8 x3 − 10 x4 = 0 L3 −→ L3 − 2L2
4 x1 + x2 + 2 x3 + 3 x4 = 4 L4 −→ L4 − 4L1 0 − 7 x2 − 10 x3 − 13 x4 = 0 L4 −→ L4 − 7L2
 
 
 x1 + 2 x2 + 33 + 4 x4 = 1





x1 + 2 x2 + 33 + 4 x4 =1
 0 − x − 2x − 7x =0  0 − x − 2x − 7x =0
2 3 4 2 3 4
=⇒


 0 + 0 − 4 x3 + 4 x4 =0 

 0 + 0 − 4 x 3 + 4 x 4 =0
0 + 0 + 4 x3 + 36 x4 = 0 L4 −→ L4 + L3 0 + 0 + 0 + 40 x4 =0
 

Donc x4 = 0, x3 = 0, x2 = 0, x1 = 1,

Cas d’un pivot nul

Il se peut que a(k)


kk
= 0. Dans ce cas, il faut permuter les équations c-à-d. chercher i > k
tel que a(k)
ik
6= 0 et permuter les lignes i et k dans A (k) et b(k) . Remarquons que puisque A est
inversible, A (k) est inversible. Son déterminant est :

det( A (k) ) = a(1) (2) (k−1) 0


11 a 22 · · · a k−1k−1 det( A ),
2.1. MÉTHODES DIRECTES DE RÉSOLUTION DE Ax = b 17

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.

Définition 2.2 (Matrice de permutation) Soient i et j deux entiers compris entre 1 et n


et soit σ une permutation de l’ensemble {1, 2, ...n}. On appelle matrice de permutation Pσ de
terme général (
1, si i = σ( j )
[Pσ ] i j = δ i,σ( j) =
0, sinon

 
à ! 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
¡ ¢

On a donc immédiatement la valeur de y :


1 − 2²
y= ' 1.
1−²
Par substitution, on obtient x :
1− y
x= ' 0.
²
Essayons maintenant l’élimination après avoir échangé les lignes dans le système :
(
x+ y =2
²x + y = 1

Le même procédé d’élimination que précédemment conduit au système équivalent suivant


(
x+ y =2
(1 − ²) y = 1 − 2²

qui devient, (
x+ y =2
y =1
18 CHAPITRE 2. MÉTHODES DE RÉSOLUTION DES SYSTÈMES LINÉAIRES Ax = b

La solution, tout à fait acceptable cette fois-ci, est x = 1 et y = 1.


L’erreur qu’on faisait avec la première élimination venait de ce qu’on divisait un nombre
par le petit pivot ², ce qui amplifie considérablement les erreurs.

Remarque 2.1 Comptant le nombre d’opération nécessaire dans la méthode de Gauss, au


3 2
total l’algorithme nécessite 2n +6n
6
−2n
. Ainsi, pour n très grand l’algorithme devient instable
et donne des résultats erronés.

2.1.3 La méthode de factorisation LU


La factorisation LU d’une matrice A est une astuce très importante dans le domaine de
l’analyse numérique. Sa base est très simple, mais ses applications sont très nombreuses et très
utiles. Avant de montrer ces applications, regardons ce qu’est la factorisation LU et comment
l’obtenir.
La factorisation LU consiste à écrire une matrice non-singulière A comme le produit de
deux autres matrices L et U . L est une matrice triangulaire inférieure ayant des 1 sur la
diagonale et U une matrice triangulaire supérieure.

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.

Théorème 2.1 (Décomposition LU de A ) Soit A = (a i j ) une matrice carrée d’ordre n telle


que les mineurs principaux dominants soient non nuls. Alors il existe une matrice triangu-
laire inférieure L dont les coefficients diagonaux sont égaux à 1 et une matrice triangulaire
supérieure U telles que A = LU . De plus, une telle décomposition est unique.

Algorithme (Algorithme de factorisation LU ) Soit le système linéaire Ax = b.


Factorisation : On commence par factoriser la matrice A sous la forme d’un produit de
deux matrices A = LU . Les termes non nuls de U et les termes non nuls en-dessous
de la diagonale principale de L sont mémorisés encore dans la matrice A et sont ainsi
calculées :
for k = 1 to n − 1 do
for i = k + 1 to n do
a
a ik ← a ik
kk
for j = k + 1 to n do
a i j ← a i j − a ik a k j
end for
end for
end for
2.1. MÉTHODES DIRECTES DE RÉSOLUTION DE Ax = b 19

Résolution : Résoudre le système linéaire revient maintenant à résoudre successivement

1. le système triangulaire inférieur L y = b : les éléments non nuls de la matrice trian-


gulaire inférieure L sont donné par l i j = a i j pour i = 1, ..., n et j = 1, ..., i et l ii = 1
pour tout i = 1, ..., n, donc l’algorithme s’écrit
y1 ← b 1
for i = 2 to n do
si ← 0
for j = 1 to i − 1 do
si ← si + ai j yj
end for
yi ← b i − s i
end for
2. le système triangulaire supérieur U x = y : les éléments non nuls de la matrice tri-
angulaire supérieure U sont donné par u i j = a i j pour i = 1, ..., n et j = i, ..., n donc
l’algorithme s’écrit
yn
xn ← a nn
for i = n − 1 to 1 do
si ← 0
for j = 1 to i − 1 do
si ← si + ai j yj
end for
y −s
x i ← ia i
ii
end for

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

En supposant que P A = LU , où P est la matrice de changement de pivot partiel, on doit


résoudre 2 n systèmes triangulaires de la forme

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.

Exercice 2.1 Soit les systèmes linéaires


         
1 2 3 4 x1 1 1 2 3 4 x1 10
 2 3 4 1  x   2   2 3 4 1  x2   10 
 2   
=  et =
     

 3 4 1 2   x3   3 
  
x3

 3 4 1 2    10 
4 1 2 3 x4 4 4 1 2 3 x4 10
1. Résoudre les systèmes linéaires par la méthode du pivot de GAUSS.
2. Factoriser la matrice A (sans utiliser la technique du pivot) et résoudre les systèmes li-
néaires.
3. Calculer le déterminant de A .
4. Calculer A −1 .

2.1.4 Méthode de Cholesky


Dans le cas des matrices symétriques, on a une décomposition LU où L et U sont transpo-
sées l’une de l’autre. Cela a un avantage pratique évident : on avait vu que le stockage d’une
matrice symétrique n × n ne nécessite que n(n2+1) coefficients, et donc dans ce cas, la décom-
position LU nécessite uniquement la sauvegarde de la matrice L c’est-à-dire la sauvegarde
de n(n2+1) coefficients. On a alors la décomposition de Cholesky qui est décrite par le résultat
suivant.

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

Exemple 2.5 ÃPour comprendre


! le principe voici un exemple dans le cas n = 2.
a b
On prend A = , alors puisque A Â 0 on a a > 0. On effectue la décomposition LU de A
b c
et on obtient à !à !
1 0 a b
A = LU = b 2 .
a 1 0 c − ba
En extrayant la diagonale de U , on obtient :
à !à !à !
1 0 a 0 1 ab
A = LU = b 2 .
a 1 0 c − ba 0 1
à !à p !
1 0 a 0
On pose L
e= q et on obtient A = L e t.
eL
b b2
a 1 0 c − a

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

2.2 Méthodes itératives de résolution de Ax = b


Une alternative aux méthodes directes de type Gauss, LU ou Cholesky présentées dans
la section précédente est l’utilisation de méthodes itératives. Dans ce type de méthodes on ne
cherche pas à déterminer la solution du système linéaire Ax = b, mais à construire une suite
de vecteurs { xk }k∈N qui converge vers la solution du problème.
Ces méthodes sont utilisées en particulier quand on a des matrices creuses, pour lesquelles
les produits matrices-vecteurs ont un coût essentiellement proportionnel à la longueur des
vecteurs. Si on a une suite { xk }k∈N qui converge rapidement, alors le coût global de l’algorithme
est bien plus faible que celui d’une méthode directe.

2.2.1 Principe général


On veut résoudre le système suivant

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.

La matrice B es appelée la matrice de la méthode itératives.

Définition 2.5 Le système itératif (2.1) est convergent si

lim xk = x, ∀ x0 .
k→+∞

Remarque 2.4 Posons ²k = xk − x, pour k = 0, 1, ...


comme x = Bx + b et xk+1 = Bxk + b on a
²k = Bxk−1 − Bx = B²k−1 = · · · = B k ²0 .
lim xk = x ⇐⇒ lim ²k = 0 ⇐⇒ lim B k ²0 = 0.
k→+∞ k→+∞ k→+∞
Donc le système itératif (2.1) est convergent si lim B k v = 0, ∀v
k→+∞
k
ce qui équivaut à lim kB vk = 0, ∀v pour toute norme vectorielle k · k.
k→+∞

2.2.2 Convergence des méthodes itératives


Le résultat suivant donne le critère fondamental de convergence des méthodes itératives.
2.2. MÉTHODES ITÉRATIVES DE RÉSOLUTION DE Ax = b 23

Théorème 2.3 Les trois conditions suivantes sont équivalentes


1. Le système itérative (2.1) converge.
2. ρ (B) < 1.
3. On peut trouver une norme matricielle k · k telle que kBk < 1.

Démonstration La preuve du théorème se déduit du théorème 1.1 du chapitre 1.

Les questions qui se posent alors sont les suivantes :

1. Comment choisir la matrice B pour que la méthode converge ?

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 ... ?

2.2.3 Les méthodes de Jacobi, de Gauss-Seidel et de relaxation


Nous allons présenter plusieurs façons d’obtenir une matrice B comme ci-dessus à partir de
la matrice originale A du système Ax = b. Supposons que la matrice A puisse s’écrire A = M − N
où la matrice M est "facile" à inverser. Nous aurons alors

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.

Les méthodes de Jacobi et de Gauss-Seidel reposent sur une décomposition particulière de A .


On décompose A en A = D − E − F où D est la matrice diagonale de diagonale la diagonale
de A , E est la partie triangulaire inférieure stricte (sans la diagonale) de A et F est la partie
triangulaire supérieure stricte.

La méthode de JACOBI

La méthode de Jacobi correspond à la décomposition

M = D (diagonale) et N = E + F.

L’algorithme s’écrit alors


(
x0 donné
(2.3)
Dxk+1 = (E + F ) xk + b.

On suppose que D est inversible, c’est-à-dire a ii 6= 0, 1 ≤ i ≤ N.


La matrice J = D −1 (E + F ) = I n − D −1 A est appelée la matrice de Jacobi de (2.3).
24 CHAPITRE 2. MÉTHODES DE RÉSOLUTION DES SYSTÈMES LINÉAIRES Ax = b

La méthode de Gauss-Seidel

La méthode de Gauss-Seidel correspond à la décomposition

M = D − E (triangulaire inférieure) et N = F.

L’algorithme s’écrit alors (


x0 donné
(2.4)
(D − E ) xk+1 = F xk + b.

On suppose que a ii 6= 0, 1 ≤ i ≤ N , alors la matrice L 1 = (D − E )−1 F est la matrice de Gauss-


Seidel.

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,
ω ω

la matrice de la méthode est


¶−1 µ
1 1
µ µ ¶ ¶
Lω = D−E F+ −1 D .
ω ω

L’algorithme s’écrit alors


(
x donné
¡ 01 (2.5)
D − E xk+1 = F + ω1 − 1 D xk + b.
¢ ¡ ¡ ¢ ¢
ω

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.

2.2.4 Convergence des méthodes


Résultat général

Théorème 2.4 Soit A une matrice symétrique définie positive. On suppose que

A = M − N, avec M inversible.

Si la matrice symétrique M t + N est définie positive alors ρ ( M −1 N ) < 1.

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.

— Comme A est symétrique définie positive, l’application


1
v ∈ Rn , kvk = 〈v t , Av〉 2

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

Soit v un vecteur tel que kvk = 1. On pose w = M −1 Av,

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

v 6= 0 =⇒ w = M −1 Av 6= 0 =⇒ w t ( M t + N )w > 0 Donc si la matrice symétrique M t + N est


définie positive, on a
kv − wk2 = 1 − w t ( M t + N )w < 1,
et donc ρ ( M −1 N ) < 1.

Convergence des méthodes de Gauss-Seidel et relaxation

Nous allons utiliser le résultat qui précède pour donner un critère de convergence pour la
méthode de relaxation.

Théorème 2.5 Soit A une matrice symétrique définie positive.

0 < ω < 2 =⇒ La méthode de relaxation converge.

Démonstration On applique le résultat précédent.


On a A = M − N avec M = ω1 D − E et N = N = 1−ωω D + F .
¡ ¢

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

Proposition 2.1 Soit A une matrice, alors pour tout ω 6= 0, ρ (L ω ) ≥ |ω − 1|.

Démonstration Soient (λ i ) i les valeurs propres de L ω . Alors,

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 ¯

Corollaire 2.1 Si A est une matrice symétrique définie positive, alors

0 < ω < 2 ⇐⇒ La méthode de relaxation converge.

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.

Théorème 2.6 Soit A une matrice tridiagonale par blocs. Alors

ρ (L 1 ) = ρ ( J )2 .

Les deux méthodes convergent ou divergent donc simultanément. La méthode de Gauss-Seidel


va plus vite que la méthode de Jacobi.
[ Troisième Chapitre \
Solution d’une équation à une seule variable

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)

alors s est dite une racine de multiplicité p.

Localisation d’une racine


Il faut commencer par localiser la racine, c’est à dire trouver un encadrement de cette
racine.

→ Méthode graphique

En étudiant le tableau de variation et les propriétés de la fonction (continuité, monotonie,


. . . , graphe), on essaye de localiser ainsi tous les intervalles qui contiennent une solution de
f ( x) = 0.

→ Par application du théorème des Valeurs Intermédiaires

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

3.1 Méthode de dichotomie ou de bissection


La méthode de bissection repose sur une idée toute simple. Soit f une fonction continue sur
l’intervalle fermé [a, b] telle que f (a) f ( b) < 0, il existe au moins une racine s dans l’intervalle
[a, b] telle que f ( s) = 0. Si de plus f est strictement monotone dans l’intervalle [a, b], alors s est
unique.
on pose
a+b
a 0 = a, b 0 = b, c 0 = .
2

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 :

Algorithme (Algorithme de dichotomie) On définit deux suites (a n ) et ( b n ) de la manière


suivante :
• a 0 = a, b 0 = b et c 0 = a0 +2 b0 .
• si f (a 0 ) f ( c 0 ) < 0 alors a 1 = a 0 , b 1 = c 0 et c 1 = a1 +2 b1 .
• si f ( b 0 ) f ( c 0 ) < 0 alors a 1 = c 0 , b 1 = b 0 et c 1 = a1 +2 b1 .
Si a n , b n sont connus alors a n+1 , b n+1 sont définis comme suit :
a +b
• on pose : c n = n 2 n alors ;
• si f ( c n ) = 0 on pose a n+1 = b n+1 = c n+1
• sinon :
• si f (a n ) f ( c n ) < 0 on pose a n+1 = a n , b n+1 = c n
• si f ( b n ) f ( c n ) < 0 on pose a n+1 = c n , b n+1 = b n

Cela étant schématisé dans la figure suivante :

Fig. 3.1 – Principe de la méthode de dichotomie.

D’après le graphe on remarque que :


3.1. MÉTHODE DE DICHOTOMIE OU DE BISSECTION 29

|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.

Remarque 3.2 a) L’erreur e 12 = | c 12 − s| = 0.00005641662147 au bout de la 12ème opération


est inférieure à 2b12−+a1 = 0.00006103515625.
30 CHAPITRE 3. SOLUTION D’UNE ÉQUATION À UNE SEULE VARIABLE

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.

3.2 La méthode de point fixe


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

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 :

Algorithme (Algorithme des points fixes) 1. Étant donné un critère d’arret ², le


nombre maximal d’itération N et x0 une valeur estimé du point fixe.
2. Calculer x1 = f ( x0 ).
| xn+1 − xn |
3. Tant que xn+1 > ² et nombre d’itération n’est pas atteint
4. Effectuer xn+1 = f ( xn ).
5. Arrêt.

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

3.2.1 Conditions de convergence


Pour qu’un point fixe existe il faut que :

a) l’ensemble de définition (D f ) et l’ensemble image ( f (D f )) vérifient : f (D f ) ⊆ D f . La condi-

Fig. 3.2 – Condition nécessaire d’existence de point fixe f (D f ) ⊆ D f

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

Fig. 3.3 – f discontinue en α, f (D f ) ⊆ D f n’est pas suffisante

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)

Démonstration Soit g une fonction définie à partir de f par : g( x) = x − f ( x).


• g(a) = a − f (a) < 0 car f (D f ) ⊆ [a, b].
• g( b) = b − f ( b) > 0 car f (D f ) ⊆ [a, b].
Or g est une fonction continue (comme différence de deux fonctions continues) d’après le théo-
rème des valeurs intermédiaires il existe s ∈ [a, b] tel que g( s) = 0 =⇒ f ( s) = 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.

Démonstration a) Existence du point fixe :


Si D f = [a, b] ; voir Théorème 3.1.
3.2. LA MÉTHODE DE POINT FIXE 33

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 ).

f ( x) ≤ | f ( x)| = | f (a) + f ( x) − f (a)| ≤ | f (a)| + | f ( x) − f (a)|


≤ | f (a)| + L| x − a|
≤ | f (a)| + L| x| + L|a|
≤ c + L | x |; c = | f (a)| + L|a|

donc
f ( x ) ≤ c + L | x |.

Soit x̃ > 1−c L (comme L < 1, x̃ > 0)


f ( x̃) ≤ c + L x̃ < x̃(1 − L) + L x̃ = x̃,
on a donc f (a) > a et f ( x̃) < x̃, f admet donc un point fixe entre a et x̃.
Il faut prouver que x̃ > a. En effet,

| f (a)| + |a|
f (a) > a =⇒ f (a) − La > (1 − L)a =⇒ | f (a)| + L|a| > (1 − L)a =⇒ x̃ > > a.
1−L

Si D f =] − ∞, a] on prend f˜( y) = f (− y), f˜ est continue (comme composée de fonctions conti-


nues). On est donc ramené au cas précédent. 
 ( i)
 f ( a) = a
Si D f = R, soit a ∈ R on a les situations suivantes : ( ii ) f (a) > a

( iii ) f (a) < a

i) f (a) = a plus rien à prouver, le point fixe existe.


ii) f (a) > a ; on a toujours | f ( x)| ≤ c + L| x| ou c = | f (a)| + L|a|.
Soit x̃ ≥ 1−c L on a donc f ( x̃) ≤ c + L| x̃| < x̃, f (a) > a et x̃ > a ; il existe donc un point fixe
entre a et x̃.
iii) f (a) < a, on a

−| 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 :

| xn − s| = | f ( xn−1 ) − f ( s)| ≤ L| xn−1 − s| ≤ L2 | xn−2 − s| ≤ ... ≤ L n | x0 − s|

0 < L < 1 ; lim L n = 0 ; ceci montre que lim xn = s


n→+∞ n→+∞
34 CHAPITRE 3. SOLUTION D’UNE ÉQUATION À UNE SEULE VARIABLE

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

| xk+1 − xk | = | f ( xk ) − f ( xk−1 )| ≤ L| xk − xk−1 | ≤ L2 | xk−1 − xk−2 | ≤ · · · ≤ L k | x1 − x0 |

maintenant soient m, n tels que m > n ; considérons

| xm − xn | = | xm − xm−1 + xm−1 − xm−2 + xm−2 .... − xn+1 + xn+1 − xn |


≤ | xm − xm−1 | + | xm−1 − xm−2 | + ... + | xn+1 − xn |
≤ L m−1 | x1 − x0 | + L m−2 | x1 − x0 | + ... + L n | x1 − x0 |
≤ (L m−1 + L m−2 + ... + L n )| x1 − x0 |
≤ L n (1 + L + L2 + ... + L m−n−1 )| x1 − x0 |
1 − L m− n
≤ Ln | x1 − x0 |
1−L
Ln
≤ | x1 − x0 |
1−L
Si on fait tendre m → +∞ tout en gardant n fixe, on a l’encadrement de c.).

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.

Théorème 3.3 f une fonction définie sur [a, b] = D f on suppose :


• f ([a, b]) ⊆ [a, b].
0
• max | g ( x)| = L < 1 pour tout x ∈ [a, b].
alors on a la majoration de l’erreur e n = | xn − s| suivante : e n ≤ L n e 0 . Le nombre minimal
log ² − log e 0
d’itérations qui assure e n ≤ ² est n = N avec : N = log L .
3.3. LA MÉTHODE DE NEWTON-RAPHSON 35

Démonstration e n = | xn − s| = | f ( xn−1 ) − f ( s)| = L| xn−1 − s| = L n | x0 − s| = L n e 0 .


0
Proposition 3.2 Soit s une solution de f ( x) = x avec f continue :
0
• si | f ( s)| < 1 alors il existe un intervalle [a, b] contenant s pour lequel la suite définie par
x0 ∈ [a, b] et xn+1 = f ( xn ) converge vers s.
0
• si | f ( s)| > 1, pour tout x0 6= s la suite définie par x0 et xn+1 = f ( xn ) ne converge pas vers s.

Exemple 3.2 Soit à résoudre e− x − x = 0 ⇐⇒ e− x = x.


0 0
pour x ∈ [0, 1] = D f , f ( x) = e− x : f ([0, 1]) = [ e−1 , 1] ⊆ [0, 1]. f ( x) = − e− x , max | f ( x)| = 1 sur l’inter-
valle [0, 1] n’est pas inférieur à 1, donc il faut changer d’intervalle.
0
Prenons par exemple D f = 21 , log(2) on a f 12 , log(2) = 21 , e−2 ⊆ 12 , log(2) , max | f ( x)] sur
£ ¤ ¡£ ¤¢ £ ¤ £ ¤
−1
[ 21 , log(2)] qui vaut L = e2 qui est bien inférieur à 1.
Partant de x0 = 0.5 on a le tableau des itérations suivantes :
0
n xn f ( xn ) | xn+1 − xn | xn
0 0.50000 0.606531 0.567624
1 0.606531 0.545239 0.106531 0.567299
2 0.545239 0.579703 0.061292 0.567193
3 0.579703 0.560065 0.034464 0.567159
4 0.560065 0.571172 0.019638 0.567148
5 0.571172 0.564863 0.011107 0.567145
6 0.564863 0.568438 0.006309 0.567144
7 0.568738 0.566410 0.003875 0.567144
8 0.566410 0.567560 0.002328
9 0.567560 0.566907 0.00115
10 0.566907 0.567278 0.000653
11 0.567278 0.567067 0.000371
12 0.567067 0.567187 0.000211
13 0.567187 0.567199 0.00012
14 0.567119
L14 e−7
l’erreur lors de la 14ème itération est inférieure à : 1−L | x1 − x0 | = 0.393469 0.106531 = 0.000247.

3.3 La méthode de Newton-Raphson


Soit f : R −→ R une fonction continûment derivable et soit x̂ un zero simple de f , c’est à
0
dire f ( x̂) = 0, f ( x̂) 6= 0. Supposons que l’on connaisse une valeur xn proche de x̂, pour calculer
xn+1 nous prenons l’intersection de l’axe (Ox) avec la droite tangente au graphe de f passant
par le point ( xn , f ( xn )), comme cela est indiqué sur la figure (3.4)
0
Clairement, nous avons la relation f ( xn )/( xn − xn+1 ) = f ( xn ) qui donne, lorsque x0 est choisi
proche de x̂, la méthode de Newton

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

Fig. 3.4 – Méthode de Newton

alors f ( x) = 0 est équivalent à g( x) = x et (3.2) est équivalent à xn+1 = g( xn ).


0 0
En vue d’utiliser le théorème 3.2, calculons g ( x) puis g ( x̂). Nous vérifions que si f est deux
fois continûment dérivable : 0 00
0 f ( x)2 − f ( x) f ( x)
g ( x) = 1 − 0 ,
f ( x)2
0
et par suite, puisque f ( x̂) = 0 et f ( x̂) 6= 0
0
g ( x̂) = 0. (3.3)

Nous annonçons ainsi le théorème suivant

Théorème 3.4 (Convergence globale de la méthode de Newton-Raphson) Soit f une


0
fonction de classe C 2 et supposons que x̂ soit tel que f ( x̂) = 0 et f ( x̂) 6= 0. Alors, il existe ² > 0
tel que x0 satisfait | x̂ − x0 | < ², la suite ( xk )k∈N donnée par la méthode de Newton (3.2) converge
vers x̂, de plus la convergence est quadratique.

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

Il suffit maintenant de poser,


00
max | f ( x)|
x∈[ x̂−², x̂+²]
C= 0 ,
2 min | f ( x )|
x∈[ x̂−², x̂+²]

pour obtenir
| x̂ − xn+1 | ≤ C | x̂ − xn |2 .

Cette dernière inégalité montre que la convergence est bien quadratique.

Théorème 3.5 soit f ∈ C 2 [a, b] on suppose que :


i) f (a) f ( b) < 0,
0
ii) pour tout x ∈ [a, b], f ( x) 6= 0 ( f est monotone sur [a, b] ),
00 00 00
iii) pour tout x ∈ [a, b], f ( x) > 0 ou f ( x) < 0 ( f est de signe constant sur [a, b]),
00
iv) on choisit x0 ∈ [a, b] tel que f ( x0 ) f ( x0 ) > 0,
alors ∀ x0 ∈ [a, b], satisfaisant (iv), la méthode de Newton-Raphson converge vers l’unique
solution s de f ( x) = 0 dans [a, b].

Démonstration On a 4 cas possible

Fig. 3.5 – Méthode de Newton : les 4 cas possible

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].

en changeant f en − f on voit que 2) et 4) deviennent 3) et 1). Il suffit donc de considérer


1) et 3). En changeant f en − f et x en − x le cas 3) se ramène à 1). Il suffit donc de faire la
démonstration pour le cas 1.
00 0
Dans ce cas, f (a) < 0, f ( b) > 0 et f ( x) ≤ 0 sur [a, b], alors f (a) < f ( b) et l’on a f 6= 0 sur
0
[a, b] donc f ( x) > 0 pour tout x ∈ [a, b], f est donc strictement croissante. D’après le théorème
des valeurs intermédiaires T.V.I. ( f (a) < 0, f ( b) > 0 et f continue sur [a, b] ) il existe une unique
0
racine s dans [a, b] (car f > 0).
38 CHAPITRE 3. SOLUTION D’UNE ÉQUATION À UNE SEULE VARIABLE

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)

Remarque 3.8 On se place toujours dans le cas 1 de la démonstration précédente.


— Si f ( x̃0 ) < 0, d’après ce qui précède, la suite est convergente vers s.
f ( x̃ )
— Si f ( x̃0 ) > 0 c-à-d x̃0 > s. x̃1 = x̃0 − f 0 ( x̃00 ) < x̃0 , en appliquant la formule de Taylor, on a :

( 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

3.4 La méthode de sécante


La méthode de Newton possède de grands avantages, mais elle nécessite le calcul de la
dérivé de la fonction f . Si la fonction f est complexe, cette dérivée peut être difficile à évaluer.
0
On contourne cette difficulté en remplaçant le calcul de la pente f ( xn ) de la droite tangente
par l’expression suivante :
0 f ( xn ) − f ( xn−1 )
f ( xn ) ' .
xn − xn−1
Cela revient à utiliser la droite sécante passant par les points ( xn , f ( xn )) et ( xn−1 , f ( xn−1 )) au
lieu de la tangente passant par ( xn , f ( xn )).
Graphiquement : on localise deux points A = (a, f (a)) et B = ( b, f ( b)) tels que f (a) f ( b) < 0
(voir la figure (3.6)), on trace le segment de droite ( AB) joignant A et B. L’équation de cette
droite est donnée par :
f ( b ) − f ( a)
y = f ( a) + ( x − a)
b−a
soit A 1 ( x1 , 0) le point d’intersection de la droite ( AB) avec l’axe des abscisses, A 1 vérifie l’équa-
tion de la droite AB, donc
b−a
x1 = a − f (a) .
f ( b ) − f ( a)

Fig. 3.6 – Principe de la méthode de la secante.

Considérons le point B1 ( x1 , f ( x1 )) et traçons le morceau de droite (B1 B) joignant B1 et B.


L’équation de la droite (B1 B) est donnée par :

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 )

converge vers x̃ et la convergence est au moins d’ordre p = 1, 618....


3.5. COMPARAISON DES ALGORITHMES 41

Démonstration La démonstration de ce résultat suit essentiellement les mêmes étapes que


celle du théorème 3.2.

3.5 Comparaison des algorithmes


Pour comparer les algorithmes, il est important de tenir compte de la présence ou non des
facteurs suivants :
— assurance de la convergence
— vitesse de la convergence
— stabilité de l’algorithme et précision des résultats
— efficacité des calculs (ex : nombre de fonctions à calculer à chaque itération).

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

Méthodes Avantages Inconvénients

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.

4.1 Polynôme d’interpolation d’une fonction


4.1.1 Définitions
On suppose connues les valeurs d’une fonction f en un nombre fini de points distincts selon
le tableau suivant :
x x0 x1 · · · xn
f ( x) f 0 f 1 · · · f n
Un tel tableau peut être le résultat de mesures effectuées expérimentalement.
On se propose alors d’approcher f par une fonction simple de type polynomial P n , de degré
inférieur ou égal à n et telle que

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 ).

Fig. 4.1 – Exemple d’interpolation polynomial

Lorsqu’on travaille sur un intervalle [a, b] l’interpolation polynômiale :

43
44 CHAPITRE 4. INTERPOLATION ET APPROXIMATION POLYNÔMIALE

— permet de donner une approximation numérique P n (α) de f (α) pour α appartenant à


[a, b] et α 6= x i , i = 0, ..., n. On dira qu’on a interpolé,
— sert à construire des formules explicites utiles pour le calcul approché d’intégrales.

4.1.2 Théorème d’existence et d’unicité de P n


On a le résultat :

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

qu’on peut écrire sous forme matricielle

1 x0 x02
    
a0 f0
 1 x1 x12   a 1  =  f 1 
    

1 x2 x22 a2 f2

Le déterminant de la matrice de ce système (appelé déterminant de Vandermonde) se calcule


sous Matlab :

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

4.2 Les polynômes de Taylor

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.

4.2.1 Exemple d’estimation de l’erreur


Nous allons montré dans cet exemple pourquoi nous avons eu besoin de prendre n = 15
pour obtenir une approximation de e (c-à-d fonction exponentielle au point 1) par S 15 avec une
1 1 1 1
précision de 10−13 avec S n = 1 + 1! + 2! + 3! + ... + n! .
46 CHAPITRE 4. INTERPOLATION ET APPROXIMATION POLYNÔMIALE

f ( x) = e x , f n ( x) = e x , le développement de Taylor au point x0 = 0 à l’ordre 15 de f est donné


par f ( x) = P15 ( x) + E 15 ( x).

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)!

où M ≤ max{| f n+1 ( x)| : x0 − R ≤ x ≤ x0 + R }.


On remarque alors que :
• Si n est fixé, et | f n+1 ( t)| est bornée sur [ x0 − R, x0 + R ], le majorant de l’erreur (4.1) est
donc proportionnelle à R n+1 /( n + 1)! et décroît lorsque R → 0.
• Si R est fixé, le majorant de l’erreur (4.1) est inversement proportionnel à ( n + 1)! et tend
vers zéro lorsque n devient suffisamment grand. Ceci est schématisé dans la figure sui-
vante :

Fig. 4.2 – Approximation polynômiale de Taylor.

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

4.3 Interpolation polynômiale de Lagrange


Soit f : [a, b] −→ R connue en n + 1 points distincts x0 , x1, ..., xn . Il s’agit de construire un
polynôme P de degré inférieur ou égal n tel que

∀ n = 0, 1, ...n, P n ( x i ) = f ( x i ). (4.2)

Théorème 4.3 Il existe un et un seul polynôme de degré inférieur ou égal à n solution de


(4.2). Le polynôme s’écrit
n
X
P n ( x) = f ( x i ) L i ( x ), (4.3)
i =0
où,
n
Y ( x − xk )
L i ( x) = , (4.4)
k=0, k6= i x i − x k

Le polynôme P n est appelé polynôme d’interpolation de Lagrange de la fonction f aux points


x0 , x1 , ..., xn . Les polynômes L i ( x) sont appelés polynômes de base de Lagrange associés à ces
points.

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 :

A 0 (2, 1), A 1 (3, 2), A 2 (−1, 3), A 3 (4, 4),

on pose : x0 = 2, x1 = 3, x2 = −1 et x3 = 4. f 0 = 1, f 1 = 2, f 2 = 3 et f 3 = 4. Polynômes de La-


grange élémentaires :

( 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

4.3.2 Estimation de l’erreur

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

Démonstration Si x = x i , f ( x) − P ( x) = 0 donc l’équation (4.5) est vérifiée.


Si x 6= x i soit ψ la fonction auxiliaire définie par :

ψ( t) = f ( t) − P ( t) − ( t − x0 )( t − x1 )...( t − xn )φ( x) x est un paramètre


f ( x) − P ( x)
φ( x ) =
( x − x0 )( x − x1 )...( x − xn )

on remarque que ψ( x0 ) = ψ( x1 ) = ... = ψ( xn ) = ψ( x) = 0, donc ψ est un polynôme ayant n + 2


racines
Résultats préliminaires :
0
Si g : [a, b] −→ R telle que g existe
0
Si g possède ( n + 2) zéros distincts alors g possède au moins ( n + 1) zéros distincts.
généralisation du théorème de Rolle : Si g ∈ C (n+1) ([a, b]) et si g possède au moins ( n + 2) zéros
alors g n+1 a au moins un zéro.
D’après le théorème de Rolle généralisé, la fonction ψn+1 admet au moins un zéro. Soit θ ∈
]a, b[ tel que : ψn+1 (θ ) = 0, On conclut donc que l’erreur est donnée par :

( 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]

4.4 Interpolation polynômiale de Newton

4.4.1 Polynôme de Newton


L’inconvenient majeur des polynômes de Lagrange c’est qu’il n’y a pas de relation de ré-
currence entre eux. En d’autres termes, chaque polynôme doit être construit individuellement
et il n’y a pas moyen de calculer le polynôme de degré n à partir de celui de degré n − 1 : les
deux polynômes sont complètement indépendants. La méthode de Newton nous permettra de
4.4. INTERPOLATION POLYNÔMIALE DE NEWTON 49

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 )

On remarque que P n est obtenu à partir de P n−1 en utilisant la relation :

P n ( x) = P n−1 ( x) + a n ( x − x0 )( x − x1 )...( 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

4.4.3 Interpolation polynômiale de Newton


Nous allons déterminer les coefficients a k pour tout les polynômes P1 , P2 , ..., P n qui ap-
prochent une fonction f donnée. La détermination des constantes a k se fait à partir du fait
que les polynômes de Newton P j coïncident avec la fonction f au points x0 , x1 , ..., x j : f ( x i ) =
P j ( x i ), i = 0, 1, ..., j.
Pour le polynôme P1 , a 0 et a 1 sont déterminés à partir de

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 )

a 2 est donc donné par :

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

Cela nous amène a introduire le concept des différences divisées :

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
.. ..
. = .

La formule de récurrence est donc définie par :

f [ xk− i+1 , ..., xk ] − f [ xk− i , ..., xk−1 ]


f [ xk− i , xk− i+1 , ..., xk ] = (4.14)
x k − x k− i

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 :

Pn (xi ) = f ( x i ) pour i = 0, 1, ..., n


P n ( x) = a 0 + a 1 ( x − x0 ) + ... + a n ( x − x0 )( x − x1 )...( x − xn−1 )
où a i = f [ x0 , x1 , ..., x i ] pour i = 0, 1, ..., n

de plus, pour tout x ∈ [a, b] il existe f ∈ [a, b] 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 (θ )

E n est l’erreur de l’approximation de Newton.


4.5. POLYNÔMES DE TCHEBYCHEV 51

4.4.4 Exemple de construction du Polynôme de Newton


Soit f ( x) = x4 − 2 x3 + x2 − x − 1, construisons les différences divisées basées sur les points
x0 = 1, x1 = 2, x2 = 3, x3 = 4, x4 = 5 et x5 = 6 :
xi f [ x i ] f [, ] f [, , ] f [, , , ] f [, , , , ] f [, , , , , ]
x0 = 1 −2 − − − − −
x1 = 2 1 3 − − − −
x2 = 3 32 31 14 − − −
x3 = 4 139 107 38 8 − −
x4 = 5 394 255 74 12 1 −
x5 = 6 893 499 122 16 1 0
Le polynôme de Newton s’écrit donc comme suit :

P4 ( x) = −2 + ( x − 1)[3 + ( x − 2)[14 + ( x − 3)[8 + ( x − 4)]]]

4.5 Polynômes de Tchebychev


La formule (4.15) montre que l’erreur de l’approximation polynômiale de Newton est un
produit de la dérivée ( n + 1)ème de f , évaluée à un point inconnu, avec l’expression ( x − x0 ) · · · ( x −
xn ) qui ne dépend que de la subdivision ( x0 , x1 , · · · , xn ). Il est alors intéressant de chercher, pour
un n donné, la subdivision de [a, b] pour laquelle :

x ∈ [a, b], |( x − x0 ) · · · ( x − xn )| soit minimal. (4.16)

Le polynôme de Tchebychev apporte un élément de réponse à cette question.

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).

Il est facile de voir que : T0 ( x) = 1, T1 ( x) = x et T2 ( x) = 2 x2 − 1.

Propriétés 4.1

i) Les fonctions T n ( x) satisfont la relation de récurrence suivante :


T n+1 ( x) = 2 xT n ( x) − T n−1 ( x). (4.17)
Par conséquent, T n ( x) est un polynôme de degré n dont le coefficient de x n est 2n−1 .
ii) |T n ( x)| ≤ 1 pour x ∈ [−1, 1], T2m (− x) = T2m ( x) et T2m+1 (− x) = −T2m+1 ( x).
iii) T n ( cos( knπ )) = (−1)k , pour k = 0, 1, ..., n.
+1)π
iv) T n ( cos( (2k2n )) = 0, pour k = 0, 1, ..., n − 1.
v) Les polynômes T n ( x) sont orthogonaux par rapport à la fonction de poids p 1 :
1− x 2

Z 1
dx  π, si n = m = 0 ;

π
p T n ( x) T m ( x) = 2 , si n = m 6= 0 ;
(4.18)
−1 1 − x 2 
0, si n 6= m.

52 CHAPITRE 4. INTERPOLATION ET APPROXIMATION POLYNÔMIALE

Démonstration

i) L’équation (4.17) est une conséquence immédiate de la relation :

cos(( n + 1)θ ) + cos(( n − 1)θ ) = 2 cos(θ ) cos( nθ ).

ii) Facile à établir.


iii) Facile à établir.
iv) Facile à établir.
v) Pour montrer l’orthogonalité, on pose cos(θ ) = x et donc θ = arccos( x) :
Z 1 dx
Z π
p T n ( x) T m ( x) = cos( nθ ) cos( mθ ) d θ
−1 1 − x2 0
1 π
Z
= [cos(( n + m)θ ) + cos(( n − m)θ )] d θ
2 0

 π, si n = m = 0 ;

π
= 2 , si n = m 6= 0 ;
(4.19)

0, si n 6= m.

A l’aide de la relation (4.17) on montre facilement qu’on a le tableau suivant :

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

Théorème 4.6 Si E n désigne l’ensemble des polynômes de degré n et dont le coefficient de x n


est 1, alors pour tout polynôme p de E n on a :

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

Le théorème précédent montre bien que :

x ∈ [a, b], |( x − x0 ) · · · ( x − xn )| soit minimal.

si et seulement si ( x − x0 )( x − x1 )...( x − xn ) = T̃ n+1 ( x), c-à-d, si


(2 k + 1)π
µ ¶
xk = cos , k = 0, 1, ..., n
2( n + 1)
les xk sont appelés les points de Tchebychev. Pour répondre à la question (4.16), il faut utiliser
la translation x → a+2 b + b−2 a x qui envoie l’intervalle [−1, 1] sur [a, b]. On a donc le théorème
suivant :.

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]

PC est le polynôme d’interpolation de Lagrange basée sur les points de Tchebychev.

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

choisissant les points de Tchebychev.


Cet exemple est dû a Runge (appelé phénomène de Runge) met bien en évidence les effets
de bord. Par contre, si on utilise les points de Tchebychev, on constate que les effets de bord
disparaissent.
54 CHAPITRE 4. INTERPOLATION ET APPROXIMATION POLYNÔMIALE

Fig. 4.3 – Utilisation des Polynôme de Tchebychev.

4.6 Interpolation d’Hermite


On cherche un polynôme qui prenne non seulement ses valeurs en un certain nombre de
points d’interpolation donnés mais dont le polynôme dérivé est aussi fixé en ces points c-à-d on
cherche un polynôme P tel que

P ( x i ) = yi , i = 0, ..., n
0
P (xi ) = zi , i = 0, ..., n

On a 2( n + 1) = 2 n + 2 valeurs données, le polynôme P sera de degré au plus 2 n + 1.

Théorème 4.8 Il existe un unique polynôme P de degré au plus 2 n + 1 tel que

P ( x i ) = yi , i = 0, ..., n
0
P (xi ) = zi , i = 0, ..., n

Démonstration

Unicité Soient P et Q deux polynômes de degré au plus 2 n + 1 tel que


0 0
P ( x i ) = Q ( x i ) = yi et P ( x i ) = Q ( x i ) = z i , i = 0, ..., n

Notons R = P −Q , polynôme de degré au plus 2 n + 1. Alors R possède au moins n + 1 racines


doubles (les x i ) soient 2 n + 2 racines, ce qui signifie que R est un polynôme nul.
n
X n
X
Existence On pose P ( x) = x i h i ( x) + z i k i ( x) où
i =0 i =0

0
h i ( x) = [1 − 2( x − x i )L i ( x i )]L2i ( x)
k i ( x) = ( x − x i )L2i ( x)

où les L i sont les polynômes de Lagrange vérifiant


(
1, si i = k
L i ( xk ) = δ ik =
0, sinon
4.7. INTERPOLATION SPLINE CUBIQUE 55

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

Le polynôme P est donc le polynôme cherché.

4.6.1 Estimation de l’erreur

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.

4.7 Interpolation Spline cubique

4.7.1 Approximation par des fonctions polynômiales par morceaux


L’inconvénient majeur de l’interpolation polynômiale est que le nombre de points de contrôle
influence directement le degré du polynôme d’interpolation ce qui peut mener des erreurs d’in-
terpolation importantes. De plus il est souvent nécessaire d’obtenir des courbes de plus en plus
régulières. On peut mesurer la régularité de fonction par le biais de ses dérivées. En effet, plus
une courbe est différentiable, plus la courbe qui lui ai associé est lisse plus la fonction est ré-
gulière. Le problème lorsqu’on utilise des polynômes de faible degré, provient du fait qu’il faut
utiliser plusieurs pour relier tout les points. C’est le cas de l’interpolation linéaire par mor-
ceaux illustré dans la figure 4.4 qui consiste à relier chaque pairs de points par un segment de
droite.
56 CHAPITRE 4. INTERPOLATION ET APPROXIMATION POLYNÔMIALE

La restriction de l’approximation P à l’intervalle [ x i−1 , x i ] est donnée par :

P i ( x) = f [ x i−1 ] + f [ x i−1 , x i ]( x − x i−1 ).

La fonction P ainsi construite est évidemment continue sur l’intervalle [a, b].

Fig. 4.4 – Approximation linéaire par morceaux

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

Fig. 4.5 – Spline cubique

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)

Au total on a 4 n − 2 équations en 4 n inconnues et il manque donc 2 équations pour pouvoir


résoudre ce système linéaire. Voyons maintenant comment déterminer l’équation de la spline
p i ( x) dans chacun des intervalles [ x i−1 , x i ]. Il est possible de ramener ce système de 4 n − 2
équations en 4 n inconnues en un système beaucoup plus petit de ( n − 1) équations en ( n − 1)
00
inconnues. Ces ( n − 1) inconnues sont tout simplement les valeurs des dérivés secondes ( f i ) de
la spline au points d’interpolation.
La résolution du système est basée sur la constatation suivante : puisque la spline est
constitué de polynôme de 3 degré dans chaque intervalle, la dérivé seconde de la spline étant
un polynôme de degré 1 dans chaque intervalle. De plus ses dérivés secondes sont continues
en chacun des points x i .
Ainsi dans l’intervalle [ x i−1 , x i ], la formule de l’interpolation de Lagrange donne

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

On peut simplifier l’expression en posant h i = x i − x i−1 pour i = 1, ..., n, ce qui donne

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

En égalisons ces deux expressions évalués en x = x i et en les simplifiant, on obtient les n − 1


équations

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 :

h i + h i+1 = x i − x i−1 + x i+1 − x i = x i+1 − x i−1

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

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 ])

Le problème initiale nous a conduit à un système tridiagonale de dimension ( n − 1). On sait


que les systèmes tridiagonale sont très facile à résoudre puisque la décomposition LU se réduit
dans ce cas à peu d’opérations.
[ Cinquième Chapitre \
Intégration et dérivation numérique

5.1 L’intégration numérique


5.1.1 Introduction
L’intégration est un des problèmes les plus importants que l’on rencontre en analyse. En
effet, on rencontre souvent des intégrales dont le calcul par des méthodes analytiques est très
compliqué ou même impossible, car il n’existe pas d’expression analytique de la primitive de la
fonction à intégrer. Voici quelques exemples :
π
Z 1 Z
2
Z 1
− x2
p
e dx, 1 + cos2 ( x) dx, cos( x2 ) dx.
0 0 0

Dans ces cas, on peut appliquer des méthodes numériques pour évaluer la valeur de l’intégrale
donnée.
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

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.
α

I est indépendant de F et ne dépend que de α, β et f .


Rt
5. Si t ∈ [a, b], la fonction F de [a, b] dans R définie par F ( t) = α f ( x) dx est une primitive de
0
f : telle que F (α) = 0 et F ( t) = f ( t) pour tout t ∈ [a, b].

5.1.3 Interprétation géométrique de l’intégrale


Soit une fonction numérique f : [a, b] −→ R continue,
Rb
1. Si f ≥ 0 sur [a, b], a f ( t) dt est la surface hachurée de la figure 5.1.
2. Si f change de signe sur [a, b], dans ce cas on considérera la somme algébrique voir figure
5.2.

61
62 CHAPITRE 5. INTÉGRATION ET DÉRIVATION NUMÉRIQUE

Fig. 5.1 – f de signe constant

Fig. 5.2 – f change de signe

5.1.4 Principe du calcul approchée de l’intégrale


l’interprétation géométrique de l’intégrale suggère de décomposer la surface sous le graphe
de la fonction en éléments d’aires simples (rectangles, triangles, trapèzes ...).
L’idée est donc de subdiviser le segment [a, b] en plusieurs sous-segments [a i , a i+1 ] où ( i =
0, ..., n − 1, a 0 = a, a n = b).
Z b nX
−1 Z a i+1
f ( t) dt = f ( t) dt
a i =0 a i
R a i+1
on est donc ramené à évaluer a i f ( t) dt sur un petit segment [a i , a i+1 ] où f ne varie pas trop.
Ce qui nous amène à proposer la formule approximative suivante sur un petit intervalle [α, β]
de [a, b] :
Z β
f ( t) dt = I α,β ( f ) + R α,β ( f ). (5.1)
α
I α,β ( f ) est l’approximation proposée, R α,β ( f ) est un reste : "l’erreur de la méthode" (5.1) est
dite formule simple ou élémentaire. La formule (5.1) appliquée sur chaque segment [a i , a i+1 ]
nous donne la formule approximative Composée :
Z b nX
−1 nX
−1
f ( t) dt = I a i ,a i+1 ( f ) + R a i ,a i+1 ( f ).
a i =0 i =0

Dans tout ce qui suit nous considérons la subdivision suivante :


b−a
a 0 = a, a i = a + ih, a n = b avec h = , i = 0, ..., n.
n
cette subdivision est appelée la subdivision régulière de pas h.
5.2. FORMULE DES RECTANGLES ( AVEC POINT MILIEU ) 63

Fig. 5.3 – Subdivision de [a, b] et approximation de ab f (x)dx par la somme des surfaces hachurées
R

5.2 Formule des rectangles ( avec point milieu )


5.2.1 Formule élémentaire
α+β
On remplace le graphe de la fonction f entre [α, β] par une droite y = f (γ), où γ = 2 est le
point milieu de [α, β]. (voir figure 5.4)

Fig. 5.4 – Méthode des rectangles avec point milieu.

Z β
f ( t) dt ≈ h f (γ) + R α,β ( f ), h = β − α.
α

5.2.2 Estimation du reste R α,β


Supposons que f a une dérivée seconde continue (F aura donc une dérivée tierce continue).
La formule de Taylor à l’ordre 3 entre γ et β appliquée à F :

0 (β − γ)2 00 (β − γ)3 000


F (β) − F (γ) = (β − γ)F (γ) + F (γ) + F (² )
2 3!
h h2 0 h3 00
= f (γ) + f (γ) + f (²), ² ∈ [γ, β] (5.2)
2 8 48
Formule de Taylor entre α et γ :

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

En retranchant (5.3) de (5.2) on obtient la relation :


00 00
h3 f (η) + f (²)
F (β) − F (α) = h f (γ) +
24 2
00
f est une fonction continue, d’après le théorème des valeurs intermédiaires il existe θ ∈]η, ²[
telle que
1 00 00 00
( f (η) + f (²)) = f (θ )
2
La formule élémentaire devient donc :
Z β
h3 00
f ( t) dt = h f (γ) + f (θ ), α < θ < β.
α 24

5.2.3 Formule composée


00
Supposons que f : [a, b] −→ R a une dérivée seconde f continue, considérons la subdivision
(a i ) i=0,1,...,n de pas h = b−n a , sur chaque intervalle [a i , a i+1 ] on a la formule élémentaire :

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

d’ou la formule composée suivante :


b nX
−1 h3 nX
−1 1 00
Z
f ( t) dt = h f (γ i ) + n f (θ i ).
a i =0 24 i=0 n
00
Or, f est continue, d’après le théorème des valeurs intermédiaires, il existe θ ∈ [a, b] tel que :

1 nX
−1 00 00
f (θ i ) = f (θ )
n i=0

en tenant compte du fait que nh = ( b − a), on obtient comme formule composée :


Z b nX
−1 ³ a + a ´ h2 00
i i +1
f ( t) dt = h f + ( b − a ) f (θ ) .
a i =0 2 24
| {z } | {z }
Rn( f )
Qn( f )

graphiquement on a le schéma suivant :

Fig. 5.5 – Méthode des rectangles avec point milieu.


5.3. LA MÉTHODE DES TRAPÈZES 65

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

5.2.4 Estimation de l’erreur


00 2
h
— si f ≤ M sur [a, b] on a une estimation à priori de l’erreur 24 ( b − a) M
— Pour limiter le nombre d’évaluations de f , on peut se limiter au cas où n est une puis-
sance de 3 ( n : 1, 3, 9, 27, ... ). |Q n − Q 3n | fournit en général une estimation de l’erreur.

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

Fig. 5.6 – Méthode du trapèze.

5.3 La méthode des trapèzes


Cette méthode consiste à remplacer la courbe de la fonction f entre α et β par une droite
passant par les deux points (α, f (α)) et (β, f (β)). Ceci est schématisé dans la figure suivante :

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 :

F (β) − F (α) − h2 ( f (β) + f (α))


k=
( h/2)3
0
ϕ(0) = ϕ( h/2) = 0, d’après le théorème de Rolle il existe ² ∈]0, h/2[ telle que ϕ (²) = 0, or

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

5.3.1 Formule composée


00
On suppose que f : [a, b] vers R a une dérivée seconde continue f . On considère la subdi-
vision régulière de pas h de [a, b] : a 0 = a < a 1 < a 2 < ... < a n = b, sur chaque [a i , a i+1 ] on a par
application de la formule élémentaire :

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 :

Fig. 5.7 – Méthode des trapèze.

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
.

5.3.2 Estimation de l’erreur


00 2
— Si f est Majorée par M on a : |R n ( f )| ≤ (b−a)h
12
M
.
— Pour limiter le nombre d’évaluations de f , on peut se limiter au cas où n est une puis-
sance de 2, alors dans ce cas |T2n − T n | fournit une estimation de l’erreur ainsi qu’un
test d’arrêt des itérations.
68 CHAPITRE 5. INTÉGRATION ET DÉRIVATION NUMÉRIQUE

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

5.4 Méthode de Simpson : Accélération de la


convergence (1710-1761)
5.4.1 Formule élémentaire
Pour établir la formule élémentaire des rectangles et des trapèzes, on a en fait interpolé la
fonction f :
— par une droite horizontale ( un polynôme de degré 0) dans la méthode des rectangles
avec point milieu.
— par une droite ( un polynôme de degré 1 ) dans la méthode des trapèzes.
On peut espérer améliorer la précision en approchant le graphe de f par l’arc de parabole
α+β
d’axe vertical, passant par les points A (α, f (α)), B(β, f (β)) et C (γ, f (γ)) (avec γ = 2 ). Ce qui
revient à interpoler f en ces points par un polynôme de degré 2.
On montre facilement que le polynôme de degré 2 qui passe par A , B et C est de la forme :

( x − γ)( x − β) ( x − α)( x − β) ( x − α)( x − γ)


P ( x) = f (α) + f (γ) + f (β)
(α − γ)(α − β) (γ − α)(γ − β) (β − α)(β − γ)
2
= [( x − γ)( x − β) f (α) − 2( x − α)( x − β) f (γ) + ( x − α)( x − γ) f (β)]
h2

On a donc α P ( x) dx = h6 ( f (α) + 4 f (γ) + f (β)) on propose donc la formule élémentaire sui-
vante :
Z β h
f ( t) dt = ( f (α) + 4 f (γ) + f (β)) + R α,β
α 6
pour exprimer le reste, en est amené à supposer que f a une dérivé quatrième f 4 continue :
considérons la fonction auxiliaire : ϕ : [0, h2 ] −→ R définie par

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

Fig. 5.8 – Méthode de Simpson

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

f 3 (²3 + γ) − f 3 (γ − ²3 ) = 2²3 f 4 (η)

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

ceci est la formule élémentaire pour la méthode de Simpson.

5.4.2 Formule composée


On suppose que f : [a, b] vers R a une dérivée quatrième f 4 continue. On considère une sub-
division régulière de pas h = b−n a de [a, b] : a 0 = a < a 1 < a 2 < ... < a n = b sur chaque intervalle
[a i , a i+1 ] on a :

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 )).

5.4.3 Estimation de l’erreur


— En pratique il est difficile d’obtenir une majoration de la dérivée 4ème . Sinon, si M est
un majorant de f 4 on a :
h4 M
|R n ( f )| ≤ ( b − a)
2880
— Pour limiter le nombre d’évaluations de f , on peut se limiter au cas où n est une puis-
sance de 2. Alors dans ce cas |S 2n − S n | fournit une estimation de l’erreur ainsi qu’un
test d’arrêt des itérations.

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

5.5 Dérivation numérique


Dans cette partie nous abordons le problème d’approximation de la dérivée d’ordre k de f
en un point x0 donné : f k ( x0 ), k = 1, 2.... Nous allons voir que si l’on connais les valeurs prises
par f en un certain nombre de points x i = x0 + ih, i = 1, 2, ... il est possible de trouver une
approximation de f k ( x0 ). Dans ce qui suit, nous supposons que f est suffisamment dérivable
au voisinage de x0 .

5.5.1 Approximation polynômiale


Dans le chapitre précèdent, nous avons montré que toute fonction f : [a, b] −→ R, f ∈
n+1
C [a, b], si x0 ∈ [a, b] (un point fixe), alors pour tout x ∈ [a, b], 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 )
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 .

5.5.2 Approximation de la dérivée première


A partir du développement de Taylor (5.5), on est en mesure de donner une approximation
de la dérivée première de f en x0 :

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

de l’équation (5.8), on obtient l’approximation suivante de la dérivée :

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 .

5.5.3 Approximation de la dérivée seconde


La somme des équations (5.11) et (5.11) donne :

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

La résolution numérique approchée d’équations différentielles ordinaires constitue un vaste


domaine d’études et de recherches depuis plus de trois siècles et notre objectif est d’en offrir
au lecteur un premier aperçu. De telles équations interviennent dans de nombreux problèmes
issus de la modélisation mathématique de phénomènes physiques ou biologiques et se ren-
contrent par conséquent dans des disciplines aussi variées que l’ingénierie, la mécanique ou
l’économie. Après quelques rappels concernant les bases de la théorie des équations différen-
tielles ordinaires, nous décrivons des méthodes de résolution numérique parmi les plus clas-
siques et analysons leurs propriétés au moyen de techniques générales.
Il s’agit de résoudre numériquement les systèmes d’equations différentielles du type

0
(
y ( t) = f ( t, y( t)), t > 0
(6.1)
y(0) = y0 donné

où y : [0, +∞[−→ Rn est une fonction vectorielle inconnue de la variable t (représentant le


plus souvent le temps), y0 un vecteur donné de Rn décrivant l’état initial et f une application
de [0, +∞[×Rn dans R n .
Nous cherchons à déterminer l’ensemble des fonctions y vérifiant (6.1) ; ce sont les solutions
du système différentiel proposé.

6.1 Quelques remarques sur (6.1)


Si y( t) = ( y1 ( t), y2 ( t), ..., yn ( t)), le système (6.1) s’écrit
 0

 y1 ( t) = f 1 ( t, y1 ( t), ..., yn ( t))
 y0 ( t) = f 2 ( t, y1 ( t), ..., yn ( t))


2
.. , yi (0) = y0i i = 1, ..., n. (6.2)


 .
 0

yn ( t) = f n ( t, y1 ( t), ..., yn ( t))

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.

6.1.1 Généralités théorique


Avant d’aborder l’étude numérique de (6.1), il est bon d’avoir à l’esprit quelques idées
simples sur l’existence et le comportement des solutions de (6.1) :

→ 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

dès que a est une fonction continue de t.


Considérons

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 .

Plus généralement, la solution est encore donnée par y( t) = e tA y0


où e tA est la matrice définie par

X tn
+∞
e tA = An.
n=0 n!
76 CHAPITRE 6. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES

Lorsque la matrice A dépend raisonnablement du temps, on montre encore que (6.4) a


une solution unique existant pour tout t > 0. Ces deux propriétés peuvent malheureusement
aisément disparaître lorsque la fonction f est non linéaire.

→ Exemples non linéaires

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.

Fig. 6.1 – Deux solutions distinctes de l’équation différentielle (6.6)


6.1. QUELQUES REMARQUES SUR (??) 77

6.1.2 Existence de solution


Soient [a, b] un intervalle de R, t 0 ∈ [a, b], Y0 ∈ Rn . Y une fonction dérivable sur [a, b] à
valeurs dans Rn et f une fonction de [a, b] × Rn dans Rn .
Considérons le système différentiel du premier ordre :
0
(
Y ( t) = f ( t, Y ( t)), ∀ t ∈ [a, b]
(6.7)
Y (a) = Y0 donné

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 :

∃L > 0 tel que k f ( t, Y1 ) − f ( t, Y2 )k ≤ LkY1 − Y2 k pour tout t ∈ [a, b] et Y1 , Y2 ∈ Rn (6.8)

Alors dans ce cas le problème de Cauchy admet une solution unique.

Remarque 6.1 Parfois la condition (6.8) est trop forte ; la fonction f est seulement localement
Lipschitzienne, c’est-à-dire

∀τ ∈ [a, b], ∀Y1 ∈ Rn , ∃( r, L) ∈ R∗+ × R+ : ∀ t ∈ [a, b], ∀Y2 ∈ Rn ,

|τ − t| ≤ r et kY1 − Y2 k ≤ r =⇒ k f ( t, Y1 ) − f ( t, Y2 )k ≤ LkY1 − Y2 k. (6.9)

Dans ce cas, seule l’existence locale de la solution de (6.8) est assurée :

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

6.2 Méthode d’Euler


La méthode d’Euler est la méthode numérique la plus simple mais pas la plus efficace qui
est utilisée pour résoudre une équation différentielle.
On considère le problème de Cauchy suivant :
( 0
y ( t) = f ( t, y( t)), ∀ t ∈ [a, b]
(6.10)
y(a) = y0 donné
La méthode d’Euler consiste à subdiviser l’intervalle [a, b] en points équidistants : t 0 =
a, t 1 , ..., t n = b avec t i+1 − t i = h où h = b−n a est le pas de la subdivision. On en déduit t i = a + ih
pour i = 0, 1, ..., n.
Supposons que la solution du problème soit deux fois dérivable alors d’après le développe-
ment de Taylor et pour chaque indice i = 0, ..., n − 1, il existe c i ∈ [ t i , t i+1 ] tel que :

( 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

Fig. 6.2 – La courbe en trait plein correspond à la solution analytique

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.

6.2.1 Etude de la convergence de la méthode d’Euler


Considérons la suite des itérés d’Euler relative au problème(6.10) définie par les relations
(6.11).
Considérons pour tout i ∈ {0, ..., n} l’erreur globale e i commise à l’étape i dans le calcul
approché de la solution :
e i = y( t i ) − yi .

Nous supposons ci-dessous que les dérivées nécessaires existent.

Evaluation de l’erreur e i

Pour tout i ∈ {0, ..., n − 1}, il existe un réel ξ i ∈] t i , t i + h[ tel que :

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

Par suite, nous obtenons e 0 = 0 et pour i ∈ {0, ..., n − 1}

∂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) .

• Solution avec la méthode d’Euler avec un pas de 0.3

• Solution avec la méthode d’Euler avec un pas de 0.15

• Solution avec la méthode d’Euler avec un pas de 0.06


6.3. MÉTHODE DE RUNGE-KUTTA 81

6.3 Méthode de Runge-Kutta


La méthode d’Euler est peu utilisée en pratique car elle requiert des pas h petits pour
atteindre une précision suffisante lors du calcul de la solution approchée d’un problème diffé-
rentiel. Elle joue par contre un rôle important pour des raisons heuristiques ; elle permet en
particulier de comparer les tailles de l’erreur locale et de l’erreur globale.
Les méthode de Runge-Kutta sont très nombreuses ; nous présentons, ci-dessous, les plus
simples et les décrivons dans leurs principe seulement. Les éléments fournis doivent permettre
leurs mise en oeuvre dans le cadre des situations ordinaires du métier d’ingénieur.
Considérons le problème différentiel

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.

6.3.1 Méthode de Runge-Kutta d’ordre 2


a) Le principe

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é

où les deux réels k 1 et k 2 sont de la forme :

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

b) Détermination des constantes

Nous cherchons donc à déterminer c 1 , c 2 , α, β qui permettent d’atteindre l’objectif recher-


ché.
Écrivons le développement de Taylor de la solution y sur [ t i , t i+1 ].

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

Par suite, l’égalité (6.14) conduit à :

∂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

Pour que la relation de définition des yi copie au mieux le développement de Taylor de la


solution, nous identifions les termes en h et h2 et en déduisons :

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

Ainsi nous obtenons :


yi+1 = yi + hΦ( t i , yi , h).

Mais la relation (6.15) devient,

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

² i = y( t i+1 ) − y( t i ) − hΦ( t i , y( t i ), h),

est donc aussi égale à :

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

Dire que l’expression de yi+1 en fonction de yi copie au mieux le développement de Taylor


qui fournit y( t i+1 ) en fonction de y( t i ), revient donc à dire que le bloc H de l’égalité ci-
dessus, ne contient pas de termes en h ni en h2 . Ainsi le choix des constantes c 1 , c 2 , α, β
assure que ² i est en O ( h3 ).

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


Nous utilisons à nouveau le même principe mais faisons intervenir ici quatre points k 1 , k 2 , k 3 , k 4
pondérés par les coefficients c 1 , c 2 , c 3 , c 4 à déterminer. Nous identifions la formule de défini-
tion des valeurs approchées avec le développement de Taylor de la solution pour les degrés de
h inférieurs ou égaux à 4. Nous obtenons alors les résultats suivants.
1. É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 4, 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 + 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.