Vous êtes sur la page 1sur 25

Parcours Energétique - Système d’équations algébriques M.

Hasnaoui

Systèmes d'équations algébriques

I- Introduction
On présentera, dans ce chapitre, quelques méthodes largement utilisées pour la
résolution des systèmes linéaires et non linéaires. De tels systèmes sont souvent
rencontrés en ingénierie et dans divers autres domaines.

II- Systèmes d'équations linéaires


La résolution d'un système linéaire consiste, en général, à trouver un vecteur

x  [x1 , x 2 ,..., x n ]t solution de :

a11x1  a12 x 2  ....  a1n x n  b1


a x  a x  ....  a x  b
 21 1 22 2 2n n 2
. .
 (1)
. .
. .

a n1x1  a n 2 x 2  ....  a nn x n  b n


En désignant par b  [b1 , b 2 ,..., b n ]t et en utilisant la notation matricielle on aura la
relation:
 
Ax  b (2)

avec A désignant la matrice suivante:

 a11 a12 . . . a1n 


a a 2n 
 21 a 22 . . .
 . .  
A  La matrice A et le vecteur b sont connus.
 . . 
 . . 
 
 a n1 a n 2 . . . a nn 

Remarque
Les matrices sont en général non singulières (inversibles), et la solution de l'équation
 
(2) peut être obtenue comme étant x  A 1b . Seulement, le recours au processus
direct d'inversion de la matrice reste une option moins utilisée par comparaison à
d'autres alternatives qui offrent de meilleurs avantages.

Au lieu de penser à une inversion directe d'une matrice, on pourra envisager la


technique de substitution, très pratique pour des systèmes de petite taille et qui peut
être théoriquement étendue à des systèmes de grandes tailles. Cependant, il se trouve
qu'il est difficile de transcrire la substitution sous forme d'algorithme qu'on pourra
programmer dans un langage informatique quelconque. D'où la nécessité de chercher

32
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

d'autres voies pour résoudre un système d'équations linéaires. Mais au préalable, on


va s'interroger sur les types de systèmes linéaires faciles à résoudre.

 Les systèmes diagonaux

a11 0 . . 0   x1   b1 
 0 . 0 .   .   . 
    
 . 0 . 0 .   .  = . 
     
 . 0 . 0   .   . 
 0 . . 0 a nn   x n  b 
    n
bi
Pour ce système, la solution est immédiate: x i  pour i = 1, …, n et elle est unique
a ii
si tous les termes diagonaux sont non nuls. Les systèmes diagonaux sont cependant
rarement rencontrés en pratique.

 Les systèmes triangulaires (inférieur ou supérieur)


Définition
Une matrice est dite triangulaire inférieure / (supérieure) si tous les aij / (aji) sont nuls
pour i < j. Une matrice triangulaire inférieure a la forme suivante:

 a11 0 . .0 
a . 
 21 a 22 0 .
 . . . 0 .  (Tous les termes au dessus de la diagonale sont nuls).
 
 . . . . 0 
a n1 a n 2 . . a nn 

Les systèmes triangulaires sont également faciles à manipuler. Il suffit de commencer
par l'équation se trouvant à la pointe du triangle i.e.; la première / (dernière) pour la
matrice triangulaire inférieure / (supérieure).

Exemple
1 0 0 0  x1  1 
2 2 0 0   x  0 
  2 = 
 1 1 3 0  x 3  4
     
1 1 2  2  x 4  6 
 1
 x 1  1
a11

 b 2  a 21x1 0  2 x1
x 2    1
 a 22 2

x  b 3  a 31x1  a 32 x 2  4  (1)  1  1  (1)  2
 3 a 33 3

x  b 4  a 41x1  a 42 x 2  a 43 x 3  6  1  1  1  (1)  (2)  (2)  1
 4 a 44 2

En général, la descente triangulaire peut être déduite de cet exemple si le rang de la


matrice est plus important.

33
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

En fait:
b1
x1 
a11
i 1
(b i   a ik x k )
xi  k 1 pour i = 2, 3, …, n (3)
a ii
Pour la remontée triangulaire on a:
bn
xn 
a nn
n
(b i   a ik x k )
xi  k  i 1 pour i = (n – 1), (n – 2), …, 2, 1 (4)
a ii

Pour les équations (3) et (4), tous les aii doivent être non nuls. Dans le cas contraire, la
 
matrice A ne serait pas inversible et le système Ax  b n'aurait pas une solution
unique. En fait, le déterminant d'une matrice triangulaire (inférieure ou supérieure)
est:
n
dét (A)   a ii
i 1
Un terme nul de la diagonale annulerait donc le déterminant de la matrice.

Il est à préciser que, pour la résolution d'un système linéaire, deux types de méthodes
sont possibles: la méthode directe et celle itérative.

Définition
Une méthode de résolution d'un système linéaire est dite directe si la solution du
système peut être obtenue par cette méthode en un nombre fini et prédéterminé
d'opérations.
Les méthodes directes permettent donc d'obtenir le résultat après un nombre connu
d'opérations. Le temps de calcul peut être estimé à l'avance. Pour les méthodes
itératives, le nombre d'opérations et le temps de calcul ne peuvent être prédits à
l'avance.
Les deux méthodes directes les plus utilisées sont la méthode de décomposition LU et
la méthode d'élimination de Gauss (triangularisation d'une matrice) qui est en fait un
cas particulier de la décomposition LU.

