1
CHAPITRE 4
RÉSOLUTION DES SYSTÈMES LINÉAIRES
1ère Partie : Méthodes directes
1-Introduction :
Matrice triangulaire
inférieure supérieure
11
21 22
1
0 pour
nnn
ij
L
lji
⎡⎤
⎢⎥
⎢⎥
=⎢⎥
⎢⎥
⎢⎥
⎣⎦
=
l
ll
MO
lLl
f
11 12 1
22 23 2
0 pour i
n
n
nn
ij
uu u
uu u
U
u
uj
⎡⎤
⎢⎥
⎢⎥
=⎢⎥
⎢⎥
⎢⎥
⎣⎦
=
K
OM
f
Propriété : le déterminant d’une matrice triangulaire 1
( ) est det( ) n
ij ii
i
Aa A a
=
==
Exemple : soit la matrice triangulaire supérieure
=
400
230
212
A et
=
8
1
9
b
Considérons la résolution du système : bAx
=
4
8
84 33 == xx
[]
121
3
1
123 3232 =+==xxxx
[]
229
2
1
922 321321 =
==++xxxxxx
Algorithme de substitution rétrograde (Backward Substitution) :
- Données bU ,
1
- calculer :
nn
n
na
b
x=
2
for 11 ,ni =
i
bs=
for n,,ij K1+=
jji xuss =
end
iii u/sx =
end
Dans le cas d’une matrice triangulaire inférieure, la résolution du système est obtenue par :
Algorithme de substitution progressive (forward substitution) :
- Données : bL ,
1
- Calculer :
1111 l/bx =
for ni K
1
2=
i
bs=
for 11 = i,j K
jji xss l=
end
111 l/sx i
=
end
*On désigne par flop une opération élémentaire à virgule flottante (+,-,*,/)
3
2- Méthode d’élimination de Gauss sans pivotement :
Exemple : résoudre bxA = avec
=
443
766
123
A
=
6
7
1
b
L’algorithme de substitution de Gauss transforme le système original en :
b
~
Ux=
avec U une matrice triangulaire supérieure.
Utilisons le processus pour éliminer la première variable :
()
32111321 2
3
1
123 xxbxbxxx +==+
()
2323212321 762
3
1
6766 bxxxxbbxxx =+
+=+
()
3323213321 442
3
1
3443 bxxxxbbxxx =+
+=+
Le système original est transformé en : 11
Ax b
=
avec
11
321 1
025 et b9
023 7
A
−− −
⎡⎤
⎢⎥
=− =
⎢⎥
⎢⎥
−−
⎣⎦
Et après la substitution de la deuxième variable, on trouve le système : 22
Ax b= avec
22
321 1
025 et b9
00 2 2
A
−− −
⎡⎤
⎢⎥
=− =
⎢⎥
⎢⎥
−+
⎣⎦
On voit bien qu’on trouve un système linéaire avec une matrice triangulaire supérieure qui peut
être résolu avec l’algorithme de substitution rétrograde.
4
Algorithme d’élimination de Gauss :
for 11= n,,i K
for nik ,,1 K+=
for n,,ij K1+=
ii
ij
kikjkj a
a
aaa
end
end
end
est le multiplicateur de la ligne et est le pivot
ki
ki ii
ii
a
mka
a
=de la variable xi , il doit être non nul.
Remarquons aussi que le vecteur b a subi des transformations b
~
b
kkkii
bbmb←−
À la fin, on trouve une matrice triangulaire supérieure.
L’opérateur \ de MATLAB utilise une version robuste de l’élimination de Gauss.
5
3- Méthode de factorisation LU
On cherche à décomposer la matrice originale en un produit de matrices triangulaires inférieure
et supérieure :
1
1
après une substitution progressive on trouve :
et après une substitution rétrograde on trouve
ALU LUxb
Ly b y L b
xU y
=⇒ =
⇒=⇒ =
=
L’algorithme qui sera développé est une amélioration de l’algorithme d’élimination de Gauss.
Revenons à l’exemple de départ :
321 1
667 7
344 6
Ab
−−
⎛⎞
⎜⎟
=− =
⎜⎟
⎜⎟
−−
⎝⎠
Définissons les matrices :
=
=
110
010
001
101
012
001
21 MM
La matrice obtenue après l’élimination de la 1re variable est :
==
320
520
123
11 AMA
des 0 en dessous de la diagonale
Aussi, après la 2e élimination, la matrice devient :
==
200
520
123
122 AMA
Ainsi, pour éliminer la i ème variable mettre des 0 dans la i ème colonne à partir de la ligne
i + 1. Il suffit juste de calculer les termes kj
apour et 1,...kji n
=
+
avec 1,.., et 1,...
kj kj ki ij
aama ki nji n←− =+ =+
1re ligne inchangée
inchangée
= U
inchangée 0 en dessous de la diagonale
1 / 30 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !