Cours An Num SMP-S3 2016-2019

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 48

Support de Cours

Analyse Numérique

Filière :
SMP - S3

Prof. E.B. Mermri

Département de Mathématiques
Faculté des Sciences, Université Mohammed Premier,
Oujda.
https://sites.google.com/site/ebmermri

2016-2020.
Reférences

• Jacques Rappaz et. Introduction à l’analyse numérique, Press


Polytechniques, 2004.
• Luca Amodei et. Analyse numérique matricielle, Dunod, 2008.
• Abdesslam Boutayeb et. Eléments d’analyse numérique avec
applications aux modèles biomathématiques et écologiques, 2003.
• Abdesslam Boutayeb et. Exercice d’analyse numérique avec
solutions et programmes matlab, 2005.
• P.G. Ciarlet, Introuduction à l’analyse numérique matricielle
et à l’optimisation, Masson, 1990.
• P.G. Ciarlet, Exercices d’analyse numérique matricielle et d’optimisation :
avec solutions, Dunod, 2001.
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri i

Table des matières


1 Systèmes linéaires 1
1.1 Rappel sur le calcul matriciel . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Méthodes directes pour la résolution des systèmes linéaires Ax = b . . . . . 2
1.2.1 Systèmes linéaires triangulaires . . . . . . . . . . . . . . . . . . . . 2
1.2.2 Méthode d’élimination de Gauss . . . . . . . . . . . . . . . . . . . . 4
1.2.3 Méthode de Gauss avec stratégie du choix de pivot . . . . . . . . . 11
1.2.4 Décomposition LU . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.5 Décomposition de Cholesky . . . . . . . . . . . . . . . . . . . . . . 16
1.3 Méthodes itératives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.3.1 Méthode de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.3.2 Méthode de Gauss Seidel . . . . . . . . . . . . . . . . . . . . . . . . 20

2 Systèmes linéaires à matrices non carrées et méthode des moindres


carrées 22
2.1 Exemples de systèmes à matrice non carrée . . . . . . . . . . . . . . . . . . 22
2.2 Systèmes à matrice non carrée . . . . . . . . . . . . . . . . . . . . . . . . . 23

3 Interpolation polynomiale 25
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Interpolation de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3 Interpolation d’une fonction continue par un polynôme . . . . . . . . . . . 27

4 Résolution des équations non linéaires : f (x) = 0 28


4.1 Méthode de dichotomie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2 Méthode du point fixe (approximations successives) . . . . . . . . . . . . . 29
4.3 Méthode de Newton-Raphson dans R . . . . . . . . . . . . . . . . . . . . . 30
4.4 Méthode de Newton-Raphson dans Rn . . . . . . . . . . . . . . . . . . . . 31
4.5 Méthode de Newton Modéfiée . . . . . . . . . . . . . . . . . . . . . . . . . 32

5 Intégration numérique 33
5.1 Approximation par formule de quadrature . . . . . . . . . . . . . . . . . . 33
5.2 Détermination des poids d’une formule de quadrature . . . . . . . . . . . . 36
5.3 Formule du rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.4 Formule du trapèze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.5 Formule de Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

6 Approximation des équations différentielles 40


6.1 Dérivation numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.2 Schéma d’Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.3 Méthode de Runge-Kutta d’ordre 2 . . . . . . . . . . . . . . . . . . . . . . 44
6.4 Méthode de Range-Kutta classique . . . . . . . . . . . . . . . . . . . . . . 45
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 1

1 Systèmes linéaires
1.1 Rappel sur le calcul matriciel
On note par A = (aij ), i = 1, . . . , m, j = 1, . . . , n, une matrice de m lignes et n colonnes
dont les coefficients appartiennent à R. On dit que la matrice est d’ordre (m, n). Si n = m
on dit que A est une matrice carrée d’ordre n.
On note par I la matrice identité. La matrice B = At est le transposé de A, c’est à dire
bij = aji , ∀i, j.
- Une matrice carrée A est dite inversible s’il existe une matrice P telle que P A = I. On
note son inverse P par A−1 .
Soient A et B deux matrices d’ordre (m, n).
- La somme de A et B est donnée par :

C =A+B avec cij = aij + bij , i = 1, . . . , m, j = 1 . . . , n.

Soient A une matrice d’ordre (m, n) et B une matrice d’ordre (n, p).
- Le produit de A et B est donné par :

n
C = A.B avec cij = aik bkj , i = 1, . . . , m, j = 1, . . . , p.
k=1

Soit X un vecteur de Rn le produit de A et X est donné par :



n
Y = AX avec yi = aij xj , i = 1, . . . , m.
j=1

Soit λ un nombre réel, le produit de λ par A est exprimé par

C = λA avec cij = λaij , i = 1, . . . , m, j = 1, . . . , n.

- Soient A une matrice carrée d’ordre n et v un veccteur de Rn , v est dit vecteur propre
de A s’il existe un réel λ ∈ R tel que Av = λv. Le nombre λ est dit valeur propre.

- A est dite symétrique si aij = aji , pour tout i, j = 1, . . . , n.

- A est dite diagonale si aij = 0 ∀i ̸= j, i, j = 1, . . . , n.

- A est dite triangulaire supérieure si aij = 0, pour tout i > j.

- A est dite triangulaire inférieure si aij = 0, pour tout i < j.

- A est dite bande s’il existe un nombre k, 0 < k < n tel que aij = 0, pour tout |i − j| > k.
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 2

1.2 Méthodes directes pour la résolution des systèmes linéaires


Ax = b
1.2.1 Systèmes linéaires triangulaires
Soit A une matrice carrée inférieure d’ordre n et b un vecteur de Rn . On suppose que
les éléments diagonaux de A : aii , i = 1, . . . , n, sont non nuls donc A est inversible. On
s’intéresse à la résolution du système linéaire suivant : Trouver x ∈ Rn tel que Ax = b.
Le système peut s’écrire sous la forme suivante :

a11 x1 = b1
a21 x1 + a22 x2 = b2
.. .. .. ..
. . . .
an1 x1 + an2 xn + · · · + ann xn = bn

Prenons la ligne 1 du système, on calcule x1 , on obtient :

x1 = b1 /a11 .

Le calcul de x2 est donné par l’équation de la ligne 2 du système :

x2 = (b2 − a21 x1 )/a22 .

D’une façon générale, le calcul de xi est donné par la ligne i du système :


i−1
xi = (bi − aij xj )/aii .
j=1

Cette méthode de résolution est dite “de décente” (forward substitution en anglais), s’écrit :


 x1 = b1 /a11 ,
 ( )
∑i−1

 xi = bi −
 aij xj /aii , i = 2, . . . , n.
j=1

L’algorithme pour résoudre un sysème triangulaire supérieur est le suivant :

Algorithme 1 : Système triangulaire inférieur

x1 := b1 /a11
Pour i :=(2 à n faire )

i−1
xi := bi − aij xj /aii
j=1
Fin pour
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 3

Soit maintenant A une matrice triangulaire supérieure, le système Ax = b est exprimé


par :
a11 x1 + a12 x2 + · · · + a1n xn = b1
a22 x2 + · · · + a2n xn = b2
.. ..
. .
ann xn = bn
La ligne n du système donne :
bn
xn = .
ann
La ligne n − 1 donne :
xn−1 = (bn−1 − an−1,n xn )/an−1,n−1 .
D’une façon générale, le calcul de xi est donné par la ligne i :
∑n
xi = (bi − aij xj )/aii .
j=i+1

Cette méthode de résolution est dite de “remonté ” (back substitution en anglais), s’écrit :


 x = bn /ann ,
 n
∑n

 x = (b − aij xj )/aii , i = n − 1, . . . , 1.
 i i
j=i+1

L’algorithme pour résoudre un sysème triangulaire supérieur est le suivant :

Algorithme 2 : Système triangulaire supérieur

xn := bn /ann
Pour i :=(n − 1 à 1 faire )
∑ n
xi := bi − aij xj /aii
j=i+1
Pin pour

Example 1 : On considère le système suivant :


    
2 0 0 x1 6
 1 5 0   x2  =  2 
7 9 1 x3 5
On a :
Ligne 1 donne : x1 = 6/2 = 3.
Ligne 2 donne : x1 + 5x2 = 2 implique que x2 = −1/5.
Ligne 3 donne : 7x1 + 9x2 + x3 = 5 implique
 −16 + 9/5.
que x3 =
3
Donc la solution du système est : x =  −1/5 .
−16 + 9/5
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 4

1.2.2 Méthode d’élimination de Gauss


Soient A une matrice carrée inversible d’ordre n et b un vecteur de Rn . On s’intéresse à
la résolution du système Ax = b. La méthode de Gauss consiste à transformer le système
Ax = b en un système triangulaire supérieur équivalent : U x = c, avec U une matrice
triangulaire supérieure. Cela revient à determiner une matrice M régulière (inversible)
telle que la matrice M A = U soit triangulaire supérieure. Donc le système Ax = b devient
équivalent à
U x = c avec U = M A et c = M b.
Soit le système de départ Ax = b (noté A(1) x = b(1) ) :
 (1) (1) (1) (1)

 a11 x1 + a12 x2 + · · · + a1n xn = b1



 (1) (1) (1) (1)

 a21 x1 + a22 x2 + · · · + a2n xn = b2

(S1 ) ..
 .

 ..




.

 (1) (1) (1) (1)
an1 x1 + an2 x2 + · · · + ann xn = bn

On note par Li la ième ligne du système (S1 ) :


(1) (1) (1) (1)
Li : ai1 x1 + ai2 x2 + · · · + ain xn = bi .
Pour simplifier on note
(1) (1) (1) (1)
Li = (ai1 , ai2 , · · · , ain , bi ).
La première étape de la méthode de Gauss consiste à éliminer l’inconnu x1 des lignes 2 à n
(1)
du système (S1 ). Pour la simplicité on suppose que a11 ̸= 0. Après un jeu d’opérations
sur les lignes du système, on obtient alors un nouveau système équivalent (S2 ) :
 (1)