III- Opérations élémentaires sur les lignes d'une matrice


Considérons le système:
 
Ax  b
Question: Comment transformer ce système sans modifier la solution ?
Réponse: Multiplier les termes de cette matrice par une matrice B inversible:
 
BAx  Bb (5)
Le système (5) possède la même solution que le système de départ (2).

34
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

Remarque
Si la matrice B n'est pas inversible, on ne peut plus retrouver le système (2) à partir de
(5).

Exemple
La solution du système
1 0 0 0  x1   1 
 3 2 0 0 x   7 
   2=  
est x  [1 2  1  2]t
 2 1 1 0   x 3    1
     
  1 1 1  1 x 4   2 

Si on multiplie ce système par la matrice inversible

1 0 0 0
1 2 0 0
B on obtient le nouveau système:
 1 1 3 0
 
2 1 1 4
1 0 0 0   x1   1 
7
 4 0 0   x 2  15 
= dont la solution est x  [1 2  1  2]t .
 4 5 3 0  x 3   3 
    
 1 7 5  4  x 4  16 

Maintenant, si on multiplie le système de départ par la matrice non inversible


 1 0 0 0
 1 2 0 0
B 
 1 1 3 0
 
 2 1 1 0

On obtient le système singulier:


 1 0 0 0  x 1   1 
 7 4 0 0  x  15
   2= 
 4 5 3 0  x 3   3 
    
  1 7 5 0  x 4   8 

qui possède une infinité de solutions x  [1 2  1 x 4 ]t (x4 quelconque).

On a pu constater que les matrices triangulaires présentent un certain nombre


d'avantages qui incitent à transformer un système quelconque en un système
triangulaire. Pour cela, 3 opérations élémentaires sur les lignes de la matrice sont
nécessaires. Ces trois opérations correspondent en fait à 3 différents types de matrices
inversibles.

Désignons par  i la ligne i de la matrice A. Les 3 opérations nécessaires sont les


suivantes:

35
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

1- Remplacer la ligne i par un multiple d'elle-même ( i   i ) .


2- Intervertir la ligne i et la ligne j ( i   j ).
3- Remplacer la ligne i par la ligne i plus un multiple de la ligne j ( i   i   j ) .
Ces trois opérations sont équivalentes à multiplier le système (2) par une matrice
inversible (  0).

1- Multiplication d'une ligne par un scalaire


Remplacer la ligne i par un multiple d'elle-même ( i   i ) revient à multiplier le
système linéaire (2) par la matrice diagonale M ( i   i ) dont tous les éléments de la
diagonale sont égaux à 1 sauf aii qui vaut . Tous les termes restants de la matrice sont
nuls.

Remarque
 Le déterminant de la matrice M ( i   i ) est égal à . Cette matrice est inversible si 
 0.
 La matrice inverse de M ( i   i ) est M ( i   i / ) . Il suffit donc de remplacer 
1
par pour inverser la matrice M.

Exemple
Considérons le système

1 2 2 3  x1    7 
 1 1 3  1   x   2 
  2  =   dont la solution est x  [1 0  1  2]t .
2 3  1  1 x 3   5 
     
1 1 2  2 x 4   3 

Multiplier la ligne  2 par 3, revient à multiplier le système précédent par la matrice

1 0 0 0
0 3 0 0
M ( 2  3 2 ) = 
0 0 1 0
 
0 0 0 1
On obtient:

1 2 2 3   x1    7 
 3
 3 9  3  x 2    6 
=
2 3  1  1  x 3   5 
     
1 1 2  2  x 4   3 

dont la solution est la même que celle du système initial puisque la matrice M est
inversible.

36
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

2- Permutation de deux lignes


La permutation des lignes i et j ( i   j ) est une opération équivalente à multiplier
le système (2) par la matrice P(  ) qui contient des 1 sur la diagonale sauf à la
i j
ligne i où le 1 est dans la colonne j et à la ligne j où le 1 est dans la colonne i.

Exemple
Pour intervertir les lignes 2 et 3 de l'exemple précédent, il suffit de multiplier le
système par la matrice:

1 0 0 0 1 2 2 3  x 1   7 
0 0 1 0 2 3  1  1 x   5 
P( 2   3 )   On obtient:   2= 
0 1 0 0  1 1 3  1  x 3   2
       
0 0 0 1 1 1 2  2 x 4   3 

Remarque
La matrice P( 2  3 ) est inversible, elle est son propre inverse, i.e.

P 1( 2   3 ) = P( 2  3 ) .
 Le déterminant de la matrice P( 2  3 ) = -1. Ainsi, lorsque l'on permute deux lignes,
le déterminant du système de départ change de signe.

3- Remplacement de la ligne i par la ligne i plus un multiple de la ligne j


L'opération qui consiste à remplacer la ligne i par la ligne i plus un multiple de la
ligne j est équivalente à multiplier le système de départ par une matrice inversible
T( i   i   j ) qui contient des 1 sur la diagonale et 0 partout ailleurs, sauf aij qui vaut
.

Exemple
Dans le système considéré en exemple, on désire remplacer la ligne  2 par la ligne
 2  5 4 .
1 0 0 0 1 2 2 3  x1    7 
0 1 0  5  6  4  7 9   x   17 
T( 2   2  5 4 )   ce qui donne    2= 
0 0 1 0 2 3  1  1 x 3   5 
       
