Vous êtes sur la page 1sur 2

1

Ecole Supérieure privée A.U. 2019/2020 - Semestre 2


de l’Aéronautique et des Technologies Maths Appliquées - Niveau 3GT et 3GA
Enseignante : Marwa Bouali

TP : Résolutions des systèmes linéaires


(Méthodes Itératives)

Objectif
L’objectif de ce TP est d’écrire une fonction Matlab qui résout le système linéaire

AX = b

en utilisant les méthodes itératives de Jacobi et de Gauss-Seidel, où A ∈ Mn (R) est une matrice
inversible connue, b est un vecteur de Rn donné et X est le vecteur de Rn inconnu.

Principe
Le principe de toutes les méthodes itératives est de construire une suite de vecteurs X (k) , k ∈ N, qui
converge vers le vecteur X solution du système linéaire AX = b. On décompose la matrice A ∈ Mn (R)
sous la forme A = M − N , où M est une matrice inversible et on réécrit le système linéaire AX = b
que l’on souhaite résoudre sous la forme d’un problème de point fixe

X = M −1 N X + M −1 b.

On pose B = M −1 N et c = M −1 b. La matrice B est appelée matrice d’itération. On définit alors la


suite récurrente par :
X (0) ∈ Rn donné

(1)
X (k+1) = BX (k) + c, ∀k ∈ N.
Cette suite converge si et seulement si ρ(B) < 1. Où ρ(B) est le rayon spectral de la matrice B.
Dans la suite, on aura besoin de la décomposition suivante :

A = D − E − F,

où D est une matrice diagonale inversible, E est une matrice strictement triangulaire inférieure et F
est une matrice strictement triangulaire supérieure.

1. Méthode de Jacobi
La méthode de Jacobi est la méthode itérative de type (1) pour laquelle M = D et N = E + F .
1. Ecrire une fonction Matlab que vous appellerai Jacobi basée sur la méthode de Jacobi qui ren-
voie les différentes approximations de la solution X et le rayon spectral de la matrice d’itération
B à partir des données A, b, X0 et maxiter, où A est la matrice du système linéaire à résoudre,
b est le second membre du système linéaire, X0 est le vecteur initial de la méthode itérative et
maxiter est le nombre maximal d’itérations.
2

Remarquer qu’il est possible que la méthode itérative ne converge pas pour la matrice don-
née. Dans ce cas pour éviter de faire une infinité d’itérations on fixera un nombre maximal
d’itérations.
2. Tester et valider votre fonction Matlab Jacobi par les exemples suivants :
 
0
A1 X = b1 , A2 X = b1 , A3 X = b2 , X (0) = 0 et maxiter = 25,
0
avec      
1 2 −2 2 −1 1 1
A1 = 1 1 1  , A2 =  2 2 2 , b1 = 1 , (2)
2 2 1 −1 −1 2 1
   
2 −1 0 1
A3 = −1 2 −1 et b2 = 0 . (3)
0 −1 2 1
La méthode de Jacobi converge t-elle pour ces systèmes ?
3. Comparer les résultats de Jacobi(Ai , bj , X0 , maxiter) avec Ai \bj , pour i = 1, 2, 3 et j = 1, 2.
Noter que la commande backslash "\" est utilisée pour la résolution des systèmes linéaires.
4. Prenez quelques exemples de TD pour tester votre fonction Matlab Jacobi. Comparer les
résultats obtenus en TD avec les résultats obtenus par la fonction Matlab Jacobi.

2. Méthode de Gauss-Seidel
La méthode de Gauss-Seidel est la méthode itérative de type (1) pour laquelle M = D − E et
N = F.
1. Ecrire une fonction Matlab que vous appellerai GaussSeidel associée à la méthode de Gauss-
Seidel qui renvoie les différentes approximations de la solution X et le rayon spectral de la
matrice d’itération B à partir des données A, b, X0 et maxiter, où A est la matrice du système
linéaire à résoudre, b est le second membre du système linéaire, X0 est le vecteur initial de la
méthode itérative et maxiter est le nombre maximal d’itérations.
2. Tester la fonction Matlab obtenue sur les exemples (2) et (3). La méthode de Gauss-Seidel
converge t-elle pour ces systèmes ?
3. Prenez quelques exemples de TD pour tester votre fonction Matlab GaussSeidel. Comparer
les résultats obtenus en TD avec les résultats obtenus par la fonction Matlab GaussSeidel.

3. Comparaison des méthodes de Jacobi et de Gauss-Seidel


On considère    
4 −1 −1 1
A = −1 4 −1 et b = 2 .
 (4)
−1 −1 4 3
On pose J et L les matrices d’itérations associées respectivement aux Jacobi et Gauss-Seidel.
1. Quelle est la méthode la plus rapide (entre Jacobi et Gauss-Seidel) pour résoudre le système
AX = b ?
2. Représenter sur le même graphe l’erreur relative de chaque méthode en fonction du nombre
d’itérations. Que remarquez-vous ?

Vous aimerez peut-être aussi