0% ont trouvé ce document utile (0 vote)
9 vues27 pages

Méthodes Directes de Résolution Linéaire

Transféré par

somaben26
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
9 vues27 pages

Méthodes Directes de Résolution Linéaire

Transféré par

somaben26
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

ANSD, Dakar

ISE1 & ISEP3

Calcul Scientifique
Chapitre 1 : Méthodes directes (triangulation de
Gauss et LU)

Dr. Oumar Diop


[Link]@[Link]

15 octobre 2024
PLAN
1

Définition et généralités

Les systèmes triangulaires

La méthode de Gauss

La factorisation LU

ISE 1 CNM Dr Diop |


Définitions et généralités
2

Il est fréquent, dans toutes les disciplines scientifiques, de devoir résoudre


des systèmes linéaires de la forme

a11 x1 + a12 x2 + · · · + a1n xn = b1


a21 x1 + a22 x2 + · · · + a2n xn = b2
a31 x1 + a32 x2 + · · · + a3n xn = b3 (1)
.. .. ..
. . .
an1 x1 + an2 x2 + · · · + ann xn = bn

Le système d’équation (1) s’écrit aussi comme suit

Ax = b, (2)

où A est une matrice carrée de dimension n × n dont les éléments aij sont
réels ou complexes, et x et b sont des vecteurs colonnes de dimension n, où
x est l’inconnue et b un vecteur donné.

ISE 1 CNM Dr Diop |


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 (3)

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 (3) équivaut aux


équations
Xn
aij xj = bi .
i=1

L’équation (3) admet une et une seule solution si la matrice A est régulière
(c’est à dire det(A) 6= 0).
ISE 1 CNM Dr Diop |
Définitions et généralités
4

On rappelle que si la matrice A est régulière la solution (3) 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 (3) 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.
ISE 1 CNM Dr Diop |
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 suivantes.
I L’algorithme de Gauss
I La méthode LU

ISE 1 CNM Dr Diop |


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

ISE 1 CNM Dr Diop |


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 Ly = b est donné par :
b1
y1 = , (4)
l11
i−1
!
1 X
yi = bi − lij yj , ∀i = 2, ..., n. (5)
lii j=1

ISE 1 CNM Dr Diop |


Systèmes triangulaire inférieur
8

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


(additions, multiplications et divisions) de l’ordre de n2 .
En effet,
1. Le calcul de (4) nécessite une division
2. Pour la formule (5), 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.
ISE 1 CNM Dr Diop |
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.

ISE 1 CNM Dr Diop |


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
 8 0 −2 −2   −2 
A=  2 9
, b = 
 −8 
 (6)
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
 8 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
 (7)
−1 −20  l3 ← l3 − 2l1
0 1 −15 6 −8 l4 ← l4 − 2l1
ISE 1 CNM Dr Diop |
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  (8)
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 −8
Le second pivot est 9, non nul donc on poursuit
 
1 0 6 2 6
 0 9
 −11 −1 −20  
 0 0 −50 −18 −50 
−124 −52
0 0 9
55
9 9
l4 ← l4 − 19 l2
On voit clairement qu’on peut simplifier ,la quatrième ligne par 9, ce qui donne
 
1 0 6 2 6
 0 9
 −11 −1 −20  
 0 0 −50 −18 −50 
0 0 −124 55 −52 l4 ← 9 ∗ l4
ISE 1 CNM Dr Diop |
La méthode d’élimination de Gauss
12

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 62
0 0 0 25
72 l4 ← l4 − l
25 3

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


    
1 0 6 −2 x1 6
 0 9 −11 −1   x2   −20 

 0 0 −50 −18   x3  =  −50 
    (9)
2491
0 0 0 25
x4 72

On obtient alors un sytème triangulaire supérieur.

Exercice 5
1. Résoudre le sytème triangulaire (9).
2. Reprendre le même travail pour une triangulation supérieure.

ISE 1 CNM Dr Diop |


La méthode d’élimination de Gauss
13

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

ISE 1 CNM Dr Diop |


Stratégie de pivot
14

Le choix du pivot est déterminant dans le procédés de Gauss. En effet, un


mauvais choix du pivot peut conduire à des résultats désastreux en arithmé-
tique flottante, par exemple, si un pivot est voisin de zéro.
• Pivot partiel : on choisira, à l’étape k comme pivot l’élément (akik ) véri-
fiant :
|akik | = max |akpk |
k≤p≤n

• Pivot total : on choisira, à l’étape k comme pivot l’élément (akik ) vérifiant :

|akik | = max |akpk |


k≤p,q≤n

Remarque 7
Dans le cas du pivot total, il faut également effectuer des permutations des
colonnes.

ISE 1 CNM Dr Diop |


Algorithme d’élimination de Gauss
15

Algorithme 8

ISE 1 CNM Dr Diop |


Algorithme d’élimination de Gauss (suite)
16

Algorithme 9

ISE 1 CNM Dr Diop |


Algorithme d’élimination de Gauss (suite)
17

Algorithme 10

ISE 1 CNM Dr Diop |


Algorithme d’élimination de Gauss (suite)
18

Algorithme 11

ISE 1 CNM Dr Diop |


La méthode d’élimination de Gauss
19

Exercice 12
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

ISE 1 CNM Dr Diop |


La factorisation LU
20

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.

Proposition 13
Soit A une matrice carrée d’ordre n, on suppose que les sous matrices
principales de dimension k sont inversibles pour k = 1, 2; . . . , n. Alors la
factorisation A = LU avec Li,i = 1, i = 1, . . . , n existe et est unique.
ISE 1 CNM Dr Diop |
La factorisation LU (exemple)
21

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 :

3 −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
ISE 1 CNM Dr Diop |
La factorisation LU (exemple)
22

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


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

ISE 1 CNM Dr Diop |


Algorithme de la méthode LU
23

Algorithme 14

ISE 1 CNM Dr Diop |


Algorithme de la méthode LU
24

Algorithme 15

ISE 1 CNM Dr Diop |


Algorithme de la méthode avec stockage dans A
25

Algorithme 16

ISE 1 CNM Dr Diop |


La factorisation LU (Exercice)
26

Exercice 17
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 .

ISE 1 CNM Dr Diop |

Vous aimerez peut-être aussi