Vous êtes sur la page 1sur 20

Chapitre 2 : Système d’équations algébriques

AJDOUR Mounia
Faculté des Sciences et Techniques de Tanger

3 novembre 2021

Introduction Formulation du problème Elimination de Gauss Décomposition LU

TABLE DES MATIÈRES

1 Introduction

2 Formulation du problème

3 Elimination de Gauss

4 Décomposition LU

2 / 40
Introduction Formulation du problème Elimination de Gauss Décomposition LU

I NTRODUCTION

Beaucoup d’applications dans le domaine de l’ingénierie exigent de résoudre


des systèmes d’équations qui comportent souvent un grand nombre d’incon-
nues. On rencontre ces applications, par exemple, dans les domaines suivants :

la mécanique des fluides : écoulement de l’air autour d’un avion,


écoulement dans une turbine hydraulique, etc.
la mécanique des solides : déformation d’un matériau soumis à des
contraintes extérieures, analyse des structures complexes, etc.

Introduction 3 / 40

Introduction Formulation du problème Elimination de Gauss Décomposition LU

Un système d’équations linéaires est un système de n équations linéaires à n


inconnues


 a11 x1 + a12 x2 + a13 x3 + . . . + a1n xn = b1

 a21 x1 + a22 x2 + a23 x3 + . . . + a2n xn = b2
.. .


 . = ..

an1 x1 + an2 x2 + an3 x3 + . . . + ann xn = bn

où aij et bj sont connus pour i, j = 1, ..., n.

Exemple 2.1 : Trouver x1 , x2 , x3 solution de



 2x1 + 3x2 − x3 = 5
4x1 + 4x2 − 3x3 = 3

−2x1 + 3x2 − x3 = 1

Formulation du problème 4 / 40
Introduction Formulation du problème Elimination de Gauss Décomposition LU

Écriture matricielle :
Ax = b
où A dénote la matrice carrée d’ordre n des coefficients du système linéaire et
b le vecteur du second membre.
     
a11 ... a1i ... a1n b1 x1
 .. . . .. . . ..   ..   .. 
 .
 . . . . 

 . 
 
 . 
 
A =  ai1 ... aii ... ain 
  b =  bi 
  x= xi 

 .. . . .. . . ..   ..   .. 
 . . . . .   .   . 
an1 ... ani ... ann bn xn

Exemple 2.2 : Trouver x ∈ R3 solution de


    
2 3 −1 x1 5
 4 4 −3   x2  =  3 
−2 3 −1 x3 1
Formulation du problème 5 / 40

Introduction Formulation du problème Elimination de Gauss Décomposition LU

Rappel d’algèbre :
Le système Ax = b admet une solution unique si et seulement si A est
inversible (det A 6= 0).

Une solution théorique du système Ax = b, A étant inversible, est donnée par


la formule de Cramer :
det Ai
xi =
det A
où Ai est la matrice A dont la colonne i est remplacée par b.
 
a11 ... b1 ... a1n
 .. . . .. . . .. 
 .
 . . . .  
Ai =  i1a ... b i ... ain 

 .. . . .. . . .. 
 . . . . . 
an1 ... bn ... ann

Formulation du problème 6 / 40
Introduction Formulation du problème Elimination de Gauss Décomposition LU

Combien ça coûte ?
Pour un système d’ordre n, la méthode de Cramer nécessite le calcul de
(n + 1) déterminants et chaque déterminant demande n! multiplications, soit
au total (n + 1)! multiplications. Le coût en temps d’exécution sur un
ordinateur sera donc excessif.

Par exemple, avec un ordinateur à 3,5 GHz (Core i7 3770K) il faut environ 3
milliards et demi d’années pour résoudre un système linéaire de seulement 25
équations. La résolution du même système par l’algorithme de Gauss prend 1
micro-seconde ! ! !

La méthode de Cramer est donc totalement inadapté pour la résolution de


"gros" systèmes linéaires.

Formulation du problème 7 / 40

Introduction Formulation du problème Elimination de Gauss Décomposition LU

On peut se demander quels types de systèmes linéaires sont faciles à résoudre,


et ce, même s’ils sont de grandes taille.

