Vous êtes sur la page 1sur 20

Licence de Mathématiques Appliquées et Informatiques

Université Virtuelle du Sénégal

Calcul Numérique Matriciel


Seq 2: Les méthodes directes

Dr. Oumar Diop


oumar.diop@uvs.edu.sn

24 juillet 2020
Faire un petit effort pour réussir
1

1. Lire attentivement le cours, visualiser les vidéos.


2. Faire tous les tests de connaissance.
3. Reprendre tous les exemples développés dans le cours.
4. Préparer la fiche de Td, scanner vos propositions à sauvegarder dans
votre outil de travail.

5. Posez vos questions sur le forum de partage.


6. Participer aux séances de tutorat.
7. Faire les travaux à rendre.
Oumar Diop Cal Num 1 L1/MAI/UVS | EDOs
PLAN
2

Définition et généralités

Les systèmes triangulaires

La méthode de Gauss

La factorisation LU

Oumar Diop Cal Num 1 L1/MAI/UVS | EDOs


Définition et généralités
3

On appelle système linéaire d’ordre n (n entier positif), une expression de la


forme
AX = b (1)

A = (aij ), 1 ≤ i, j ≤ n
désigne une matrice de nombres réels ou complexes de taille n × n

b = (bi ), 1 ≤ i ≤ n

est un vecteur colonne réel ou complexe et

x = (xi ), 1 ≤ i ≤ n

est le vecteur des inconnues du système. La relation (1) équivaut aux


équations
Xn
aij xj = bi .
i=1

L’équation (1) admet une et une seule solution si la matrice A est régulière
(c’est à dire det(A) 6= 0).
Oumar Diop Cal Num 1 L1/MAI/UVS | EDOs
Définitions et généralités
4

On rappelle que si la matrice A est régulière la solution (1) est donnée par la
formule de Cramer suivante :
det(Ai )
xi = , 1 ≤ i ≤ n,
det(A)
où Ai est la matrice obtenue en replaçant la i-ème colonne de A par le
vecteur b.
On calcul le déterminant de la matrice A par la formule suivante
n
X
det(A) = (−1)(σ) Πn
i=1 aiσi
i=1

Par cette formule, la résolution de l’équation (1) requiert (n + 1)!


floating-point opérations (flops).

Exercice 1
Déterminer la complexité algorithmique c’-à-d le temps nécessaire pour un
ordinateur effectuant 109 flops par seconde de résoudre un système linéaire
de 50 équation à 50 inconnues.
Oumar Diop Cal Num 1 L1/MAI/UVS | EDOs
Définitions et généralités
5

Définition 2
On appelle méthode de résolution directe d’un système linéaire un
algorithme qui, si l’ordinateur faisait des calculs exacts, donnerait la solution
en un nombre fini d’opérations.

Il existe une autre famille de méthodes de résolution de systèmes linéaires.

Dans ce chapitre, nous nous limitons aux méthodes directes de résolution de


systèmes linéaires. On présentera les méthodes suivnates
I L’algorithme de Gauss
I La méthode LU
I La méthode de Cholesky

Oumar Diop Cal Num 1 L1/MAI/UVS | EDOs


Matrice diagonale
6

On rappelle qu’une matrice D est dite diagonale si elle peut s’exprimer sous
la forme :

0
 
d11
 .. 

 . 

D= dii
 

..
 
.
 
 
0 dnn

det(D) = Πn i=1 dii alors le système Dx = b admet une unique solution si et


seulement si dii 6= 0 ∀i = 1, ..., n.
La solution du système Dx = b est donnée par
bi
xi = ∀i = 1, ..., n.
dii

Oumar Diop Cal Num 1 L1/MAI/UVS | EDOs


Systèmes triangulaire inférieur
7

Une matrice est dite triangulaire inférieure si elle s’écrit sous la forme
 
l11
 l21 l22

0 

l31 l32 l33
 
L= 
 .. ..
 

 . . 
ln1 ... lnn

det(L) = Πni=1 lii alors le système Lx = b admet une unique solution si et