0 0 0 1 1 1 2  2 x 4   3 

Remarques
 La matrice T( i   i   j ) est inversible et son inverse est T 1( i   i   j ) =
T( i   i   j ) .
 Le déterminant de T( i   i   j ) = 1.
 Seule l'opération ( i   i   j ) n'a pas d'effet sur le déterminant. La permutation
de deux lignes en change le signe, tandis que la multiplication d'une ligne par un
scalaire multiplie le déterminant par ce même scalaire.

37
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

IV- Elimination de Gauss


Pour la résolution d'un système linéaire, on peut utiliser des opérations élémentaires
pour introduire des zéros sous la diagonale de la matrice A et aboutir ainsi à un
système triangulaire supérieur.

Définition
Une matrice augmentée du système linéaire (1) est la matrice de dimension n  (n  1)

obtenue en ajoutant le second membre b :
 a11    a1n  b1 
a    a 2n  b 2 
 21
     
 
      (6)
     
 
     
a     b n 
 n1 a nn

Il est à noter que l'utilité de cette notation réside dans le fait que les opérations
élémentaires sont effectuées à la fois sur les lignes de la matrice A et sur celles du

vecteur b .

Remarque
  
Si l'on a à résoudre des systèmes de la forme Ax  b avec k seconds membres b
différents et A fixé, on pourra alors construire la matrice augmentée contenant les k
seconds membres désirés. Dans ce cas, la matrice augmentée serait de dimension
n  (n  k ) .

Exemple
Considérons le système déjà vu:

1 2   7
2 3
 1 1 3  1   2
 (a11 = 1 est le pivot)
2 3 1 1  5 
 
1 1 2 2  3 

On effectue des opérations élémentaires pour annuler tous les éléments (3 éléments)
sous le pivot  trois opérations élémentaires:

T1(    ) , T2 (   2 ) et T3(    )
2 2 1 3 3 1 4 4 1
1 2 2 3   7
0 3 5 2   9
 (a22 = 3 est le nouveau pivot)
0  1  5  7  19 
 
0  1 0  5  10 

Puis on effectue d'autres opérations élémentaires pour annuler les termes sous le
nouveau pivot:

38
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

T4 (     2 ) et T5 (     2 )
3 3 4 4
3 3
1 2 2 3   7
0 3 5 2   9 
 10 19 10
0 0    16  (a33 = - est le nouveau pivot)
 3 3  3
 5 13 
0 0   7 
3 3 
On effectue une dernière opération pour annuler le terme sous le nouveau pivot:
T6 (     3 ) . On obtient:
4 4
2
1 2 2 3   7
0 3 5 2   9 
 10 19
0 0    16 
 3 3 
 15 
0 0 0   15 
2 

Pour obtenir la solution, il suffit d'appliquer l'algorithme (4) de la remontée


triangulaire. On obtient:

x 4  2
 10
 x 3  16  19 x 4  x 3  1
 3 3
3x 2  9  5x 3  2x 4  x 2  0

x1  7  2x 2  2x 3  3x 4  x1  1

On a ainsi construit un système triangulaire en effectuant des opérations élémentaires


sur les lignes de la matrice. La matrice triangulaire obtenue est notée U tel que
U  T6 T5T4 T3T2 T1A
On a également A  T11T21T31T41T51T61U

1 0 0 0 1 0 0 0 1 0 0 0
 1 1 0 0 0 1 0 0 0 1 0 0
T 1   ; T21   ; T31   ;
1 0 0 1 0 2 0 1 0 0 0 1 0
     
0 0 0 1 0 0 0 1 1 0 0 1
1 0 0 0 1 0 0 0 1 0 0 0
0  0
0  1 0 0 1 0 0
; T5  0 
 1 0 0  
T 
1
1 1 1
0 1 0 ; T6  0 0 1 0
4 0  1 0
 3   1   1 
0  0 1 0 0  1
0 0 0 1  3   2 
Ainsi:
1 0 0 0
 1 1 0 0

T11T21T31T41T51T61   2 
1
1 0
 3 
 1 1 
 1  3  2 1

39
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

et
A  T11T21T31T41T51T61U =

1 0 0 0 1 2 2 3  1 2 2 3
 1 1 0 0 2  
 1
0 3 5
 1 1 3
2 1   =
10 19
1 0   0 0 
 3   3 3 2 3  1  1
 1 1   15   
1 3  1  0 0 0  
2 
1 1 2  2
 2  

La matrice A est ainsi décomposée en un produit d'une matrice triangulaire inférieure,


notée L, et d'une matrice triangulaire supérieure U. Cette décomposition est appelée
LU.

Remarque
Le déterminant de la matrice de départ A est le même que celui de la matrice
triangulaire U puisque les opérations effectuées sont de la forme ( i   i   j ) ce
qui revient à multiplier le système de départ par une matrice dont le déterminant est
égal à 1.
 10   15 
Ainsi dét (A) = dét (U) = 1  3         = 75
 3  2
Autre exemple
Considérons le système linéaire suivant:

 2 2 2 1  9
 1 1 3 1  8  
 (a11 = 2 est le pivot) et la solution est x  [1 2 4 3] t
 2 2 1 2  12
 
3 1 1 2  7

