You are on page 1of 4

Chapitre 7 - Systmes linaires Mthodes itratives

7. RSOLUTION DE SYSTMES ALGBRIQUES LINAIRES MTHODES INDIRECTES OU ITRATIVES 7.1. INTRODUCTION La caractristique essentielle des mthodes itratives est quelles procdent par approximations successives et quon ne connat pas a priori le nombre ditrations (donc le nombre doprations) effectuer pour atteindre une prcision donne. Une deuxime caractristique particulirement importante est que lorsquune mthode itrative converge elle est auto-correctrice : si on commet une erreur de calcul au cours du processus, tout se passe comme si on recommenait le calcul partir dun nouveau vecteur initial x(0). De manire paradoxale, le fait de commettre une erreur peut donc ventuellement amliorer la convergence de la mthode utilise. En effet, lerreur commise peut avoir comme consquence quon redmarre le calcul avec un vecteur plus proche de la solution. Ceci peut avoir un effet acclrateur de convergence. Cette caractristique est dailleurs exploite en pratique (cf. plus loin, relaxation). Dans les mthodes itratives, on remplace le systme rsoudre Ax = b par un systme quivalent crit sous la forme x = Fx + c que lon essaye de rsoudre laide dun algorithme de point fixe, selon le schma : Choisir Calculer x(0) x (k+1) = Fx (k) + c

tant quil faut !

Tout lart consiste bien choisir F et c et dterminer de bons critres pour arrter les calculs. 7.2. MTHODE DE JACOBI On dcompose A en une somme de trois matrices : A = L + D + U D est la diagonale de A U est la triangulaire suprieure de A L est la triangulaire infrieure de A On a alors F = I D-1A et c = D-1b

Chapitre 7 - Systmes linaires Mthodes itratives

Ce qui donne

F = I D-1(L + D + U) = -D-1(L + U) Lalgorithme de Jacobi :

( F est la matrice de Jacobi)

Et la relation ditration fournit xi( k +1) =


n

aij

j =1 aii j i

x (jk ) +

bi aii

, i = 1, 2, ..., n.

Exemple :

Rsoudre le systme

9x1 - 2x2 - 2x3 = 11 2x1 + 2x2 + 8x3 = 13 2x1 - 9x2 + 2x3 = 15 Voici un programme Matlab qui permet de rsoudre ce systme par la mthode de Jacobi : % Mthode de Jacobi % On part de [0 0 0] % On constate que la mthode diverge ( faire) ! % x10=0; x20=0; x30=0; for k=1:30 x(1,k)= ( 2*(x20 + x30) + 11)/9; x(2,k)= (-2*(x10 + 4*x30) + 13)/2; x(3,k)= (-2* x10 + 9*x30) + 15)/2; x10 = x(1,k); x20 = x(2,k); x30 = x(3,k); end x' Le programme suivant, qui applique la mme mthode, converge % Mthode de Jacobi % On part de [0 0 0] % On a interverti les quations 2 et 3 pour assurer % dominance diagonale. % On constate que la mthode converge ( vrifier) ! % x10=0; x20=0; x30=0; for k=1:30 x(1,k)= ( 2*(x20 + x30) + 11)/9; x(2,k)= ( 2*(x10 + x30) - 15)/9; x(3,k)= (-2*(x10 + x20) + 13)/8; x10 = x(1,k); x20 = x(2,k); x30 = x(3,k); end x'

Chapitre 7 - Systmes linaires Mthodes itratives

7.3. MTHODE DE GAUSS SEIDEL Si on examine lalgorithme de Jacobi, on se rend compte que le calcul de la composante xi litration k+1 fait intervenir les composantes x1, x2 xi-1 litration k. On peut galement constater que lorsque le calcul de xi litration k+1 est effectu, les composantes x1, x2 xi-1 sont dj connues cette mme itration. Si on tient compte de ce qui prcde, on peut remplacer lalgorithme de Jacobi par le suivant : xi( k +1) =
j =1 i 1

aij aii

x (j k +1)

j = i +1

aij
ii

x (j k ) +

bi aii

, i = 1, 2, ..., n.

connu sous le nom de mthode de Gauss Seidel . La rsolution du systme de lexercice ci-dessus par la mthode de Gauss Seidel peut tre obtenue laide du programme suivant : % Mthode de Gauss Seidel % On part de [0 0 0] % On a interverti les quations 2 et 3 pour assurer % dominance diagonale. % On constate que la mthode converge ( vrifier) ! % x10=0; x20=0; x30=0; for k=1:30 x(1,k)= ( 2*(x20 + x30) + 11)/9; x(2,k)= ( 2*(x(1,k) + x30) - 15)/9; x(3,k)= (-2*(x(1,k) + x(2,k) + 13)/8; x20 = x(2,k); x30 = x(3,k); end x' Trs souvent, lalgorithme de Gauss Seidel converge plus vite que lalgorithme de Jacobi (pourquoi ?). 7.4. MTHODES DE RELAXATION On peut dcomposer la matrice A dune infinit de manires. Soit A = 1 1 D+L+( D + U) (le rel non nul est appel paramtre de relaxation)

1 1 D + L ) x(k+1) = - ( D + U) x(k) + b Cest--dire, si linversion est possible : La mthode itrative devient alors : (

Chapitre 7 - Systmes linaires Mthodes itratives

x(k+1) = - (

1 1 1 D + L )-1 ( D + U) x(k) + ( D + L )-1 b

Cette mthode est appele mthode de relaxation. Elle est identique la mthode de Gauss Seidel si = 1 et ncessite galement, chaque itration, la rsolution dun systme triangulaire. Lorsque < 1 on parle de sous-relaxation et si > 1 de sur-relaxation. Il est possible, dans certains cas, de dmontrer quil existe une valeur optimale du paramtre de relaxation (pour plus de dtails cf. Introduction lanalyse numrique de Jacques Rappaz et Marco Picasso, Presses polytechniques et universitaires romandes, 1998). 7.5. CONDITION SUFFISANTE DE CONVERGENCE On peut dmontrer que les mthodes de Jacobi et Gauss Seidel sont convergentes si la matrice du systme est diagonale prpondrante. 7.6. CRITRES DARRT Lorsquon programme un algorithme itratif il est vivement conseill de prvoir au moins deux critres darrt. Le premier critre consistera arrter les calculs si deux approximations successives de la solution sont suffisamment proches lune de lautre. Ce que signifie suffisamment proches est laiss lapprciation du programmeur et ncessite la dfinition dune mesure de la proximit de deux solutions approches (distance, norme). On pourra par exemple dcider que la convergence est atteinte si la norme euclidienne de la diffrence entre deux approximations successives nexcde pas une constante positive choisie a priori. Le deuxime critre doit imposer que le programme soit arrt aprs un nombre limit ditrations. En effet, si la mthode produit une suite de vecteurs qui diverge, le programme sarrtera en gnral suite un overflow . Cependant, le programme peut cycler : il ny a ni convergence numrique ni overflow . La suite des approximations reproduit priodiquement une mme succession de vecteurs ou donne naissance une suite chaotique de vecteurs borns. Dans pareil cas, si lon ne limite pas le nombre ditrations, le programme fonctionnera jusqu ce que lordinateur tombe en panne sauf bien entendu si loprateur intervient pour provoquer larrt de la machine !