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

Méthodes Directes d'Analyse Numérique

Le document présente des méthodes directes pour résoudre des systèmes linéaires, notamment la méthode de Gauss et la factorisation LU. Il aborde les définitions fondamentales, les systèmes triangulaires, ainsi que la complexité algorithmique associée à ces méthodes. Des exercices pratiques sont également inclus pour renforcer la compréhension des concepts.

Transféré par

workwithmareme123
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 d'Analyse Numérique

Le document présente des méthodes directes pour résoudre des systèmes linéaires, notamment la méthode de Gauss et la factorisation LU. Il aborde les définitions fondamentales, les systèmes triangulaires, ainsi que la complexité algorithmique associée à ces méthodes. Des exercices pratiques sont également inclus pour renforcer la compréhension des concepts.

Transféré par

workwithmareme123
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

ESP, Dakar

Master en Sécurité des Systèmes d’Information (MSSI)

Analyse numérique
chapitre1 : Méthodes directes (triangulation de
Gauss et LU)

Dr. Oumar Diop


[Link]@[Link]

2 décembre 2023
PLAN
1

Définition et généralités

Les systèmes triangulaires

La méthode de Gauss

La factorisation LU

Oumar Diop Cal Num 2 L1/ANM |


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é.

Oumar Diop Cal Num 2 L1/ANM |


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).
Oumar Diop Cal Num 2 L1/ANM |
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.
Oumar Diop Cal Num 2 L1/ANM |
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

Oumar Diop Cal Num 2 L1/ANM |


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 2 L1/ANM |


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 = , (4)
l11
i−1
!
1 X
yi = bi − lij yj , ∀i = 2, ..., n. (5)
lii j=1

Oumar Diop Cal Num 2 L1/ANM |


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 python permettant de résoudre le système Lx = b où L est
une matrice triangulaire inférieur.
Oumar Diop Cal Num 2 L1/ANM |
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 python 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 2 L1/ANM |


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
Oumar Diop Cal Num 2 L1/ANM |
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
Oumar Diop Cal Num 2 L1/ANM |
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 
A 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.

Oumar Diop Cal Num 2 L1/ANM |


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

Oumar Diop Cal Num 2 L1/ANM |


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.

Oumar Diop Cal Num 2 L1/ANM |


Algorithme d’élimination de Gauss
15

Algorithme 8

Oumar Diop Cal Num 2 L1/ANM |


Algorithme d’élimination de Gauss (suite)
16

Algorithme 9

Oumar Diop Cal Num 2 L1/ANM |


Algorithme d’élimination de Gauss (suite)
17

Algorithme 10

Oumar Diop Cal Num 2 L1/ANM |


Algorithme d’élimination de Gauss (suite)
18

Algorithme 11

Oumar Diop Cal Num 2 L1/ANM |


La méthode d’élimination de Gauss
19

Exercice 12
1. Ecrire une fonction python [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 2 L1/ANM |


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.
Oumar Diop Cal Num 2 L1/ANM |
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 :

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 2 L1/ANM |
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

Oumar Diop Cal Num 2 L1/ANM |


Algorithme de la méthode LU
23

Algorithme 14

Oumar Diop Cal Num 2 L1/ANM |


Algorithme de la méthode LU
24

Algorithme 15

Oumar Diop Cal Num 2 L1/ANM |


Algorithme de la méthode avec stockage dans A
25

Algorithme 16

Oumar Diop Cal Num 2 L1/ANM |


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 .

Oumar Diop Cal Num 2 L1/ANM |

Vous aimerez peut-être aussi