On élimine les chiffres au dessous du premier pivot (a11 = 2). Les opérations
nécessaires sont:
T1(     1 ) , T2 (     ) et T3(    3  )
2 2 3 3 1 4 4 1
2 2
2  2 2 1  9 
 3 7 
0 0 2  
2 2  On intervertit les lignes 2 et 4 pour éviter un pivot nul.
0 0 3 3  21 
 1 13 
0 4  4   
 2 2

2  2 2 1  9 
 1 13 
0 4  4 2   
P4 (   )  0 0 3 3 2 Comme il n'y a que des zéros sous le pivot
 21 
2 4
 3 7 
0 0 2   
 2 2 
a22 = 4, on passe à la colonne suivante pour considérer le nouveau pivot a33 = 3
T5 (    2  )
4 4 3
3

40
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

On obtient le système triangulaire suivant:


2  2 2 1  9 
 1 13 
0 4  4 2    
En utilisant les relations de la remontée,
2
0 0  21   

3 3
7 21  
on obtient : x  [1 2 4 3]
t
0 0 0    
 2 2

La matrice triangulaire U ainsi obtenue est le résultat du produit des opérations


suivantes:

U  T5 P4 T3T2 T1A ou encore A  T11T21T31P41T51U

C'est-à-dire:
0 0  2  2 2
 2 2 2 1   1
1 0 1 
 1  1 3  1  2   1 
0 1  0 4  4
 = 2 3  2 
  3 
 2 2 1 2   1 0 1 0
 
0 0 3
  3 7
3 1 1 2   1 0 0 0 0 0  
2   2

Donc A  C  U . La matrice C n'est pas diagonale en raison de la permutation de


deux lignes.
dét (A)  dét (C)  dét (U)  (1)  (84)  84 : C'est le déterminant de la matrice
triangulaire à un signe près en raison d'une seule permutation de deux lignes.

V- Décomposition LU
1- Principe de la méthode
Admettons qu'on a déjà réussi à décomposer la matrice A en un produit de deux
  
matrices triangulaires i.e. A  L  U . Dans ce cas, pour résoudre Ax  LUx  b , on
 
pose Ux  y et la résolution du système linéaire se fait en deux étapes:

  
Ly  b  y
  
Ux  y  x

On obtient ainsi deux systèmes triangulaires. Une descente triangulaire sur la matrice
L permet de calculer y . On procède ensuite à une remontée triangulaire sur la matrice

U pour obtenir la solution recherchée x .

Remarque
 La décomposition LU n'est pas unique puisqu'un nombre réel peut s'écrire comme
étant le produit de deux autres nombres d'une infinité de façons. Il en est de même
pour les matrices.
 Comme la décomposition LU n'est pas unique, on peut faire au préalable des choix
arbitraires. Un choix très populaire consiste à imposer des 1 sur la diagonale de la
matrice U: c'est la décomposition de Crout.

41
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

2- Décomposition de Crout
On va limiter le raisonnement à une matrice de dimension 44. Ce raisonnement reste
valable pour des matrices de plus grandes tailles.
Dans la décomposition de Crout, il s'agit de déterminer les coefficients  ij (éléments
de la matrice triangulaire inférieure) et uij (éléments de la matrice triangulaire
supérieure) des matrices L et U de sorte que A = UL. On doit avoir:

 a 11 a 12 a 13 a 14    11 0 0 0  1 u 12 u 13 u 14 
a a 22 a 23 a 23   21  22 0 0  0 1 u 23 u 24 
 21 =  
a 31 a 32 a 33 a 34   31  32  33 0  0 0 1 u 34 
     
a 41 a 42 a 43 a 44   41  42  43  44  0 0 0 1 