(1) (1)
a11 x1 + a12 x2 + · · · + a1n xn = b1
(1)






(2) (2)
a22 x2 + · · · + a2n xn = b2
(2)

(S2 ) ..
 .

 ..




.
 (2) (2) (2)
an2 x2 + · · · + ann xn = bn
(2)
Ensuite, on élimine l’inconnu x2 des lignes 3 à n du système (S2 ) (on suppose que a22 ̸= 0),
après un jeu d’opérations sur les lignes du système (S2 ) . De proche en proche à l’étape
(n − 1) on obtient le système triangulaire, équivalent au système de départ Ax = b,
suivant :  (1)


(1)
a11 x1 + a12 x2 + · · · + a1n xn = b1
(1) (1)






(2) (2)
a22 x2 + · · · + a2n xn = b2
(2)

(Sn ) .. ..
 . .

 ..

 . ..


.
 (n) (n)
ann xn = bn
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 5

Commençons par décrire étape par étape la méthode de Gauss dans sa forme de base,
dite sans stratégie de pivot.

Etape 1 :
(i) Recherche d’un pivot non nul
(1)
L’un au moins des coefficients ai1 , i = 1, . . . , n, de la première colonne de la matrice A(1)
(1)
est non nul, car A(1) est inversible. Si a11 = 0, on choisit un des coefficients non nul de
(1)
la première colonne de A(1) soit ai1 , dit pivot. En suite on permute la ligne du pivot Li
avec la première ligne L1 du système (S1 ).
Matricielement, permuter deux lignes Li et Lj d’une matrice A revient à multiplier A à
gauche par une matrice de transposition P :
 
i j
 1 | | 
 
 .. 
 . | | 
 
 1 | | 
 
i − − − 0 − − − 1 − − − 
 
 | 1 | 
P =   .. 

 | . | 
 | 1 | 
 

j − − − 1 − − − 0 − − −  
 | | 1 
 
 .. 
 | | . 
| | 1