seulement si lii 6= 0 ∀i = 1, ..., n.
L’algorithme qui permet de résoudre l’équation Lx = b est donné par :
b1
y1 = , (2)
l11
i−1
!
1 X
yi = bi − lij yj , ∀i = 2, ..., n. (3)
lii j=1

Oumar Diop Cal Num 1 L1/MAI/UVS | EDOs


Systèmes triangulaire inférieur
8

L’implémentation de l’algorithme (2-3) nécessite des calculs élémentaire


(additions, multiplications et divisions) de l’ordre de n2 .
En effet
1. Le calcul de (2) nécessite une division
2. Pour la formule (3), on :
n
X
((i − 1)additions + (i − 1)multiplications + 1division)
i=2

3. Le nombre d’opérations élémentaires CL est alors donné par :


n(n − 1) n(n − 1)
CL = additions + multiplications + n divsions.
2 2
CL est alors de l’ordre de n2 .

Exercice 3
Ecrire le code scilab permettant de résoudre le système Lx = b où L est une
matrice triangulaire inférieur.
Oumar Diop Cal Num 1 L1/MAI/UVS | EDOs
Systèmes triangulaires supérieur
9

Exercice 4
1. Donner un exemple de matrice carrée triangulaire supérieure d’ordre 4
2. Calculer son déterminant.
3. Donner l’algorithme permettant de résoudre U x = b où U est une
matrice triangulaire supérieur
4. Ecrire le code scilab permettant de résoudre le système U x = b où U
est une matrice triangulaire supérieur.
5. Calculer le coût de cet algorithme en termes d’opérations élémentaires.

Oumar Diop Cal Num 1 L1/MAI/UVS | EDOs


La méthode d’élimination de Gauss
10

La méthode d’élimination de Gauss consiste à transformer le système AX = b en un


système ayant la même solution de la forme U X = b0 où U est une matrice triangulaire
et b0 un vecteur. La résolution par élimination de Gauss se fait en deux étapes :
Triangularisation de la matrice A.
Résolution du système triangulaire en cascade.
Considérons l’exemple Ax = b avec :
   
1 0 6 2 6
 9 0 −2 −2   −2 
A=  2 9
, b = 
 −8 
 (4)
1 3 
2 1 −3 10 4
On met ce système sous la forme de tableau comme suit :
 
1 0 6 2 6 l1
 9 0 −2 −2 −2  l2
 
 2 9 1 3 −8  l3
2 1 −3 10 4 l4
Le premier pivot étant non nul, on effectue alors les opérations suivantes :
 
1 0 6 2 6
 0 0 −50 −18 −50  l2 ← l2 − 8l1

 0 9 −11
 (5)
−1 −20  l3 ← −2l1
0 1 −15 6 −16 l4 ← −2l1
Oumar Diop Cal Num 1 L1/MAI/UVS | EDOs
La méthode d’élimination de Gauss
11

On voit ici que le second pivot est nul, on peut utiliser la méthode du pivot partiel. on
prend comme pivot le plus grand élément de la colonne
 
0
 9  (6)
1
Alors on intervertit la 2ième et la 3ième ligne
 
1 0 6 2 6
 0 9 −11 −1 −20  l2 ← l3
 
 0 0 −50 −18 −50  l3 ← l2
0 1 −15 6 −16
Le second pivot 9, on poursuit
 
1 0 6 2 6
 0 9
 −11 −1 −20 

 0 0 −50 −18 −50 
0 0 −124 9
55
9
−124
9
l4 ← l4 − 19 l2
Le 3ième pivot (-50) étant non nul, on poursuit alors
 
1 0 6 2 6
 0 9 −11 −1 −20 
 
 0 0 −50 −18 −50 
2491 1 124
0 0 0 225
0 l4 ← l4 − 50 9 3
l
Oumar Diop Cal Num 1 L1/MAI/UVS | EDOs
La méthode d’élimination de Gauss
12

Ce dernier tableau est équivalent au système d’équations suivant :




 x +6z −2t = 6
 9y −11z −t = −20
(7)
 −50z −18t = −50
2491

t = 0

225
En faisant une remontée, on obtient :


 x = 0
y = 1

(8)

 z = −1
t = 0