Matrice diagonale
Le cas le plus simple est sans doute celui des systèmes diagonaux, c’est à dire
dont la matrice A n’a de coefficients non nuls que sur la diagonale
 
a11 0 0 ... 0    
x1 b1

 0 a22 0 ... 0 
 ..  =  .. 
Ax =  .. ..  .   . 
 . . 0 
xn bn
0 ... 0 ... ann

⇔ aii xi = bi i = 1, ..., n
bi n
Q
alors xi = . Solution unique ssi aii 6= 0 ∀i (det A = aii 6= 0)
aii i=1

Formulation du problème 8 / 40
Introduction Formulation du problème Elimination de Gauss Décomposition LU

Matrices triangulaires
Une matrice est dite triangulaire inférieure (ou supérieure) si toutes ces
entrées aij sont nulles pour i < j (i > j resp.).
   
a11 0 0 ... 0 a11 a12 a13 ... a1n

 a21 a22 0 ... 0 


 0 a22 a23 ... a2n 


 a31 a32 a33 ... 0 


 0 0 a33 ... a3n 

 .. .. .. .. ..   .. .. .. .. 
 . . . . .   . . . . 
an1 an2 an3 ... ann 0 0 0 ... ann
| {z } | {z }
Triangulaire inf rieure : L Triangulaire suprieure : U

Le déterminant d’une matrice triangulaire est le produit des termes de la


diagonale

Formulation du problème 9 / 40

Introduction Formulation du problème Elimination de Gauss Décomposition LU

Algorithmes de résolution pour les matrices triangulaires


Matrice triangulaire inférieure : descente triangulaire (on commence à
1 et on fini à n ”en bas”).
i−1
X
bi − aik xk
b1 k=1
x1 = xi = i = 2, ..., n
a11 aii
Matrice triangulaire supérieure : remontée triangulaire (on commence
à n et on fini à 1 ”en haut”).
n
X
bi − aik xk
bn k=i+1
xn = xi = i = n − 1, n − 2, ..., 1
ann aii

Formulation du problème 10 / 40
Introduction Formulation du problème Elimination de Gauss Décomposition LU

Unicité dans le cas des matrices triangulaires


La remontée et la descente triangulaire n’ont de sens qu’à la condition que les
termes diagonaux soient tous non nuls.
En effet, le déterminant d’une matrice triangulaire est le produit des termes de
la diagonale, alors
n
Y
det A = aii 6= 0 ⇔ aii 6= 0 ∀i
i=1

Donc l’unicité de la solution impose que les termes diagonaux soient tous non
nuls. Dans le cas contraire le système n’a pas une solution unique et A n’est
pas inversible.

Formulation du problème 11 / 40

Introduction Formulation du problème Elimination de Gauss Décomposition LU

Exemple de remontée triangulaire


Soit à résoudre le système
    
3 1 3 x1 0
 0 2 2   x2  =  30 
0 0 1 x3 15

3
X
b2 − a2k xk
b3 k=3 30 − 2x3
x3 = = 15 x2 = = =0
a33 a22 2
3
X
b1 − a1k xk
k=2 0 − 1x2 − 3x3
x1 = = = −x3 = −15
a11 3

Formulation du problème 12 / 40
Introduction Formulation du problème Elimination de Gauss Décomposition LU

Comment exploiter les algorithmes des matrices triangulaires ?

Les matrices triangulaires sont primordiales pour la résolution des systèmes


linéaires. Dans les sections qui suivent, nous voyons comment ramener un
système linéaire quelconque à un ou plusieurs systèmes triangulaires. Nous
abordons essentiellement deux méthodes dites directes au sens de la définition
suivantes :

Definition
Une méthode de résolution d’un système linéaire est dite directe si la solution
du système peut être obtenue en un nombre fini et prédéterminé
d’opérations. Ceci permet donc de déduire le temps de calcul nécessaire à la
résolution.

Formulation du problème 13 / 40

Introduction Formulation du problème Elimination de Gauss Décomposition LU

Remarque sur les méthodes directes


Une méthode directes est essentiellement une méthode basée sur la
remontée (descente). une remontée/descente exige ≈ n2 opérations
élémentaires.
La plupart du temps la limitation dans l’utilisation de méthodes directes
vient de l’espace mémoire requis pour la résolution.

