Académique Documents
Professionnel Documents
Culture Documents
Analyse numérique
Chapitre 1 : Résolution numérique des systèmes d’équations linéaires
Niveau : 3 A B Année universitaire : 2021-2022
1 Introduction
1.1 Exemple introductif
On considère le circuit, donné ci-dessous, pour lequel on donne : U1 = 110V, U2 = 105V, U3 =
90V, R1 = 0.5Ω, R2 = 0.25Ω, et R3 = 0.5Ω, où V et Ω désignent respectivement Volt et Ohm.
i1 + i2 − i3 = 0 (1)
1
Maille 2 : A, R2 , U2 , B, U3 , R3 , A avec le sens de parcours indiqué, l’application de la loi des
mailles donne :
R2 · i2 − U2 + U3 + R3 · i3 = 0
Ainsi, d’après les equations (1), (2) et (3), On obtient le système d’équations linaires suivant :
i + i2 − i3 =0
1
(S) 0.5 · i1 − 0.25 · i2 + 0 · i3 =5
0 · i + 0.25 · i + 0.5 · i
= 15
1 2 3
0 0.25 0.5 i3 15
−0.25 0 1 −1
det R = − 0.5 = −0.5 6= 0, ainsi le système (S) est de Cramer et admet
0.25 0.5 0.25 0.5
une solution unique :
0 1 −1
5
−0.25 0
15 0.25 0.5
• i1 = det R ' 15 A
1 0 −1
0.5 5 0
0 15 0.5
• i2 = det R ' 10 A
1 1 0
0.5 −0.25 5
0 0.25 15
• i3 = det R ' 25 A
Le lecteur peut se demander pourquoi le problème de la résolution d’un tel système se pose alors
que les formules de Cramer nous donnent la solution d’un tel système (S).
2
Pour comprendre le problème, supposons qu’on a un circuit complexe qui contient plus de 100
mailles et on souhaite de calculer les valeurs de l’intensité ik , 1 ≤ k ≤ 100 ! ! !
Essayons de compter le nombre d’opérations nécessaires pour calculer la solution en utilisant ces
formules de Cramer. Nous devons calculer n + 1 déterminants de taille n. Le calcul de det(A) se
ramène à n!−1 additions et n!(n−1) multiplications soit au total n!−1+n!(n−1) = nn!−1 opérations
à virgule flottante. Comme nous avons n + 1 déterminants à calculer, le nombre d’opérations
nécessaires pour résoudre le système à l’aide des formules de Cramer est de (n+1)(nn!−1) opérations
à virgule flottante qui est équivalent quand la dimension n tend vers l’infini à n(n + 1)!. Essayons
d’évaluer cette quantité lorsque n = 100 on trouve 9, 4 · 10161 .
Par exemple, avec ordinateur fonctionnant à 100 mégaflops (flops = opérations à virgule flottante
par secondes), il faudrait environ 3 · 10146 années pour résoudre notre système !
On en déduit donc qu’il est impossible d’utiliser les formules de Cramer pour des systèmes de grande
taille. En pratique, Il existe deux grandes familles de méthodes de résolution pour des systèmes de
dimension peu élevée :
I Méthodes directes qui permettent d’obtenir la solution en un nombre fini d’opérations
soit par triangularisation ou soit par décomposition de la matrice A. Les méthodes directes
que nous allons étudier sont : Pivot de Gauss et La méthode de décomposition LU
I Méthodes itératives qui consistent à construire une suite (xn )n qui converge vers la solu-
tion. Les méthodes itératives que nous allons étudier sont : La méthode de Jacobi et la
méthode de Gauss-Seidel
Méthodes de
résolution
AX = b
Méthodes Méthodes
directes itératives
Décomposition
Pivot de Gauss Jacobi Gauss-Seidel
LU
Un système linéaire est un ensemble d’équations portant sur les mêmes inconnues.
En général, un système de n équations linéaires à n inconnues peut être écrit sous la forme
3
suivante :
a1,1 x1 + a1,2 x2 + · · · + a1,n xn = b1
a2,1 x1 + a2,2 x2 + · · · + a2,n xn = b2
··· ··· ··· ···
··· ··· ··· ···
··· ··· ··· ···
a x + a x + · · · + a x
= bn ,
n,1 1 n,2 2 n,n n
Activité 1 Les systèmes suivants ont il une solution unique, une infinité de solution ou pas de
solution ?
x + x =1 x + x =1 x + x =1
1 2 1 2 1 2
(S1 ) , (S2 ) , (S3 )
−x + x =1 x + x =3 2x + 2x =2
1 2 1 2 1 2
Correction :
• (S1 ) s’écrit sous la forme matricielle suivante :
! ! !
1 1 x1 1
=
−1 1 x2 1
!
1
(S1 ) admet une solution unique X = . Le déterminant de la matrice vaut 2 6= 0 et
−1
dans ce cas on dit que (S1 ) est un système de Cramer.
4
• (S2 ) s’écrit sous la forme matricielle suivante :
! ! !
1 1 x1 1
=
1 1 x2 3
Résultat fondamental :
Un système linéaire possède zero, une ou une infinité de solutions.
(S) : AX = b
A ∈ Mn (R)
det A 6= 0 det A = 0
(S) admet
(S) admet (S) n’admet pas
une infinité
unique solution des solution
de solutions
L’objectif de ce cours est de résoudre des systèmes de Cramer utilisant des méthodes numériques
(à travers des algorithmes).
5
• Multiplication d’une ligne Li par un scalaire λ non nul : Li ←− λLi .
• Addition d’un multiple d’une ligne à une autre ligne. : Li ←− Li + λLj .
1 1 −3 x3 1
1 1 −3 1
Remarque 1 Si le coefficient a11 = 0, il faut permuter la premier ligne L1 avec une ligne
Li telle que ai1 6= 0, i = 1, · · · , 3.
• Opération 2 : Annuler tous les coefficients situant en dessous du premier pivot.
1
L2 ←− L2 − L1
3
1
L3 ←− L3 − L1
3
3 1 1 1
∼ ∼
(A| b) = 0 −10/3 2/3
(−10)/3
6
• Opération 3 : Passer au pivot suivant, vitrifier qu’il est non nul et annuler tous les coefficients
situant en dessous du deuxième pivot.
1
L3 ←− L3 + L1
5
3 1 1 1
∼ ∼
(A| b) = 0 -10/3 2/3 (−10)/3
0 0 (−48)/15 0
Théorème 1 Soit A ∈ Mn (R) une matrice dont tous les mineurs principaux sont non nuls.
Il existe un unique couple de matrices (L, U ), avec U triangulaire supérieure, et L triangulaire
inférieure à diagonale unité (i.e. li,i = 1), tel que A = LU .
7
Étude d’un exemple
1 1 −3
A est une matrice dont tous les mineurs principaux sont non nuls. En effet,
det(3) = 3 6= 0
3 1
det − 8 6= 0
1 −3
3 1 1
det −3 = det A = 32 6= 0
1 1
1 1 −3
Résoudre le système linéaire AX = b avec b = (1, −3, 1)T et X = (x1 , x2 , x3 )T se ramène par la
méthode de décomposition LU à procéder par trois étapes :
8
On obtient :
1 0 0 3 1 1
L = 1/3 0 , U = 0 −10/3
1 2/3
y3
y1 1 y1 1
L y2 = b = −3 ⇒ y2 = − 10
3
y3 1 y3 0
Remarque 2 De Gauss à LU
• La matrice U est exactement égale à la matrice triangulaire supérieure obtenue en appliquant
la méthode de pivot de Gauss.
• La matrice L est une matrice triangulaire supérieure avec des 1 à la diagonale et les coeffi-
cients l2,1 , l3,1 et l3,2 s’obtiennent à partir des transformations de ligne de gauss précédentes
de la manière suivante :
1 1
L2 ←− L2 − L1 y l2,1 =
3 3
1 1
L3 ←− L3 − L1 y l3,1 =
3 3
1 1
L3 ←− L3 + L2 y l3,2 = −
5 5
9
Pour des systèmes de grande taille, les méthodes directes (LU , Gauss) deviennent coûteuse en
temps de calcul ou en place mémoire. L’idée est d’approcher la solution X du système AX = b par
une suite de vecteurs (Xn )n .
AX = b
DX − (E + F )X = b
DX = (E + F )X + b
Itération de Jacobi
DX (k+1) = (E + F )X (k) + b
On espère que X (k) converge vers une solution de (S), sous de bonne hypothèse concernant la
matrice A, c’est effectivement le cas :
(k+1) (k)
a1,1 0 0 x1 0 −a1,2 −a1,3 x1 b1
(k+1) (k)
0 a2,2 0 x2 = −a2,1 0 −a2,3 x2 + b2
(k+1) (k)
0 0 a3,3 x3 −a3,1 −a3,2 0 x3 b3
10
(k) (k)
(k+1) b1 −a1,2 x2 −a1,3 x3
x =
1 a1,1
(k) (k)
(k+1) b2 −a2,1 x1 −a2,3 x3
x2 = a2,2
(k) (k)
x(k+1) =
b3 −a3,1 x1 −a3,2 x2
3 a3,3
La méthode nécessite aii 6= 0 pour i = 1, · · · , n. Dans le cas générale et pour des matrice d’ordre n,
les composantes du vecteur x(k+1) sont données par :
n
(k+1) 1 X (k)
xi = bi − aij xj , i = 1, · · · , n
aii
j=1,j6=i
(k) (k+1)
L’algorithme de Jacobi nécessite le stockage des deux vecteurs xj et xj .
AX = b
DX − (E + F )X = b
(D − E)X = F X + b
On espère que X (k) converge vers une solution de (S), sous de bonne hypothèse concernant la
matrice A, c’est effectivement le cas :
(k+1) (k)
a1,1 0 0 x1 0 −a1,2 −a1,3 x1 b1
(k+1) (k)
−a2,3 a2,2 0 x2 = 0 0 −a2,3 x2 + b2
(k+1) (k)
−a3,1 −a3,2 a3,3 x3 0 0 0 x3 b3
(k) (k)
(k+1) b1 −a1,2 x2 −a1,3 x3
x =
1 a1,1
(k+1) (k)
(k+1) b2 −a2,1 x1 −a2,3 x3
x2 = a2,2
(k+1) (k+1)
x(k+1) =
b3 −a3,1 x1 −a3,2 x2
3 a3,3
11
La méthode nécessite aii 6= 0 pour i = 1 · · · n . Dans le cas générale et pour des matrice d’ordre n
les composantes du vecteur x(k+1) sont données par :
i−1 n
(k+1) 1 X (k+1)
X (k)
xi = bi − aij xj − aij xj , i = 1, · · · , n.
aii
j=1 j=i+1
L’algorithme de Gauss-Seidel ne nécessite qu’un vecteur de stockage, X (k) étant remplacé par X (k+1)
au cours de l’itération. Il est en général plus rapide que l’algorithme de Jacobi, donc préférable.
3.3 Convergence
Théorème 2 Soit A une matrice à diagonale strictement dominante alors les méthodes de Jacobi
et Gauss Seidel appliquées au système (S) : AX = b sont convergentes pour tous X (0) .
2 1 4 x3 7
1. Convergence
On a :
|a | > |a1,2 | + |a1,3 | ( car |5| > |2| + | − 1|)
1,1
|a2,2 | > |a2,1 | + |a2,3 | ( car |6| > |1| + | − 3|)
|a | > |a | + |a | ( car |4| > |2| + |1|)
3,3 3,1 3,2
12
Donc, A est une matrice à diagonale strictement dominante, ainsi, la méthode de Jacobi et la
méthode de Gauss Seidel est convergente.
2. Méthode de Jacobi
(k)
xk+1
5 0 0 1 0 −2 1 6x1
k+1 (k)
0 6 0 x2 −1 0 3 x2 4
= +
(k)
0 0 4 xk+1
3 −2 −1 0 x3 7
(k) (k) (k) (k)
(k+1) b1 −a1,2 x2 −a1,3 x3 6−2x2 +x3
x = =
1 a1,1 5
(k) (k) (k) (k)
(k+1) b2 −a2,1 x1 −a2,3 x3 4−x1 +3x3
x2 = a2,2 = 6
x(k+1) = b3 −a3,1 x(k) (k) (k) (k)
1 −a3,2 x2 7−2x1 −x2
3 a3,3 = 4
0
• Itération de Jacobi : Pour le vecteur initial X (0) = 0,
0
6/5
— Itération 1 : X (1) = 2/3
7/4
1, 2833
— Itération 2 : X (2) = 1, 3417
0, 9833
0, 86
— Itération 3 : X (3) = 0, 9444
0.7729
0, 9768
— Itération 4 : X (4) = 0, 9098
1, 0839
13
(k) (k) (k) (k)
(k+1) b1 −a1,2 x2 −a1,3 x3 6−2x2 +x3
x = =
1 a1,1 5
(k+1) (k) (k+1) (k)
(k+1) b2 −a2,1 x1 −a2,3 x3 4−x1 +3x3
x2 = a2,2 = 6
(k+1) (k+1) (k+1) (k+1)
x(k+1) =
b3 −a3,1 x1 −a3,2 x2 7−2x1 −x2
3 a3,3 = 4
0
• Itération de Gauss Seidel : Pour le vecteur initial X (0) = 0,
0
6/5
— Itération 1 : X (1) = 7/15
31/30
1, 22
— Itération 2 : X (2) = 0, 98
0, 895
1.014
— Itération 3 : X (3) = 1, 014
0, 989
14