Donc au total il y a 42 = 16 inconnus (n2 dans le cas d'une matrice de rang n). Les 16
équations nécessaires pour déterminer les coefficients  ij et uij sont obtenues en
faisant le produit des matrices L et U et en utilisant les coefficients aij (connus) de la
matrice A. Les différentes opérations se déroulent comme suit:

2.1 Décomposition de Crout sans permutation de lignes


La permutation de lignes s'impose si, au cours des opérations, on tombe sur un pivot
nul.

 Produit des lignes de L par la 1ère colonne de U


Ces différentes opérations conduisent à:
11  a11 ;  21  a 21 ;  31  a 31 et  41  a 41
On obtient ainsi tous les éléments de la première colonne de L.

 Produit de la 1ère ligne de L par les colonnes de U


Ces opérations conduisent au résultat:
a a a
u12  12 ; u13  13 et u14  14
11 11 11
Après ces opérations, la 1 ligne de U est connue si 11  a11  0 .
ère

 Produit des lignes de L par la 2ème colonne de U


Il en résulte les égalités suivantes:
 22  a 22   21u 12 ;  32  a 32   31 u 12 et  42  a 42   41u 12
Tous les éléments de la deuxième colonne de L sont maintenant connus.

 Produit de la 2ème ligne de L par les colonnes de U


On obtient:
a  u a  u
u 23  23 21 13 et u 24  24 21 14
 22  22
La deuxième ligne de U est connue si  22  a 22  0

 Produit des lignes de L par la 3ème colonne de U


 33  a 33   31 u 13   32 u 23 et  43  a 43   41 u 13   42 u 23

42
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

Tous les éléments de troisième colonne de L sont connus

 Produit de la 3ème ligne de L par la quatrième colonne de U


On obtient:
a  u   32 u 24
u 34  34 31 14
 33
On obtient la 3 ligne de U si  33  a 33  0 .
ème

 Produit de la 4ème ligne de L par la 4ème colonne de U


On obtient:
 44  a 44   41u14   42u 24   43u34
On obtient la quatrième colonne de L.

-Algorithme général
Décomposition LU sans permutation de lignes
 Première colonne de L
 i1  a i1 pour i = 1, 2, …, n (7)

 Première ligne de U
a
u 1i  1i pour i = 2, 3, …, n (8)
 11

 Pour i = 2, 3,…, (n-1)


- Calcul des pivots
i 1
 ii  a ii    ik u ki (9)
k 1

- Pour j = i, (i + 1), (i + 2), …, n:


 Calcul de la ième colonne de L:
i 1
 ji  a ji    jk u ki (10)
k 1

- Pour j = (i + 1), (i + 2), …, n:


 Calcul de la ième ligne de U
i 1
a ij    ik u kj
k 1
u ij (11)
 ii

 Calcul de  nn
n 1
 nn  a nn    nk u kn (12)
k 1

43
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

Descente et remontée triangulaires


Une fois que la matrice A est écrite sous la forme A = LU, une descente triangulaire

permet d'avoir y (solution intermédiaire) et une remontée triangulaire permet d'avoir

x (la solution recherchée)
 
 Descente triangulaire pour résoudre Ly  b
b
y1  1
11
- Pour i = 2, 3, …, n
i 1
bi    ik y k
k 1
yi  (13)
 ii
 
 Remontée triangulaire pour résoudre Ux  y ( u ii  1 )
x n  yn
- Pour i = (n-1), (n-2), …, 2, 1
n
x i  yi   u ik x k (14)
k i 1

Remarque
L'algorithme précédent n'est valable que si les pivots  ii sont tous non nuls.

Définition
Dans le cas d'une matrice 44, la notation compacte de la décomposition LU est la
matrice de coefficients:

  11 u 12 u 13 u 14 
  22 u 23 u 24 
 21
 31  32  33 u 34 
 
 41  42  43  44 

La matrice A est détruite et les coefficients 1 sur la diagonale de la matrice U


n'apparaissent pas de manière explicite mais ils doivent être pris en compte. Plus
précisément, la notation compacte consiste à mettre en mémoire la matrice L+U-I et à
détruire la matrice A.

Exemple
Considérons l'exemple déjà traité avant:

1 2 2 3  x1    7 
 1 1 3  1   x   2 
  2  =   dont la solution est x  [1 0  1  2]t .
2 3  1  1 x 3   5 
     
1 1 2  2 x 4   3 

44
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

 Première colonne de L
1 2 2 3
 1 1 3  1 
  La première colonne de L est la première colonne de A.
 2 3  1  1
 
 1 1 2  2

 Première ligne de U
Le pivot de la première ligne est 1  on divise la première ligne de A par 1:
1 2 2 3
 1 1 3  1 
  (Cette matrice contient la première colonne de L et la première ligne de U).
 2 3  1  1
 
 1 1 2  2

 Deuxième colonne de L
De la relation (10) on déduit:
 22  a 22   21u 12 = 1-(-1)2 = 3
 32  a 32   31 u 12 = 3 -22 = -1
 42  a 42   41 u 12 = 1 -22 = -1

1 2 2 3
 1 3 3  1 
 
 2  1  1  1
 
 1  1 2  2

 Deuxième ligne de U
De la relation (11) on obtient:
a  u 3  (1)  2 5
u 23  23 21 13 = 
 22 3 3
a  u  1  (1)  3 2
u 24  24 21 14 = 
 22 3 3
1 2 2 3
 5 2
 1 3 
 3 3
 2  1  1  1
 
 1  1 2  2

 Troisième colonne de L
On utilise la relation (10):
5 10
 33  a 33   31 u 13   32 u 23 =  1  2  2  (1)  
3 3

45
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

5 5
 43  a 43   41 u 13   42 u 23 = 2  1  2  (1)  
3 3

1 2 2 3 
 5 2 
 1 3 
 3 3 
 10 
 2 1   1
 3 
 1 1 5
 2
 3 

 Calcul de la troisième ligne de U


a  u   32 u 24 19
La relation (11)  u 34  34 31 14 =
 33 10
1 2 2 3
 5 2
 1 3 
 3 3
 10 19 
 2 1  
 3 10 
 5 
 1 1  2
 3 

 Calcul de  44
De la relation (12) on obtient:
2 5 19 15
 44  a 44   41u14   42u 24   43u34 =  2  1  3  (1)    
3 3 10 2
1 2 2 3 
 5 2 
 1 3 
 3 3 
 10 19  : C'est la matrice compacte finale.
 2 1  
 3 10 
 5 15 
 1 1  
 3 2

La matrice A, détruite, doit vérifier nécessairement l'égalité:


1 0 0 0  1 2 2 3 
 1 3 0 0  0 1 5 2 
 
A   2 1 
10 3 3
0  
 3  0 0 1 19 
 15 
  0 0 0 1 
5 10
 1  1 3 2  

 
 Résolution de Ly  b
On utilise l'algorithme de la descente triangulaire, on obtient:

46
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

24
y1  7 ; y 2  3 ; y 3   et y 4  2
5
 
 Résolution de Ux  y
On utilise l'algorithme de la remontée triangulaire pour déterminer les xi. On obtient:
x 4  2 ; x 3  1 ; x 2  0 et x1  1 .

2.2 Décomposition de Crout avec permutation de lignes


En général, on procède à la permutation des lignes dans le cas où un ou plusieurs

pivots  ii sont nuls. Il est à noter que dans la décomposition LU, le vecteur b n'est
 
utilisé qu'au moment de la descente triangulaire Ly  b . Ainsi, lorsqu'on permute des

lignes, on doit effectuer les mêmes permutations sur b . Toutes ces permutations

doivent être mémorisées en introduisant un vecteur de permutation S dont les
composantes sont les numéros des équations (des entiers) dans l'ordre de figuration
dans le système.

Remarque
Dans une décomposition LU, la permutation des lignes s'effectue toujours après le
calcul d'une colonne de L.

Exemple
0 1 2 3  x 1    3  1 
1 1     
 1 2  x 2    6    2
 
= dont la solution est x  [1  1 2  2] et S   
t
2 1 0 2  x 3    3   3
      
2 4  2 2  x 4   10  4

 Première colonne de L
C'est la première colonne de A. On a:
0 1 2 3 1 
1 1  1 2    
  et S  2
 2 1 0 2  3
   
 2 4  2 2  4

Puisque le premier pivot est nul, on effectue l'opération  1   4 (le plus grand pivot
se trouve dans les lignes 3 et 4):