À l’opposée de ces méthodes on trouve les méthodes itératives. Ces


méthodes ne garantissent pas la convergence et ne peuvent garantir un
nombre fixe d’opérations pour l’obtention d’une solution. Cependant la
plupart de ces méthodes exigent moins d’espace mémoire.

Formulation du problème 14 / 40
Introduction Formulation du problème Elimination de Gauss Décomposition LU

Opérations élémentaires sur les lignes

Les deux principales méthodes directes sont la méthode d’élimination de Gauss


et la décomposition LU. Il s’agit en fait d’une seule et une même méthode
puisque la méthode de décomposition de Gauss est un cas particulier de la
décomposition LU.
La stratégie de la résolution est basée sur la question suivante : quelles opé-
rations sont permises sur les lignes d’un système d’équations linéaires quel-
conque pour le ramener à un système triangulaire sans pour autant changer la
solution du système de départ ?

Formulation du problème 15 / 40

Introduction Formulation du problème Elimination de Gauss Décomposition LU

Pour réduire un système linéaire sous une forme triangulaire on utilise 3 opé-
rations élémentaires sur les lignes
1 Multiplier une ligne Li par une scalaire λ non nul :
λLi −→ Li
2 Remplacer la ligne i par la ligne i plus un multiple de la ligne j :
Li + λLj −→ Li
3 Permuter deux lignes :
Li ←→ Lj

On sait qu’en multipliant (à gauche) le système original par une matrice


inversible W la solution reste inchangée.

WAx = Wb
On va montrer que les 3 opérations proposées correspondent à des produits par
une matrice inversible, nous assurant ainsi de conserver la solution originale.
Formulation du problème 16 / 40
Introduction Formulation du problème Elimination de Gauss Décomposition LU

1. Multiplication d’une ligne par un scalaire

Remplacer la ligne i par un multiple d’elle même (λLi −→ Li ) revient à


multiplier le système de départ Ax = b par une matrice diagonale inversible
W = M(λLi −→ Li ) , dont tous les éléments diagonaux sont 1 sauf mii , qui
vaut λ. Tous les autres termes sont nuls.

Le déterminant de la matrice diagonale M(λLi −→ Li ) est λ. La matrice est


donc inversible si λ 6= 0

   
1 0 ... ... 0 1 0 ... ... 0
 ..   .. 
 0
 . 0 ... 0 

 0
 . 0 ... 0 

M =  0 ... mii = λ ... 0  M −1
= 0 ... 1
... 0 ←i
   λ 
 0 ... 1 ...   0 ... 1 ... 
0 ... ... 1 0 ... ... 1

Formulation du problème 17 / 40

Introduction Formulation du problème Elimination de Gauss Décomposition LU

2. Opération Li + λLj −→ Li

Remplacer la ligne i par la ligne i plus un multiple de la ligne j


(Li + λLj −→ Li ) revient à multiplier le système de départ par une matrice
inversible W = T(Li + λLj −→ Li ) qui vaut 1 sur toute la diagonale et 0
partout ailleurs, saut tij qui vaut λ.

Le déterminant de la matrice T(Li + λLj −→ Li ) est 1. La matrice T est donc


inversible

   
1 0 ... ... 0 1 0 ... ... 0
 ..   .. 
 0 . 0 ... 0   0 . 0 ... 0 
   
T= 0 ... 1 ... 0  T −1 =  0 ... 1 ... 0 
   (−1)

 0 λ 1 ...   0 tij = −λ 1 ... 
0 ... ... 1 0 ... ... 1

Formulation du problème 18 / 40
Introduction Formulation du problème Elimination de Gauss Décomposition LU

3. Permutation de deux lignes

l’opération élémentaire qui consiste à intervertir deux lignes du système


(Li ←→ Lj ) est équivalente à la multiplication (à gauche) du système de
départ par une matrice inversible W = P(Li ←→ Lj ) (dite aussi matrice de
permutation), obtenue en permutant les lignes i et j de la matrice identité.

 
1 0 ... ... 0
 .. 
 0 . 0 ... 0 
 
P = i →  0 ... 0 1 0 
 
j→  0 1 0 ... 
0 ... ... 1
Puisque PP = I, la matrice P est donc inversible et son inverse P−1 = P. On a
aussi det P = −1
Formulation du problème 19 / 40

Introduction Formulation du problème Elimination de Gauss Décomposition LU

Elimination de Gauss

Tous les outils sont en place pour la résolution d’un système linéaire. Il suffit
maintenant d’utiliser systématiquement les opérations élémentaires pour intro-
duire des zéros sous la diagonale de la matrice A et obtenir ainsi un système
triangulaire supérieure.
La validité de la méthode de Gauss repose sur le fait que les opérations élé-
mentaires consistent à multiplier le système de départ par une suite de matrices
inversibles.
La méthode d’élimination de Gauss consiste à utiliser les opérations
élémentaires afin de réduire le système sous la forme triangulaire supérieure.

Dans la pratique on ne construit pas les matrices (de types M,T et P) néces-
saires à la transformation, car ce serait trop long.

Elimination de Gauss 20 / 40
Introduction Formulation du problème Elimination de Gauss Décomposition LU

Avant d’expliciter la méthode par un exemple, introduisant la notion de matrice


augmentée.
Définition
La matrice augmentée du système Ax = b est la matrice de dimension
n × (n + 1) obtenue en ajoutant le membre de droite b à la matrice A :
 
a11 ... a1i ... a1n b1
 .. . . .. . . .. 
 .
 . . . . 

 ai1 ... aii ... ain bi 
 
 .. . . .. . . .. 
 . . . . . 
an1 ... ani ... ann bn

Cette notation est très utile car elle permet d’appliquer les opérations élémen-
taires, simultanément, sur la matrice A et sur le membre de droite b.

Elimination de Gauss 21 / 40

Introduction Formulation du problème Elimination de Gauss Décomposition LU

Exemple 2.3 : Elimination de Gauss sans permutation


On applique la méthode de Gauss sur la matrice augmentée
 
2
|{z} 1 2 10
 
A= 6 4 0 26 
8 5 1 35

Elimination de Gauss 22 / 40
Introduction Formulation du problème Elimination de Gauss Décomposition LU

Elimination des termes non nuls sous la diagonale :

6
T1 : L2 − L1 −→ L2
2
|{z}
8
T2 : L3 − L1 −→ L3
2
|{z}
 
2 1 2 10
 0 1 −6 −4 
 |{z} 
0 1 −7 −5

Dernière opération pour obtenir une matrice triangulaire supérieure :

Elimination de Gauss 23 / 40

Introduction Formulation du problème Elimination de Gauss Décomposition LU

1
T3 : L3 − L2 −→ L3
1
|{z}
 
2 1 2 10
 0 1 −6 −4 
0 0 −1 −1

Par application de l’algorithme de la remontée triangulaire, on obtient :

x3 = 1 x2 = 2 x1 = 3

Elimination de Gauss 24 / 40
Introduction Formulation du problème Elimination de Gauss Décomposition LU

Vérifier que :
   
2 1 2 2 1 2
 0 1 −6  = T3 T2 T1  6 4 0 
0 0 −1 8 5 1

et que :

   
2 1 2 2 1 2
 6 4 0  = T −1 T −1 T −1  0 1 −6 
1 2 3
8 5 1 0 0 −1
  
1 0 0 2 1 2
=  3 1 0   0 1 −6  = LU
4 1 1 0 0 −1

Elimination de Gauss 25 / 40

Introduction Formulation du problème Elimination de Gauss Décomposition LU

Dans le cas où aucune permutation de ligne n’est effectuée, la méthode


d’élimination de Gauss revient à décomposer la matrice A en un produit d’une
matrice triangulaire inférieure L, et d’une matrice triangulaire supérieure U.
Ce que l’on appelle une décomposition LU

Le déterminant de la matrice de départ est le même que celui de la matrice


triangulaire supérieure obtenue. En effet :

U = T3 T2 T1 A
soit :
A = (T1−1 T2−1 T3−1 )U
donc

det A = (det T1−1 ) × (det T2−1 ) × (det T3−1 ) × det U


= 1 × 1 × 1 × [2 × 1 × (−1)] = −2

