Está en la página 1de 82

École National des Sciences Appliquées - Fès

Département Génie Électrique et Informatique

M02 : C OURS D ’A NALYSE N UMÉRIQUE

Auteur
Prof. Safae E L H AJ B ENALI
safae.elhajbenali@usmba.ac.ma

N.B. : Version provisoire. Merci de me signaler les erreurs !


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

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

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


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

4 Interpolation et approximation polynômiale 46


4.1 Polynôme d’interpolation d’une fonction . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2 Les polynômes de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.3 Interpolation polynômiale de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.4 Interpolation polynômiale de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.5 Interpolation Spline cubique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5 Intégration numérique 60
5.1 L’intégration numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.2 Formule des rectangles ( avec point milieu ) . . . . . . . . . . . . . . . . . . . . . . 62
5.3 La méthode des trapèzes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.4 Méthode de Simpson : Accélération de la convergence (1710-1761) . . . . . . . . . 67

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


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

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 Angeles, 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 à 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.3. GÉNÉRALITÉS SUR LES MATRICES : NORME ET CONDITIONNEMENT 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.

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

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} )
6 CHAPITRE 1. INTRODUCTIONS ET DÉFINITIONS

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 .
7. Matrice triangulaire supérieur : ssi a i j = 0, ∀ i ≥ j .
8. Matrice triangulaire inférieur : ssi a i j = 0, ∀ i ≤ 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.5 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
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.

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

→ 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
2
X
Exemple 1.6 k A ks = |a i j | , 1 ≤ i ≤ n et 1 ≤ j ≤ m (norme de Schur).
i, j
à !1
2
p
| a i j |2
X
n = m c’est la norme de Frobeinus (k · kF ) et on note k A kF = = 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 p
= ρ ( A ∗ A ) = ρ ( A A ∗ ) = k A ∗ k2 où ρ ( A ) désigne le rayon spectral
p
— k A k2 ≡ sup
x6=0 k xk2
de A c-à-d ρ ( A ) = max |λ i ( A )|.
i
k Axk∞ X
— k A k∞ ≡ sup = max |a i j |.
x6=0 k xk∞ i j

Démonstration Exercice.

Exemple 1.7
 
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
 
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 = 1 − 2.
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.
8 CHAPITRE 1. INTRODUCTIONS ET DÉFINITIONS

à !à ! à !
∗ 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 ) + ².

1.3.4 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 et k ∈ N∗ , les propriétés suivantes sont
équivalentes :
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, ..., ∞}.

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→+∞

absurde car λk ≥ 1.
1.3. GÉNÉRALITÉS SUR LES MATRICES : NORME ET CONDITIONNEMENT 9

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 On a ρ ( A ) < 1, ∀λ ∈ sp( A ), alors (1 − λ) ∈ sp( I − A ) =⇒ |λ| ≤ ρ ( 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→+∞

1.3.5 Conditionnement de matrices


Considérons le système linéaire suivant
      
10 7 8 7 x1 32 1
 7 5 6 5  x2   23   1 
=  , de solution
      
 
x3
 
 8 6 10 9    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  x2 + δ x2   22.9   −12.6 
=  , de solution
      
x3 + δ x3
   
 8 6 10 9    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
second membre) entraîne une erreur relative de 8.1736 sur le résultat, soit une multiplication
de l’erreur relative par 2452.
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
10 CHAPITRE 1. INTRODUCTIONS ET DÉFINITIONS

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

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.
1.3. GÉNÉRALITÉS SUR LES MATRICES : NORME ET CONDITIONNEMENT 11

µ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
µmax
=⇒ K2 ( A ) = µ 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
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.
12 CHAPITRE 1. INTRODUCTIONS ET DÉFINITIONS