2 4  2 2  4
1 
1  1 2   2
 et S   
2 1 0 2  3
   
0 1 2 3 1 

 Première ligne de U
On divise la première ligne de A par le pivot 2:

47
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

2 2  1 1  4
1 
1  1 2   2
 et S   
2 1 0 2  3
   
0 1 2 3 1 

 Deuxième colonne de L
On utilise la relation (10) pour déduire:
 22  a 22   21u 12 = 1-(1)2 = -1
 32  a 32   31 u 12 = 1 -22 = -3
 42  a 42   41 u 12 = 1 -02 = 1
2 2  1 1   4
1  1  1 2    
  et S  2
 2  3 0 2  3
   
0 1 2 3 1 

 Deuxième ligne de U
De la relation (11) on obtient:
a  u  1  (1)  (1)
u 23  23 21 13 = 0
 22 1
a  u 2  (1)  1
u 24  24 21 14 =  1
 22 1

2 2  1 1   4
1  1 0  1   
  et S  2
2  3 0 2  3
   
0 1 2 3 1 

 Troisième colonne de L
On utilise la relation (10):
 33  a 33   31 u 13   32 u 23 = 0  2  (1)  (3)  0  2
 43  a 43   41 u 13   42 u 23 = 2  0  (1)  (1)  0  2

2 2  1 1   4
1  1 0  1   
  et S  2
2  3 2 2   3
   
0 1 2 3 1 

 Calcul de la troisième ligne de U


a  u   32 u 24 3
La relation (11)  u 34  34 31 14 = 
 33 2

48
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

2 2  1 1 
1  1 0  1   4
    2
2  3 2  3  et S   
  3
2  
  1 
 0 1 2 3 

 Calcul de  44
De la relation (12) on obtient:
3
 44  a 44   41u14   42u 24   43u34 = 3  0  1  (1)  (1)  2   7
2
La décomposition LU de A est:
2 2  1 1 
1  1 0  1   4
    2
2  3 2  3  et S   
  3
2  
  1 
 0 1 2 7 

Le produit LU donne:
2 0 0 0 1 2 1 1  2 4  2 2
1  1   1  1
 0 0 0 1 0 1  1 2
 3 =
2  3 2 0  0 0 1   2 1 0 2
   2  
0 1 2 7  0 0 0 1  0 1 2 3


On obtient donc la matrice A permutée suivant le vecteur S .
  
Pour résoudre Ax  b , compte tenu de S , on résout d'abord:

2 0 0 0  y1   10 y 1  5
1  1
 0 0  y 2    6    y2  1
= (on écrit b permuté selon S ) 
2  3 2 0  y 3    3  y3  5
    
0 1 2 7  y 4    3  y 4  2

Maintenant:
1 2  1 1   x 1    5  x1  1
0 1 0  1     
 x2 1 x 2  1
3   =   
0 0 1    x 3   5  x3  2
 2    
0 0 0 1   x 4    2 x 4  2

Remarque
dét(A) = (-1)[2(-1) 27] = 28

49
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

Théorème
On peut calculer le déterminant d'une matrice A à l'aide de la méthode de
décomposition LU de la façon suivante:
n
dét(A )  (-1) N   ii
i 1
où N est le nombre de fois où on a permuté des lignes.

VI- Système d'équations non linéaires


1- Buts
- Définir deux méthodes itératives permettant de résoudre un système d'équations non
linéaires.
- Elaborer un code numérique sur la base de ces deux méthodes.
- Comparer les performances de ces deux méthodes.

2- Formulation
On considère le système non linéaire suivant:

f1 ( x 1 , x 2 ,..., x n )  0
f ( x , x ,..., x )  0


2 1 2 n

 (1)


f n ( x 1 , x 2 ,..., x n )  0

où x1, x2, …, xn sont des inconnus réels.



Soit X 0  (x10 , x 02 ,..., x 0n ) t
 