Elimination de Gauss 26 / 40
Introduction Formulation du problème Elimination de Gauss Décomposition LU

Exemple 2.4 : Elimination de Gauss avec permutation


On applique la méthode de Gauss sur la matrice augmentée
 
1 1 2 1 2
 2 2 5 3 4 
A=  1 3 3 3 −2 

1 1 4 5 −2

A faire comme exercice ...

Elimination de Gauss 27 / 40

Introduction Formulation du problème Elimination de Gauss Décomposition LU

Solution :

Suppression des termes non nuls sous la diagonale :


2
T1 : L2 − L1 −→ L2
1
1
T2 : L3 − L1 −→ L3
1
1
T3 : L4 − L1 −→ L4
1
Impossible par la suite d’éliminer les termes sous le nouveau pivot, faut donc
songer à une permutation de lignes. Une seule possibilité :
P4 : L2 ←→ L3
Dernière opération :
2
T5 : L4 − L3 −→ L4
1
Elimination de Gauss 28 / 40
Introduction Formulation du problème Elimination de Gauss Décomposition LU

Après ces 5 opérations, on obtient le système triangulaire :


 
1 1 2 1 2
 0 2 1 2 −4 
A=  0 0 1 1

0 
0 0 0 2 −4

La remontée triangulaire donne la solution :

x4 = −2 x3 = 2 x2 = −1 x1 = 1

Encore ici, la matrice triangulaire est le résultat du produit des opérations élé-
mentaires par la matrice de départ A :

U = T5 P4 T3 T2 T1 A

ou encore :

Elimination de Gauss 29 / 40

Introduction Formulation du problème Elimination de Gauss Décomposition LU

A = T1−1 T2−1 T3−1 P−1


4 T5 U
−1

ou encore :
    
1 1 2 1 1 0 0 0 1 1 2 1
 2 2 5 3   2 0 1 0  0 2
  1 2 
 = 
 1 3 3 3   1 1 0 0  0 0 1 1 
1 1 4 5 1 0 2 1 0 0 0 2
On remarque que la première matrice du terme de droite n’est pas triangulaire
inférieure. Cela est dû au fait que l’on a permuté deux lignes. En remultipliant
par P4 des deux côtés la dernière relation, on revient à :
P4 A = LU
L étant triangulaire inférieure.

det A = det T1−1 × det T2−1 × det T3−1 × det P−1


4 × det T5 × det U = −4
−1

Elimination de Gauss 30 / 40
Introduction Formulation du problème Elimination de Gauss Décomposition LU

Décomposition LU

Supposons un instant que nous ayons réussi à exprimer la matrice A en un


produit de deux matrices triangulaires L et U. Comment cela nous permet-il à
résoudre le système Ax = b ?
Il suffit de remarquer que :

Ax = LUx = b

et poser
Ux = y
.
La résolution du système linéaire se fait alors en deux étapes :
1 résoudre Ly = b par une descente triangulaire pour obtenir y
2 résoudre Ux = y par une remontée triangulaire pour obtenir x
Décomposition LU 31 / 40

Introduction Formulation du problème Elimination de Gauss Décomposition LU

Il faut souligner que la décomposition LU n’est pas unique. Pour illustrer cette
non unicité, il suffit de vérifier les égalités :
    
2 −1 −1 2 0 0 1 −0.5 −0.5
 0 −4 2  =  0 −4 0   0 1 −0.5 
6 −3 1 6 0 4 0 0 1
et
    
2 −1 −1 1 0 0 2 −1 −1
 0 −4 2  =  0 1 0   0 −4 2 
6 −3 1 3 0 1 0 0 4

Décomposition LU 32 / 40
Introduction Formulation du problème Elimination de Gauss Décomposition LU

Pour assurer l’unicité de la décomposition, on va imposer une condition sup-


plémentaire à notre décomposition :
Décomposition de Crout
Algorithme composé de trois parties
1 factorisation LU avec Uii = 1 ∀i
2 Résolution de Ly = b par descente triangulaire
3 Résolution de Ux = y par remontée triangulaire

Décomposition LU 33 / 40

Introduction Formulation du problème Elimination de Gauss Décomposition LU

