Université De Tunis
Institut Préparatoire aux Etudes
d'Ingénieurs de Tunis
SM/SP-2016/2017 -1-
Simulation Numérique
Résolution d'un système d'équations linéaires : Méthode de PIVOT de Gauss
Dans ce problème on s'intéresse à la méthode de Pivot de Gauss pour résoudre un système
d'équations linéaires AX=B A est une matrice inversible d'ordre N, X est le vecteur
solution et B est le vecteur second membre)
La méthode de Pivot de Gauss repose sur deux principes simples:
Le système linéaire reste invariant pour les trois opérations élémentaires à savoir :
la permutation de lignes, la multiplication d'une ligne par une constante et l'addition
d'une ligne à une autre
Si la matrice A est triangulaire supérieure, alors la résolution du système linéaire
AX=B est très simple
Ainsi, la méthode de Pivot de Gauss, se base sur la transformation de la matrice A en une
matrice triangulaire supérieure à l’aide d’opérations élémentaires.
Pour cela, il suffit pour chaque ligne i de:
1. Fixer le pivot aii ≠ 0. Si le pivot d'une ligne i est nul on cherche dans les lignes
suivantes le premier élément non nul dans la même colonne (colonne i) et on fait une
permutation des lignes du système linéaire.
2. Soustraire des lignes j suivantes (j>i) la ième ligne de A et de B multipliée par la
quantité (aji/aii). Avec aji les coefficients des différentes lignes se trouvant sur la
même colonne du pivot.
Lj=Lj-m*Li avec Lj la jème ligne, Li m la ième ligne et m= aji/aii
En fixant le pivot a00 , la matrice A et le vecteur B prennent alors la forme suivante:
A(1) =
a00
...
a0n-1
0
a11(1)
...
a1n-1(1)
....
...
...
...
0
an-12(1)
...
an-1n-1(1)
b(1) =
b0
b1(1)
.
bn-1(1)
avec

  

SM/SP-2016/2017 -2-
 

Exemple: les différentes étapes de transformation du système linéaire
 
  
 


  
  



  
  
  


Après transformation de la matrice A en une matrice triangulaire supérieure, la solution est
obtenue par simple substitution :
 



 i=N-2…..0
Travail demandé
1. Ecrire une fonction PYTHON Recherche_Pivot (A,i) qui permet retourner le plus
petit indice ligne j (j>i) tel que aji≠0.
2. Ecrire une fonction PYTHON Permut_ligne_Mat(A,i,j) qui permet de permuter deux
lignes d'indices i et j dans une matrice A.
3. Ecrire une fonction PYTHON Permut_ligne_Vect(B,i,j) qui permet de permuter deux
lignes d'indices i et j dans un vecteur B.
4. Ecrire une fonction PYTHON Transformation (A,B,i) qui permet d'apporter des
modifications sur les lignes j (j>i) de la matrice A en soustrayant de la ligne j la ligne
i multipliée par le coefficient aji/aii.
5. Ecrire une fonction PYTHON Pivot(A,B) qui permet d'apporter les modifications
nécessaires sur le système linéaire AX=B pour transformer la matrice A en une
matrice triangulaire supérieure.
6. Ecrire une fonction PYTHON ResolTsup(A,B) permettant de retourner le vecteur X,
résultat de résolution du système triangulaire supérieur A.X=B en utilisant les
formules définies précédemment.
7. Ecrire une fonction PYTHON ResolPivot(A,B) qui permet à partir une matrice
inversible A d'ordre N et un vecteur B de résoudre le système d'équations linéaires
A.X =B par la méthode de Pivot de Gauss
8. La fonction time() du module time permet de donner le temps à un instant t en
fonction du nombre de secondes écoulées depuis une date précise. Utiliser cette
fonction pour comparer le temps d'exécution de la méthode de Pivot de Gauss avec
celui de la méthode de CROUT étudiée lors de la dernière séance.
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !