Vous êtes sur la page 1sur 10

1

Méthodes Itératives
 
Lorsque n est très grand ( n  100 ) la résolution du système Ax  b par les méthodes
directes devient assez compliquée. On fait donc appel aux méthodes dites itératives
sous réserve de convergence .Cela consiste à définir une suite de vecteurs x   
k
k
 
convergent vers la solution exacte x  du système Ax  b .

1. Méthode de Jacobi
 
On suppose que les a ii  0 i  1,..., n où A  ( a ij ) .le système Ax  b s’écrit encore :

 a11 x1  a12 x 2  a13 x3  ...  a1n x n  b1


a x  a x  a x  ...  a x  b
 21 1 22 2 23 3 2n n 2

 
a n1 x1  a n 2 x 2  a n3 x3  ...  a nn x n  bn

A partir d’une approximation initiale de la solution que nous noterons x 0   x10 x 20  x n0



 
T

( comme dans toute méthode itérative), on construit l’algorithme :

1  n 
x1k 1   b1   a1 j x kj 

a11  
j 2 

1  n 
x 2k 1 
a 22
 b2 
 a 2j x kj 
 j 1, j  2 

1  n 
x3k 1   b3 
a33 
a 3j x kj 
j 1, j  3 

1  n 1 
x nk 1   bn   a nj x kj 
a nn  
 j 1 

qui consiste à isoler le coefficient de la diagonale de chaque ligne du système. C’est la


méthode de Jacobi .Si l’un des coefficients diagonaux est nul , il est parfois possible de
permuter certaines lignes pour éviter cette situation. Plus généralement on écrit :

1  n 
x k 1
i 
aii
 bi 
 a ij x kj 
 j 1, j  i 
2

Le principe de la méthode consiste à résoudre la i-ème équation par rapport à l’inconnu


xi .On obtient alors le système équivalent, qu’on appelle système réduit :

 x1   1   12 x 2   13 x 3   14 x 4    a1n x n
 x    x  x  x  x
 2 2 21 1 23 3 24 4 2n n

 
 x n   n   n1 x1   h 2 x 2   n 3 x 3     nn 1 x n 1

 a ij
bi  ij   i  j i, j  1,  , n
où  i  , i  1,  , n et  aii
aii 
  ii  0 i  1,  , n

le système réduit ainsi obtenu s’écrit sous la forme matricielle suivante :

x  x  

 
Où    ij et    i  avec :

1.1 Formulation Matricielle

On utilise la forme matricielle uniquement pour l’analyse de la convergence de la


méthode. Pour obtenir cette forme matricielle on effectue une décomposition de la
matrice sous la forme suivante :

A  D  Ti  Ts

a11 0 0  0  0 0 0  0 0 a12 a13  a1n 


0 0  a  0 0
 a 22 0   21 0 0  0
 a 23  a 2 n 
D0 0 a33  0  Ti  a31 a32 0  0 Ts  0 0 0  0 
     
                  
 0 0 0  a nn  a n1 an2 an3 
 0 0 0 0  0 

Ce procédé consiste donc à isoler de la matrice A la diagonale et les matrices


triangulaires inférieures et supérieures. Le système linéaire :
3

 
Ax  b

devient :  A  Ti  Ts x  b
  
ou encore Dx  Ti  Ts x  b

  
et enfin x   D 1 (Ti  Ts ) x  D 1b

Il est clair alors que l’algorithme de Jacobi peut s’écrire à travers le procédé
itératif :

 x ( 0) donné
  k 1 k 
 x  x  
  
Il vient donc : x k 1   D 1 (Ti  Ts ) x k  D 1b

On pose : J     D 1 (Ti  Ts ) la matrice de Jacobi et


T
  b b2 b3 bn 
  D b   1
1
  le vecteur associé au système itératif.
 a11 a 22 a33 a nn 

1.2 Convergence de la méthode de Jacobi

Théorème : Une condition nécessaire et suffisante pour que l’algorithme de Jacobi



converge indépendamment de la condition initiale x ( 0 ) est que le rayon spectral  (J ) de
la matrice J associé au système itératif soit strictement inférieur à 1.

Remarque :


1. On rappelle que  ( J )  max i : i valeur propre de J 
2. En pratique le calcul de  (J ) est souvent compliqué. Une condition suffisante
pour la convergence de l’algorithme de Jacobi est alors : J <1 puisque  (J )  J
.
3. L’algorithme de Jacobi converge si l’une des trois conditions suivantes est
vérifiée :

n 
J 1
 max   ij : j  1,..., n  <1 où J  ( ij )
 i 1 
4

n 
J 
 max   ij : i  1,..., n <1 où J  ( ij )
 j 1 

n n

 
2
J F
 ij <1 où J  ( ij )
i 1 j 1

4. L’algorithme de Jacobi converge si les coefficients de la matrice J sont tels que :


1
 ij <
n
 i, j  1,..., n. où n est la dimension du système.
5. L’algorithme de Jacobi converge si la matrice A est à diagonale dominante par
n
rapport aux lignes. C’est à dire les coefficients de A sont tels que aii >  aij
j i

 i  1,..., n.
Ou si elle est à diagonale dominante par rapport aux colonnes, c'est-à-dire les
n
coefficients de A sont tels que a jj > a
i j
ij  j  1,..., n.

1.3 Critère d’arrêt

On arrête les calculs pour ces méthodes lorsque la différence absolue entre deux
itérations successives soit supérieure à une certaine précision  donnée :

x ( k 1)  x ( k ) < 

Ici il faut vérifier les différences pour toutes les composantes une par une :

x1( k 1)  x1( k ) <  , x 2( k 1)  x 2( k ) <  , x3( k 1)  x 3( k ) <  ,…, x n( k 1)  x n( k ) < 

Autre critère d’arrêt : nombre suffisant d’itérations


 
Si on prend x ( 0 )   , on aura :

     
x (1)  x ( 0 )    x (1)  x ( 0 )  

D’où

  k 1 
   (k ) x ( k 1)  x ( k )  
x x  
1  1 

En posant :
5

k 1 
 

1 

On déduit le nombre suffisant d’itérations à effectuer pour obtenir une solution


 
approchée x (k ) de x  avec la précision  .Ce nombre est le premier entier k 0
vérifiant :

ln( (1   ))  ln 
k0  1
ln 

Exemple : soit le système

 2 x1  x2  0

 x1  2 x2  x3  1
  x2  2 x3  2

Dont la solution exacte est x  (1 2 2) T

On choisit comme approximation de départ x 0  ( x10 x 20 x 30 ) T  (0 0.5 1) T

bi
(où xi0  ) , la méthode de Jacobi s’écrit :
aii

 k 1 1 k
 x1  x2
2
 1
k 1
 x2  ( 1  x1k  x3k )
 2
 x3k 1 1
 ( 2  x 2k )
 2

1ère itération x 1  ( x11 x 12 x31 ) T

 1 1 0
 x1  x2
2
 1
1
 x2  ( 1  x10  x30 )
 2
 x31 1
 ( 2  x 20 )
 2

x 1  ( x11 x 12 x31 ) T = (0.25 1 1.25) T

2ème itération x 2  ( x12 x 22 x 32 ) T


6

 2 1 1
 x1  x2
2
 1
 x2
2
 ( 1  x11  x31 )
 2
 x32 1
 ( 2  x12 )
 2

x 32 ) T = 0,5 1,25 1,5


T
x 2  ( x12 x 22

3ème itération x 3  ( x13 x 23 x 33 ) T

 3 1 2
 x1  x2
2
 1
 x2
3
 ( 1  x12  x32 )
 2
 x33 1
 ( 2  x 22 )
 2

x 33 ) T = 0,625 1,5 1,625


T
x 3  ( x13 x 23

2. Méthode de Gauss-Seidel

La méthode de Gauss-Seidel est une variante améliorée de la méthode Jacobi. Pour


mieux comprendre le principe, il suffit de reconsidérer la méthode de Jacobi et de voir
comment on pourrait l’améliorer. Partons de l’algorithme de Jacobi :

1  n 
xik 1 
aii
 bi 
 a ij x kj 
 j 1, j  i 

qui peut aussi s’écrire :

1  i 1 n 
xik 1   bi   aij x kj  a x kj 
aii  ij
 j 1 j i 1 

La méthode de Gauss-Seidel est fondée sur la simple constatation selon laquelle le calcul
de x2k 1 nécessite l’utilisation de x1k , x 2k , x3k ,  , x nk provenant de l’itération précédente. Or
à l’itération k+1 au moment de calcul de x2k 1 , on possède déjà une meilleure
approximation de x1 que de xik à savoir x1k 1 .De même au moment de calcul de x3k 1 , on
peut utiliser x1k 1 et x2k 1 .Plus généralement, pour le calcul de xik 1 , on peut utiliser
x1k 1 , x 2k 1 , x3k 1 ,  , x ik11 déjà calculés et le xik1 , x ik 2 ,  , x nk de l’itération précédente. Cela
revient à écrire l’algorithme de Gauss-Seidel comme suit :
7

1  i 1 n 
xik 1   bi   aij x kj 1  a x kj 
aii  ij
 j 1 j  i 1 

2.1 Formulation Matricielle

Suivant la notation introduite pour la méthode de Jacobi :


   
Dx k 1  b  Ti x k  Ts x k

On donne la notation Gauss-Seidel :


   
Dx k 1  b  Ti x k 1  Ts x k

Ou encore :
  
( D  Ti ) x k 1  b  Ts x k

Et enfin :
  
x k 1  D  Ti  Ts x k  D  Ti  b
1 1

 
On pose : G  ( D  Ti ) 1 Ts la matrice de Gauss-Seidel et  G  D  Ti  b le vecteur
1

associé au système itératif

2.2 Convergence de la méthode de Gauss-Seidel

Tous les résultats de convergence associés à la méthode de Jacobi restent valables pour
la méthode de Gauss-Seidel.

2.3 Critère d’arrêt

C’est le même que celui correspondant à la méthode de Jacobi.

Exemple : soit le système

 2 x1  x2  0

 x1  2 x2  x3  1
  x2  2 x3  2

Dont la solution exacte est x  (1 2 2) T

On choisit comme approximation de départ x 0  ( x10 x 20 x 30 ) T  (0 0.5 1) T


8

bi
(où xi0  ) , la méthode de Gauss-Seidel s’écrit :
aii

 k 1 1 k
 x1  x2
2
 1
k 1
 x2  ( 1  x1k 1  x3k )
 2
 x3k 1 1
 ( 2  x 2k 1 )
 2

1ère itération x 1  ( x11 x 12 x31 ) T

 1 1 0
 x1  x2
2
 1
1
 x2  ( 1  x11  x30 )
 2
 x31 1
 ( 2  x12 )
 2

x 1  ( x11 x 12 x31 ) T = (0.25 1,125 1,5625) T

2ème itération x 2  ( x12 x 22 x 32 ) T

 2 1 1
 x1  x2
2
 1
 x2
2
 ( 1  x12  x31 )
 2
 x32 1
 ( 2  x 22 )
 2

x 32 ) T = 0,5625 1,5625 1,7813


T
x 2  ( x12 x 22

On constate que pour un même nombre d’itération la méthode de Gauss-Seidel converge


plus vite que celle de Jacobi.

3. Méthode de sur-relaxation ou Méthode SOR

A partir des méthodes de Jacobi et de Gauss-Seidel, on peut générer une famille de


nouvelles méthodes en faisant intervenir un paramètre (ou un facteur) additionnel dans
le processus de calcul, afin d’augmenter la vitesse de convergence. Ce type de technique
d’accélération est appelé méthode de sur-relaxation. Le principe général de la méthode
est le suivant : x*( k 1) est la valeur obtenue du schéma itératif de base, la valeur x ( k 1)
introduite au prochain pas sera définie par

x ( k 1)  (1   ) x ( k )  x*( k 1)


9

Où  est le facteur ou le paramètre de relaxation

La méthode de Gauss-Seidel avec accélération est appelée SOR ( Successive Over-


Relaxation).L’algorithme pour obtenir la i-ième composante xi( k 1) du vecteur x ( k 1) est
comme suit :

 1  i 1 n 
xik 1  (1   ) xik     bi   aij x kj 1  a ij x kj 
aii  j 1 j  i 1 

- =1 on retrouve la méthode Gauss-Seidel

- 0< <1 on parle de sous relaxation

-1< <2 on parle de sur-relaxation bon choix 1,5

3.1 Formulation Matricielle

SORsuccesive  Over  relaxation

De Gauss-Seidel :
   
Dx k 1  b  Ti x k 1  Ts x k

   
Ou encore x k 1  D 1 (b  Ti x k 1  Ts x k )

On introduit pour SOR :


    
x k 1  1   x k  .D 1 (b  Ti x k 1  Ts x k )

   
 1   x k  D 1b  D 1Ti x k 1  D 1Ts x k

    
Dx k 1  D(1   ) x k  b  Ti x k 1  Ts x k

   
( D  Ti ) x k 1  D(1   ) x k  b  Ts x k

  
x k 1  ( D  Ti ) 1 D(1   )  Ts x k  ( D  Ti ) 1 b

On pose :  SOR  ( D  Ti ) 1 D (1   )  Ts  appelé matrice de relaxation et


 
 SOR  ( D  Ti ) 1 b le vecteur de relaxation associé

Exemple : soit le système


10

 2 x1  x2  0

 x1  2 x2  x3  1
  x2  2 x3  2

Dont la solution exacte est x  (1 2 2) T

On choisit comme approximation de départ x 0  ( x10 x 20 x 30 ) T  (0 0.5 1) T

bi
(où xi0  ) , la méthode de SOR s’écrit :
aii

 k 1 1 k
 x1   0,2 x1k  1,2  x2
2
 1
k 1
 x2  0,2 x 2k  1,2  ( 1  x1k 1  x3k )
 2
 x3k 1 1
 0,2 x3k  1,2  ( 2  x 2k 1 )
 2

 x1k 1   0,2 x1k  0,6 x 2k


 k 1
 x2  0,2 x 2k  0,6  ( 1  x1k 1  x3k )
 x k 1  0,2 x  k
0,6  ( 2  x k 1
)
 3 3 2

1ère itération x 1  ( x11 x 12 x31 ) T

x 1  ( x11 x 12 x31 ) T = (0.3 1,28 1,708) T

2ème itération x 2  ( x12 x 22 x 32 ) T

x 32 ) T = 0,708 1,829 1,944 


T
x 2  ( x12 x 22

Avec 2 itérations on remarque une convergence encore plus rapide vers la solution exacte
1 2 2  de la méthode SOR comparée à la méthode de Jacobi et de Gauss-Seidel.
T

Vous aimerez peut-être aussi