Académique Documents
Professionnel Documents
Culture Documents
5.1 Introduction
Un système d’équations linéaires est un ensemble d’équations portant sur les mêmes
inconnues.
En général, un système de m équations linéaires à n inconnues peut être écrit sous la forme
suivante :
a1,1 x1 + a1,2 x2 + · · · + a1,n xn = b1
a2,1 x1 + a2,2 x2 + · · · + a2,n xn = b2
.. .. .. (5.1)
. . .
am,1 x1 + am,2 x2 + · · · + am,n xn = bm
Ax = b (5.2)
où A est une matrice de taille m × n, x est un vecteur de taille n et b est un vecteur de taille
m.
a1,1 a1,2 · · · a1,n x1 b1
a2,1 a2,2 · · · a2,n x2 b2
A = .. .. . . .. x = .. b = ..
. . . . . .
am,1 am,2 · · · am,n xn bm
35
Chapitre 5. Résolution numérique de systèmes linéaires
Remarque 5.1.
– Un système est dit homogène si son second membre est nul c’est-à-dire si tous les
bi sont nuls
– Si m > n on dit que le système est surdéterminer.
– Si m = n alors la matrice est carrée d’ordre n et le système et dit carrée.
Dans tout ce qui suit, on considérera une matrice carrée A ∈ Mn (R) et un vecteur b
contenant n réels.
Seulement trois cas sont possibles pour le système linéaire (5.2) :
– Le système n’a pas de solution.
– Le système a une solution unique.
– Le système a une infinité de solutions.
( ( (
2x1 + 6x2 = 4 x1 + 3x2 = 7 4x1 − 3x2 = 14
(S1 ) (S2 ) et (S3 )
−4x1 − 12x2 = −8 2x1 − x2 = 0 16x1 − 12x2 = 2
Le système (S1 ) admet une infinité de solution,S2 admet une solution unique et S3
n’admet pas de solution.
Si la matrice A est inversible alors le système linéaire (5.2) admet une unique solution
x = A−1 b où A−1 est la matrice inverse de A. Ainsi théoriquement le problème revient à
calculer A−1 . Mais en pratique ce calcul est difficile. Il existe plusieurs méthodes clas-
siques pour résoudre le système linéaire (5.2) sans calculer A−1 . Le choix de la méthode
dépend fortement du type (forme) de la matrice A.
Les méthodes de résolution des systèmes linéaires se groupent dans deux grandes
catégories :
– Les méthodes directes : une méthode est dite directe si elle permet d’obtenir
la solution exacte de système (5.2) en un nombre fini d’opérations élémentaires
(×, +, −, ÷).
– Les méthodes itératives : une méthode est dite itérative si elle permet de construire
une suite (xn )n qui converge vers la solution x de (5.2).
c’est à dire si
∀ (i, j) ∈ {1, · · · , n}2 , i < j =⇒ ai, j = 0
La matrice étant inversible, ses termes diagonaux li,i , i = 1, 2, 3 sont non nuls. On peut
donc déterminer successivement les valeurs inconnues xi pour i = 1, 2, 3.
x = b1 /l1,1
1
x2 = b2 − l2,1 x1 /l2,2
x3 = b3 − l3,1 x1 − l3,2 x2 /l3,3
Cet algorithme peut être étendu aux systèmes n × n. Dans le cas d’un système Lx = b, où
L est une matrice triangulaire inférieure d’ordre n (n ≥ 2), la méthode s’écrit
x1 = b1 /l1,1
i−1
x = b − ∑ li, j x j /li,i, i = 2, . . . , n
i i
j=1
37
Chapitre 5. Résolution numérique de systèmes linéaires
x1 = b1 /l1,1 ;
Pour i de 2 à n faire
" i−1
xi = bi − ∑ li, j x j /li,i
j=1
Fin Pour
La matrice étant inversible, ses termes diagonaux ui,i , i = 1, 2, 3 sont non nuls. On peut
donc déterminer successivement les valeurs inconnues xi pour i = 1, 2, 3.
x = b3 /u3,3
3
x2 = b2 − u2,3 x3 /u2,2
x1 = b1 − u1,2 x2 − u2,3 x3 /u3,3
Cet algorithme peut être étendu aux systèmes n × n. Dans le cas d’un système Ux = b, où
U est une matrice triangulaire supérieure d’ordre n (n ≥ 2), la méthode s’écrit
x = bn /un,n
n
n
x i = b i − ∑ ui, j x j /ui,i, i = n − 1, . . . , 1
j=i+1
xn = bn /ln,n ;
Pour i de n-1 à 1 faire
n
xi = bi − ∑ ui, j x j /ui,i
j=i+1
Fin Pour
39
Chapitre 5. Résolution numérique de systèmes linéaires
Exercice 5.10. Soit D = (di,i )i=1,...,n une matrice diagonale d’ordre n > 0.
d1,1
..
. 0
D= di,i
0 ..
.
dn,n
– Donner une condition nécessaire et suffisante pour que D soit inversible.
– Donner un algorithme qui permet de résoudre l’équation d’inconnue x :
D x = b.
(1)
où les ai, j désignent les éléments de A(1) . On peut éliminer l’inconnue x1 des lignes
i = 2, . . . , n en leur retranchant mi,1 fois la première ligne et en faisant de même pour le
membre de droit. On définit alors
(2) (1) (1)
ai, j = ai, j − mi,1 a1, j , i, j = 2, . . . , n,
(2) (1) (1)
bi = bi − mi,1 b1 , i = 2, . . . , n.
(1)
où les bi sont les composantes de b(1) et on obtient un nouveau système de la forme
(1) (1) (1) (1)
a1,1 a1,2 · · · a1,n x 1 b1
0 a(2) · · · a(2) x2 (2)
2,2 2,n
b2
=
. . . .
.. .. ... .. .. ..
.
(2) (2) xn (2)
0 an,2 · · · an,n bn
que l’on note A(2) x = b(2) et qui est équivalent au système de départ.
On peut à nouveau transformer ce système de façon à éliminer l’inconnue x2 des lignes
3, . . . , n. En poursuivant ainsi, on obtient une suite finie de systèmes
A(k) x = b(k) , 1 ≤ k ≤ n,
Il est clair que pour k = n on obtient alors le système triangulaire supérieur A(n) x = b(n)
suivant (1) (1) (1) (1)
a1,1 a1,2 · · · a1,n x1 b
1
(2)
0 a(2) x b(2)
2,2 · · · a2,n 2
2
=
.. .. .. .. .. ..
. . . . . .
(n) x (n)
0 · · · 0 an,n n bn
(k)
Les termes ak,k de A(n) sont appelés pivots et doivent être évidemment non nuls pour
k = 1, . . . , n − 1.
41
Chapitre 5. Résolution numérique de systèmes linéaires
(k)
ai,k
mi,k = (k)
, i = k + 1, . . . , n
ak,k
On pose alors
(k+1) (k) (k)
ai, j = ai, j − mi,k ak, j , i, j = k + 1, . . . , n,
(k+1) (k) (k)
bi = bi − mi,k bk , i = k + 1, . . . , n.
Puisque les composantes de x n’intervient pas dans l’élimination de Gauss, on peut consi-
e ∈ Mn,n+1 (K) (appelée matrice augmentée de A) définie par :
dérer la matrice A
a11 · · · a1n b1
e=
A .
.. . . . ..
. ..
.
an1 · · · ann bn
Exemple 5.11.
Soit à résoudre le système suivant :
2 −1 2 x1 15
4 3 −3 x2 = −25
−2 2 1 x3 −4
On a.
2 −1 2 15
e(1) = 4
A 3 −3 −25
−2 2 1 −4
(1)
Le premier pivot de l’élimination de Gauss est donc a1,1 = 2 6= 0. On effectue alors pour
toute ligne Li pour i = 2, 3
(1)
ai,1
Li ←− Li − (1)
L1
a1,1
On obtient
2 −1 2 15
e(2) = 0 5 −7 −55
A
0 1 3 11
(2)
Le deuxième pivot est a2,2 = 5 6= 0. On effectue la transformation :
1
L3 ←− L3 − L2
5
42
Chapitre 5. Résolution numérique de systèmes linéaires
On obtient finalement
2 −1 2 15
e(3) = 0 5 −7 −55
A
0 0 22
5 22
D’où :
x1 = 1/2
x2 = −4
x3 = 5
On donne maintenant l’algorithme d’élimination de Gauss. On admettra que les termes
(k)
(pivots) ak,k doivent être évidemment non nuls pour k = 1, . . . , n.
La solution trouvée est y = 1, x = 0 trés éloignée de la solution exacte. Par contre si l’on
permute les deux équations, c’est à dire si le pivot est a21 = 1, on trouve la solution :
x = 1 et y = 1.
43
Chapitre 5. Résolution numérique de systèmes linéaires
Cette exemple montre que des erreurs d’arrondi (provvenant des divisions par des pivots
"trop petits") ont un effet négatif sur la solution c’est pourquoi on utilise l’une des deux
stratégies suivantes :
Exemple 5.13.
Résoudre par la méthode de Gauss avec pivot totale le système :
x+y+z = 5
2x − y + 3z = 1 (5.5)
4x − 2y + 8z = 1
1 1 1 5
⇒ A = 2 −1 3 et b = 1
4 −2 8 1
|a33 | = 8 = maxi, j |ai j |
D’où :
8 −2 4 1
e=
A
3 −1 2 1 les solutions qu’on va obtenir sont : x3 , x2 et x1 .
1 1 1 5
4n3 + 9n2 − 7n
NG = si n = 5 on a NG = 115, et si n = 10 on a NG = 805
6
44
Chapitre 5. Résolution numérique de systèmes linéaires
Si la matrice A peut s’écrire sous la forme A = LU, où L et U sont des matrices triangu-
laires inférieure et supérieure respectivement, alors le système Ax = b peut se décomposer
en deux sous-systèmes Ly = b et Ux = y.
Les matrices L et U étant triangulaires, la résolution de chacun de ces deux sous-
systèmes est immédiate :
Ly = b : on calcule y1 , y2 , . . . , yn (Algorithme de descente), Ux = y : on calcule xn , xn−1 , . . . , x1
(Algorithme de remontée).
Reste maintenant à savoir comment faire cette décomposition LU.
Supposons qu’on ne s’intéresse plus à l’effet des erreurs d’arrondi dans la méthode de
Gauss et que, par conséquent, on ne cherche pas à appliquer de stratégie particulière
de pivot. Alors on a A1 = A et A(2) = E1 A(1) et de proche en proche on obtient A(n) =
En−1 En−2 ...E1 A(1) = MA(1) . Donc A = A(1) = M −1 An .
On a A(n) est triangulaire superieur et on verifier facilement que M −1 est triangulaire
inferieur avec des 1 sur la diagonale.
Si on pose L = M −1 et U = A(n) on a alors A = LU
Exemple 5.15.
Soit la matrice :
4 −9 2
A = A(1) = 2 −4 4
−1 2 2
En effectuant les opérations suivantes :
L2 = L2 − 21 L1
L3 = L3 + 14 L1
On obtient
4 −9 2 1 0 0
A(2) = 0 12 3 = E1 A(1) avec E1 = − 12 1 0
0 − 14 29 1
4 0 1
L3 = L3 + 12 L2
On obtient :
4 −9 2 1 0 0
A(3) = 0 12 3 = E2 A(2) avec E2 = 0 1 0
0 0 4 0 12 1
Alors on a
A(3) = E2 E1 A
45
Chapitre 5. Résolution numérique de systèmes linéaires
Théorème 5.16.
Soit A une matrice inversible d’ordre n dont les mineurs principaux sont non nuls. Alors
il existe une unique matrice L = (li j )i j triangulaire inférieure avec lii = 1 et une unique
matrice U triangulaire supérieure telles que A = LU.
Proposition 5.17.
La factorisation LU de la matrice A de taille n par la méthode de Gauss existe si l’une
des conditions suivantes est vérifiée :
– La matrice A est définie positive.
– La matrice A est à diagonale strictement dominante.
Définition 5.18. Une matrice carrée A = (ai j ) est dite à diagonale strictement dominante
si et seulement si
n
∀ i ∈ {1, 2, ..., n} |aii | > ∑ |ai j |.
j=1, j6=i
46
Chapitre 5. Résolution numérique de systèmes linéaires
u1,1 = a1,1 ;
Pour j de 2 à n faire
u1, j = a1, j ;
l j,1 = a j,1 /u1,1 ;
Fin Pour
Pour i de 2 à n-1 faire
i−1
ui,i = ai,i − ∑ li,k uk,i
k=1
Pour j de i+1 à n faire
i−1
ui, j = ai, j − ∑ l j,k uk, j
k=1
" i−1
l j,i = a j,i − ∑ l j,k uk, j /ui,i
k=1
Fin Pour
Fin Pour
n−1
un,n = an,n − ∑ ln,k uk,n
k=1
Théorème 5.20.
Si A ∈ Mn (R) une matrice symétrique définie positive alors il existe au moins une ma-
trice triangulaire inférieure L telle que A = LLT . Si les éléments diagonaux li,i de L sont
strictement positifs alors la décomposition est unique.
systèmes avec la même matrice et différents second membres car la décomposition est
effectuée une fois pour toutes.
Soit A une matrice symétrique définie positive à coefficients réels, mettons A sous la
forme A = LLT . Les coefficients Li,i de L peuvent être calculés comme suit :
√
l1,1 = a1,1 ;
Pour i de 2 à n faire
li,1 = ai,1 /l1,1 ;
Fin Pour
Pour j des 2 à n-1 faire
j−1
l j, j = a j, j − ∑ l 2j,k
k=1
Pour i de j+1 à n faire
j−1
li, j = ai, j − ∑ li,k l j,k /l j, j
k=1
Fin Pour
Fin Pour
s
n−1
2
ln,n = an,n − ∑ ln,k
k=1
On a
√ √
l1,1 = a1,1 = 4=2
48
Chapitre 5. Résolution numérique de systèmes linéaires
q
l2,2 = 2 =3
a2,2 − l2,1
l3,2 = a3,2 − l3,1 l2,1 /l2,2 = 1
q
l3,3 = a3,3 − (l3,22 + l2 ) = 1
2,1
Donc matrice L est :
2 0 0
L = 1 3 0
−1 1 1
Résolvant maintenant le système Ax = b avec b = t(1, 1, 1).Le système Ax = b est équi-
valent à résoudre les deux systèmes suivants :
L y = b (1)
Ax = b ⇐⇒ LtLx = b ⇐⇒
tL x = y (2)
n
2
1. Comme la matrice A s’écrit sous la forme A = LLT donc det(A) = ∏ li,i .
i=1
2. Le nombre d’opépations qu’utilise la méthode de Cholesky est :
2n3 + 15n2 + n
NC = , pour n = 5 on a NC = 105 et pour n = 10 on a NC = 585
6
49
Chapitre 5. Résolution numérique de systèmes linéaires
Ax = b A ∈ Mn (K) et b ∈ Kn
Cela est dû à differentes genres d’erreurs. Parmis ces erreurs il ya : les erreurs d’arrondi
et les erreurs de conditinnement
Erreur d’arrondi
Les calcules sont éxécutés avec une arithmétique à précision finie. En effet les ordi-
nateurs ont une arithmétique à précision limité.
Exemple 5.24.
Différences de grands nombres voisins.
x = a − b = 0 avec a = 123456718 105 et b = 123456719 100 alors que x = −105
A chaque étape de calcule donnée chaque résultats d’opération est forcement arrondi,
d’où les erreurs d’arrondi.
Erreur de conditionnement
Définition 5.25.
Soit A une matrice carrée inversible. Le nombre
Cond(A) = kAkkA−1 k.
Théorème 5.26.
Soit A une matrice invervsible et soit u et (u + δu) les solutions des systèmes linéaires
Au = b et A(u + δu) = b + δu
kδuk kδbk
≤ Cond(A)
kuk kbk
d’où
kδuk kδbk kδbk
≤ kAk.kA−1 k = Cond(A)
kuk kbk kbk
Théorème 5.27. Soit A une matrice inversible et soient u et (u + δu) les solutions des
systèmes linéaires :
Au = b et (A + ∆A)(u + ∆u) = b
On suppose que b 6= 0, alors on a :
k∆uk k∆Ak
≤ Cond(A)
ku + ∆uk kAk
d’où
k∆uk ≤ kA−1 k.k∆Ak.ku + ∆uk
Ce qui peut s’écrire :
k∆uk k∆Ak
≤ kAk.kA−1 k.
ku + ∆uk kAk
51
Chapitre 5. Résolution numérique de systèmes linéaires
Remarque 5.28. les inégalités des deux théorèmes précédentes montrent que Cond(A)
mesure la sensibilité de la solution u du système linéaire Au = b vis à vis des variations
des données A et b. Donc un système sera bien ou male conditionné selon que le condi-
tionnement de la matrice est petit ou grand.
Théorème 5.29.
Cond(A) ≥ 1 (5.6)
−1
Cond(A) = Cond(A ) (5.7)
Cond(αA) = Cond(A) ∀ α 6= 0 (5.8)
Démonstration.
en exercice.
Remarque 5.30.
Résoudre le système linéaire (S) par une méthode itérative consiste à construire une
suite de vecteurs (x(k) )k de Rn qui converge vers la solution exacte x = A−1 b, c’est-à-dire
où B est une matrice bien choisi (dépendant de A) appelée matrice d’itération de la mé-
thode et C est un vecteur (dépendant de A et b), qui vérifient la relation de consistance
x = Bx +C, ∀k ∈ N (k ≥ 0) (5.11)
Lemme 5.32.
Si la méthode itérative (5.10) est convergente et si on note x = A−1 b la solution exacte du
système linéaire (S), alors
x(k) − x = Bk (x(0) − x)
Définition 5.33.
Une matrice B est dite convergente si limk→+∞ Bk = 0
Le résultat suivant nous donne des critères pour tester la convergence de la méthode
itérative (5.10).
Théorème 5.34.
Les assertions suivantes sont équivalentes :
1. La méthode itérative (5.10) est convergente.
53
Chapitre 5. Résolution numérique de systèmes linéaires
Démonstration.
La méthode itérative est convergente si et seulement si limk→∞ e(k) = 0 pour tout vecteur
e0 = x(0) − x
Ce qui est équivalent à limBk e(0) = 0
limBk e(0) = 0 ⇔ ρ(B) < 1 ⇔ ∃ k.k telle que kBk < 1 (voir chap.4)
Théorème 5.35.
Démonstration.
1) Si la serie est convergente alors lim Bk = 0 donc B est convergente.
Si B est convergente alors ρ(B) < 1 et il existe une norme matricielle k.k telle que kBk < 1
donc la serie Sn = ∑ Bk est absolument convergente donc convergente.
2) On pose
∞
S= ∑ Bk
k=0
kAxk − bk < ε
Vitesse de convergence
V (M) = −Log(ρ(M))
54
Chapitre 5. Résolution numérique de systèmes linéaires
Remarque 5.38.
Soient M1 matrice d’itération de la méthode x(k+1) = M1 xk +C1
M2 matrice d’itération de la méthode x(k+1) = M2 xk +C2
Si ρ(M1 ) < ρ(M2 ) alors V (M1 ) > V (M2 )
On dit que M1 est plus rapide que M2 .
(k) (k)
Donc e1 −→ 0 plus rapidement que e2
Une méthode itérative est plus rapide si sa vitesse de convergence est plus grande (i.e
ρ(B) est petit).
Une technique générale pour construire des méthodes itératives est basée sur une dé-
composition (splitting) de la matrice A sous la forme A = M − N, où M et N sont des
matrices à déterminer avec M non singulière. La matrice M est appelée matrice de pré-
conditionnement. Plus précisément, x(0) étant donné, on peut calculer x(k) , pour k ≥ 1, en
résolvant le système
Mx(k+1) = Nx(k) + b, k ≥ 0 (5.12)
Clairement, la solution exacte x satisfait Mx = Nx + b et donc Ax = b. Le système (5.12)
peut être écrit également sous la forme (5.10), avec B = M −1 N, et C = M −1 b. Une relation
de récurrence équivalente à (5.12) est la suivante :
"
M x(k+1) − x(k) = r(k) , k ≥ 0 (5.13)
On supposera de plus que D est inversible et on distingue les deux méthodes suivantes :
1. Méthode de Jacobi : M = D, N = E + F ;
2. Méthode de Gauss-Seidel : M = D − E, N = F ;
Méthode de Jacobi
56
Chapitre 5. Résolution numérique de systèmes linéaires
Données : A, b, x0 , n, ε et Nmax
Pour i de 1 à n faire
xinew ← xi0
Fin Pour
nb ← 0
Tant que (||Axnew − b|| > ε et nb < Nmax ) faire
nb ← nb+1
Pour i de 1 à n faire
xiold ← xinew
Fin Pour
Pour i de 1 à n faire
" n
xinew ← bi − ∑ ai, j xold
j /ai,i
j=1
j6=i
Fin Pour
Fait
√ √
5 5
Les valeurs propres de la matrices BJ sont 0 et ± i . On a donc ρ(BJ ) = 2 > 1 et la
2
méthode de Jacobi diverge.
Méthode de Gauss-Seidel
Données : A, b, x0 , n, ε et Nmax
Pour i de 1 à n faire
xinew ← xi0
Fin Pour
nb ← 0
Tant que (||Axnew − b|| > ε et nb < Nmax ) faire
nb ← nb+1
Pour i de 1 à n faire
xiold ← xinew
Fin Pour
Pour i de 1 à n faire
i−1 n
xinew ← bi − ∑ ai, j xnew
j − ∑ ai, j xold
j /ai,i
j=1 j=i+1
Fin Pour
Fait
58
Chapitre 5. Résolution numérique de systèmes linéaires
1
Les valeurs propres de la matrices BGS sont 0 et − (de multiplicité 2). On a donc
2
1
ρ(BGS ) = < 1 donc la méthode de Gauss-Seidel converge.
2
Théorème 5.49. Soit A une matrice symétrique définie positive et soit A = M − N une
décomposition de A où M est inversible. On suppose que la matrice tM + N est symétrique
définie positive. Alors, la méthode itérative Mx(k+1) = Nx(k) + b converge.
Remarque 5.50. Soit A une matrice symétrique définie positive. Alors la méthode de
Gauss-Seidel converge.
Corollaire 5.51. Soit A une matrice symétrique définie positive telle que 2D − A soit
définie positive. Alors, la méthode de Jacobi converge.
Théorème 5.52. Soit A une matrice à diagonale strictement dominante. Alors A est in-
versible. De plus, les méthodes de Jacobi et de Gauss-Seidel convergent.
59
Chapitre 5. Résolution numérique de systèmes linéaires
||x(k+1) − x(k) ||
<ε
||x(k) ||
60