Exercice 1.2 Ã ! Ã !
10 7 17
On considère le système A = , b= .
7 −2 7 Ã !
0. 5
1. Étudier la réponse du système à une perturbation du second membre δ b = .
0. 5
à !
0 0. 5
2. Étudier la réponse du système à une perturbation du second membre δ A = .
−0.5 0
3. Calculer Cond 2 ( A ) et conclure.
[ 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 = A A t = 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 = b1



 a 22 x2 + a 23 x3 + · · · + a 2n xn = b2
.. .. .. ..

 ..
.

 . . . .

 a kk xk + · · · + a kn xn = bk
.. .. ..


.




 ··· . .
a nn xn = bn

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 .
2.1. MÉTHODES DIRECTES DE RÉSOLUTION DE Ax = b 15

Exemple 2.1 pour n = 50 on a 2500 opérations à faire.


Si on utilise le même l’Intel Core i7-3770, il faudrait donc
502
2×1011
secondes, soit 1.25 × 10−8 secondes.

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






 . . . . .
a n1 x1 + a n2 x2 + · · · + a nn xn = bn

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

a x + a 12 x2 + · · · + a 1n xn = b 1
 11 1


a 21
a 21 x1 + a 22 x2 + · · · + a 2n xn = b 2 L(1)
2 −→ L2 − L1 ∗ a 11




.. .. .. .. ..



 . . . . .
a k1

 a k1 x1 + a k2 x2 + · · · + a kn xn = b k L(1)
k
−→ Lk − L1 ∗ a11
.. .. .. .. ..






 . . . . .
 a x + a x + · · · + a x = b L(1) −→ L − L ∗ a n1

n1 1 n2 2 nn n n n n 1 a 11
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
.. .. .. .. ..





 . . . . .
+a n2 x2 + · · · + a nn xn = b(1)
(1) (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
· · · a kn Ligne pivot numéro k : L(k)
(k)
k


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

 . . . . . 

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
6= 0, 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

Exemple 2.3  
à ! 0 0 1
1 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
1 − ² y = 2 − 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²
18 CHAPITRE 2. MÉTHODES DE RÉSOLUTION DES SYSTÈMES LINÉAIRES Ax = b

qui devient, (
x+ y =2
y =1
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.

Exemple 2.4 pour n = 50 on a 44150 opérations à faire.


Si on utilise le même l’Intel Core i7-3770, il faudrait donc
44150
2×1011
secondes, soit 2.21 × 10−8 secondes.

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.

 
a b c
Les mineurs principauts dominants de la matrice A =  d e f :
 

g h i
— ∆1 = a. ÃÃ !!
a b
— ∆2 = det .
d e
— ∆3 = det( 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.
2.1. MÉTHODES DIRECTES DE RÉSOLUTION DE Ax = b 19

    
a 11 a 12 a 13 a 14 1 0 0 0 u 11 u 12 u 13 u 14
 a 21 a 22 a 23 a 24   l
  21 1 0 0  0 u 22 u 23 u 24 
A= =
  
a 31 a 32 a 33 a 34   l 31 l 32

0 u 33 u 34

 1 0  0 
a 41 a 42 a 43 a 44 l 41 l 42 l 43 1 0 0 0 u 44
| {z }| {z }
L U

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
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
20 CHAPITRE 2. MÉTHODES DE RÉSOLUTION DES SYSTÈMES LINÉAIRES Ax = b

Remarque 2.2 Comptant le nombre d’opération nécessaire dans la factorisation LU , au total


3 2
l’algorithme nécessite 2n +3n
6
+n
.

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

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  x2   2   2 3 4 1  x2   10 
= et =
         
 
x3
  
x3

 3 4 1 2    3   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. MÉTHODES DIRECTES DE RÉSOLUTION DE Ax = b 21

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

Exemple 2.6
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
eLe t.
b b2
a 1 0 c− a
22 CHAPITRE 2. MÉTHODES DE RÉSOLUTION DES SYSTÈMES LINÉAIRES Ax = b

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.7 Soit A =   , Effectuer la factorisation de Cholesky de la matrice
 
 1 5 14 14 
1 5 14 15
A.

n3
Remarque 2.4 Pour résoudre un système linéaire par cette méthode, il faut environ 6 addi-
2
n
tions et multiplications, 2 divisions et n extractions de racines carrées.

Exemple 2.8 pour n = 50 on a 22133 opérations à faire.


Si on utilise le même l’Intel Core i7-3770, il faudrait donc

22133
2×1011
secondes, soit 1.11 × 10−8 secondes.

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.
2.2. MÉTHODES ITÉRATIVES DE RÉSOLUTION DE Ax = b 23

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.5 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.
24 CHAPITRE 2. MÉTHODES DE RÉSOLUTION DES SYSTÈMES LINÉAIRES Ax = b

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.
Il y a une infinité de choix possibles pour M et N vérifiant A = M − N , nous allons en donner
deux à titre d’exemples. L’idée est bien sûr de choisir une matrice M particulièrement facile à
inverser, par exemple diagonale, ou bien triangulaire inférieure. Ces deux choix correspondent
respectivement à la méthode de Jacobi et à la méthode de Gauss-Seidel.
On décompose A en A = D − E − F où D est la matrice diagonale contenant 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 de − A .

Exemple 2.9 Considérons la matrice


 
2 −1 1
A= 2 2 2  (2.3)
 

−1 −1 2

La décomposition de A sous la forme A = D − E − F décrite ci-dessus s’écrit alors


       
2 −1 1 2 0 0 0 0 0 0 1 −1
A= 2 2 2  =  0 2 0  −  −2 0 0  −  0 0 −2
       

−1 −1 2 0 0 2 1 1 0 0 0 0
| {z } | {z } | {z } | {z }
A D E F
2.2. MÉTHODES ITÉRATIVES DE RÉSOLUTION DE Ax = b 25

→ 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.4)
Dx(k+1) = (E + F ) x(k) + 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.4).
On peut donc décrire la méthode de Jacobi par l’expression suivante,

x(k+1) = D −1 (E + F ) x(k) + D −1 b. (2.5)

Si on explicite (2.5), cela donne

X −a i j bi
x(k
i
+1)
= x(k)
j
+ . (2.6)
i 6= j a ii a ii

Dans (2.6) on voit que, pour calculer x(k+1) , on se sert uniquement des valeurs x(k) calculées à
l’itération précédente. Par exemple, pour calculer x(k j
+1)
, on utilise x1(k) , ..., x(k)
n . Cependant, si
on suppose que le processus est convergent, lorsque l’on calcule x(k)
j
, on a déjà à sa disposition
des valeurs approchées plus précises de x̄1 , ..., x̄ j−1 , à savoir x1(k) , ..., x(k)
j −1
. L’idée de la méthode
de Gauss-Seidel est donc d’utiliser à l’itération k toutes les nouvelles valeurs qui ont déjà été
calculées à l’itération k.

→ 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.7)
(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.
Autrement dit, pour k ≥ 1 on calcule les composantes de l’itérée x(k+1) à partir des itérées
de x(k)
" #
1 iX−1 n
x(k +1) (k+1) (k)
X
i
= − (a i j x j )− (a i j x j ) + b i .
a ii j =1 j = i +1

la mise en oeuvre de l’algorithme de Gauss-Seidel est en réalité plus simple. A chaque ité-
ration, il n’est, en effet, pas nécessaire de sauvegarder les itérées précédents. Chaque nouvelle
valeur calculée est automatiquement réutilisée pour les calculs suivants.
26 CHAPITRE 2. MÉTHODES DE RÉSOLUTION DES SYSTÈMES LINÉAIRES Ax = b

→ La méthode de relaxation

On peut, dans certains cas, améliorer la convergence de l’algorithme de Gauss-Seidel en


introduisant un paramètre que l’on pourra modifier en fonction de la matrice A de départ.
Pour ce faire, on introduit un facteur 0 < ω < 2.
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.8)
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

— 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, 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
2.2. MÉTHODES ITÉRATIVES DE RÉSOLUTION DE Ax = b 27

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.

Proposition 2.1 On considère le système Ax = b. Si A est à diagonale strictement dominante,


c’est-à-dire si
X
|a i j | < |a ii |
i 6= j

pour tout i = 1, ..., n, alors la méthode de Jacobi converge pour tout point de départ x(0) .

On peut montrer que cette condition suffit également pour assurer la convergence de l’al-
gorithme de Gauss-Seidel.

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 :
28 CHAPITRE 2. MÉTHODES DE RÉSOLUTION DES SYSTÈMES LINÉAIRES Ax = b

Proposition 2.2 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 differentiable 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.

29
30 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 31

|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 nè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 -
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

L’erreur au bout de la 12ème itération est inférieure à 2bn−+a1 = 0.5


213
= 0.0000610. La valeur
approchée de s à 10−15 près est donnée par 0.567143290409784.
32 CHAPITRE 3. SOLUTION D’UNE ÉQUATION À UNE SEULE VARIABLE

Remarque 3.2

a) L’erreur e 12 = | c 12 − s| = 0.00005641662147 au bout de la 12ème opération est inférieure à