Si X 0 est suffisamment voisin de la solution exacte X e  (x1e , x e2 ,..., x en ) t , on procède
à un développement en séries de Taylor de ces fonctions:

  n
f  1 n n  2fi  0
f i (X e )  f i (X 0 )   ( x ej  x 0j ) i (X 0 )   ( x ej  x 0j )(x ek  x 0k ) (X )
j1 x j 2 j1 k 1 x j x k
+… avec i = 1, 2, …, n (2)

En négligeant les termes d'ordre supérieur à 1, une nouvelle approximation de la


solution peut être définie par :

 n
f 
f i (X 0 )   ( x 1j  x 0j ) i (X 0 )  0 (3)
j1 x j
i = 1, 2, …, n

L'équation (3), valable pour chaque indice i, peut s'écrire sous la forme d'un système
linéaire:

50
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

f10 f 0
x 10  ...  1 x 0n  f10
x 1 x n
 (4)
f n0 f n0
x 10  ...  x 0n  f n0
x 1 x n

f i0 f i0  0 
avec  (X ) ; f i0  f i (X 0 ) et x i0  x1i  x i0
x j x j

Sous forme compacte, le système (4) peut s'écrire:


 0 0 
J   F 0 (5)

avec J 0 désignant le Jacobien, il est défini par:

 f10 f10 f10 


  
 0  x 1 x 2 x n 
J     (6)
 f n0 f n0 f n0 
  
 x 1 x 2 x n 

Les autres éléments de l'équation (5) sont:


 x 1  x 10 
0  1   
      X1  X 0 (7)
 x 1n  x 0n 
 
et

 f 0  f1 ( x 10 , x 02 ,, x 0n ) 
0  1 
F    (8)
f n0  f n ( x 10 , x 02 ,, x 0n )
 

3- Méthode de Newton
 
En faisant l'estimation de départ, J 0 et F 0 peuvent alors être déterminés à partir des

équations (6) et (8), respectivement. La résolution de (5) donne 0 et la nouvelle
  
estimation sera déduite de l'égalité X1  0  X 0 .
  
Si X 0 est suffisamment voisin de X e , X1 serait alors une meilleure approximation

que X 0 .
 
Le processus est ensuite itéré à partir de la nouvelle approximation X1 de X e . Le
processus itératif peut s'écrire sous la forme compacte suivante:
 k k 
J   F k (9)
Le prochain vecteur à partir duquel le processus itéré sera:
  
X k 1  X k  k (10)

51
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

   
Si les éléments de J sont continus au voisinage de X e avec dét ( J )  0 et si X 0 est
 
voisin de X e , la suite X k est convergente et on a:
 
lim X k  X e (11)
k

Remarque
Les risques de divergence du code numérique sont fréquents lorsqu'il s'agit de traiter
numériquement un système d'équations non linéaires. Aussi, est-il indispensable,
avant de lancer le programme, de prévoir l'arrêt du processus itératif après un nombre
d'itérations kmax fixé à l'avance.

4- Méthode de Picard
On reprend l'écriture du système (4):
f10 f10
x 10  ...  x 0n  f10
x 1 x n
 (12)
f n0 f n0
x10  ...  x 0n  f n0
x1 x n

Lorsque la matrice Jacobienne est diagonalement dominante, il est avantageux de la


rendre tridiagonale en basculant dans le membre de droite tous les termes qui ne font
pas partie de la tridiagonale avec leurs coefficients, on obtient:

f10 f10 n f10


x 1
x 10 
x 2
x 02  f10   xj x init
j  d1
j3

f 20 f 20 f 20 n f 20
x 1
x 10 
x 2
x 02 
x 3
x 30  f 20   xj x init
j  d2
j4

 (13)
n 3
f n01 f n01 f n01 f n01
x n 2
x 0n 2 
x n 1
x 0n 1 
x n
x 0n  f n01   xj
x init
j  d n 1
j1
n 2
f n0 f 0 f n0 init
x n 1
x 0n 1  n x 0n
x n
 f n0   xj j
x  dn
j1

où les di représentent les quantités qui figurent dans le membre de droite de (13).

La résolution de (13) donne X1 comme une nouvelle approximation de la solution à
partir de laquelle le processus est ensuite itéré:
  
X1  X 0  0

Une nouvelle résolution de (13) va permettre de déduire:


  
X 2  X1  1
et ainsi de suite…

52
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

5- Critères d'arrêt des itérations


Plusieurs critères peuvent être utilisés. En voici quelques uns:

- Critère d'erreur absolue


n k 1
 xi  x ik   a (14)
i 1
ou
max x k 1 x k
i i  a (15)
i 1,..., n

- Critère d'erreur relative


x ik 1  x ik
max  r (16)
i 1,..., n max x k 1
i
i 1,..., n
On pourra utiliser le critère d'arrêt de la relation (14):
x i  f i pour la méthode de Newton.
x i  d i pour la méthode de Picard.

Remarque

Il est à noter que, une fois satisfaits, ces critères ne signifient pas toujours que X k est

une bonne approximation de X e et ne fournissent aucune estimation quant à la
précision de la solution.

Travaux Pratiques (à rendre)


But
- Mettre en application le contenu du présent chapitre.
- Utiliser deux méthodes pour résoudre un système d'équations non linéaires.
- Comparer les performances de ces deux méthodes.