On a
{
1 si i = j,
det(P ) =
−1 sinon.
Après permutaion des lignes L1 et Li du système (S1 ) on obtient alors un nouveau système
(S̃1 ) : P (1) A(1) x = P (1) b(1) .
On note
Ã(1) = P (1) A(1) et b̃(1) = P (1) b(1) .
On a ã111 ̸= 0.

(ii) Elimination de x1 dans les lignes Li , i = 2, . . . , n.


On annule tous les éléments de la première colonne de Ã(1) situés au dessous de la diago-
nale. Pour ce faire, on remplace chaque ligne Li , i = 2, . . . , n du système (S̃ 1 ) par
(1)
ãi1
Li ← Li − (1)
L1 , i = 2, . . . , n.
ã11
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 6

Ce qui donne
 (1)

 ãi1 (1)

 a
(2) (1)
= ãij − (1) ã1j , i = 2, . . . , n, j = 1, . . . , n,
 ij ã11

 (1)

 (2) (1) ãi1 (1)
 bi = bi − (1) b̃1 i = 2, . . . , n.
ã11

Matricielement cela revient à multiplier à gauche le système (S̃1 ) : Ã(1) x = b̃(1) , par la
matrice  
1 0 ... ... 0
 
 ã(1) 
 − 21 1 0 ... ... 0 
 
 ã(1) 
 ..
11
.. 
 ... ...
. 
 . 0 
E (1) = 
 .. .. . . . . .. 

 . . . . . 
 
 .. .. .. ..
. 0 
 . . . 
 
 (1) 
 ãn1 
− (1) 0 ... ... 0 1
ã11

On obtient alors le système suivant (S2 ) : A(2) x = b(2) avec

 (1) (1) (1)


  
ã11 ã12 ··· ã1n b̃11
   
 0 (2) (2)   (2) 
 a22 ... a2n   b2 
A(2) =
 .. .. ..
 = E (1) P (1) A(1)
 ; b(2) =
 ..
 = E (1) P (1) b(1) .

 . . .   . 
   
(2) (2) (2)
0 an2 ... ann bn

On a
det(A(2) ) = det(E (1) ) det(P (1) ) det(A(1) ) = ± det(A(1) ) ̸= 0.

(2)
Etape 2 : La matrice A(2) est inversible, alors l’un au moins des coefficients ai2 , i = 2 . . . n
est non nul. On peut donc appliquer le même procédé à la matrice A(2) pour annuler tous
les éléments de la deuxième colonne de Ã(2) situés au dessous de la diagonale. On obtient
le système A(3) x = b(3) avec A(3) = E (2) P (2) A(2) et b(3) = E (2) P (2) b(2) .

De proche en proche à la (k − 1)-ième étape on obtiendra :

A(k) = E (k−1) P (k−1) E (k−2) P (k−2) . . . E (1) P (1) A(1) ,


b(k) = E (k−1) P (k−1) E (k−2) P (k−2) · · · E (1) P (1) b(1) ,
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 7

avec
 (1) (1)
  
ã11 ... ... ã1n (1)
b̃1
 .. ..   .. 
 0 . .   . 
   (k−1) 
 .. ..   b̃n 
 . . ã(k−1)
k−1,k . . . ...
(k−1)
ãk−1,n   
 .   (k) 
A(k) =
 .. 0
(k)
akk . . . . . .
(k)
akn 
 b(k) =  bk 
 .   . 
 .. .. .. ..   .. 
 . . .   
 .. .. .. ..   .. 
 . . . .   . 
(k) (k) (k)
0 0 ank . . . . . . ann bn

(k)
Etape k : La matrice A(k) est inversible, alors l’un au moins des coefficients aik , i =
k, . . . , n est non nul. On peut donc appliquer le même procédé à la matrice A(k) pour
annuler tous les éléments de la k-ième colonne de Ã(k) situés au dessous de la diagonale.
On obtient le système
A(k+1) x = b(k+1) ,
avec A(k+1) = E (k) P (k) A(k) et b(k+1) = E (k) P (k) b(k) . La matrice E (k) est exprimée par

 
1
 .. 
 . 
 
 1  ãik
(k)
E (k) =
 .. 
 avec eik = , i = k + 1, . . . , n.
 −ek+1,k .  ãkk
(k)
 .. ... 
 . 
−enk 1

E (k) est dite matrice élémentaire de Gauss.

Autrement dit, à l’étape k on remplace les lignes Li , i = k + 1, . . . , n, du système (S̃k ) :


Ã(k) x = b̃(k) , par
(k)
ãik
Li ← Li − (k)
Lk , i = k + 1, . . . , n.
ãkk
Ce qui donne

 ãkik (k)

 a
(k+1)
= ã
(k)
− ã , i = k + 1, . . . , n j = k, . . . , n,
 ij ij
ãkkk kj

 ãkik (k)

 b(k+1) = b
(k)
− b i = k + 1, . . . , n.
i i
ãkkk k
A la dernière étape (k = n − 1) on obtient le système triangulaire suivant :
A(n) x = b(n) ,
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 8

avec
 (1) (1)
  
ã11 ... ... ã1n (1)
b̃1
 ... ..   
 0 .  
(2)
b̃2 
   
 .. ..   .. 
 . . ã(k) ... ...
(n)
ãkn   . 
= 
kk
A (n)
 .. ..  et b(n) = .. .
 . .   . 
 .   
 .. .. (n−1) (n−1)   (n−1) 
 . ãn−1,n−1 ãn−1,n   b̃n−1 
(n) (n)
0 ... ... 0 ann bn

Matricielement la matrice A(n) et le vecteur b(n) peuvent être exprimés par

A(n) = E (n−1) P (n−1) E (n−2) P (n−2) . . . E (1) P 1 A(1) .


= M A(1) = M A.

b(n) = M b(1) = M b.
avec
M = E (n−1) P (n−1) E (n−2) P (n−2) . . . E (1) P (1) .
On a
{
1 si le nombre de permutations des lignes est pair,
det (M ) =
−1 si le nombre de permutations des lignes est impair.

Si on pose
U = A(n) = M A et c = b(n) = M b,

le système Ax = b devient équivalent à résoudre le système triangulaire suivant :

U x = c.
En résumé, la description de la méthode de Gauss est donnée par l’algorithme suivant :
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 9

Algorithme 3 : Méthode d’élimination de Gauss sans stratégie de pivot

Pour chaque étape k = 1, . . . , n − 1, on effectue les opérations suivantes :


(k)
1. Si akk = 0 on échange la ligne Lk du système (A(k) , b(k) ) avec une ligne Li (i > k)
(k)
telle aik ̸= 0. On obtient alors le système Ã(k) x = b̃(k) .

2. On remplace les lignes Li , i = k + 1, . . . , n, du système (Ã(k) , b̃(k) ) par :

(k)
ãik
Li ← Li − (k)
Lk , i = k + 1, . . . , n.
ãkk
Ce qui donne
 (k)

 (k+1) (k) ãik (k)
 aij
 = ãij − (k) ãkj , i = k + 1, . . . , n, j = k, . . . , n,
 ãkk

 (k+1) (k)

 (k) ãik (k)
= b̃i − (k) b̃k ,
 bi i = k + 1, . . . , n.
ãkk

Exemple 1 : Considérons le système linéaire suivant :

2x1 − 4x2 + 3x3 = −3


2x1 − 3x2 + 2x3 = −2
−3x1 + 2x2 + x3 = 2
(1)
Etape k = 1 : le pivot est a11 = 2 ̸= 0, alors on effectue les opérations suivantes :

a1i1
Li ← Li − L1 , i = 2, 3.
a111

Pour i = 2 on a
(1)
a21
L2 ← L2 − (1)
L1 = L2 − L1 ⇒ L2 = (0, 1, −1, 1).
a11

Pour i = 3 on a
(1)
a31 3
L3 ← L3 − (1)
L1 = L3 + L1 ⇒ L3 = (0, −4, 11/2, −5/2).
a11 2

D’où
   
2 −4 3 −3
   1 
A(2) =  0 1 −1  et b(2) =  .
11 −5
0 −4
2 2
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 10

(2)
Etape k = 2 : le pivot est a22 = 1 ̸= 0. On remplace la ligne 3 du système (A(2) , b(2) )
par
(2)
a 3 3
L3 ← L3 − 32 (2)
L 2 = L 3 + 4L 2 ⇒ L 3 = (0, 0, , ).
a22 2 2
On obtient alors    
2 −4 3 −3
   
A(3) =  0 1 −1  et b(3) =  1  .
3 3
0 0
2 2
En fin la résolution du système Ax = b revient à résoudre le système triangualire
A(3) x = b(3) :
2x1 − 4x2 + 3x3 = −3
x2 − x3 = 1
3 −5
x3 = .
2 2
Exemple 2 : Considérons le système linéaire Ax = b avec :
   
0 1 3 1
A =  5 2 3  et b =  4 
6 8 1 1
(1)
Etape 1 : On remarque que le pivot a11 = 0, donc on procède à une permutation de
la ligne 1 avec une autre ligne du système, choisissant, par exemple, la ligne 2. Donc le
nouveau système devient Ã1 x = b̃1 , avec
   
5 2 3 4
1
à =  0 1 3  (1)
et b =  1 .
6 8 1 1
On remplace les lignes Li , i = 2, 3 par
(1)
ãi1
Li ← Li − (1)
L1 .
ã11

La matrice Ã(1) contient déjà un 0 dans la première colonne de la ligne 2, donc on passe
à la ligne 3 :
(1)
ã31 6
L3 ← L3 − (1)
L1 = L3 − L1 ⇒ L3 = (0, 28/5, −13/5, −19/5).
ã11 5
Donc le nouveau système est donné par
   
5 2 3 4
A(2) =  0 1 3  et b(2) =  1 .
0 28/5 −13/5 −19/5
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 11

Etape 2 : On remplace la ligne L3 par


(1)
a32 28
L3 ← L3 − (1)
L2 = L3 − L2 .
a22 5

On obtient L3 = (0, 0, −97/5, −47/5). Donc le nouveau système est donné par
   
5 2 3 4
A(3) =  0 1 3  et b(3) =  1 .
0 0 −97/5 −47/5

1.2.3 Méthode de Gauss avec stratégie du choix de pivot


(k)
Si à l’étape k de l’élimination de Gauss l’élément akk est non nul, rien n’empêche de le
prendre comme pivot. Cependant cette façon de procéder est déconseillée pratiquement,
à cause des erreurs d’arrondi. Il vaut mieux d’éviter la division par des nombres “trop
petits” afin de ne pas avoir des erreurs d’arrondi. Pour ce faire on utilise l’une des deux
stratégies suivantes.

(k)
Stratégie du pivot partiel : A chaque étape k, on choisit comme pivot ãkk l’élément
(k)
aik , k ≤ i ≤ n, le plus grand en valeur absolue :
(k) (k)
ãkk = max |a(ik) |.
i=k,...,n

Donc on permute la ligne k du système avec la ligne où se trouve le pivot de plus
(k)
grande valeur absolue, pour avoir un système (S̃k ) avec ãkk est le plus grand des
(k)
éléments ãik , k ≤ i ≤ n. Puis on applique l’élimination de Gauss.

(k) (k)
Stratégie du pivot total : A l’étape k, on choisit comme pivot ãkk l’élément aij , k ≤
i, j ≤ n, le plus grand en valeur absolue :
(k) (k)
ãkk = max |a(ij) |.
i,j=k,...,n

Si cet élément n’est pas sur la k-ième colonne, il faut donc multiplier à droite de la
matrice A(k) par une matrice de transposition, pour permuter les colonnes.
Remarquons que les permutations des colonnes de A correspondent aux permuta-
tions des inconnus xi , i = 1, . . . , n, dans le vecteur x. Il est donc important à
chaque étape k de mémoriser les permutations des colonnes k et j que l’on a exe-
cutées (j = k s’il n’y a pas de permutation avce la colonne k). Pour ce faire, nous
définissons un n-vecteur p initialisé à p = (1, 2, 3, . . . , n) et effectuant la perumtation
suivante : p(k) ↔ p(j), pour indiquer que la k-ième composante du vecteur résultat
contient l’inconu xj et la j-ième composante contient l’inconu xk .
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 12

1.2.4 Décomposition LU
Soit A une matrice carrée et inversible d’ordre n. On suppose qu’on veut résoudre m
systèmes linéaires avec la même matrice A :

Axr = br , r = 1, . . . , m.

Dans ce cas il serait coûteux d’appliquer m fois le procédé d’élimination de Gauss car les
opérations sur la matrice A seraient m fois les mêmes. Supposons qu’on peut décomposer
la matrice A sous la forme A = LU avec L et U sont deux matrices triangulaires inférieure
et supérieure, respectivement. Donc pour chaque donnée br ∈ Rn , r = 1, . . . , m, on résoud
le système :
Axr = LU xr = br , r = 1, . . . , m.
Il suffit donc de résoudre successivement les systèmes suivants :
{
Ly r = br ,
r = 1, . . . , m.
U xr = y r ,

Théorème 1.1 Soit A une matrice d’ordre n dont toutes les sous matrices principales :
 
a11 . . . a1k
 ..  , k = 1, . . . , n,
Ak =  ... . 
ak1 . . . akk

sont inversibles, alors il existe une décomposition unique de A sous la forme : A = LU


où L est une matrice triangulaire inférieure avec lii = 1, i = 1, . . . , n, et U une matrice
triangulaire supérieure.
On suppose que dans l’algorithme de Gauss on n’effectue aucune opération de permutation
c’est à dire
P (1) = P (2) = · · · = P (n−1) = I.
Dans ces conditions on a

E (n−1) · · · E (2) E (1) A = M A = U ⇔ A = M −1 U,

où E (k) , k = 1, . . . , n − 1, est la matrice élementaire de Gauss donnée dans la section


précedente, qui est une matrice triangulaire inférieure. Or l’inverse d’une matrice trian-
gulaire inférieure est une matrice triangulaire inférieure. De même le produit de deux ma-
trices tirangulaires inférieures est aussi une matrice trinagulaire inférieure. Nous obtenons
donc
A = LU,
avec
L = M −1 = (E (n−1) · · · E (2) E (1) )−1 = (E (1) )−1 (E (2) )−1 · · · (E (n−1) )−1

et U est la matrice triangulaire supérieure obtenue par le procédé d’élimination de Gauss :

U = A(n) = M A,
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 13

   
(1) (1) (1) (1)
u11 . . . . . . . . . u1n ã11 . . . . . . . . . ã1n
 .. ..   .. .. 
 0 . .   0 . . 
   
   .. 
U =  ... ..
. u(k) (k)
. . . ukn = . ..
. ã(k) (k)
. . . ãkn  = A(n)
 kk   kk 
 .. .. .. ..   .. .. .. .. 
 . . . .   . . . . 
(n) (n)
0 ... ... 0 unn 0 ... ... 0 ann

Calcul de L : On a

 
1
 .. 
 . 
 
 
  (k)
ãik
E (k) =

1 
 avec eik = (k)
, i = k + 1, . . . , n.
 −ek+1,k
...  ãkk
 
 .. 
 . 
−enk 1

On vérifie que
 
1
 .. 
 . 
 
 
 
(E k )−1 =

1 ,

 .. 
 ek+1,k . 
 .. 
 . 
enk 1

et que
 
1 0 ... ... 0
 .. .. 
 e21 1 . . 
 
 .. .. 
 . e32 . 
L = (E (1) )−1 (E (2) )−1 . . . (E (n−1) )−1 = .. .. 
 ..
.
..
. . 
 . 
 .. .. 
 . . 1 0 
en1 en2 . . . en,n−1 1

Décomposition LU avec changement de pivot

Supposons qu’au cours de la décomposition LU , pour un k donné, 1 ≤ k ≤ n − 1, le pivot


(k)
akk doit être échangé, pour la raison qu’il soit nul ou on veut appliquer la stratégie du
pivot partiel. Il convient d’échanger la ligne k avec une autre ligne j, j > k, afin d’obtenir
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 14

le pivot approprié. Nous obtiendrons une décomposition LU de la matrice A dans laquelle


nous avons permuté les lignes. On aboutit donc à la forme P A = LU . On obtient alors
les systèmes équivalents suivants :

Ax = b ⇔ LU x = P b.

Avant de résoudre le système Ax = b avec changement de pivot, il convient d’executer en


premier lieu les permutations correspondantes sur le second membre b : P b.

Algorithme 4 : Décomposition LU

Pour chaque étape k = 1, . . . , n − 1, on effectue les opérations suivantes :


(k)
1. Si akk = 0 on échange la ligne Lk de la matrice A(k) avec une ligne Li (i > k) telle
(k) (k) (k)
aik ̸= 0 ou aik soit un pivot partiel (dans ce cas akk est supposé quelconque).
Puis on mémorise cette permutation des lignes dans un vecteur p, initialisé à
p = (1, 2, . . . , n), par la permutation suivante : p(k) ↔ p(i), c’est à dire on permute
les composantes k et i de p.

2. Construction de la k-ième colonne de L :




 lik = 0 i = 1, . . . , k − 1,


 lkk = 1,

 (k)


ãik
 ik
l = (k)
i = k + 1, . . . , n.
ãkk

3. On remplace les lignes Li , i = k + 1, . . . , n, de Ã(k) par :

(k)
ãik
Li ← Li − (k)
Lk , i = k + 1, . . . , n.
ãkk
Ce qui donne
(k)
(k+1) (k) ãik (k)
aij = ãij − ã ,
(k) kj
i = k + 1, . . . , n, j = k, . . . , n,
ãkk

Fin Pour
On obtient alors
U = A(n) .
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 15

Exemple : Décomposer la matrice A en LU :


 
2 −4 3
A= 2 −3 2  .
−3 2 1

Etape k=1 :
(1)
• Construction de la première colonne de L : Le pivot est a11 = 2. La première
colonne de L est
(1) (1)
a21 a31
l11 = 1, l21 = (1)
= 1 et l31 = (1)
= −3/2.
a11 a11

• Construction de A(2) :
(1)
a21
L2 ← L2 − (1)
L1 = L2 − L1 .
a11
L2 = (0 1 − 1) + (−2 4 − 3) = (0 1 − 1).

(1)
a31
L3 ← L3 −
L = L3 + 3/2L1 .
(1) 1
a11
L3 = (−3 2 1) + 3/2(2 − 4 3) = (0 − 4 11/4).
On obtient  
2 −4 3
 0 1 −1  .
0 −4 11/2
Etape k=2 :

(2)
• Construction de la deuxième colonne de L : Le pivot est a22 = 1. La deuxième
colonne de L est :
(2)
a32
l12 = 0, l22 = 1, et l32 = (2)
= −4.
a22

• Construction de A(3) :
(2)
a32
L3 ← L3 − (2)
L2 = L3 + 4L2 .
a22
L3 = (0 − 4 11/2) + (0 4 − 4) = (0 0 3/2).
On obtient  
2 −4 3
A(3) =  0 1 −1  .
0 0 3/2
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 16

D’où
   
2 −4 3 1 0 0
U =  0 1 −1  et L= 1 1 0 .
0 0 3/2 −3/2 −4 1

1.2.5 Décomposition de Cholesky


Une matrice carrée A est dite définie positive si

∀x ̸= 0, xt Ax > 0.

Théorème 1.2 Soit A une matrice symétrique définie positive, alors il exsiste au moins
une matrice triangulaire inférieure L telle que

A = LLt .

De plus, si on impose aux éléments diagonaux de L d’être positifs, cette décomposition est
unique.

Si A est factorisée sous la forme A = LLt , la décomposition du système Ax = b devient :


{
Ly = b,
Lt x = y.

Détermination pratique de L

On a

n
A = LL ⇒ aij =
t
lik ljk , i, j = 1, . . . , n.
k=1

Puisque L est triangulaire inférieure, on a


min(i,j)
aij = lik ljk , i, j = 1, . . . , n.
k=1

Puisque A est symétrique, il suffit de calculer les termes aij pour i ≥ j, on a


j
aij = lik ljk , i = j, . . . , n.
k=1

D’où en particulier on a { 2
a11 = l11
ai1 = li1 l11 , i = 2, . . . , n.
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 17

Donc la première colonne de L est donnée par :


{ √
l11 = a11
li1 = ai1 /l11 , i = 2, . . . , n.

Ce qui permet de déterminer de proche en proche les (j − 1) premières colonnes de L.


Essayons de construire la j-ième colonne. Nous avons

j

j−1
2 2 2
ajj = ljk = ljj + ljk ,
k=1 k=1

ce qui permet de calculer v


u
u ∑
j−1
t
ljj = ajj − 2
ljk .
k=1

Et nous avons

j

j−1
aij = lik ljk = lij ljj + lik ljk , i = j + 1, . . . , n,
k=1 k=1

ce qui permet de calculer



j−1
aij − lik ljk
k=1
lij = , i = j + 1, . . . , n.
ljj
Donc la méthode de Cholesky permet de construire la matrice L colonne par colonne de
la façon suivante :

Algorithme 5 : Décomposition de Cholesky

Pour j = 1, la première colonne, on calcule


{ √
l11 = a11
li1 = ai1 /l11 , i = 2, . . . , n.

 v
 u

 u ∑
j−1

 ljj = tajj − 2
ljk ,


 k=1
Pour j = 2, . . . , n on calcule
 ∑
j−1

 aij − lik ljk




 lij = k=1
, i = j + 1, . . . , n.
ljj
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 18

1.3 Méthodes itératives


Soient A une matrice carrée et inversible d’orde n et b un vecteur donné de Rn . On
considère le système linéaire suivant : Trouver x ∈ Rn tel que

Ax = b. (1)

Supposons qu’elle existe une matrice B et un vecteur l tels que la solution de (1) est
également solution de
x = Bx + l. (2)
On peut construire une méthode itérative de la façon suivante :
{ 0
x arbitraire
(3)
xk+1 = Bxk + l, k ≥ 1.

On dira que la méthode itérative (3) est convergente si et seulement si xk converge vers
x quand k tend vers +∞ et ceci pour tout vecteur initial x0 .
Supposons qu’on puisse écrire A sous la forme

A=M −N

avec M une matrice inversible facile à inverser. Donc on peut écrire le système (1) sous
la forme
(M − N )x = b
qui est équivalent à
x = M −1 N x + M −1 b = Bx + l, (4)
avec B = M −1 N et l = M −1 b. Appliquant la méthode itérative (3) à (4) on obtient :
{ 0
x arbitraire
(5)
xk+1 = M −1 N xk + M −1 b, k ≥ 1.

1.3.1 Méthode de Jacobi


Soit A = (aij ) une matrice carrée et inversible d’ordre n telle que aii ̸= 0 pour tout i,
1 ≤ i ≤ n. On décompose A de la façon suivante :

A = D − E − F,

où D est une matrice diagonale telle que

dii = aii , i = 1, . . . , n,

F est une matrice triangulaire supérieure telle que


{
fii = 0 i = 1, . . . , n,
fij = −aij i, j = 1, . . . , n, avec j > i,
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 19

E est une matrice triangulaire inférieure telle que


{
eii = 0, i = 1, . . . , n,
eij = −aij i, j = 1, . . . , n, avec j < i.

La représentation matricielle de D, E et F est donnée par :

   
0 ... ... 0 0 a12 . . . . . . a1n
 ... ..   .. . . . . .. 
 a21 .   . . . . 
   
−E = 

..
.
..
. 


−F = . .. ..
. 

 .. .. .. ..   . . 
 . . . .   .. . . an−1,n 
an1 . . . . . . an−1,n−1 0 0 ... ... 0
 
a11 0 ... ... 0
 ... ... .. 
 0 . 
 
D=

..
.
..
.
..
.
..
. 

 .. .. .. 
 . . . 0 
0 . . . . . . 0 ann

La méthode de Jacobi consiste à poser

M =D et N = E + F.

Donc le système itératif (5) devient :


{ 0
x arbitraire
(6)
xk+1 = D−1 (E + F )xk + D−1 b.
La matrice J définie par
J = D−1 (E + F )
est dite matrice de Jacobi. Soit x0 ∈ Rn une donnée initiale, l’algorithme de Jacobi est
donnée par :

Algorithme 6 : Méthode de Jacobi

Tant que le critère d’arrêt n’est pas satisfait, repeter sur k l’algorithme suivant :

−1 ∑
n
bi
xk+1
i = aij xkj + , i = 1, . . . , n.
aii j=1,j̸=i aii
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 20

On obtient
1
xk+1
1 = (−a12 xk2 − · · · − a1n xkn + b1 )
a11
1
xk+1
2 = (−a21 xk1 − a23 xk3 − · · · − a2n xkn + b2 )
a22
..
.
1
xk+1
n = (−an1 xk1 − · · · − an,n−1 xkn−1 + bn ).
ann

Remarque 1.1 Pratiquement, à chaque itération k ≥ 1 on a besoin de stocker dans la


mémoire les vecteurs xk et xk+1 . Donc on a besoin de 2 ∗ n places mémoires.

Théorème 1.3 Soit A une matrice inversible d’ordre n à diagonale strictement domi-
nante, c’est à dire

n
|aii | > |aij |, i = 1, . . . , n,
j=1,j̸=i

alors la méthode de Jacobi est convergente.

1.3.2 Méthode de Gauss Seidel


Pour cette méthode les matrices M et N sont données par :

M = D − E et N = F.

On suppose toujours que les aii ̸= 0, i = 1, . . . , n. Donc la matric M est inversible, d’où
le système itératif (5) devient :
{ 0
x arbitraire
(7)
xk+1 = (D − E)−1 F xk + (D − E)−1 b.

La matrice (D − E)−1 F est appelée matrice de Gauss Seidel associée à A. D’après (7)
on a
Dxk+1 = Exk+1 + F xk + b.
Etant donné xk , on a à résoudre un système triangulaire inférieur pour avoir la solution
xk+1 . L’algorithme de Gauss Seidel est donné par :

1 ∑ 1 ∑
i−1 n
bi
xk+1
i =− aij xj −
k+1
aij xkj + , i = 1, . . . , n.
aii j=1 aii j=i+1 aii
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 21

On obtient :
( )
1 ∑
n
xk+1
1 = − a1j xkj + b1
a11
( j=2 )
1 ∑n
xk+1
2 = −a21 x1 −
k+1 k
a2j xj + b2
a22
( j=3 )
1 ∑ n
xk+1
3 = −a31 xk+1
1 − a32 xk+1
2 − a2j xkj + b3
a33 j=4
..
.
1 ( )
xk+1
n = −an1 xk+1
1 − an2 xk+1
2 − · · · − an,n−1 xk+1
n + bn .
ann

Remarque 1.2 Dans la méthode de Gauss-Seidel, la composante xk+1 i est calculée à par-
tir de (i − 1) premières composantes de xk+1 et (n − i) dernières composantes de xk . On
peut donc remplacesr en mémoire machine, au fur et à mesure du calcul, les composantes
xki par xk+1
i , i = 1, . . . , n, qui nécessite seulement n places mémoires au lieu de 2n pour
la méthode de Jacobi, pour stocker xk et xk+1 .

Théorème 1.4 Si A est une matrice inversible à diagonale strictement dominante, alors
la méthode de Gauss Seidel est convergente.
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 22

2 Systèmes linéaires à matrices non carrées et méthode


des moindres carrées
2.1 Exemples de systèmes à matrice non carrée
Etant donnés m points répartis sur le plan, aux quels sont associées des coordonnées
(x1 , y1 ), (x2 , y2 ), . . . , (xm , ym ). On désire approcher ces points par une fonction f : R → R
∑ sous forme d’une combinaison linéaire de n fonctions fi : R → R, c’est à dire
qui s’écrit
f (x) = nj=1 αj fj (x). On cherche les coefficients αj tels que


n
f (xi ) = αj fj (xi ) ≃ yi , i = 1, . . . , m,
j=1

c’est à dire les résidus



n
ri = |yi − αj fj (xi )|, i = 1, . . . , m, (8)
j=1

soient les plus petits possibles.


Exemple 1 : Régression linéaire.
Soit M = {M1 , . . . , Mm } un nuage de points répartis sur le plan R2 . On désire approcher
les points Mi = (xi , yi ), i = 1, . . . , m, par une droite : f (x) = α1 + α2 x. On a alors
f = α1 f1 + α2 f2 avec f1 (x) = 1 et f2 (x) = x. La fonction f (x) = α1 + α2 x s’appelle droite
de régression.
La méthode des moindres carrées consiste à chercher les coefficients α1 et α2 tels que
( )2
∑m ∑m ∑
n
r = 2
ri = yi − αj fj (xi )
i=1 i=1 j=1

m ∑
m
r = ri2 = (yi − α1 − α2 xi )2
i=1 i=1

soit aussi petit possible. Posons


   
1 x1 y1
 1 x2    ( )
   y2  α1
A =  .. .. , b= .. , α= .
 . .   .  α2
1 xm ym

Alors on cherche à minimiser sur α la norme suivante :

r = ∥Aα − b∥22 .

La solution α est dite solution au sens des moindres carrées de Aα = b.

∑m
On rappelle que pour v ∈ Rm , on a ∥v∥22 = i=1 vi2 .
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 23

Exemple 2 : Régression multiple.


On désire approcher les points Mi = (xi , yi ), i = 1, . . . , m, par un polynôme :
P (x) = α0 + α1 x + · · · + αn xn . On a

n
f (x) = αj fj (x),
j=0

avec fj (x) = xj , j = 0, . . . , n. La méthode des moindres carrées consiste à chercher les


coefficients α0 . . . αn tels que
( )2 ( )2
∑m ∑n ∑
m ∑n
r= yi − αj fj (xi ) = yi − αj xji ,
i=1 j=0 i=1 j=0

soit aussi petit possible. Posons


     
1 x1 x21 . . . xn1 y1 α0
 1 x2 x2 . . . xn2   y2   α1 
 2     
A =  .. .. , b= .. , α= .. .
 . .   .   . 
1 xm x2m . . . xnm ym αn
Donc le résidu r est exprimé par
r = ∥b − Aα∥22 .
Le problème revient à chercher α réalisant le minimum de J :
J(α) = min ∥b − Aα∥22 .
α

2.2 Systèmes à matrice non carrée


Soit A une matrice d’ordre (m, n) dont le nombre de lignes m est différent du nombre
de colonnes n, et soit b um m-vecteur donné (m ̸= n). On veut chercher un n-vecteur x
satisfaisant l’équation linéaire suivante :
Ax = b.
On distingue deux cas :
• Celui des systèmes surdeterminés : On a plus d’équations (m équations ) que
d’inconnus (n inconnus); dans bien des cas il n’a pas de solution.
• Celui des systèmes sous-déterminés : On a plus d’inconnus (n inconnus) que d’équations
(m équations ). En général un tel système admet une infinité de solutions.

Nous considérons ici les systèmes surdeterminés. Le problème est donc de rechercher x
réalisant le minimum de :
∥b − Ax∥22 = (b − Ax, b − ax),
c’est à dire
∥b − Ax∥22 ≤ ∥b − Ay∥22 , ∀y ∈ Rn .
On dira dans ce cas qu’on cherche une solution de Ax ≃ b au sens des moindres carrés.
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 24

Théorème 2.1 Soit A une matrice d’ordre (m, n) de rang n. Alors il existe un et un
seule vecteur x minimisant
J(x) = ∥b − Ax∥22 .
De plus ce vecteur est la solution du système :

At Ax = At b.

Preuve : Minimiser J(x) = ∥b − Ax∥22 revient à chercher des solutions de l’équation :

∂J
(x) = 0, i = 1, . . . , n.
∂xi

Posons ej = (0, . . . , 0, 1, 0, . . . , 0)t , la valeur 1 se trouve dans la j-ième position. On a


d’une part
J(x) = ∥b − Ax∥22 = (b − Ax, b − Ax)
= (b, b) − (b, Ax) − (Ax, b) + (Ax, Ax)
= (Ax, Ax) − 2(Ax, b) + (b, b).
D’autre part
∂J
(x) = (Ax, Aei ) + (Aei , Ax) − 2(Aei , b)
∂xi
= 2(Aei , Ax) − 2(Aei , b)
= 2(ei , At Ax − At b) = 0, ∀i = 1, . . . , m.
Donc trouver un minimum de J(x) revient à résoudre le système linéaire :

At Ax = At b.

La matrice At A est symétrique et définie positive. Donc si A est de rang n, résoudre


Ax = b au sens des moindres carrés, revient à résoudre le système linéaire de n équations
suivant :
At Ax = At b.
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 25

3 Interpolation polynomiale
3.1 Introduction
Supposons qu’on a un ensemble de n + 1 points Mi = (xi , yi ) distincts repartis sur le plan.
Le problème d’interpolation polynomiale consiste à trouver un polynôme P de degré n :

P (x) = a0 + a1 x + a2 x2 + · · · + an xn

tel que
P (xi ) = yi , i = 0, . . . , n. (9)
Les n + 1 relations dans (9) s’écrivent

a0 + a1 xi + a2 x2i + · · · + an xni = yi , i = 0, . . . , n. (10)

Une manière différente d’écrire le système (10) est la suivante :

Ax = b (11)

avec      
1 x0 x20 . . . xn0 a0 y0
 1 x1 x21 . . . xn1   a1   y1 
     
 .. .. ..   ..   .. 
A= . . . , x= .  et b =  . .
 .. .. ..   ..   .. 
 . . .   .   . 
1 xn x2n . . . xnn an yn
La matrice A est dite matrice de Vendemande associée aux points x0 , x1 , . . . , xn . On
distingue deux types d’intepolation :

1. L’interpolation de Lagrange qui consiste à interpoler un ensemble de points


Mi (xi , yi ) distincts donnés.

2. L’interpolation d’Hermite qui consiste à interpoler un ensemble de points Mi (xi , yi )


appartenant à la courbe d’une fonction f donnée dont on connait les dérivées, jusqu’à
un ordre ni , de f aux points xi .

3.2 Interpolation de Lagrange


Soient x0 , x1 , . . . , xn un ensemble de nombres réels donnés. Soient φj : R → R,
j = 0, . . . , n, des fonctions définies par
∏n
x − xi (x − x0 )(x − x1 ) · · · (x − xj−1 )(x − xj+1 ) · · · (x − xn )
φj (x) = = .
x − xi
i=0 j
(xj − x0 )(xj − x1 ) · · · (xj − xj−1 )(xj − xj+1 ) · · · (xj − xn )
i̸=j

On a par exemple
(x − x1 )(x − x2 ) · · · (x − xn )
φ0 (x) = ,
(x0 − x1 )(x0 − x2 ) · · · (x0 − xn )
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 26

(x − x0 )(x − x1 ) · · · (x − xn−1 )
φn (x) = .
(xn − x0 )(xn − x1 ) · · · (xn − xn−1 )

Il est claire que chaque fonction φj est un polynôme de degré n. De plus on a


{
1 si i = j,
φj (xi ) =
0 sinon.

On vérifie que les ploynômes φ0 , φ1 , . . . , φn sont linéairement indépendants, donc ils for-
ment une base de l’espace des polynômes de degré n : Pn .

On appelle φ0 , φ1 , . . . , φn la base de Lagrange de Pn associée aux points x0 , x1 , . . . , xn .


Donc le polynôme P de degré n interpolant les (n + 1) points Mi = (xi , yi ), i = 0, . . . , n,
est défini par

P (x) = y0 φ0 (x) + y1 φ1 (x) + · · · + yn φn (x),

où φi , i = 0, . . . , n, est la base de Lagrange de Pn associée aux points x0 , x1 , . . . , xn . On


vérifie que
P (xi ) = yi , i = 0, . . . , n.

Exemple 1 : Soient trois points M0 = (−1, 2), M1 = (0, 1) et M2 = (1, −1). La base de
Lagrange de P2 associée aux points x0 = −1, x1 = 0 et x2 = 1 est donnée par

(x − x1 )(x − x2 ) x(x − 1)
φ0 (x) = = .
(x0 − x1 )(x0 − x2 ) 2
(x − x0 )(x − x2 )
φ1 (x) = = 1 − x2 .
(x1 − x0 )(x1 − x2 )
(x − x0 )(x − x1 ) (x + 1)x
φ2 (x) = = .
(x2 − x0 )(x2 − x1 ) 2

Donc le polynôme interploant les points Mi , i = 0, 1, 2, est donné par

P (x) = y0 φ0 (x) + y1 φ1 (x) + y2 φ2 (x)


(x + 1)x
= x(x − 1) + (1 − x2 ) −
2
x2 3
= − − x + 1.
2 2
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 27

3.3 Interpolation d’une fonction continue par un polynôme


Etant donnée une fonction continue f : [a, b] ⊂ R → R. On désire interpoler la fonction
f par un polynôme de degré n aux points xi ∈ [a, b], i = 0, . . . , n (les xi sont distincts).
Cela revient à interpoler les points Mi = (xi , f (xi )), i = 0, . . . , n, en définissant la base
de Lagrange vu dans la section précédente. Donc le polynôme est défini par

n
P (x) = f (x)φj (x) ∀x ∈ R. (12)
j=0

On vérifie que
P (xi ) = f (xi ), i = 0, . . . , n.

Théorème 3.1 Supposons que f est (n + 1) fois continûement dérivable sur l’intervalle
[a, b]. Alors on a l’estimation d’erreur suivante :
( )n−1
1 b−a dn+1 f (t)
max |f (t) − P (t)| ≤ max | |
t∈[a,b] 2(n + 1) n t∈[a,b] dtn+1

où P est le polynôme défini par (12).


Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 28

4 Résolution des équations non linéaires : f (x) = 0


Dans ce chapitre on s’intéresse à la résolution des équations de la forme f (x) = 0 où
f : I ⊂ R → R une fonction supposée assez régulière, ou plus généralement les systèmes
d’équations de la forme : 

 f1 (x) = 0

 f2 (x) = 0
..

 .

 f (x) = 0
n

avec fi : I ⊂ Rn → R.

4.1 Méthode de dichotomie


Soient I un intervalle de R et f : I → R une fonction continue. On suppose qu’il existent
deux valeurs a0 et b0 dans I telles que f (a0 )f (b0 ) < 0, donc il existe au moins un c ∈]a0 , b0 [
tel que f (c) = 0. On pose c0 = a0 +b
2
0
, si f (c0 ) = 0 alors c0 est une racine de f ; sinon on a
• soit f (a0 )f (c0 ) < 0, donc la racine de f existe dans l’intervalle ]a0 , c0 [, on pose
ensuite c1 = a0 +c 2
0
, a1 = a0 et b1 = c0 .

• soit f (b0 )f (c0 ) < 0, donc la racine de f existe dans l’intervalle ]c0 , b0 [, on pose
ensuite c1 = c0 +b 2
0
, a1 = c0 et b1 = b0 .
On poursuit ainsi la dichotomie sur l’intervalle [a1 , b1 ]. On obtient une suite de valeurs
approchées de f (x) = 0 :
a0 + b0 a 1 + b1 a n + bn
c0 = , c1 = , . . . , cn = .
2 2 2
On vérifie que
b−a
|cn − x| < .
2n+1
Algorithme 8 : Algorithme de Dichotomie
ε donné
c := a+b
2
Tanque f (c) > ε faire
Si f (a)f (c) < 0 alors
b:=c
c:=(a+b)/2
Finsi
Si f (c)f (b) < 0 alors
a:=c
c:=(a+b)/2
Finsi
FinTanque

La solution approchée de f (x) = 0 sur [a, b] est c : f (c) ≤ ε.


Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 29


Exemple 1 : On cherche une approximation de la valeur 2 par la méthode de di-
chotomie. Nous considérons
√ la fonction f (x) = x2 − 2 sur l’intervalle [0, 8], donc la
solution de f (x) = 0 est 2.
Les itérations de la méthode de dichotomie appliquée à la fonction f sur l’intervalle [0, 8],
on se limite à trois itérations, sont données par le tableau suivant :
Itération : i ai bi ci f (ci ) f (ai ) f (bi )
0 0 8 4 14 -2 62
1 0 4 2 2 -2 14
2 0 2 1 -1 -2 2
3 1 2 3/2 1/4 -1 2

La valeur approchée de 2 à l’itération 3 est c3 = 3/2.
b0 −a0
L’estimation de l’erreur est donnée par 2n+1
= 1/2.

4.2 Méthode du point fixe (approximations successives)


Soit f : I ⊂ R → R une fonction continue. On suppose qu’il existe une fonction
F : I ⊂ R → R telle qu’on a

f (x) = 0 ⇔ F (x) = x.

Alors on définit le procédé itératif suivant :


{
x0 donné,
(13)
xn+1 = F (xn ), n = 0, 1, 2, . . .

Exemple 2 : Soit
f (x) = x3 − ex + 1,
alors on peut prendre par exemple

F1 (x) = x3 − ex + 1 + x ou F2 (x) = (ex − 1)1/3 .

On a
F1 (x) = x ⇔ f (x) = 0 et F2 (x) = x ⇔ f (x) = 0.

Théorème 4.1 Soit I = [a, b] ⊂ R et F : I → R une fonction satisfaisant les conditions


suivantes :

1. F (I) ⊂ I.

2. Il existe une constante 0 < L < 1, telle que

|F (x) − F (y)| < L|x − y| ∀x, y ∈ I,

c’est à dire F est Lipschitzienne de constante L.


Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 30

Alors pour tout x0 ∈ I, le procédé itératif (13) est convergent et on a xn → x, où x est le
point fixe de F . De plus on a

|xn+1 − xn | < Ln |x1 − x0 |.

Remarque 4.1

• Si F est de classe C 1 sur [a, b] et |F ′ (x)| < 1 pour tout x ∈]a, b[, alors le théorème 4.1
s’applique.

• Pratiquement, on arrête le processus itératif dès qu’on a

|xn+1 − xn | < ε

pour ε choisi suffisament petit.

4.3 Méthode de Newton-Raphson dans R


Soit f : R → R une fonction continûement dérivable. La méthode de Newton-Raphson
consiste à construire une suite xn → x, où x est solution de f (x) = 0. Le processus itératif
de cette méthode est donné par

 x0 donné,
f (xn ) (14)
 xn+1 = xn − ′ .
f (xn )
Interpretation géométrique

f (x0 )

f (x1)
f (x2)
x x2 x1 x0

Figure 1: Méthode de Newton-Raphson.

Théorème 4.2 (convergence locale) Soit f ∈ C 2 ([a, b], R). On suppose q’il existe x ∈]a, b[
tel que f (x) = 0 et f ′ (x) ̸= 0. Alors pour x0 assez proche de x, la suite définie par le
procédé intératif (14) converge vers x.
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 31

Application : On s’iteresse à approcher numériquement la racine carrée d’un nombre


réel y > 0. On pose

f (x) = x2 − y.

Cela revient à résoudre f (x) = 0 sur R+ . Appliquons la méthode de Newton à f , on


trouve le processus itératif suivant :


 x0 > 0 donné,
f (xn ) x2 − y
 xn+1 = xn − ′ = xn − n .
f (xn ) 2xn

4.4 Méthode de Newton-Raphson dans Rn


Soit F : Rn → Rn une fonction différentiable, F = (f1 , f2 , . . . , fn ) où les fi , i = 1, . . . , n,
sont continûement dérivables. Le système à résoudre est F (x) = 0 avec x = (x1 , . . . , xn ),
qui s’écrit sous la forme


 f1 (x) = 0

 f2 (x) = 0
(S) ..

 .

 f (x) = 0.
n

On définit la matrice Jacobienne de F par


 
∂f1 ∂f1
(x) . . . (x)
 ∂x1 ∂xn 
 
 .. .. 
JF (x) = 
 . . .

 
 ∂f ∂fn 
n
(x) . . . (x)
∂x1 ∂xn
La méthode de Newton-Raphson se généralise au système non linéaire de la manière
suivante :
{
x0 donné,
xn+1 = xn − JF−1(x) F (xn ),

où JF−1(x) est la matrice inverse de la matrice Jacobienne JF (x) .


Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 32

4.5 Méthode de Newton Modéfiée


Soit f : R → R une fonction continûement dérivable. La méthode de Newton-Raphson
modifiée consiste à construire une suite xn → x, où x est solution de f (x) = 0. Le procéssus
itératif de cette méthode est donné par

 x0 donné,
f (xn )
 xn+1 = xn − ′ .
f (x0 )

On note que la convergence de xn → x de cette méthode est moins rapide que celle de
Newton-Raphson.

Interpretation géométrique

f (x0 )

f (x1)
f (x2)
x x2 x1 x0

Figure 2: Méthode de Newton modifiée.


Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 33

5 Intégration numérique
5.1 Approximation par formule de quadrature
∫b
Soit f : [a, b] → R une fonction continue, le calcul de l’integrale a f (x)dx n’est pas
toujours possible de l’effectuer. On désire approcher numériquement la quantité
∫ b
f (x)dx.
a

Pour ce faire on commence par partitionner l’intervalle [a, b] en sous intervalles [xi , xi+1 ] ⊂
[a, b], i = 0, 1, . . . , n − 1. Soit

h = max |xi+1 − xi |.
0≤i≤n−1

Une partition de l’intervalle est dite uniforme si tous les sous intervalles sont de longueurs
égales. Dans ce cas on pose
b−a
h= et xi = a + ih, i = 0, 1, . . . , n.
n
On a
∫ b n−1 ∫
∑ xi+1
f (x)dx = f (x)dx.
a i=0 xi

On s’intéresse à approcher les termes


∫ xi+1
f (x)dx
xi

par des formules dites formules de quadrature. Effectuant le changement de variable


suivant :
x − xi
t=2 − 1,
xi+1 − xi
on obtient ∫ ∫
xi+1
xi+1 − xi 1
f (x)dx = gi (t)dt (15)
xi 2 −1
avec ( )
t+1
gi (t) = f xi + (xi+1 − xi ) , t ∈ [−1, 1].
2
∫b
Donc l’integrale a
f (x)dx est donnée par
∫ ∑
n−1 ∫
b
xi+1 − xi 1
f (x)dx = gi (t)dt. (16)
a i=0
2 −1

∫1
On va définir la formule de quadrature pour approcher numériquement −1
g(t)dt.
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 34

Définition 5.1 Soit g une fonction continue sur [−1, 1], la formule de quadrature


m
J(g) = wj g(tj )
j=1

est définie par la donnée de m points 1 ≤ t1 < t2 < · · · < tm ≤ 1 appelés points
d’intégration, et m nombres réels w1 , w2 , . . . , wm appelés poids de la formule de quadrature.

∫1
La quantité −1
gi (t)dt dans la relation (15) est approchée par
∫ 1 ∑
m
gi (t)dt ≃ J(gi ) = wj gi (tj ).
−1 j=1

∫ xi+1
Donc la quantité xi
f (x)dx est approchée par la valeur suivante :

xi+1 − xi ∑
m
xi+1
xi+1 − xi
f (x)dx ≃ J(gi ) = wj gi (tj ).
xi 2 2 j=1

D’où, en replaçant gi (tj ) par son expression on trouve


∫ ( )
xi+1 − xi ∑
xi+1 m
tj + 1
f (x)dx ≃ wj f xi + (xi+1 − xi ) .
xi 2 j=1
2
∫b
Donc l’approximation de a
f (x)dx est donnée par

∑ ∑ ( )
xi+1 − xi ∑
n−1 n−1 m
xi+1 − xi tj + 1
Lh (f ) = J(g) = wj f xi + (xi+1 − xi ) . (17)
i=0
2 i=0
2 j=1
2

Exemple 1 : Soit m = 2 avec t1 = −1, t2 = 1, w1 = w2 = 1. Donc la formule de


quadrature est exprimée par


2
J(g) = wj g(tj ) = g(−1) + g(1)
j=1

qui correspond à l’aire du trapèze hachuré de la figure 3. D’après la relation (17),


∫b
l’approximation de l’integrale a f (x)dx : Lh (f ) est exprimée par
∫ ∑
n−1
b
xi+1 − xi
f (x)dx ≃ Lh (f ) = (f (xi ) + f (xi+1 )),
a i=0
2

où x0 , x1 , . . . , xn est une subdivision de l’intervalle [a, b]. Cette integrale qui correspond
à l’aire des trapèzes hachurés de la figure 4.
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 35

t
t 1 = -1 0 t2 = 1

Figure 3: Formule de quadrature : Méthode du trapèze

a=x 0 xi x i+1 b=x n

∫b
Figure 4: Formule du trapèze pour a
f (x)dx.

∫b
On va maintenant estimer l’erreur entre la valeur exacte de l’integrale a
f (x)dx et la
valeur approchée Lh (f ) donnée par la relation (17).
∫1
Définition 5.2 On dit que la formule de quadrature pour calculer numériquement −1
g(t)dt :

m
J(g) = wj g(tj )
j=1

est exacte pour les polynômes P de degré r ≥ 0 si


∫ 1 ∑m
P (t)dt = J(P ) = wj P (tj )
−1 j=1

pour tout polynôme P de degré inférieur ou égale à r.


Théorème 5.1 Supposons que la formule de quadrature

m
J(g) = wj g(tj )
j=1

est exacte pour des polynômes P de degré r. Soit f : [a, b] → R une fonction (r + 1) fois
continûement dérivable sur [a, b], et soit Lh (f ) la formule de quadrature définie par (17),
alors il existe une constante c indépendante du choix des points xi , telle que
∫ b
| f (x)dx − Lh (f )| ≤ chr+1 .
a
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 36

Exemple 2 : Considérons la formule du trapèze donnée dans l’exemple 1, la formule de


quadrature est exprimée par
J(g) = g(−1) + g(1).
Si P est un polynôme de degré 1 : P (t) = at + b, on vérifie que
∫ 1
J(P ) = P (t)dt = P (−1) + P (1).
−1

Donc la formule de quadrature est exacte pour les polynômes de degré r = 1.

Soient f est une fonction deux fois continûement dérivable sur [a, b] et Lh (f ) l’approximation
∫b
de a f (x)dx, alors le théorème 5.1 fournit l’estimation de l’erreur suivante :
∫ b
| f (x)dx − Lh (f )| ≤ ch2 .
a

b−a
On suppose que l’intervalle [a, b] est divisé en n parties égales, c’est à dire h = n
. On
remarque que si n est multiplié par deux, l’erreur est divisée par quatre.

5.2 Détermination des poids d’une formule de quadrature


Soient m points de l’intervalle [−1, 1] : −1 ≤ t1 ≤ t2 ≤ · · · ≤ tm ≤ 1. Nous cherchons à
déterminer les poids w1 , w2 , . . . , wm de sorte que la formule de quadrature

m
J(g) = wj g(tj )
j=1

soit exacte pour les polynômes de degré assez elevé.


Soient φ1 , φ2 , . . . , φm une suite de fonctions associées aux points t1 , t2 , . . . , tm , définies par

(t − t1 )(t − t2 ) · · · (t − tj−1 )(t − tj+1 ) · · · (t − tm )


φj (t) = , j = 1, . . . , m.
(tj − t1 )(tj − t2 ) · · · (tj − tj−1 )(tj − tj+1 ) · · · (tj − tm )

Les fonctions φ1 , . . . , φm constituent une base de l’espace des polynômes de degré (m−1) :
Pm−1 dite la base de Lagrange.
Soit g : [−1, 1] → R une fonction continue, et soit g̃ son interpolant aux points t1 , . . . , tm
défini par

m
g̃(t) = g(tj )φj (t).
j=1

Puisque les φj sont des polynômes de degré m − 1, alors g̃ est un polynôme de degré
m − 1. On a ∫ 1 ∫ 1

m
g̃(t)dt = g(tj ) φj (t)dt.
−1 j=1 −1
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 37

On constate qu’il suffit de poser


∫ 1
wj = φj (t)dt
−1

pour que

m
J(g) = wj g(tj )
j=1
∫1
soit une approximation de −1
g(t)dt.

Exemple 3 : Considérons la formule du trapèze donnée dans l’exemple 1, avec m = 2,


t1 = −1 et t2 = 1. La base de Lagrange φ1 , φ2 associée aux points t1 , t2 est donnée par
t − t2 1−t t − t1 t+1
φ1 (t) = = , φ2 (t) = = .
t1 − t2 2 t2 − t1 2
Les poids sont donnés par
∫ 1 ∫ 1
w1 = φ1 (t)dt = 1, w2 = φ2 (t)dt = 1.
−1 −1

Théorème 5.2 Soient t1 < t2 < · · · < tm , m points de l’intervalle [−1, 1] et soit
φ1 , φ2 , . . . , φm la base de Lagrange de l’espace Pm−1 associée à ces m points. Alors la
formule de quadrature
∑m
J(g) = wj g(tj )
j=1

est exacte pour les polynômes de degré m − 1 si et seulement si


∫ 1
wj = φj (t)dt, j = 1, . . . , m.
−1

5.3 Formule du rectangle


La formule du rectangle est une formule à un seul point (m = 1) : t1 = 0. La base de
Lagrange P0 associée à t1 = 0 est donnée par

φ1 (t) = 1 ∀t ∈ [−1, 1].

On a ∫ 1
w1 = φ1 (t)dt = 2.
−1

La formule du rectangle devient


J(g) = 2g(0).
∫1
La formule du rectangle consiste à approcher −1 g(t)dt par l’aire du rectangle de base
[−1, 1] et de hauteur g(0), voir figure 5.
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 38

g
g (0)

t
-1 t 1= 0 1

Figure 5: Formule de quadrature : Méthode du rectangle.

∫b
Soit f : [a, b] → R une fonction continue. L’approximation de a
f (x)dx par la
méthode du rectangle est donnée par

n−1
xi+1 − xi ∑
n−1
xi + xi+1
Lh (f ) = J(g) = (xi+1 − xi )f ( ).
i=1
2 i=1
2

D’après le théorème 5.2, la méthode du rectangle est exacte pour les polynômes de degré 0.
On montre aussi que cette méthode est exacte pour les polynômes de degré 1. En effet,
soit P un polynôme de degré 1 : P (t) = αt + β. On a
∫ 1
P (t)dt = 2β = 2P (0) = J(P ).
−1

Donc d’après le théorème 5.1, on a l’estimation suivante :


∫ b
| f (x)dx − Lh (f )| ≤ ch2 .
a

5.4 Formule du trapèze


La formule du trapèze est une formule à deux points : m = 2, t1 = −1 et t2 = 1. La base
de Lagrange φ1 , φ2 associée aux points t1 , t2 est donnée par
t − t2 1−t t − t1 t+1
φ1 (t) = = , φ2 (t) = = .
t1 − t2 2 t2 − t1 2
Les poids sont donnés par
∫ 1 ∫ 1
w1 = φ1 (t)dt = 1, w2 = φ2 (t)dt = 1.
−1 −1

La formule de quadrature de la méthode du trapèze s’écrit :

J(g) = g(−1) + g(1).


∫b
Donc l’approximation numérique de a f (x)dx par la méthode du trapèze est donnée par


n−1
xi+1 − xi ∑
n−1
xi+1 − xi
Lh (f ) = J(g) = (f (xi ) + f (xi+1 )) .
i=0
2 i=0
2
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 39

D’après le théorème 5.2 la formule du trapèse est exacte pour les polynômes de degré 1.
L’estimation du théorème 5.1 devient :
∫ b
| f (x)dx − Lh (f )| ≤ ch2 .
a

5.5 Formule de Simpson


La formule de Simpson est une formule à trois points : m = 3, t1 = −1, t2 = 0 et t3 = 1.
La base de Lagrange φ1 , φ2 , φ3 de P2 s’écrit :
1 1
φ1 (t) = (t2 − t), φ2 (t) = 1 − t2 , φ3 (t) = (t2 + t).
2 2
Les poids wj , j = 1, 2, 3 sont donnés par
∫ 1 ∫ 1 ∫ 1
1 4 1
w1 = φ1 (t)dt = , w2 = φ2 (t)dt = , w3 = φ3 (t)dt = .
−1 3 −1 3 −1 3

La formule de quadrature de Simpson s’écrit donc :


1 4 1
J(g) =
g(−1) + g(0) + g(1).
3 3 3
∫b
Donc l’approximation numérique de a f (x)dx par la méthode de Simpson est donnée par


n−1 ∑
n−1 ( )
xi+1 − xi xi+1 − xi xi + xi+1
Lh (f ) = J(g) = f (xi ) + 4f ( ) + f (xi+1 ) .
i=0
2 i=0
6 2

D’après le théorème 5.2 la formule de Simpson est exacte pour les polynômes de degré 2.
L’estimation du théorème 5.1 devient :
∫ b
| f (x)dx − Lh (f )| ≤ ch3 .
a
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 40

6 Approximation des équations différentielles


6.1 Dérivation numérique
Soit u : [a, b] ⊂ R → R une fonction une fois continûement dérivable. Si x0 ∈]a, b[, nous
pouvons écrire
u(x0 + h) − u(x0 )
u′ (x0 ) = lim
h→0 h
u(x0 ) − u(x0 − h)
= lim
h→0 h
u(x0 + h/2) − u(x0 − h/2)
= lim .
h→0 h
L’approximation numérique de la dérivée u′ (x0 ) est donnée par les trois formules suiv-
antes :
u(x0 + h) − u(x0 )
u′ (x0 ) ≃ : Différence finie progressive.
h
u(x0 ) − u(x0 − h)
u′ (x0 ) ≃ : Différence finie rétrograde.
h
u(x0 + h/2) − u(x0 − h/2)
u′ (x0 ) ≃ : Différence finie centrée.
h
où h est une valeur positive donnée assez petite.
Théorème 6.1 Soit u : [a, b] ⊂ R → R une fonction deux fois continûement dérivable.
Soient x0 ∈]a, b[ et h0 > 0 un nombre positif donné, alors il existe une constante c telle
que
u(x0 + h) − u(x0 )
|u′ (x0 ) − | ≤ ch ∀h ≤ h0 .
h
Théorème 6.2 Soit u : [a, b] ⊂ R → R une fonction trois fois continûement dérivable.
Soient x0 ∈]a, b[ et h0 > 0 un nombre positif donné, alors il existe une constante c telle
que
u(x0 + h/2) − u(x0 − h/2)
|u′ (x0 ) − | ≤ ch ∀h ≤ h0 .
h
Application :
Considérons le problème d’équation différentielle ordinaire suivant :
{ ′
u (x) + u(x) = f (x) x ∈]a, b[,
(18)
u(a) = α.
Soit x0 = a < x1 < x2 < · · · < xn = b une déscritisation de l’intervalle [a, b], telle que
|xi+1 − xi | = h pour tout i = 0, . . . , n − 1. Appliquons la méthode des différences finies
progressive à la dérivée du problème (18) aux points xi , i = 0, . . . , n − 1, on trouve

 u(xi + h) − u(xi )
+ u(xi ) = f (xi ),
h
 u(x ) = α.
0
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 41

Donc on obtient {
u(xi+1 ) = hf (xi ) + (1 − h)u(xi ),
u(x0 ) = α.

6.2 Schéma d’Euler


Etant donné une valeur u0 ∈ R et f : R × R+ → R une fonction continue, trouver une
fonction continûement dérivable u : [t0 , t0 + T ] ⊂ R+ → R solution du problème suivant :
{ ′
u (t) = f (u(t), t) si t ∈]t0 , t0 + T [,
(19)
u(t0 ) = u0 ,

où u′ (t) = du(t)


dt
et u0 est une donnée.

• u′ (t) = f (u(t), t) : est dite équation différentielle ordinaire.

• u(t0 ) = u0 : est dite condition de Cauchy (condition initiale).

• Le problème (19) est appelé problème de Cauchy.

Exemple 1 : On se donne f (x, t) = 5x + 2t et u(t0 ) = a (un nombre quelconque).


Le problème de Cauchy devient :
{ ′
u (t) = 5u(t) + 2t si t ∈]t0 , t0 + T [,
u(t0 ) = a.

Exemple 2 : On se donne f (x, t) = x et u(t0 ) = a (un nombre quelconque).
Le problème de Cauchy devient :
{ √
u′ (t) = u(t) si t ∈]t0 , t0 + T [,
u(t0 ) = a.

Pour établir un schéma d’approximation du problème (19), on commence par partitionner


l’intervalle [t0 , t0 + T ] en N parties égales :

t0 < t1 < t2 < · · · < tn < tn+1 < · · · < tN = t0 + T.

Posons
T
h = tn+1 − tn =, n = 0, 1, . . . , N − 1.
N
On approche u′ (tn ), n = 1, . . . N − 1, par

u(tn+1 ) − u(tn )
u′ (tn ) ≃ .
h
Soit un l’approximation de u(tn ). On présente ici deux schémas d’approximation du
problème (19).
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 42

• Schéma d’Euler progressif :


 n+1
 u − un
= f (un , tn ), n = 0, 2, . . . , N − 1,
h
 0
u = u0 .

• Schéma d’Euler rétrograde :


 n+1
 u − un
= f (un+1 , tn+1 ), n = 0, 2, . . . , N − 1,
h
 0
u = u0 .

Le schéma d’Euler progressif est un schéma explicite car il permet d’expliciter un+1 en
fonction de un :
un+1 = un + hf (un , tn ).
Le schéma d’Euler rétrograde est un schéma implicite car il ne permet pas d’expliciter
directement un+1 en fonction de un lorsque f n’est pas triviale :

un+1 = un + hf (un+1 , tn+1 ).

Pour calculer un+1 , on définit la fonction

g(u) = u − un − hf (u, tn+1 )

et on cherche la solution de g(u) = 0 en prenant par exemple une méthode de Newton.

Remarque 6.1 Il semble que le schéma d’Euler progressif soit préferable au schéma
d’Euler rétrograde puisque ce dernier n’est pas explicite. Cependant le schéma progressif
n’est pas toujours stable c’est à dire le schéma peut ne pas converger pour toute solu-
tionj initiale u0 si le pas de discretisation n’est pas bien choisi. Mais le schéma d’Euler
rétrograde est inconditionnelement stable.

Exemple 3 : Soit f (x, t) = −βx avec β un réel positif. Considérons le problème suivant :
{ ′
u (t) = f (u(t), t) = −βu(t) si t ∈]t0 , t0 + T [,
u(t0 ) = u0 .

On discrétise l’intervalle [t0 , t0 + T ] en N parties égales, c’est à dire


T
h = tn+1 − tn = , on a tn = t0 + nh 0 ≤ n ≤ N.
N
• Schéma d’Euler progressif :
 n+1
 u − un
= f (un , tn ) = −βun , n = 0, . . . , N − 1,
h
 u0 = u .
0
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 43

On obtient
un+1 = (1 − hβ)un
et par suite
un+1 = (1 − hβ)n+1 u0 , n = 0, . . . , N − 1. (20)

• Schéma d’Euler rétrograde :


 n+1
 u − un
= f (un+1 , tn+1 ) = −βun+1 , n = 0, . . . , N − 1,
h
 u0 = u .
0

On obtient alors
( )n
un 1
u n+1
= −hβu n+1
+u n
⇒ un+1
= = u0 .
1 + hβ 1 + hβ

Le schéma qu’on obtient est un schéma explicite puisque la fonction f est simple.


Exemple 4 : Soit f (x, t) = x. Considérons le problème suivant :
{ √
u′ (t) = f (u(t), t) = u(t) si t ∈]t0 , t0 + T [,
u(t0 ) = u0 .

• Schéma d’Euler progressif :


 n+1
 u − un √
= f (un , tn ) = un , n = 0, . . . , N − 1,
h
 u0 = u .
0

On obtient √
un+1 = h un + un , n = 0, . . . , N − 1.

• Schéma d’Euler rétrograde :


 n+1
 u − un √
= f (un+1 , tn+1 ) = un+1 , n = 0, . . . , N − 1,
h
 u0 = u .
0

On obtient alors √
un+1 = h un+1 + un .
Le schéma qu’on obtient est un schéma implicite.
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 44

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


Considérone le problème (19). Si nous intégrons l’équation différentielle de (19) entre tn
et tn+1 , nous obtenons
∫ tn+1
u(tn+1 ) − u(tn ) = f (u(t), t)dt. (21)
tn

On propose d’approcher l’integrale de (21) par la formule de trapèze, on obtient le schéma


suivant :
{
h
un+1 − un = (f (un , tn ) + f (un+1 , tn+1 )) n = 0, 1, . . . , N − 1.
2 (22)
u0 = u0 .
Ce schéma est un schéma implicite. Pour éviter le calcul de un+1 dans (22), nous pouvons
utiliser une prédiction d’Euler progressive :
ũn+1 = un + hf (un , tn ) (23)
et remplacer un+1 dans le membre de droite de (22) par ũn+1 :
{
h
un+1 − un = (f (un , tn ) + f (un + hf (un , tn ), tn+1 )) , n = 0, 1, . . . , N − 1.
2 (24)
u0 = u0 .
Ce schéma est appelé méthode de Heun. Il consiste, à partir de un , à calculer ũn+1
par (23), puis calculer un+1 par (22). La méthode de Heun s’écrit :

Méthode de Heun

p1 = f (un , tn ),
p2 = f (un + hp1 , tn+1 ), (l’expression de f (ũn+1 , tn+1 ), en utilisant (23))
h
un+1 = un + (p1 + p2 ), (le calcul de un+1 par (24))
2
u0 = u0 .

Si nous intégrons le membre de droite de (21) par la méthode du rectangle, nous obtenons
le schéma suivant, dit méthode d’Euler modifiée :

Méthode d’Euler modifiée

p1 = f (un , tn ),
p2 = f (un + h2 p1 , tn + h2 ),
un+1 = un + hp2
u0 = u0 .
Analyse Numérique, SMP-S3 (2016 - 2020), Prof. E.B. Mermri 45

Les deux méthodes de Heun et d’Euler modifiée font partie des méthodes de Runge-Kutta
d’ordre 2, c’est à dire l’estimation d’erreur est d’ordre deux :

|u(tn ) − un | ≤ ch2 ,

où c est une constante indépendante de h.

6.4 Méthode de Range-Kutta classique


La méthode de Runge-Kutta classique permet, à partir de un , de calculer un+1 de la
manière suivante :

Méthode de Runge-Kutta classique

p1 = f (un , tn ),
p2 = f (un + h2 p1 , tn + h2 ),
p3 = f (un + h2 p2 , tn + h2 ),
p4 = f (un + hp3 , tn+1 ),
un+1 = un + h6 (p1 + 2p2 + 2p3 + p4 ),
u0 = u0 .

La méthode de Runge-Kutta classique est clairement une méthode explicite. De plus est
une méthode d’ordre 4 en h, c’est à dire

|u(tn ) − un | ≤ ch4 ,

où c est une constante indépendante de h mais qui dépend de t.

Vous aimerez peut-être aussi

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy