Analyse num´ erique I
Chapitre II : R´esolution de syst`emes lin´eaires
Pr. Souad EL BERNOUSSI
Universit´ e Mohammed V de Rabat Facult´ e des Sciences
Laboratoire de recherche : (LabMIA-SI) 4 avril 2020
Table des mati` eres
1 Introduction 1
1.1 Rappels sur les syst´emes lin´eaires . . . 2
1.1.1 La m´ethode de Cramer : . . . 2
1.1.2 La m´ethode de substitution (ou d’´elimination) . . . 2
1.2 M´ethode Gauss . . . 3
1.2.1 Algorithme : ´Elimination de Gauss . . . 4
1.2.2 Quelques rappels d’alg`ebre lin´eaire . . . 7
2 Factorisation LU 9
3 S´erieN◦2 10
1 Introduction
Un syt`eme lin`eaire s’´ecrit sous la forme : (1) Ax=b
— A est une matricen×n`a coefficients r´eels,
— b∈Rn
— x∈Rn
Les m´ethodes de r´esolution sont de deux types : 1. Les m´ethodes directes :
— obtenir la solution en un nombre fini d’op´erations.
2. Les m´ethodes it´eratives :
— construire une suite (xn)n qui converge vers la solution.
Dans ce chapitre nous allons :
1. Rapeler des notions et notations de base relatives aux syst`emes lin´eaires et aux matrices
2. Etudier une m´ethode directe : la m´ethode de Gauss.
3. Etudier la d´ecomposition (factorisation)LU.
4. Etudier la d´ecomposition (Cholesky)LL0. 5. Etudier des applications : Inverse de matrices,...
1.1 Rappels sur les syst´ emes lin´ eaires
Si Aest inversible alors (1) admet une solution unique x=A−1b
Ainsi th´eoriquement le probl`eme revient `a calculer A−1? Mais en pratique ce calcul est difficile.
M´ethodes classiques pour r´esoudre (1) sans calculerA−1. Exemple
(1)
x+ 2y= 5 2x+y= 4 1.1.1 La m´ethode de Cramer :
x=
5 2 4 1
1 2 2 1
= −3−3 = 1 ety=
1 5 2 4
1 2 2 1
=−6−3 = 2
1.1.2 La m´ethode de substitution (ou d’´elimination) x+ 2y= 5
2x+y= 4 ⇒
x=−2y+ 5 2x+y= 4 ⇒
x=−2y+ 5 2(−2y+ 5) +y= 4
⇒
x=−2y+ 5
3y= 6 ⇒
x=−2y+ 5
y= 2 ⇒
x= 1 y= 2
Peut-on g´en´eraliser ces m´ethodes pour un syst´eme den´equations avecn∈ N?
Th´eoriquement OUI mais en pratique cela va n´ecessiter beaucoup de calculs et de techniques.
1.2 M´ ethode Gauss
L’id´ee de base consiste `a transformer (1) en un probl`eme que l’on sait r´esoudre.
1. Si la matriceA=DavecDune matrice diagonale, alors on sait r´esoudre (1).
2. Si la matrice A=U (ouL) avec U (ou L) triangulaire sup´erieure ( ou inf´erieure) alors on sait r´esoudre (1).
Probl`eme : Comment tranformer une matrice en une matrice triangulaire inf´erieure ou sup´erieure ?
Casn= 3 : AX=bs’´ecrit :
a11x1+a12x2+a13x3=b1
a21x1+a22x2+a23x3=b2
a31x1+a32x2+a33x3=b3
la forme augment´ee
(A b) =
a11 a12 a13
a21 a22 a23
a31 a32 a33
b1
b2
b3
On suppose quea116= 0, par ´elimination, on obtient :
(A1 b1) =
a11 a12 a13
0 a022 a023 0 a032 a033
b1
b02 b03
(1)
a11x1+a12x2+a13x3=b1 (l1) a21x1+a22x2+a23x3=b2 (l2) a31x1+a32x2+a33x3=b3 (l3) On note par (li) lai`eme´equation du syst`eme pr´ecedent.
On suppose quea116= 0, On pose :
(l20) =a11(l2)−a21(l1) et (l30) =a11(l3)−a31(l1) Alors (1) s’´ecrit
(2)
a11x1+a12x2+a13x3=b1 (l1) a022x2+a023x3=b02 (l20) a032x2+a033x3=b03 (l03)
On suppose quea0226= 0. On pose : (l300) =a022(l03)−a032(l200) Alors (2) s’´ecrit (2)
a11x1+a12x2+a13x3=b1 (l1) a022x2+a023x3=b02 (l02)
a0330 x3=b003 (l003) Remarque:
1. Les termes diagonaux sont appel´es les pivots
2. Si un pivotaii est nul on change de ligne (on permute) dei`an(pivotage partiel)
3. Cette m´ethode se g´en´eralise assez facilement bien qu’il faut ˆetre prudent avec le choix du pivot. En pratique, il faut ´eviter de prendre des pivots
”trop” petits.
1.2.1 Algorithme : ´Elimination de Gauss Partie 1 : R´eduction `a la forme triangulaire
Entr´eeAet bSortieA=U (forme triangulaire), etb.
— Pourj= 1, ...,(n−1)
— Pouri=j+ 1, ..., n
— lij ← aaij
jj
— Pourk=j+ 1, ..., n
— aik←aik−lijajk
— Fin
— bj ←bj−lijbj
— Fin
— Fin
SortieA=U (forme triangulaire), etb Exemple :
x+y+ 3t= 4 2x+y−z+t= 1 3x−y−z+ 2t=−3
−x+ 2y+ 3z−t= 4 qui s’´ecrit encore :
1 1 0 3
2 1 −1 1
3 −1 −1 2
−1 2 3 −1
x y z t
=
4 1
−3 4
Nous appliquons l’algorithme `a notre exemple en travaillant sur la matrice
augment´ee.
A b
1 1 0 3 . 4
2 1 −1 1 . 1
3 −1 −1 2 . −3
−1 2 3 −1 . 4
1 1 0 3 . 4
0 −1 −1 −5 . −7
0 −4 −1 −7 . −15
0 3 3 2 . 8
1 1 0 3 . 4
0 −1 −1 −5 . −7
0 0 3 13 . 13
0 0 0 −13 . −13
Que l’on peut ´ecrire sous la forme :
x+y+ 3t = 4
−y−z−5t = −7 3z+ 13t = 13
−13t = −13 Notons que l’´etape j= 3 nous donneraitl43= 0.
Nous avons maintenant un syst`eme triangulaire `a r´esoudre.
Partie 2 : Remont´ee triangulaire
Entr´eeA, bavecAmatrice triangulaire sup´erieure Sortiexsolution du syt`emeAx=b
1. xn= abn
nn
2. Pour i=n−1, n−2, ...,1 faire : xi= 1
aii
(bi−
n
X
j=i+1
aijxj)
En appliquant cet algorithme `a notre exemple, nous obtenonsx= (−1,2,0,1).
Remarque :
1. Dans la pratique le test (3) de l’algorithme d’´elimination de Gauss ne conduit pas `a l’arrˆet. En fait, si le pivot est nul, on cherche, dans la mˆeme colonne, un ´el´ement d’indice plus grand non nul, puis on ´echange les lignes correspondantes. Si ceci est impossible, le syst`eme est singulier.
2. On est parfois amen´e, pour des raisons de stabilit´e num´erique, `a effectuer des ´echanges de lignes mˆeme si le test (3) est n´egatif (c’est `a dire que le pivot est non nul). Ceci conduit `a des strat´egies dites de pivot que nous n’´etudierons pas ici.
Exemple:
2x+ 6y+ 10z = 0 x+ 3y+ 3z = 2 3x+ 14y+ 28z = −8
⇔
2 6 10
1 3 3
3 14 28
x y z
=
0 2
−8
2 6 10 0
1 3 3 2
3 14 28 −8
⇒
2 6 10 0
0 0 −4 4
0 5 13 −8
⇒
2 6 10 0
0 5 13 −8
0 0 −4 4
En utilisant la remont´e on trouve :
z=−44 =−1 y= 15(−8−13×(−1)) = 1 x= 12(−6×1−10×(−1)) = 2
⇒x∗=
2 2
−1
M´ethode de Gauss avec normalisation :Elle consiste `a normaliser le pivot : On a :
(1)
a11x1+a12x2+a13x3=b1 (l1) a21x1+a22x2+a23x3=b2 (l2) a31x1+a32x2+a33x3=b3 (l3) On note par (li) lai`eme´equation du syst`eme pr´ecedent.
On suppose quea116= 0, (l1) s’´ecrit : x1+aa12
11x2+aa13
11x3= ab1
11 (l10) Si on pose :
(l20) = (l2)−a21(l01) et
(l30) = (l3)−a31(l01) Alors (1) s’´ecrit
(2)
x1+aa12
11x2+aa13
11x3=ab1
11 (l01) a022x2+a023x3=b02 (l02) a032x2+a033x3=b03 (l30)
On suppose quea0226= 0,
(l20) s’´ecritx2+a0023x3=b002 (l200) Si on pose :
(l300) = (l30)−a032(l002)
si a00336= 0 on pose (l3000) x3=ab00003 33
Alors (2) s’´ecrit
(2)
x1+aa12
11x2+aa13
11x3=ab1
11 (l01) x2+a0023x3=b002 (l002)
x3=ab00003 33
(l0003) 1.2.2 Quelques rappels d’alg`ebre lin´eaire
Factorisation LU
Supposons que dans l’´elimination de Gauss on n’utilise aucune strat´egie de pivotage et que tous les pivotsa(k)k,k6= 0.
Dans ce cas le passage deA(k)→A(k+1)(1≤k≤N−1) revient `a multiplier
`
a gauche la matriceA(k)par la matriceN×N :
E(k)=
1 0 · · · 0 0 1 0 · · · ·
... . .. . .. ...
... 0 1 · · · 0 ... ... −lk+1,k . .. ... ... ... ... 0 . .. ... 0 · · · 0 −lN,k 0 · · · 1
Avec
li,k= a
(k) i,k
a(k)k,k, pourk+ 1≤i≤N.
La matriceA(N) , qui est triangulaire sup´erieure, est alors ´egale `a A(N)=M A
avecM =E(N−1)E(N−2)...E(1)
M est le produit de matrices triangulaires inf´erieures, donc M est aussi triangulaire inf´erieure, on a det(M) =
N−1
Q
i=1
det(E(i)) = 1 et l’inverse deM est aussi triangulaire inf´erieure.
En posantU =A(N)et L=M−1,on a A=LU.
(E(k))−1=
1 0 · · · 0 0 1 0 · · · · ... . .. . .. . .. ... ... 0 1 . .. · · · 0 ... ... lk+1,k . .. . .. ... ... ... ... 0 . .. 0 0 · · · 0 lN,k 0 ..0 1
L=M−1= (E(1))−1(E(2))−1...(E(N−1))−1
L=
1 0 · · · 0 l2,1 1 0 · · · ·
... . .. . .. ...
... . .. 1 · · · 0
... ... lk+1,k . .. ...
... ... ... . .. ...
lN,1 · · · lN,k · · · ·lN,N−1 1
Exemple : A=
5 2 1
5 −6 2
−4 2 1
=A(1) E(1)=
1 0 0
−1 1 0
4
5 0 1
;A(2)=
5 2 1
0 −8 1 0 185 95
E(2)=
1 0 0
0 1 0
0 209 1
;A(3)=
5 2 1
0 −8 1 0 0 94
=U L=
1 0 0
1 1 0
−4 5
−9 20 1
et A=LU
Th´eorem 1 SoitA= (ai,j)1≤i,j≤N une matrice carr´ee d’ordreN telle que les N sous-matrices deA:
a11 · · · a1k
... ...
... ...
ak1 · · · akk
,1≤k≤N
soient inversibles,
alors il existe une matrice triangulaire inf´erieureL= (lij)1≤i≤N;1≤j≤N,avec lii= 1 (1≤i≤N),
et une matrice triangulaire sup´erieureU telles que A=LU.
De plus cette factorisation est unique.
2 Factorisation LU
Si A=LU on peut r´esoudre :Ax=ben r´esolvant 1. Lz=b
2. U x=z
(1)Ax=b⇔
(2)Lz=b (3)U x=z Dans ce casAx=LU x=L(U x) =Lz=b .
Les syst`emes (2) et (3) ´etant triangulaires, la r´esolution ne n´ecessite que l’ex´ecution d’une remont´ee et d’une descente triangulaire.
Exemple :
1 1 0 3
2 1 −1 1
3 −1 −1 2
−1 2 3 −1
=
1 0 0 0
2 1 0 0
3 4 1 0
−1 −3 0 1
1 1 0 3
0 −1 −1 −5
0 0 3 13
0 0 0 −13
.
Exemple :
A=LU =
1 0 0 0
2 1 0 0
3 4 1 0
−1 −3 0 1
1 1 0 3
0 −1 −1 −5
0 0 3 13
0 0 0 −13
,
on r´esoud le syst`emeAx=
4 1
−3 4
.
Lz=b⇒
z1 = 4 2z1+z2 = 1 3z1+ 4z2+z3 = −3
−z1−3z2+z4 = 4
⇒z=
4
−7 13
−13
.
U x=z⇒
−13x4 = −13 3x3+ 13x4 = 13
−x2−x3−5x4 = −7 x1+x2+ 3x4 = 4
⇒x=
−1 2 0 1
.
3 S´ erie N
◦2
Exercice I -
On consid´ere le syst`eme lin´eaire : (1)
1 5 1.0001 5
x y
= 6
6.0005
1. D´eterminer la solutionX de ce syst`eme.
2. Dans le syst`eme pr´ec´edent, on remplace 6.0005 par 6, d´eterminer la so- lution X∗ de ce nouveau syst`eme not´ee (2).
3. Calculer les erreurs relatives sur les donn´ees et sur les r´esultats.
4. Conclusion.
Exercice II-
R´esoudre le syst`eme lin´eaire (1) :
(1)
x+ 2y+ 3z= 1 2x+ 6y+ 10z= 0 3x+ 14y+ 28z=−8 1) Par Gauss Classique
2) Par Gauss avec pivotage partiel Exercice III -
1) En arithm´etique flottante avec 2 chiffres significatifs ( s = 2 (s est le nombre de digits)) et arrondi, r´esoudre par ´elimination de Gauss, les syst`emes lin´eaires (1) et (2).
(1)
0.0001x+y= 3
x+ 2y= 5 (2)
x+ 2y= 5 0.0001x+y= 3 2) Conclusion
Exercice IV-
Soit la matriceA=
30 −20 −10
−20 55 −10
−10 −10 50
et b=
1 5 2
1) Ecrire la matriceA sous la formeLU i.e. trouverLetU (sans pivotage) avecL matrice triangulaire Inf´erieure etU triangulaire sup´erieur.
2) En d´eduire le determinant deA
3) R´esoudre par FactorisationLU, le syst´eme lin´eaireAX=b Exercice V-
Soit la matriceA=
1 −1 2
−2 1 1
−1
1) Ecrire la matriceAsous la forme LU i.e. trouverLet U avecLmatrice triangulaire Inf´erieure etU triangulaire sup´erieur.
2) Utiliser 1) pour calculer le d´eterminant de la matriceA.
3) Utiliser 1) pour calculer l’inverse de la matriceA.