b−a
212+1
= 0.00006103515625.
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 :
1. 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’ap-
pliquer.
2. 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.
3. Enfin si l’intervalle de 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 :
(
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 :
3.2. LA MÉTHODE DE POINT FIXE 33

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 le 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.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 3.3 où
f est discontinue en α.
Donc comme seconde condition pour qu’un point fixe existe il faut que :
b) f soit une fonction continue.
Une question capitale se pose, si ce point fixe existe et il unique ? La suite ( xn )n∈N converge-t-
elle pour tout x0 ∈ D f ?
34 CHAPITRE 3. SOLUTION D’UNE ÉQUATION À UNE SEULE VARIABLE

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

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 la droite y = x soit non vide est
0
de 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 a plus besoin de supposer que D f est borné et
ceci est contenu dans le théorème suivant :
3.2. LA MÉTHODE DE POINT FIXE 35

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.
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,
c
z }| {
| 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̃.
36 CHAPITRE 3. SOLUTION D’UNE ÉQUATION À UNE SEULE VARIABLE

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.
b) 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→+∞
c) Donner 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.
3.2. LA MÉTHODE DE POINT FIXE 37

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

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 = e 2 qui est bien inférieur à 1.
Partant de x0 = 0.5 on a le tableau des itérations suivantes :
38 CHAPITRE 3. SOLUTION D’UNE ÉQUATION À UNE SEULE VARIABLE

