You are on page 1of 2

Analyse numrique L3 TP4

Travaux Pratiques dAnalyse


Numrique
TP - 4
Mthodes itratives pour la rsolution de
systmes linaires

1 Objectifs
Lobjectif de cette sance va tre de programmer les mthodes de Jacobi et Gauss-Seidel, avec
plusieurs critres darrts pour ces mthodes itratives.
Pour toute la suite, on convient de la notation suivante :

..
. F
A= D = D E F Mn (R)
(1)
..
E .

et on suppose D inversible.
On rappelle que les mthodes dites itratives, ou de point xe, reposent toutes sur la mme ide.
On dcompose A sous la forme A = M N , o M est une matrice que lon sait inverser. On rcrit
alors le systme que lon souhaite rsoudre Ax = b en un problme de point xe x = M 1 (N x + b).
Il ne reste plus qu voir que la suite (xk )kN dnie par
{
x 0 Rn
(2)
xk+1 = M 1 (N xk + b) k N

converge vers A1 b ssi (M 1 N ) < 1. La matrice M 1 N est appele matrice ditration.

2 Mthode de Jacobi
On va ici implanter la mthode de Jacobi. On rappelle quelle consiste choisir M = D et
N = E + F dans (2).

1) crire une fonction [E,F,D]=extraire mat(A) qui renvoie les matrices E, F et D prsentes
en (1). On pourra utiliser les fonctions diag, tril et triu.
2) Implanter la mthode de Jacobi. Plus prcisment, crire une fonction [x]=jacobi nmax(A,b,x0,n)
qui renvoie le ne terme xn de la suite dnie par rcurrence par (2).
On veillera ne pas utiliser la fonction inv de Matlab : ici le calcul de linverse de D peut se
calculer de manire exacte.
3) On considre
4 1 1 1
A = 1 4 1 b = 2
1 1 4 3
La mthode de Jacobi converge-t-elle pour ce systme ?
4) Comparer le rsultat de jacobi nmax(A,b,100) avec lappel de A\b.
5) On souhaite ici crer une fonction [x,n,err]=jacobi(A,b,x0,eps,nmax) qui renvoie une ap-
proximation x de la solution de Ax = b laide de la suite (2) :

2015-2016 1/2 pierre-william.martelli@univ-lorraine.fr


Analyse numrique L3 TP4

si on trouve n nmax tel que kAxn bk eps, on choisit x xn et on pose err = 0 ;


sinon, on choisit plutt x xnmax et on pose err = 1.

6) On reprend lexemple de la question 3. Quel est le plus petit n N tel que kAxn bk < 105 ,
o (xn )nN est dnie par (2) ?

3 Mthode de Gauss-Seidel
On sintresse maintenant la mthode de Gauss-Seidel. On rappelle quelle consiste choisir
M = D E et N = F dans (2).

1) crire une fonction [x,n,err]=gauss seidel(A,b,x0,eps,nmax) qui renvoie une approxima-


tion x de la solution de Ax = b laide de la suite (2) :

si on trouve n nmax tel que kAxn bk eps, on choisit x xn et on pose err = 0 ;


sinon, on choisit plutt x xnmax et on pose err = 1.
On veillera ne pas utiliser la fonction inv de Matlab. Le calcul de xk+1 partir de xk peut
se ramener la rsolution dun systme linaire triangulaire : on utilisera donc un algorithme
implant dans un TP prcdent.

2) On reprend A et b de la partie prcdente. Quel est le plus petit n N tel que kAxn bk <
105 , o (xn )nN est dnie par (2) ?

4 Comparaison des mthodes de Jacobi et de Gauss-Seidel


On considre les matrices A et B (voir exercice 1 de la feuille de TD) :

1 2 2 2 1 1
A = 1 1 1 et B = 2 2 2 .
2 2 1 1 1 2

On se donne galement
1
b = 1 .
1
Calculer (J) et (L1 ), o J et L1 sont respectivement les matrices ditrations de Jacobi et de
Gauss-Seidel associes (et comparer avec le rsultat obtenu en TD).

1) Quelle mthode est la plus rapide (entre Jacobi et Gauss-Seidel) pour rsoudre le systme
Ax = b ?

2) Mme question pour Bx = b ?


3) Que peut-on en dduire ?

2015-2016 2/2 pierre-william.martelli@univ-lorraine.fr

You might also like