Ecole supérieure des Sciences et
de Technologie de Hammam Sousse 2023-2024
Module : Simulation Numérique LM1
TP 3
Exercice 1
1. Rédiger une fonction recherche pivot(A, b, j) qui détermine le coefficient aij le plus grand
en module parmi ajj ,...,anj puis qui permute les lignes Li et Lj de A et de b.
2. Rédiger une fonction élimination bas(A, b, j) qui effectue les éliminations successives
des coefficients situés sous ajj , en supposant ce coefficient non nul. On effectuera en
parallèle les mêmes opérations sur b.
3. En déduire une fonction descente(A, b) qui par opérations élémentaires sur les lignes des
matrices A et b réalise l’étape de descente de la méthode du pivot de Gauss.
Exercice 2
1. Rédiger une fonction élimination haut(A, b, j) qui effectue les éliminations successives
des coefficients situés au-dessus de ajj , en supposant ce coefficient non nul. On effectuera
en parallèle les mêmes opérations sur b.
2. En déduire une fonction remontée(A, b) qui par opérations élémentaires sur les lignes
des matrices A et b réalise l’étape de remontée de la méthode du pivot de Gauss.
Exercice 3
1. Rédiger une fonction solve diagonal(A, b) qui prend en arguments une matrice diagonale
inversible A et un vecteur b et qui retourne l’unique vecteur x solution de
l’équation Ax = b.
2. En déduire une fonction gauss(A, b) qui retourne l’unique solution d’un système de
Cramer Ax = b. On travaillera sur des copies des matrices A et b pour éviter de modifier
physiquement ces dernières.
Exercice 4
1. Rédiger une fonction determinant(A) qui calcule le déterminant de la matrice A. On
travaillera sur une copie de A pour ne pas modifier la matrice initiale.
2. Rédiger une fonction inverse(A) qui calcule l’inverse de la matrice A par la méthode du
pivot. On travaillera sur une copie de A pour ne pas modifier cette dernière.
Exercice 5
1. Écrire une fonction Lower(A,b) qui permet de résoudre par une méthode directe un
système linéaire dont la matrice A est triangulaire inférieure.
1
2. Écrire une fonction :
def Jacobi(A,b,x0,eps,itmax)
qui permet de résoudre un système linéaire : Ax = b, par la méthode de Jacobi. Il y
a deux critères d’arrêt : la précision eps voulue sur k Axn − b k où n est le nombre
d’itérations, et le nombre d’itérations maximum itmax.
3. Écrire une fonction :
def GaussSeidel(A,b,x0,eps,itmax)
qui permet de résoudre un système linéaire : Ax = b, par la méthode de Gauss-Seidel.
Utiliser les mêmes critères d’arrêt des itérations que la méthode de Jacobi.