n xn f ( xn ) | xn+1 − xn |
0 0.50000 0.606531 0.106531
1 0.606531 0.545239 0.061292
2 0.545239 0.579703 0.034464
3 0.579703 0.560065 0.019638
4 0.560065 0.571172 0.011107
5 0.571172 0.564863 0.006309
6 0.564863 0.568438 0.003875
7 0.568738 0.566410 0.002328
8 0.566410 0.567560 0.00115
9 0.567560 0.566907 0.000653
10 0.566907 0.567278 0.000371
11 0.567278 0.567067 0.000211
12 0.567067 0.567187 0.00012
13 0.567187 0.567199 0.000119
14 0.567119 0.567157 0.000067

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)

Fig. 3.4 – Méthode de Newton

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 )
3.3. LA MÉTHODE DE NEWTON-RAPHSON 39

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)
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 l’équation (3.2) nous obtenons,
00
| f (² x )|
| x̂ − xn+1 | = 0 | x̂ − xn |2 .
2| f ( x n ) |
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.
40 CHAPITRE 3. SOLUTION D’UNE ÉQUATION À UNE SEULE VARIABLE

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 so-
lution 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).
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 )
3.4. LA MÉTHODE DE SÉCANTE 41

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


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.
42 CHAPITRE 3. SOLUTION D’UNE ÉQUATION À UNE SEULE VARIABLE

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

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 :
3.4. LA MÉTHODE DE SÉCANTE 43

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

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


celle du théorème 3.2.
44 CHAPITRE 3. SOLUTION D’UNE ÉQUATION À UNE SEULE VARIABLE

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.
3.5. COMPARAISON DES ALGORITHMES 45

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 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 = 0, ..., 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 :

46
4.1. POLYNÔME D’INTERPOLATION D’UNE FONCTION 47

— 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
calcul 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 de-
vient grand. Par exemple, l’utilisation des polynômes de Lagrange nécessite un nombre d’opé-
rations en O ( n2 ).
48 CHAPITRE 4. INTERPOLATION ET APPROXIMATION POLYNÔMIALE

Avant de présenter les différentes méthodes d’interpolation, on rappelle de Théorème impor-


tant suivant :

Théorème 4.2 (Rolle) Soient a et b deux réels tels que a < b et f une fonction à valeurs
réelles continue sur [a, b] et dérivable sur ]a, b[ telle que

f ( a ) = f ( b ).

Alors, il existe (au moins) un réel c dans ]a, b[ tel que

f 0 ( c ) = 0.

4.2 Les polynômes de Taylor

Théorème 4.3 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]. 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.
4.2. LES POLYNÔMES DE TAYLOR 49

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