Formulation
On considère le système non linéaire défini par:
f1 (x1 , x 2 , x 3 )  x15  x 32 x 34  1  0
f 2 (x1 , x 2 , x 3 )  x12 x 2 x 3  0 (1)
f 3 (x1 , x 2 , x 3 )  x 34  1  0

- Le système non linéaire proposé admet une solution analytique (à déterminer) qui
sera prise comme référence.
- Elaborer un code numérique adéquat utilisant les méthodes de Newton et de Picard
pour résoudre le système (1).
- Comparer les performances de ces deux méthodes.

Voici, à titre indicatif, quelques informations utiles (en "FORTRAN") concernant la


structure du programme en espérant qu'elles aideraient à assimiler le contenu du
cours.

53
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

C Le nombre d'équations est N = 3


Parameter (N=3)
IMPLICIR REAL*8(A-H, O-Z)
DIMENSION D(N), AJ(N, N), F(N), AT(N), BT(N), CT(N), DTT(N)
% TC(N), DD(N)
DATA X, Y, Z, EPS /3., 1., 2., 1E-08/
C METHOD = 1 (on utilise Picard)
C METHOD  1 (on utilise Newton Raphson)
C Initialisations
DO 1 I = 1,N
1 D(I) = 0.
ITER = 0
DO 2 J = 1, N
F(1) = X 5  Y 3 * Z 4  1
F(2) = X 2 Y  Z
F(3) = Z 4  1
f f f
C AJ(I, 1) = i , AJ(I, 2) = i , AJ(I, 3) = i
x y y
4
AJ(1, 1) = 5*X
AJ(1, 2) = 3  Y 2  Z 4
AJ(1, 3) = 4  Y 3  Z3
AJ(2, 1) = 2*X*Y*Z


AJ(3, 2) = 0
AJ(3, 3) = 4  Z3
IF(METHOD.NE.1) GO TO 65
BT(1) = AJ(1, 1)
CT(1) = AJ(1, 2)
AT(2) = AJ(2, 1)
BT(2) = AJ(2, 2)
CT(2) = AJ(2, 3)
AT(3) = AJ(3, 2)
BT(3) = AJ(3, 3)
DO 66 I = 1, 3
66 DTT(I) = - F(I)
DTT(1) = DTT(1) – AJ(1, 3)*D(3)
DTT(3) = DTT(3) – AJ(3, 1)*D(1)
CALL TRIDAG (1, N, AT, BT, CT, DTT, TC)
DO 67 I = 1, 3
67 D(I) = TC(I)
GO TO 68
65 CONTINUE
CALL GAUSS (N, F, AJ, D, IND, EPS)
68 CONTINUE

54
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

DO 69 I = 1, N
69 DD(I) = D(I)
SUM = 0.
DO 70 I = 1, N
70 SUM = SUM + DABS(F(I))
IF(SUM.GT.EPS) GO TO 38
X = X + D(1)
Y = Y + D(2)
Z = Z + D(3)
GO TO 46
38 CONTINUE
X = X + D(1)
Y = Y + D(2)
Z = Z + D(3)
ITER = ITER + 1
2 CONTINUE


STOP
END
C Subroutine qui résout un système d’équations linéaires par la méthode
C de réduction de Jordan
SUBROUTINE GAUSS (N, QS, FF, RS, IND, EPS)
IMLPICIT REAL*8 (A-H, O-Z)
DIMENSION B(3, 4), QS(N), RS(N), FF(N, N)
NPL1 = N+1
DO 11 J = 1, N
DO 12 J = 1, NPL1
IF(J.LE.N) THEN
B(I, J) = FF(I, J)
ELSE
B(I, J) = -QS(I)
END IF
12 CONTINUE
11 CONTINUE
DO 9 K = 1, N
IF(DABS(B(K, K)).GT.EPS) THEN
IND = 1
GO TO 5
ELSE
IND = 0
GO TO 1111
END IF
5 KP1 = K + 1
DO 6 J = KP1, NPL1
B(K, J) = B(K, J)/B(K, K)
6 CONTINUE
B(K, K) = 1.
DO 9 I = 1, N

55
Parcours Energétique - Système d’équations algébriques M. Hasnaoui

IF(I.EQ.K.OR.B(I, K).EQ.0.) GO TO 9
DO 8 J = KP1, NPL1
B(I, J) = B(I, J) – B(I, K)*B(K, J)
8 CONTINUE
B(I, K) = 0.
9 CONTINUE
DO 13 I= 1, N
RS(I) = B(I, NPL1)
13 ONTINUE
1111 RETURN
END
C Le sous programme TRIDAG
SUBROUTINE TRIDAG (IF, L, A, B, C, D, V)
IMPLICIT REAL *8(A-H, O-Z)
DIMENSION A(1), B(1), C(1), D(1), V(1), BETAT(31), GAMA(31)
BEATA(IF)=B(IF)
GAMA(IF)=D(IF)/BETAT(IF)
IFP1=IF+1
DO 1 I=IFP1,L
BETAT(I)=B(I)-A(I)*C(I-1)/BETAT(I-1)
GAMA(I)=(D(I)-A(I)*GAMA(I-1))/BETAT(I)
1 Continue
V(L)=GAMA(L)
LAST=L-IF
DO 2 K=1,LAST
I=L-K
V(I)=GAMA(I)-C(I)*V(I+1)/BETAT(I)
2 Continue
Return
End

56

Vous aimerez peut-être aussi