2. Algorithme : écrire un algorithme (basé sur la formule (2)) pour résoudre le système linéaire Ax=bà l’aide de la
méthode de Jacobi. Prévoir le critère d’arrêt de votre algorithme. L’algorithme doit pouvoir s’arrêter s’il diverge, il ne
doit pas comporter de boucles infinies. Prévoir un test pour valider votre algorithme.
3. Coder la fonction Jacobi.m qui calcule la solution du système linéaire Ax=bà l’aide de la méthode de Jacobi.
4. Tester votre programme en prenant comme matrice Aune matrice de type diagonale strictement dominante.
5. Tester votre programme pour la matrice suivante Aet le second membre bsuivant :
A=
14 10 6
10 14 2
624
b=
30
26
12
Expliquer le résultat obtenu.
Exercice 2 : méthode de Gauss-Seidel
La méthode de Gauss Seidel est une variante de la méthode de Jacobi qui découle de la remarque suivante : quand on applique
la méthode de Jacobi, chaque composante x(k+1)
idu vecteur x(k+1) est calculée indépendamment des autres. On peut espérer
accélérer la convergence si, pour calculer x(k+1)
i, on exploite les nouvelles composantes x(k+1)
jpour 1≤j≤i−1en plus des
anciennes x(k)
jpour j≥i(puisqu’on espère que xk+1 est plus proche de la solution exacte que xk). Ceci revient à remplacer
l’algorithme (2) par
x(k+1)
i=1
Aii
bi−
i−1
X
j=1
Aij x(k+1)
j−
n
X
j=i+1
Aij x(k)
j
(3)
1. Montrer que la méthode de Gauss Seidel décrite ci dessus revient à prendre M=D−Eet N=F.
2. Écrire l’algorithme associé à la méthode de Gauss-Seidel (basé sur la formule (3)). Prévoir le critère d’arrêt de votre
algorithme (L’algorithme doit pouvoir s’arrêter s’il diverge, il ne doit pas comporter de boucles infinies).
3. Tester votre programme en prenant comme matrice Aune matrice de type diagonale strictement dominante.
Exercice 3 : méthode de Relaxation
Soit ωun paramètre réel. On définit la méthode de relaxation par
x(k+1)
i=ω
Aii
bi−
i−1
X
j=1
Aij x(k+1)
j−
n
X
j=i
Aij x(k)
j
+x(k)
i;(4)
1. Montrer que la méthode de Relaxation correspond à prendre M=1
ωD−Eet N=1−ω
ωD+F.
2. Écrire l’algorithme associé à la méthode de Relaxation.
3. Coder la fonction Relaxation.m qui calcule la solution du système linéaire Ax=bà l’aide de la méthode de
relaxation.
4. Tester votre programme en prenant comme matrice Aune matrice de type diagonale strictement dominante et
ω∈]0,1[.
Exercice 4 : cas des matrices tridiagonales
Soit nun nombre entier naturel. Soit Ala matrice de taille n×ntri-diagonale telle que les coefficients diagonaux sont égaux
à2, la première sous-diagonale est composée de −1et la première sur-diagonale de −1. On choisit le second membre b∈Rn
tel que la solution du système Ax=bsoit le vecteur 1
√n(1,1,··· ,1). On prend x(0) = 0.
1. Appliquer l’algorithme de Jacobi et de Gauss-Seidel pour résoudre le système linéaire Ax=bdans le cas où n= 10.
- Sur un même graphique tracer l”évolution de l’erreur e(k)=kx(k)−xket du résidu r(k)=kAx(k)−xken fonction
du nombre d’itérations pour l’algorithme de Jacobi et de Gauss-Seidel. Quel est l’algorithme le plus rapide ?
- Pour chacune des deux méthodes, combien d’itérations sont-elles nécessaires pour obtenir une précision sur le résidu
de 10−12 ?
2