Comment faire la factorisation


On identifie termes à termes les composantes de L et U. Une particularité de
l’approche est que l’on résout alternativement pour une colonne de L (on
commence par la colonne 1) puis pour une ligne de U :
1ere colonne de L :
Li1 pour i = 1, 2, ...n
1ere ligne de U :
U1i pour i = 1, 2, ...n
..
.
soit :
Li1 , U1i , ..., Lin−1 , Un−1i , Lin

Décomposition LU 34 / 40
Introduction Formulation du problème Elimination de Gauss Décomposition LU

Algorithme de décomposition de Crout (sans permutation de lignes)


a1i
li1 = ai1 i = 1, ..., n, u1i = l11 i = 2, ..., n
Pour i = 2, ..., n − 1 :
i−1
P
- Calcul du pivot : lii = aii − lik uki
k=1
- Pour j = i + 1, ..., n
i−1
P
Calcul de la ieme colonne de L : lji = aji − ljk uki
k=1
P
i−1
aij − lik ukj
Calcul de la ieme ligne de U : uij = k=1
lii
n−1
P
Calcul de lnn : lnn = ann − lnk ukn
k=1
P
i−1
bi − lik yk
y1 = b1
l11 yi = k=1
lii i = 2, ..., n (descente sur ly = b)
n
P
xn = yn xi = yi − uik xk i = n − 1, ..., 1 (remontée sur ux = y)
k=i+1

Décomposition LU 35 / 40

Introduction Formulation du problème Elimination de Gauss Décomposition LU

Remarque
L’algorithme ne fonctionne que si Lii 6= 0 ∀i.
Si on a pas fait de permutations alors det A = det L det U mais
det U = 1 et

det A 6= 0 ⇔ det L 6= 0 ⇔ Lii 6= 0 ∀i

Si on a fait des permutations, det A = det P × det L × det U. Puisque


det P 6= 0 alors

det A 6= 0 ⇔ det L 6= 0 ⇔ Lii 6= 0 ∀i

Donc si A est inversible, l’algorithme fonctionne correctement.

Décomposition LU 36 / 40
Introduction Formulation du problème Elimination de Gauss Décomposition LU

Remarque
D’un point de vue pratique une fois la factorisation LU faite on a plus de
raison de conserver la matrice A. En fait notre procédure de factorisation est
faite pour que l’on puisse ”écraser“ A au fur et à mesure de la factorisation.
Ce qui permet de minimiser l’espace de stockage.

notation compacte de LU
La notation compacte de LU consiste a remplacer la matrice A par la matrice

Les coefficients de la diagonale de U ne sont pas gardés puisqu’ils sont tous


égaux à 1 mais on ne les néglige pas pour autant.

Décomposition LU 37 / 40

Introduction Formulation du problème Elimination de Gauss Décomposition LU

Exemple 2.5
Trouver la décomposition LU avec notation compacte pour :
   
3 −1 2 12
A= 1 2 3  b =  11 
2 −2 −1 2

Solution : La matrice compacte est :


 
3 − 13 2
3
 1 7
3 1 
2 − 43 −1

x = (3, 1, 2)

Décomposition LU 38 / 40
Introduction Formulation du problème Elimination de Gauss Décomposition LU

Décomposition de Crout avec permutations


Comme nous l’avons déjà remarqué, l’algorithme de décomposition LU exige
que les pivots Lii soient non nuls. Dans le cas contraire, il faut essayer de
permuter deux lignes.
Contrairement à la méthode de l’élimination de Gauss, les permutations de
lignes ne sont pas répercutées sur b (membre de droite de l’équation Ax = b).
De ce fait, si on permute des lignes, on doit en garder la trace de façon à
effectuer les mêmes permutations sur b.

Décomposition LU 39 / 40

Introduction Formulation du problème Elimination de Gauss Décomposition LU

Exemple 2.5
Résoudre, en utilisant, la décomposition LU le système suivant :
    
0 2 1 x1 5
 1 0 0   x2  =  −1 
3 0 1 x3 −2

Solution : x = (−1, 2, 1)

det(A) = ? ?

Décomposition LU 40 / 40

Vous aimerez peut-être aussi