Q : Donner une approximation de exp(1) de l’ordre de 10−13 par le polynôme de Taylor ?

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! .
x n x
f ( x) = e , f ( x) = e , 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!
50 CHAPITRE 4. INTERPOLATION ET APPROXIMATION POLYNÔMIALE

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
| E n ( x )| ≤ (4.1)
( n + 1)!
où max{| f n+1 ( x)| ≤ M : 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
suivante : Sur cette figure on remarque que l’on approche bien e x par P4 ( x) sur [−2, 2].

Fig. 4.2 – Approximation polynômiale de Taylor.

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

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

Théorème 4.4 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
4.3. INTERPOLATION POLYNÔMIALE DE LAGRANGE 51

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 donné par (4.3) est solution de (4.2) (on
utilise le fait que L i ( x j ) = δ i j ).
Unicité : Soit Q n un autre polynôme solution. Alors ∀ i = 0, 1, ..., n, Q n ( x i ) − P n ( x i ) = 0. Ainsi
Q n − P n est un polynôme de degré inférieur ou égal à 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.
Les polynômes de Lagrange é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

4.3.2 Estimation de l’erreur

Théorème 4.5 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 n ( x) = f (θ ) (4.5)
( n + 1)!
où a < min( x, x0 ) < θ < max( x, xn ) < b
52 CHAPITRE 4. INTERPOLATION ET APPROXIMATION POLYNÔMIALE

Démonstration Si x = x i , f ( x) − P n ( 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 n ( t) − ( t − x0 )( t − x1 )...( t − xn )φ( x), où x est un paramètre,
f ( x) − P n ( x)
φ( x ) = ,
( x − x0 )( x − x1 )...( x − xn )
on remarque que ψ( x0 ) = ψ( x1 ) = ... = ψ( xn ) = ψ( x) = 0, donc ψ est une fonction ayant n + 2 ra-
cines.

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 n ( x )| ≤ max | f n+1 (θ )|.
( n + 1)! θ ∈]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
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. INTERPOLATION POLYNÔMIALE DE NEWTON 53

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)

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

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

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 :


54 CHAPITRE 4. INTERPOLATION ET APPROXIMATION POLYNÔMIALE

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.6 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 θ ∈]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.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 [xi ] f [ x i−1 , x i ] f [ x i−2 , x i−1 , x i ] f [ x i−3 , ..., x i ] f [ x i−4 , ..., x i ] f [ x i−5 , ..., x i ]
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. INTERPOLATION SPLINE CUBIQUE 55

4.5 Interpolation Spline cubique


4.5.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.3 qui consiste à relier chaque pairs de points par un segment de
droite.
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.3 – 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’interpolation 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.4 pourn = 4.

Voyons combien de conditions ou d’équations nous pouvons imposer pour calculer les 4 n
coefficients. Ces équations proviennent des conditions de régularité que l’on souhaite imposer
à la courbe résultante. Voici les contraintes imposés aux n polynômes de degré 3.
• P1 ( x0 ) = f ( x0 ) et P n ( xn ) = f ( xn ).
• Les splines P i−1 et P i sont reliées au point de contrôle x i , i = 1, ..., n − 1, alors
P i ( x i ) = f ( x i ) = P i+1 ( x i ).
56 CHAPITRE 4. INTERPOLATION ET APPROXIMATION POLYNÔMIALE

Fig. 4.4 – Spline cubique

• 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.16)
00 00
P i ( x i ) = P i+1 ( x i ) (4.17)

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) inconnues. Ces ( n − 1) inconnues sont tout
00
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 degré 3 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

x − xi
00 00 x − x i −1
00
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

( x − x i )3
00 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 .
4.5. INTERPOLATION SPLINE CUBIQUE 57

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

( x i−1 − x i )2
00
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

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 − x i−1 6
µ i
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
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
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 ). 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
4.5. INTERPOLATION SPLINE CUBIQUE 59

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
  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) à dia-


gonale strictement dominante donc il admet une solution unique. 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.

4.5.2 Estimation de l’erreur

Théorème 4.7 Soit f ∈ C 4 ([a, b]) sur l’intervalle ]a, b[, Si a < x0 < · · · < xn < b, alors

h4i−1
| f ( x) − P i ( x)| ≤ max | f 4 (²)|
384 ²∈]x i−1,i[

où ² tel que a ≤ min( x, x0 ) < ² < max( x, xn ) ≤ b

Exercice 4.1 Trouver l’expression des splines cubiques passant par les points suivants :

xi 0.9 1.3 1.9 2.1


yi 1.3 1.5 1.85 2.1
[ Cinquième Chapitre \
Intégration 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.

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. Pour α, β ∈ [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.

60
5.1. L’INTÉGRATION NUMÉRIQUE 61

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.
62 CHAPITRE 5. INTÉGRATION NUMÉRIQUE

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
5.2. FORMULE DES RECTANGLES ( AVEC POINT MILIEU ) 63

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.


64 CHAPITRE 5. INTÉGRATION NUMÉRIQUE

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 défaut.
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) = − 2 , f ( x) = , | f ( x)| ≤ 2 = M, ∀ x ≥ 1
x x 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
5.3. LA MÉTHODE DES TRAPÈZES 65

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 :

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

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.
66 CHAPITRE 5. INTÉGRATION NUMÉRIQUE

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 et R n ( f ) est l’erreur de la méthode lorsqu’on
Rb
approche a f ( t) dt par T n ( f ). La figure suivante permet de schématiser cette méthode d’ap-
proximation :

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 excès.
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
.
5.4. MÉTHODE DE SIMPSON : ACCÉLÉRATION DE LA CONVERGENCE (1710-1761) 67

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

Fig. 5.8 – Méthode de Simpson

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
68 CHAPITRE 5. INTÉGRATION NUMÉRIQUE


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

00 1 0 0 x 00 00
ϕ ( x) = ( f (γ + x) − f (γ − x)) − ( f ( x + γ) + f (γ − x)) + 20 kx3
3 3
00 00
ϕ (²2 ) = 0, ϕ (0) = 0 ; par application du théorème de Rolle de nouveau, il existe ²3 ∈]0, ²2 [
telle que ϕ3 (²3 ) = 0. Le même procédé appliqué à ϕ3 donne :

x
ϕ3 ( x) = − ( f 3 ( x + γ) − f 3 (γ − x)) + 60 kx2
3
²
ϕ3 (²3 ) = 0 implique 33 ( f 3 (²3 + γ) − f 3 (γ − ²3 )) = 60 k²23 .
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 utilisant 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
5.4. MÉTHODE DE SIMPSON : ACCÉLÉRATION DE LA CONVERGENCE (1710-1761) 69

d’où sur [a, b] :

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
70 CHAPITRE 5. INTÉGRATION NUMÉRIQUE

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
[ 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
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 rencontrent 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érentielles or-
dinaires, nous décrivons des méthodes de résolution numérique parmi les plus classiques 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( t 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 Rn . Le problème 6.1 est appelé problème de Cauchy d’ordre 1.
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))
 0
 y2 ( t) = f 2 ( t, y1 ( t), ..., yn ( t))



..
. (6.2)
0





 yn ( t) = f n ( t, y1 ( t), ..., yn ( t))
yi ( t 0 ) = y0i i = 1, ..., n.

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( t 0 ) = y0 , y ( t 0 ) = y1
où 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),

71
72 CHAPITRE 6. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES

à !
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) = , U ( t0 ) =
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 ( t 0 ), ..., y ( t 0 ), y( t 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 dé-
compose 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) = y0 e tA


où e tA est la matrice définie par

X tn
+∞
e tA = An.
n=0 n!
6.1. QUELQUES REMARQUES SUR (??) 73

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 sur un intervalle où y ne s’annule pas :
0
0
2 y d 1 1 1 y0
y = y ⇐⇒ 2 = 1 ⇐⇒ (− ) = 1 ⇐⇒ − = t ⇐⇒ y( t) = .
y dt y y0 y( t) 1 − t y0
1
Ainsi, pour y0 > 0, la solution explose pour t∗ = y0 : 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
y y = 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.

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

Énonçons sans démonstration un théorème classique relativement général assurant exis-


tence et unicité locale.
74 CHAPITRE 6. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES

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)

Autrement, si tout point de [a, b] admet un voisinage sur lequel f est lipschitzienne en la
deuxième variable, 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].
6.2. MÉTHODE D’EULER 75

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.

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


76 CHAPITRE 6. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES

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.

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
6.2. MÉTHODE D’EULER 77

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


78 CHAPITRE 6. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES

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 ).
6.3. MÉTHODE DE RUNGE-KUTTA 79

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é mise 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 a 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 ).
80 CHAPITRE 6. RÉSOLUTION NUMÉRIQUE D’ÉQUATIONS DIFFÉRENTIELLES

• 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

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

También podría gustarte