Remarque 5
Lorsqu’un pivot est nul dans se processus d’élimination de GAUSS, on peut utiliser une
autre méthode appelée Pivot total
Par exemple pour le tableau (5), on utilise le plus grand élément en module de la
sous-matrice
 
0 −50 −18
 9 −11 −1  (9)
1 −15 6

Oumar Diop Cal Num 1 L1/MAI/UVS | EDOs


Algorithme d’élimination de Gauss
13

Oumar Diop Cal Num 1 L1/MAI/UVS | EDOs


Algorithme d’élimination de Gauss (suite)
14

Oumar Diop Cal Num 1 L1/MAI/UVS | EDOs


La méthode d’élimination de Gauss
15

Exercice 6
1. Ecrire une fonction scilab [At, bt] = Gauss(A, b) qui renvoit une matrice
triangulaire inférieure At et un vecteur b tel que le système Ax = b soit
équivalent à Atx = bt. Tester sur le système suivant :
   
3 2 4 7
 3 5 7  x =  −3  .
0 −2 5 1

2. Ecrire une fonction [x] = ResolGauss(A, b) permettant de résoudre le


système Ax = b par la méthode de Gauss. Tester sur le système
   
−1 2 1 7
 3 0 1  x =  −3  .
2 5 4 1

Oumar Diop Cal Num 1 L1/MAI/UVS | EDOs


La factorisation LU
16

La factorisation LU d’une matrice carrée A consiste en la décomposer sous


forme de produit de deux matrice A = LU :
L est une matrice triangulaire inférieure, avec lii = 1.
U est une matrice triangulaire supérieure
La factorisation LU permet de résoudre plusieurs systèmes Ax = b, où b peut
varier

La résolution de Ax = b se fait alors en deux étapes :

LY = b

puis
U x = y.
Une matrice A est dite décomposable en produit LU si tous ses mineurs
principaux sont non nuls.

Oumar Diop Cal Num 1 L1/MAI/UVS | EDOs


La factorisation LU (exemple)
17

Soit à résoudre le système d’équations suivant :



 3x −2y +z = 2
2x +y +z = 7 (10)
4x −3y +2z = 4

Ce système peut sécrire sous la forme AX = b avec


     
3 −2 1 2 x
A= 2 1 1  , b =  7  , et X =  y  (11)
4 −3 2 4 z
Les mineurs principaux de la matrice A sont :

2 −2 1
3 −2
|3| = 3 6= 0, = 7 6= 0, 2 1 1 = 5 6= 0. (12)
2 1
4 −3 2
Les matrice L et U sont de la forme suivante.
   
1 0 0 u11 u12 u13
L =  l21 1 0  , et U =  0 u22 u23  ,
l31 l32 1 0 0 u33
Oumar Diop Cal Num 1 L1/MAI/UVS | EDOs
La factorisation LU (exemple)
18

Par identification A = LU , on obtient :


   
1 0 0 3 −2 1
2 7 1
L= 3 1 0  , et U =  0 3 3
,
2
3
− 71 1 0 0 5
7

La résolution du système initial revient à résoudre successivement les deux


systèmes triangulaires :
LX 0 = b

L=
UX = Y

  0     
1 0 0 x 2 2
0 2 0 0 17
LX = b ⇐⇒  3
1 0   y  =  7  =⇒ X =  3 
2
3
− 17 1 z0 4 15
3

et
      
1 0 0 x 2 1
U X = X 0 ⇐⇒  2
3
1 0   y  =  17
3
 =⇒ X =  2 
2
3
− 17 1 z 15
3
3

Oumar Diop Cal Num 1 L1/MAI/UVS | EDOs


La factorisation LU (Exercice)
19

Soit le système linéaire Ax = b, avec


     
2 3 −1 x1 2
A= 4 4 −3  x =  x2  b =  0 
−2 3 −1 x3 −1

1. La matrice A est-elle factorisable en LU ? Si oui pourquoi ?


2. Si A est factorisable, donner sa matrice L et U .
3. Résoudre le système Ax = b.
4. Trouver la matrice A−1 .

Oumar Diop Cal Num 1 L1/MAI/UVS | EDOs

Vous aimerez peut-être aussi