5. Systèmes linéaires
107
Le même algorithme est utilisé pour calculer l’inverse d’une matrice. On
écrit D sous la forme DL et on applique à l’identité L toutes les manipulations que subit D.
Exemple. Reprenons le même exemple, écrivons
D =
3
C
284
21 06
182
4
D
3
C
100
010
001
4
D
À la première étape, on divise la première ligne de D et de L par 2. On
retranche à la deuxième ligne (de D et de L) les éléments de la première
ligne multipliés par 2 et à la troisième ligne les éléments de la première
3
C
142
022
040
4
D
3
C
1@20 0
11 0
1@201
4
D
À la deuxième étape, on divise la deuxième ligne par 2. On fait apparaître
le vecteur (0,1,0) dans la deuxième colonne
3
C
102
01 1
004
4
D
3
C
5@2 20
1@21 @20
3@2 21
4
D
À la troisième étape, on fait apparaître le vecteur (0> 0> 1) dans la dernière
colonne. On obtient ainsi l’inverse de la matrice D.
D
1 =
3
C
100
010
001
4
D
3
C
7@4
3 1@2
1@81
1 @4
3@8 1@2 1@4
4
D
Si D est une matrice réelle, la méthode de Gauss-Jordan nécessite q(q
2
1)@2 multiplications, q(q
2 1)@2 additions et q(q +1)@2 divisions.
5.2.4 Problème des pivots
Lorsqu’un pivot est nul, la méthode de Gauss ou de Jordan n’est plus
applicable. Si le pivot est très petit, l’algorithme conduit à des erreurs
d’arrondi importantes. C’est pourquoi des algorithmes qui échangent les
éléments de façon à avoir le pivot le plus grand possible ont été développés.
Les programmes optimisés intervertissent les lignes à chaque étape de façon
à placer en pivot le terme de coe!cient le plus élevé de la ligne : c’est la
méthode du pivot partiel,àl an-ième étape le pivot est l’élément
d
(n)
ln =m a x
s=n>==>q
¯
¯
¯d
(n)
sn
¯
¯
¯
Précédent

- 106/283

Suivant