Vous êtes sur la page 1sur 47

log2.

jpg

UNIVERSITE IBN TOFAÏL


FACULTE DES SCIENCES

MEMOIRE DE FIN D’ETUDES

Discipline : MATHEMATIQUES

Abdelouhab hatimi
REMERCIEMENT

Je tiens à remercier ma professeur encadrant Mme MGHAZLI


pour ses efforts qui ont orientés la bonne conduite de ce travail.

2
TABLE DES MATIÈRES

1 Rappels et Compléments mathématiques 6


1.1 définitions : . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.1 Produit scalaire : . . . . . . . . . . . . . . . . . . . . . 6
1.1.2 Orthogonalité . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.1 Propriétés : . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.2 Matrices carrées . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Norme vectorielle-Norme matricielle . . . . . . . . . . . . . . . 9
1.3.1 Norme vectorielle : . . . . . . . . . . . . . . . . . . . . 9
1.3.2 Norme matricielle : . . . . . . . . . . . . . . . . . . . . 9
1.4 Suite de vecteurs-suites de matrices : . . . . . . . . . . . . . . 11

2 Méthodes itératives classiques 13


2.1 Approche générale . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.1 Principe général . . . . . . . . . . . . . . . . . . . . . . 15
2.2 méthode de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.1 Principe de la méthode de Jacobi . . . . . . . . . . . . 16

3
4 TABLE DES MATIÈRES

2.2.2 Algorithme de la méthode de Jacobi . . . . . . . . . . 18


2.3 Méthode de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . 20
2.3.1 Principe de Gauss-Seidel . . . . . . . . . . . . . . . . . 20
2.3.2 Algorithme de la méthode de Gauss Seidel . . . . . . . 21
2.4 Méthode de Relaxation . . . . . . . . . . . . . . . . . . . . . . 23
2.4.1 Principe de relaxation . . . . . . . . . . . . . . . . . . 23
2.4.2 Algorithme de la méthode de Relaxation . . . . . . . . 24
2.5 Comparaison des matrices itératives . . . . . . . . . . . . . . . 26
2.5.1 Cas des matrices tridiagonales . . . . . . . . . . . . . . 27

3 Méthodes du gradient et du gradient conjugué 29


3.1 Méthode de gradient à pas constant . . . . . . . . . . . . . . . 31
3.2 Méthode de gradient à pas optimal . . . . . . . . . . . . . . . 32
3.3 Méthode de gradient conjugué . . . . . . . . . . . . . . . . . . 33

4 Implementation (Test Numérique] 39


4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.1.1 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . 42
INTRODUCTION

La résolution des systèmes linéaires est un problème qui apparaı̂t fréquemment


dans les modélisations de phénomènes physiques.Les méthodes d’analyse
numérique matricielle permettent de résoudre certains problèmes mathématiques
et techniques,et dont on cherche à déterminer une solution approchée à l’aide
d’un calculateur.
Aujourd’hui , il existe des logiciels qui utilisent les méthodes numériques
développés dans ce rapport. Ce rapport est structuré en quatre chapitres qui
traitent des compléments sur les matrices ,de méthodes itératives classiques
, méthode de gradient et enfin le test numérique.

5
CHAPITRE 1

RAPPELS ET COMPLÉMENTS MATHÉMATIQUES

1.1 définitions :

Soient E un espace vectoriel de dimension finie sur K ( Rou C), U ∈ E


,(ei )i=1,n une base de E et x ∈ E , on a
n
X
x= xi e i
i=1

On définit :
xT = (x1 , ....xn ) vecteur transposé de x.
x∗ = (x1 , ...., xn ) vecteur conjugué de x .

1.1.1 Produit scalaire :

On note hx, yi le produit scalaire des vecteurs x et y de E


Cas euclidien : (K = R) : hx, yi = ni=1 xi yi = y T .x
P

Cas Hermitien : (K = C) : hx, yi = ni=1 xi y i = y ∗ .x


P

6
1.2 Matrices 7

1.1.2 Orthogonalité

-Si hx, yi = 0 , on dit que x et y sont orthogonaux et on note x⊥y.


-Pour A ⊂ E , on note

A⊥ = {x ∈ E/ha, xi = 0, ∀a ∈ A}

L’ensemble A⊥ est dit orthogonal de A. On dit qu’une famille (xi )i∈I (I ⊂ N)


est orthogonale si hxi , yj i = 0 pour i 6= j.
(xi )i∈I (I ⊂ N) est dite orthonormale si hxi , yj i = δij ∀i, j ∈ I

1.2 Matrices
• Transposée d’une matrice
La transposée de A notée AT est l’unique matrice appartienne à A ∈
Mn,m (R) définit par hAX, Y i = hX, AT Y i avec X ∈ Rm etY ∈ Rn .
• Adjointe d’une matrice
L’adjointe de A notée A∗ est l’unique matrice appartienne à A ∈
Mn,m (C) définit par hAX, Y i = hX, A∗ Y i avec X ∈ Cm etY ∈ Cn .

1.2.1 Propriétés :

A = (aij ) A∗ = (a∗ij )
• a∗ij = aji
• (A + B)∗ = (A)∗ + (B)∗
• (AB)∗ = (B)∗ .(A)∗

1.2.2 Matrices carrées

Soit A ∈ Mn (K), A est inversible s’il existe A0 ∈ Mn (K) telle que AA’
=A’A = I
A’ sera notée A−1
1. (A.B)−1 = B −1 .A−1
8 Rappels et Compléments mathématiques

2. (AT )−1 = (A−1 )T


3. (A−1 )∗ = (A∗ )−1
Si A est non inversible ,on dit que A est singulière.

Définition 1.2.1. Une matrice carrée A ∈ Mn (R) est :


— symétrique ⇐⇒ AT = A
— orthogonale ⇐⇒ AT .A = A.AT = I
Une matrice carrée A ∈ Mn (C) est :
— hermitienne⇐⇒ A∗ = A
— unitaire ⇐⇒ A∗ .A = A.A∗ = I
— normale ⇐⇒ A∗ .A = A.A∗

Définition 1.2.2. A = (aij )


A est dite tridiagonale ⇐⇒ aij = 0 ∀ i 6∈ {j − 1, j, j + 1}
Xn
Trace de la matrice A est donnée par : tr(A) = aii
i=1
tr(A+B)=tr(A)+tr(B)
tr(AB)=tr(BA)

Définition 1.2.3. On appelle valeurs propres de A les racines du po-


lynôme caractéristique de A définie par : P(X)= det (A-XI).
Spectre de A :
sp(A) = {λ/λvaleur
X propre de A}
tr(A) = λ
λ∈sp(A)
Y
det(A) = λ
λ∈sp(A)
Rayon spectral :
ρ(A) = max{| λ | /λ ∈ sp(A)}

Définition 1.2.4. Soit A ∈ Mn (C) A = (aij ).


A est dite à diagonale dominante (resp à diagonale strictement dominante )
si n
X
| aii |≥ | aij | ∀i ∈ {1, ........, n}
j=1,j6=i

n
X
(resp | aii |> | aij | ∀i ∈ {1, ........, n})
j=1,j6=i
1.3 Norme vectorielle-Norme matricielle 9

Définition 1.2.5. (Matrice définie positive) Une matrice symétrique A


dont les éléments sont des nombres réels, est définie positive si pour tout
vecteur x ∈ Rn n non nul on a xT Ax > 0.

1.3 Norme vectorielle-Norme matricielle

1.3.1 Norme vectorielle :

Soit E un espace vectoriel de dimension n. Une application k.k :E−→


+
R est une norme vectorielle sur E si k.k satisfaisant les trois axiomes
suivants :
1. kxk = 0 ⇐⇒ x = 0.
2. ∀λ ∈ K,∀x ∈ Ekλxk =| λ | kxk
3. ∀x, y ∈ Ekx + yk 6 kxk + kyk.

n
! p1
X
Proposition 1.3.1. 1. ∀p > 1k.kp = | xi | est une norme.
i=1
2. k.k∞ définie une norme appelée norme infinie.
3. k.k2 définie une norme appelée norme euclidienne.

1.3.2 Norme matricielle :

Définition 1.3.1. une norme matricielle |k . |k: Mn (K) −→ R+ est une


application vérifiant :
1. |k A |k= 0 ⇐⇒ A = 0.
2. ∀λ ∈ K,∀A ∈ Mn (K) |k λA |k=| λ ||k A |k
3. ∀A, B ∈ Mn (K) |k A + B |k6|k A |k + |k B |k .
4. ∀A, B ∈ Mn (K) |k A.B |k6|k A |k . |k B |k .

Théorème 1.3.1. Soit k.k une norme vectorielle sur E, alors l’application
k . k: Mn (K) −→ R+ définie par k A k= supx∈E−0 kAxk
kxk
est une norme appelée
10 Rappels et Compléments mathématiques

norme induite, de plus on a :

kAxk
kAk = supkxk61
kxk

kAxk
kAk = supkxk=1
kxk
Remarque. 1. kAxk 6 kAk.kxk ∀x ∈ E.
2. ∃u ∈ E − 0 tel que k Auk = kAk.kuk
3. kAk = inf α ∈ R+ kAxk 6 αkxk ∀x ∈ E.
4. kIk = 1.

Théorème 1.3.2. Soient k.k1 , k.k2 , k.k∞ les normes induites des normes
vectorielles 1 , 2 et ∞. A ∈ Mn (K); A = (aij )1≤i≤n,1≤j≤n
Alors :
Xn
1. kAk1 = maxj=1,....,n | aij |
i=1
p p
2. kAk2 = ρ(A∗ A) = ρ(AA∗ ) = kA∗ k2
n
!
X
3. kAk∞ = maxi=1,....,n | aij |
j=1

4. si A est normale alors kAk2 = ρ(A)

Définition 1.3.2. L’application k.kF : Mm,n (K) −→ R+ telle que :


p
kAkF = tr(A∗ A) est une norme matricielle appelée norme de Frobenius
vérifiant :

∀A ∈ Mm,n (K) kAk2 6 kAkF 6 nkAk2

Théorème 1.3.3. 1. Soitk.k une norme matricielle sur Mn (K) Alors :


ρ(A) 6 kAk
2. ∀A ∈ Mn (K) et ∀ > 0 il existe au moins une norme telle que :kAk 6
ρ(A) + .

Démonstration. Soient λ une valeur propre de A telle que | λ |= ρ(A)


et p un vecteur propre associé .Nous avons donc

p 6= 0etAp = λp
1.4 Suite de vecteurs-suites de matrices : 11

Si q est un vecteur tel que la matrice pq T 6= 0, alors

Apq T = λpq T

Par conséquent

kApq T k =| λ | kpq T k = ρ(A)kpq T k

Or kApq T k 6 kAkkpq T k.Donc

ρ(A)kpq T k 6 kAkkpq T k

Comme pq T 6= 0,nous déduisons

ρ(A) 6 kAk.

Admis

1.4 Suite de vecteurs-suites de matrices :

Définition 1.4.1. Soit E un espace vectoriel de dimension n sur K ( Rou


C)et soit (vk )k≥0 une suite d’éléments de E , on dit que (vk )k≥0 converge vers
v∈E
(on note lim vk = v) si
k→+∞

lim kvk − vk = 0
k→+∞

Définition 1.4.2. Soit E un espace vectoriel de dimension n sur K ( Rou


C)et soit (vk )k≥0 une suite d’éléments de E , on dit que (vk )k≥0 converge vers
v∈E
(on note lim vk = v) si
k→+∞

lim kvk − vk = 0
k→+∞
12 Rappels et Compléments mathématiques

Définition 1.4.3. soit (Ak )k≥0 une suite d’éléments de Mn (K) , on dit que
(Ak )k≥0 converge vers A ∈ Mn (K)
(on note lim Ak = A) si
k→+∞

lim kAk − Ak = 0
k→+∞

soit (A ∈ Mn (K) ,alors les conditions suivantes sont équivalentes :


1. lim Ak = 0
k→+∞

2. lim Ak x = 0 x∈E
k→+∞

3. ρ(A) < 1
4. il existe au moins une norme matricielle telle que :kAk < 1.

Démonstration. (1)=⇒ (2)


Supposons que l’égalité est (1) satisfaite. Par suite lim k Ak k= 0, car pour
k→+∞
toute norme subordonnée nous avons 0 6k Ak x k6k Ak kk x k ∀x ∈ E
d’où lim Ak x = 0.
k→+∞
(2)=⇒(3)
Supposons que ρ(A) > 1 .Il existe p = 6 0, p ∈ K tel que : Ap = λp où
| λ |= ρ(A).
En multipliant à gauche par Ak−1 avec k ∈ N∗ ,on obtient

Ak p = λk p

. Par conséquent
k Ak p k=| λk |k p k>k p k

.
Ceci est absurde car,d’après (2)

lim Ak x = 0 >k p k> 0


k→+∞

.
D’où ρ(A) < 1
CHAPITRE 2

MÉTHODES ITÉRATIVES CLASSIQUES

Notre objectif dans ce chapitre est l’étude de quelques méthodes itératives


pour la résolution du système algébrique

Ax = b (2.1)

Avec A ∈ Mn (R) inversible et b∈ R∗n . Il est parfois plus intéressant


de chercher à atteindre l’unique solution u de ce système comme une limite
de suite et on se propose dans ce chapitre de décrire trois méthodes parmi
les plus classiques pour atteindre ce but.
Ces méthodes que nous allons considérer reposent sur la caractérisation de la
solution du système linéaire (2.1) comme point fixe d’une fonction obtenue
à partir de la matrice A et du seconde membre b.

2.1 Approche générale

On écrit A sous la forme

A=M −N

13
14 Méthodes itératives classiques

avec M inversible, d’inverse assez facile à calculer, comme par exemple A


diagonale ou triangulaire.
u est solution de (2.1) si et seulement si Mu = Nu +b c’est à dire

u = M −1 N u + M −1 b = φ(u)

Avec φ : x → M −1 N x + M −1 b Ainsi si nous posons

B = M −1 N et c = M −1 b

alors u est solution de 2.1est équivalent à dire que u vérifie

u = Bu + c (2.2)

ou encore que u satisfait


(I − B)u = c (2.3)

I −B = I − M −1 N = I − M −1 (M − A) = M −1 A

et l’inversibilité de A revient à la condition : (I-B) est inversible.


Notons que la relation 2.1 montre que si la suite de récurrence :
(
u0 quelconque
uk+1 = Buk + c (2.4)

est convergente,alors sa limite est la solution u des systèmes (2.1) et (??).


Cela nous permet de poser la définition suivante :

Définition 2.1.1. On dit que la méthode itérative associée à une matrice A


et à une décomposition A = M - N converge si et seulement si, pour tout
second membre b et toute condition initiale u0 la suite de terme général uk
converge vers la solution u. La matrice correspondante B est appelée matrice
de la méthode itérative ou matrice de l’itération.

Remarque. Le calcul des termes de la suite (uk ) est immédiat.En effet,

B = M −1 N, A = M − N
2.1 Approche générale 15

et M est facile à inverser,alors pour tout k, uk+1 s’obtient facilement par la


résolution du système :
M uk+1 = N uk + b

Lemme 2.1.1. (Condition nécessaire et suffisante pour la convergence


de la méthode (2.1)).
La methode (2.1) converge vers l’ unique solution du système linéaire (2.3)
si et seulement si ρ(M −1 N ) < 1.

Démonstration. Pour tout k > 0,soit le vecteur erreur e(k) := u(k) − u


associée à l’estimation u(k) .
Comme ρ(M −1 N < 1,il existe une norme matricielle subordonnée |k . |k telle
que |k M −1 N |k< 1.
D’autre part

e(k) = u(k) − u
= u(k) − φ(u)
= M −1 N u(k−1) − M −1 b − M −1 N u + M −1 b
= M −1 N (u(k−1) − u) = M −1 N e(k−1)
= (M −1 N )k e(0)

Donc
|k e(k) |k =|k (M −1 N )k e(0) |k 6|k (M −1 N )k |k|k e(0) |k,

et le seconde membre tend vers 0 lorsque k −→ ∞.

2.1.1 Principe général

Soit A =(aij ) ∈Mn (R) telle que

aii 6= 0 ∀i, 1 ≤ i ≤ n
16 Méthodes itératives classiques

On décompose A de la manière suivante A= D-E-F où D,F,F sont les matrices


définies par :
 
a1,1 · · · 0
 . .. .. 
D =  .. . . 
0 ··· an,n
 
0 −a1,2 · · · −a1,n
 .. .. .. 
 . . . 0 
E= .. ...

. ··· −an−1,n
 
 
0 ··· ··· 0
 
0 ··· 0 0
 ..  ..
 −a2,1 .
0  .
F = .

...

 .. ···

0 
−an,1 · · · −an,n−1 0

Elles sont donc respectivement diagonale ,triangulaire inférieure et tri-


angulaire supérieure.

2.2 méthode de Jacobi

2.2.1 Principe de la méthode de Jacobi

Le système linéaire Ax = b s’écrit


n

 X


 a1j xj = b1

i=1



 ..
.





 X n
aij xj = bi

 i=1
..


.





 X n

anj xj = bn




i=1
2.2 méthode de Jacobi 17

La méthode de Jacobi consiste, à chaque itération k, à résoudre chaque


équation par rapport à l’une des variables, les autres étant fixées à leurs
valeurs obtenues à l’itération précédente. Soit donc le vecteur x(k) donné,
alors on détermine successivement les composantes de x(k+1) par les formules :
 n
 (k+1)
X (k)



 a11 x1 = b1 − a1j xj

 j=2

 ..



 .
n


 (k+1)
X (k)
aii xi = bi − aij xj
j=1,6=i


.

..







 X n
(k+1) (k)
a x = bn − anj xj


 nn n


j=1,6=n

Le principe de la méthode de Jacobi consiste à poser

M =D et N =E+F

Cela explique pourquoi nous avons supposé que aii 6= 0 ∀ i 1≤i≤n


.Une telle hypothèse étant nécessaire pour que la matrice D soit inversible.
Ainsi,u vérifie le système (3.1) si et seulement si u satisfait

Du = (E + F )u + b

ce que nous pouvons écrire sous la forme :

u = D−1 (E + F )u + D−1 b

Cette égalité permet de poser la définition suivante :

Définition 2.2.1. La suite (uk ) telle que


(
u0 quelconque
uk+1 = D−1 (E + F )uk + D−1 b
définit la méthode de Jacobi pour la résolution du système (??).Sa matrice
18 Méthodes itératives classiques

de l’itération J = D−1 (E + F ) = D−1 (D − A) = I − D−1 A est dite matrice


de Jacobi.

Théorème 2.2.1. La méthode de Jacobi converge pour toute valeur initiale


u0 ∈ Rn si A est à diagonale strictement dominante
n
X
| aii |> | aij | ∀i = 1, ....., n.
j=1,i6=j

Démonstration : Nous avons


n
−1 −1
X | aij |
ρ(B) = ρ(D (E + F )) 6 kD (E + F )k∞ = maxi <1
i=1,i6=j
| aii |

2.2.2 Algorithme de la méthode de Jacobi

Le calcul dans chaque itération de cette méthode se présente de la façon


(k)
suivante : si uk = (ui )ni=1 et si nous entourons par des crochets [.] chaque
nouvelle composante calculée du vecteur

(k+1) n
uk+1 = (ui )i=1

, alors , du fait que


Duk+1 = (E + F )uk + b

nous avons
n

 (k+1)
X (k)



 a11 [u1 ] = b1 − a1j uj
j=2


n


 X
 a22 [u2(k+1) ] = b2 − (k)

 a2j uj
j=1,j6=2


 .
..


n


 (k+1)
X (k)
] = bn −

 a [u anj uj
 nn n


j=1,j6=n
2.2 méthode de Jacobi 19

(k+1)
Ainsi,une composante ui est telle que
n
X
(k+1) (k)
ui = (bi − aij uj )/aii
j=1,j6=i

Ce qui implique
n
X
(k+1) (k) (k)
ui − ui = (bi − aij uj )/aii
j=1

Algorithme : ENTREES :
— Les coefficients aij pour 1 6 i, j 6 n ;
— Les coefficients bi pour 1 6 i 6 n ;
(0)
— Les coefficients ui pour 1 6 i 6 n ;
— la tolérance ε ;
— le nombre maximum d’itérations N0 .
SORTIES :
Approximation de la solution u = (u1 , u2 , ........un ) ou message de non abou-
tissement.

Étapes :

1. Poser k= 1.
2. Tant que k6N0 faire les étapes de 3 à 6.
3. pour i=1,......,n.poser :
n
X
ui = (bi − aij u0j )/aii
j=1,j6=i

4. Si ku − u0 k 6 ε alors sortir (u = (u1 , u2 , ........un )) STOP.


5. Poser k=k+1
(0)
6. Pour i=1,....,n poser ui = ui .
7. Sortir (La méthode ne converge pas après N0 itérations).
20 Méthodes itératives classiques

2.3 Méthode de Gauss-Seidel

Soit A =(aij ) ∈Mn (R) telle que

aii 6= 0 ∀i, 1 ≤ i ≤ n

2.3.1 Principe de Gauss-Seidel

Il s’agit d’une modification de la méthode de Jacobi qui consiste à utiliser


pour chaque équation les composantes de x(k+1) déjà calculées, ceci conduit
aux formules

Xn
(k+1) (k)




 a x
11 1 = b 1 a1j xj


 j=2
..


.




i−1 n


 X X
(k+1) (k+1) (k)
aii xi = bi − aij xj − aij xj
j=1 j=i+1


.

..







 n−1
X
 (k+1) (k+1)
 ann xi


 = bi − anj xj
j=1

Le principe de la méthode de consiste à poser

M =D−E et N =F

ce que nous pouvons écrire sous la forme :

u = (D − E)−1 F u + (D − E)−1 b

Cette égalité permet de poser la définition suivante :

Définition 2.3.1. La suite (uk ) telle que


(
u0 ∈ Rn quelconque
uk+1 = (D − E)−1 F uk + (D − E)−1 b
2.3 Méthode de Gauss-Seidel 21

définit la méthode de Gauss-Seidel pour la résolution du système (??).Sa


matrice de l’itération G = (D − E)−1 F = (D − E)−1 ((D − E) − A) =
(I − (D − E)−1 A) est dite matrice de Gauss-Seidel.

Remarque La condition

aii 6= 0 ∀i, 1 ≤ i ≤ n

est nécessaire pour que la matrice triangulaire inférieure D-E soit in-
versible.

2.3.2 Algorithme de la méthode de Gauss Seidel

Le calcul dans chaque itération de cette méthode se présente de la façon


(k)
suivante : si uk = (ui )ni=1 et si nous entourons par des crochets [.] chaque
nouvelle composante calculée du vecteur

(k+1) n
uk+1 = (ui )i=1

, alors , du fait que


Duk+1 = (E + F )uk + b

nous avons
n

 (k+1)
X (k)



 a11 [u1 ] = b1 − a1j uj
j=2


n


 X
 a22 [u(k+1) (k)


2 ] = b2 − a2j uj
j=1,j6=2


 .
..


n


 (k+1)
X (k)
] = bn −

 a [u anj uj
 nn n


j=1,j6=n
22 Méthodes itératives classiques

(k+1)
Ainsi,une composante ui est telle que
n
X
(k+1) (k)
ui = (bi − aij uj )/aii
j=1,j6=i

Ce qui implique
n
X
(k+1) (k) (k)
ui − ui = (bi − aij uj )/aii
j=1

Algorithme :
ENTREES :
— Les coefficients aij pour 1 6 i, j 6 n ;
— Les coefficients bi pour 1 6 i 6 n ;
— Les coefficients u0i pour 1 6 i 6 n ;
— la tolérance ε ;
— le nombre maximum d’itérations N0 .
SORTIES :
Approximation de la solution u = (u1 , u2 , ........un ) ou message de non abou-
tissement.
Étapes :
1. Poser k= 1.
2. Tant que k6N0 faire les étapes de 3 à 6.
3. pour i=1,......,n.poser :

i−1
X n
X
ui = (bi − aij ukj − aij u0j )/aii
j=1 j=i+1

4. Si ku − u0 k 6 ε alors sortir (u = (u1 , u2 , ........un )) STOP.


5. Poser k=k+1
(0)
6. Pour i=1,....,n poser ui = ui .
7. Sortir (La méthode ne converge pas après N0 itérations.
2.4 Méthode de Relaxation 23

2.4 Méthode de Relaxation

2.4.1 Principe de relaxation

Soit A =(aij ) ∈Mn (R) telle que

aii 6= 0 ∀i, 1 ≤ i ≤ n

On décompose A de la manière suivante

D 1−w
A=( − E) − ( D + F) w 6= 0
w w
où D,E,F sont les matrices ainsi définies pour la méthode de Jacobi. Le
principe de la méthode de consiste à poser

D 1−w
M =( − E) et N =( D + F)
w w
ce que nous pouvons écrire sous la forme :

D 1−w D
u=( − E)−1 ( D + F )u + ( − E)−1 b
w w w
Cette égalité permet de poser la définition suivante :

Définition 2.4.1. La suite (uk ) telle que



 u0 ∈ Rn quelconque
D 1−w D
 uk+1 = ( − E)−1 ( D + F )uk + ( − E)−1 b
w w w
définit la méthode de de relaxation pour la résolution du système (??).Sa
matrice de l’itération
D 1−w
Tw = ( − E)−1 ( D + F ) = (D − wE)−1 ((1 − w)D + wF )
w w
est dite matrice de relaxation .

Remarques
24 Méthodes itératives classiques

D
1. La matrice − E est triangulaire dont les termes diagonaux aii /w sont
w
non nuls =⇒ cette matrice est inversible =⇒ Tw est bien définie .
2. pour w=1 la méthode se réduit à la méthode de Gauss-Seidel.

Théorème 2.4.1. Si aii 6= 0 ∀i, 1 ≤ i ≤ n alors


ρ(Tw ) 6 1 si et seulement si 0 < w < 2

Démonstration. Soient λ1 , λ2 , ....λn les valeurs propres de Tw alors


n
Y
detTw = λi
i=1
.
Or
det((1 − w)D + wF )
detTw =
det((D − wE))
n
Y
(1 − w)n aii
i=1
= n
Y
aii
i=1

= (1 − w)n .

Ce qui implique
n
Y
n
ρ(Tw ) >| λi |=| 1 − w |n
i=1

donc ρ(Tw ) >| 1 − w |,d’où ρ(Tw ) 6 1 si et seulement si 0 < w < 2

2.4.2 Algorithme de la méthode de Relaxation

Le calcul dans chaque itération de cette méthode se présente de la façon


(k)
suivante : si uk = (ui )ni=1 et si nous entourons par des crochets [.] chaque
nouvelle composante calculée du vecteur

(k+1) n
uk+1 = (ui )i=1
2.4 Méthode de Relaxation 25

, alors , du fait que

(D − wE)uk+1 = ((1 − w)D + wF )uk + b

Duk+1 = Duk + w(Euk+1 − Duk + F uk + b)

nous avons

Xn
(k+1) (k) (k)
] = a11 u + w(b1 −



 a11 [u1 a1j uj )

j=1


n


 (k+1) (k) (k+1)
X (k)
] = a22 u2 + w(b2 − a21 u1 −

 a22 [u2
 a2j uj
j=2

 ..


 .
n−1


 X
(k+1) (k) (k+1)
− ann u(k)

 ann [un ] = ann un + w(bn − anj uj

n


j=1

(k+1)
Ainsi,une composante ui est telle que
n
X
(k+1) (k)
ui = (bi − aij uj )/aii
j=1,j6=i

Ce qui implique
n
X
(k+1) (k) (k)
ui − ui = (bi − aij uj )/aii
j=1

Algorithme :
ENTREES :
— Les coefficients aij pour 1 6 i, j 6 n ;
— Les coefficients bi pour 1 6 i 6 n ;
— Les coefficients u0i pour 1 6 i 6 n ;
— la paramètre w
— la tolérance ε ;
— le nombre maximum d’itérations N0 .
SORTIES :
Approximation de la solution u = (u1 , u2 , ........un ) ou message de non abou-
26 Méthodes itératives classiques

tissement.
Étapes :
1. Poser k= 1.
2. Tant que k6N0 faire les étapes de 3 à 6.
3. pour i=1,......,n.poser :

i−1 n
(0) w X
k
X
ui = (1 − w)ui i (bi − aij uj − aij u0j )
aii j=1 j=i+1

4. Si ku − u0 k 6 ε alors sortir (u = (u1 , u2 , ........un )) STOP.


5. Poser k=k+1
(0)
6. Pour i=1,....,n poser ui = ui .
7. Sortir (La méthode ne converge pas après N0 itérations.

2.5 Comparaison des matrices itératives


Nous allons établir une comparaison entre deux méthodes itératives pour
la résolution d’un même système .Pour cela, désignons par (uk ) et (u0k ) les
méthodes itératives :

0
 u0 = u0
 quelconque
uk+1 = Buk + c

uk+1 = Bu0k + c0

Pour la résolution de 2.1. Nous supposons que ρ(B) < 1 et ρ(B 0 ) < 1.
Ainsi nous avons Bu + c = B 0 u + c0 = u

Définition 2.5.1. On dit que la suite (uk ) converge plus vite que la suite
k| B k k|
(u0k ) si pour toute norme matricielle k| . k| ona : lim =0
k→+∞ k| B 0k k|

Théorème 2.5.1. Si ρ(B) < ρ(B 0 ) < 1 alors la suite uk converge plus vite
que la suite u0k
2.5 Comparaison des matrices itératives 27

Démonstration. On sait que

2.5.1 Cas des matrices tridiagonales

On peut comparer les méthodes de Jacobi, de Gauss-Seidel et de sur-


relaxation successive dans le cas particulier des matrices tridiagonales.

Théorème 2.5.2. Si A est une matrice tridiagonale, alors les rayons spec-
traux des matrices d’itération des méthodes de Jacobi et Gauss-Seidel sont
liés par la relation
ρ(BGS ) = ρ(BJ )2

de sorte que les deux méthodes convergent ou divergent simultanément. En


cas de convergence, la méthode de Gauss-Seidel converge plus rapidement que
celle de Jacobi.

Pour démontrer ce résultat, on a besoin d’un lemme technique.

Lemme 2.5.1. Pour tout scalaire non nul µ, on définit la matrice tridiago-
nale A(µ) d’ordre n par :

 
a1 µ−1 c1 · · · 0
 ... ... 
 µb2 0 
A(µ) =  .. .. ..

. . µ−1 cn−1
 
 . 
0 ··· µbn an

Le déterminant de cette matrice ne dépend pas de µ. En particulier, on


a det(A(µ)) = det(A(1)) ∀µ ∈ C∗ .

Démonstration. Les matrices A(µ) et A(1) sont semblables, car si l’on intro-
duit la matrice diagonale d’ordre n inversible (µ étant non nul)
 
µ ···
0 0
..
µ2
 
 0 . 0 
Q(µ) = 
 .. ... ...


 . 0 
0 ··· 0 µn
28 Méthodes itératives classiques

on a A(µ) = Q(µ)A(1)Q−1 (µ), d’où le résultat.

Démonstration. théorème 3.13 Les valeurs propres de la matrice d’itération


de la méthode de Jacobi BJ = D−1 (E + F ) sont les racines du polynôme
caractéristique PBJ (λ) = det(BJ − λIn) = det(−D−1 )det(λD − E − F ).
De même, les valeurs propres de la matrice d’itération de la méthode de
Gauss-Seidel BGS = (D − E)−1 F sont les zéros du polynôme PBGS (λ) =
det(BGS − λIn ) = det((E − D)−1 )det(λD − E − F ).
Compte tenu de la structure tridiagonale de A, la matrice

A(µ) = λ2 D − µλ2 E − µ−1 F

est bien de la forme (3.10) et l’application du lemme 3.14 avec le choix µ =


λ−1 montre que

det(λ2 D − λ2 E − F ) = det(λ2 D − −λF ) = λn det(−E − F )

det(−D) n
d’où PBGS (λ2 ) = λ PBJ (λ) = λn PBJ (λ) De cette dernière re-
det(E − D)
lation, on déduit que, pour tout λ non nul, λ2 ∈ spect(BGS ) ⇐⇒ λ ∈
spect(BJ ),
et donc ρ(BGS ) = ρ(BJ )2 .
CHAPITRE 3

MÉTHODES DU GRADIENT ET DU GRADIENT


CONJUGUÉ

Problème :
On cherche à résoudre dans Rn l’équation Ax = b où A ∈ Mn (R), b ∈ Rn ,
n ∈ N. Nous allons ici étudier les méthodes de résolution dites variationnelles.

Principe :

On pose f : Rn −→ R telle que :

1
∀x ∈ Rn , f (x) = hAx, xi − hb, xi
2
avec A une matrice symétrique, réelle, définie et positive.

On définit le gradient de f en x ∈ Rn :

 
n ∂f
∀x ∈ R , ∇f (x) = (x) = Ax − b.
∂xi i∈{1,...,n}

29
30 Méthodes du gradient et du gradient conjugué

En effet : n n
1X X
f (x) = ai,j xi xj − b i xi
2 i,j=1 i=1
n n
1X X X
= ai,i x2i + ai,j xi xj − bi x i
2 i=1 i<j i=1

Donc :
∂f X X
(x) = ak,k xk + ai,k xi + ak,j xj − bk
∂xk i<k k<j
|{z}
=aj,k
X
= ak,k xk + ak,i xi − bk
i6=k
n
X
= ak,i xi − bk
i=1

= (Ax)k − (b)k

Démonstration. Notons (ei )16n la base canonique de Rn .

∂f f (x + hei ) − f (x) 1 1
(x) = lim = lim [h(< Ax, ei > − < b, ei >)+ h2 < Aei , ei >] =< Ax
∂xi h→0 h h→0 h 2

On en conclut que chercher les solutions de l’équation Ax = b revient à


chercher les solutions de l’équation ∇f (x) = 0.

De plus, si ∃x ∈ Rn , f (x) = infn f (y), alors ∇f (x) = 0. On va donc


y∈R
chercher à minimiser la fonction f .

Proposition 3.0.1. Soit f :n → telle que f (x) = 21 hAx, xi − hb, xi avec A


2
symétrique et définie positive. Alors ∀α > 0 tel que α < ρ(A) , on a :

f (x − α∇f (x)) < f (x)


3.1 Méthode de gradient à pas constant 31

Démonstration.
1
f (x − α∇f (x)) = hA(x − α∇f (x)), (x − α∇f (x))i − hb, (x − α∇f (x))i
2
1 1 1
= hAx, xi − hb, xi − hAx, α∇f (x)i − hAα∇f (x), xi + hb, α∇f (x)i
2 2 2
1
+ hAα∇f (x), α∇f (x)i
2
1 1
= hAx, xi − hb, xi − hAx, α∇f (x)i + hb, α∇f (x)i + hAα∇f (x), α∇f (x)i
2 2
2
α
= f (x) − αhAx − b, ∇f (x)i + hA∇f (x), ∇f (x)i
2
2
α
= f (x) − αk∇f (x)k2 + hA∇f (x), ∇f (x)i
2

Or hA∇f (x), ∇f (x)i ≤ ρ(A)k∇f (x)k2 car dans une base orthonormée qui
diagonalise A, ∀u ∈n , hAu, ui = λi u2i ≤ ρ(A)kuk2 .
P
i

Donc :

α2
f (x − α∇f (x)) ≤ f (x) − αk∇f (x)k2 + ρ(A)k∇f (x)k2
2
α
≤ f (x) −αk∇f (x)k2 (1 − ρ(A))
| {z }| 2
<0
{z }
2
>0 si α< ρ(A)

≤ f (x)

3.1 Méthode de gradient à pas constant

Principe :

On cherche, à partir d’un point x0 quelconque dans Rn à atteindre un


point x vérifiant Ax = b, donc tel que f (x) = infn f (y). A chaque étape, on
y∈R
va descendre un peu dans la direction de plus grande pente, de manière à se
rapprocher du point réalisant le minimum de la fonction.
32 Méthodes du gradient et du gradient conjugué

Idée :

i h
2
On prend x0 quelconque dans Rn , α ∈ 0, ρ(A) et on pose :

∀k ∈ N, xk+1 = xk − α∇f (xk )

Quel que soit le x0 de départ, la suite (xk )k∈N associée à la méthode de


gradient à pas constant converge vers x ∈ Rn vérifiant Ax = b.

Démonstration. Soit k ∈ N, on a xk+1 = xk − α∇f (xk ) = xk − α(Ax i k − b).h


2
On peut reconnaitre ici la méthode de Richardson, de paramètre α ∈ 0, ρ(A) .
Or on peut démontrer que, dans ce cas, cette méthode converge.

3.2 Méthode de gradient à pas optimal


Principe :

Au lieu d’avancer à pas constant dans la direction de plus grande pente,


on optimalise le pas à chaque étape. En fait, à chaque étape, on descend en
suivant la direction de plus grande pente tant que cela ne remonte pas.

Idée :

On prend toujours x0 quelconque dans Rn et :

∀k ∈ N, xk+1 = xk − αk ∇f (xk )

avec αk tel que :


d
(f (xk − α∇f (xk ))(αk ) = 0

3.3 Méthode de gradient conjugué 33

On explicite cette condition :


 
d d 1
(f (xk − α∇f (xk ))(αk ) = hA(xk − α∇f (xk )), xk − α∇f (xk )i − hb, xk − α∇f (xk )i (αk )
dα dα 2
α2

d 1
= hAxk , xk i − αhAxk , ∇f (xk )i + hA∇f (xk ), ∇f (xk )i
dα 2 2

− hb, xk i + αhb, ∇f (xk )i (αk )
= −hAxk , ∇f (xk )i + αk hA∇f (xk ), ∇f (xk )i + hb, ∇f (xk )i
= −h∇f (xk ), ∇f (xk )i + αk hA∇f (xk ), ∇f (xk )i
=0

On obtient donc que :

h∇f (xk ), ∇f (xk )i


αk =
hA∇f (xk ), ∇f (xk )i

Quel que soit le x0 de départ, la suite (xk )k∈N associée à la méthode de


gradient à pas optimal converge vers x ∈ Rn vérifiant Ax = b.

3.3 Méthode de gradient conjugué

Vecteurs conjugués
Soit A ∈ Mn (R) symétrique définie positive. Deux vecteurs u et v de Rn
sont dits A-conjugués si on a :

uT A v = hu, Avi = 0

Lemme 3.3.1. (Famille de vecteurs A-conjugués).Soit A ∈ Mn (R) symétrique


définie positive et F := (xi )16i6p une famille de vecteurs A-conjuguée.Alors
F est libre et p 6 n.Si p=n,alors F est une base de Rn .
Principe :

Dans cette méthode, on ne va pas se contenter d’optimiser le pas de des-


34 Méthodes du gradient et du gradient conjugué

cente mais on va aussi optimiser la direction de descente en choisissant des


directions A-conjuguées.

Soit {d1 , d2 , .........dn } n vecteurs A-orthogonaux.Donc (di )16i6n est une


base de Rn .
Soit x∗ ∈ Rn le minimum de J alors on peut écrire x∗ = ni=1 ρi di
P

Donc n
X

b = Ax = ρi Adi
i=1

en multipliant par dTk on trouve


n
X
dTk b = ρi dTk Adi
i=1

Or di , dk sont A-orthogonaux ,alors dTk Adi = 0∀i 6= k donc

dTk b = ρk dTk Adk

enfin on trouve
dTk b
ρk = T
dk Adk
Définition 3.3.1. Soit {d1 , d2 , .........dn } une famille de vecteur A-conjugués.
La méthode du gradient conjugué s’écrit

x0 donné
{
x(k+1) = x(k) + ρk dk
où ρk est calculé de manière optimale.

Soit x(0) ∈ Rn une estimation initiale de la solution et définissons le


résidu r(0) := b − Ax(0) .
Les directions de descente dk , k = 0, ...., sont obtenues comme suit :

d0 = r(0)
{
dk = r(k) − β(k) dk−) k = 1, ...., (4.1)

Une fois identifiée une direction dk appropriée , la mise à jour de la


3.3 Méthode de gradient conjugué 35

solution se fait en utilisant

x(k+1) = x(k) + ρk+1 dk (4.2)

Cela implique
r(k+1) = b − Ax(k+1)
= b − A(x(k) + ρk+1 dk )
= r(k) − ρk+1 Adk (4.3)

Pour déterminer les scalaires ρk et βk nous demandons pour 0 6 j 6 k − 1

< dk , dj >A = 0 (CG1)

< rk , dj >= 0 (CG2)

Les conditions (CG1) et (CG2) correspondant à la méthodes du gradient


conjugué et expriment le fait que la nouvelle direction dk et le résidu r(k)
sont respectivement A-orthogonale et orthogonal aux directions précédentes.
Il reste à construire les directions dk . Une idée consiste à partir du vecteur
des résidus qui est aussi le vecteur du gradient (et donc une direction de
descente) et de le corriger pour le rendre A-conjugué.

Lemme 3.3.2. (Existence des directions (dk ).


Pour tout x(0) ∈ Rn il existe des valeurs des paramètres ρk et βk ,k =
0, ...., et une famille de vecteurs ((dk )k=0,... telle que les conditions (CG1)-
(CG2)sont satisfaites pour l’itération définie par (4.2)et (4.3).

Démonstration. On a d0 = r(0) .Pour k=1 on a

d1 = r1 − β(1) d0 .
36 Méthodes du gradient et du gradient conjugué

On choisit β(1) tel que (CG1) soit vérifiée :

0 =< d0 , d1 >A
=< d0 , r(1) − β(1) d0 >A
=< d0 , r(1) >A −β(1) < d0 , d0 >A

< d0 , d1 >A
On obtient β(1) = On identifie ensuite la valeur de ρ1 qui assure
< d0 , d0 >A
la condition (CG2).

0 =< d0 , r(1) >


=< r(0) , r(0) − ρ(1) Ad(0) >
=< r(0) , r(0) > −ρ1 < d0 , d(0) >A

< d0 , r(0) >


On obtient ρ(1) =
< d0 , d0 >A
ce qui prouve l’existence de d1 .
Supposons maintenant (CG1)-(CG2) vérifiées pour k > 1 et prouvons
l’existence de ρk+1 , βk+1 et dk+1 tels que les deux conditions restent vraies.
En utilisant l’expression (4.1)pour rk+1 on a

< dk , r(k+1) > =< dk , r(k) − ρk+1 Adk >


=< dk , r(k) > −ρk+1 < dk , dk >A
à savoir ,(CG2) pour j=k est vérifiée pour

< dk , r(k) >


ρk+1 =
< dk , dk >A

Prouvons maintenant (CG2) pour tout 0 6 j 6 n − 1

< dj , r(k+1) > =< dj , r(k) − ρk+1 Adk >


=< dj , r(k) > −ρk+1 < dj , dk >A = 0
3.3 Méthode de gradient conjugué 37

venons maintenant à (CG1).Nous avons

< dk , dk+1 >A =< dk , r(k+1) − βk+1 dk >A


=< dk , r(k+1) >A −βk+1 < dk , dk >A = 0

et (CG1) pour j=k est donc vérifiée pour

< dk , r(k+1) >


βk+1 =
< dk , dk >A

Il ne reste qu’à prouver (CG1) pour 0 6 j 6 k − 1.


Puisque d0 = r0 et chaque nouvelle direction dk est obtenue à partir de rk et
des directions dj ,0 6 j 6 k − 1 ,on a

Ek+1 = V ect(d0 , ....., dk ) = V ect(r(0) , ....., r(k) ).


La condition (CG2) pour 0 6 j 6 k − 1 implique r(k+1) ∈ Vk+1 .D’autre
part,pour tout 0 6 j 6 k − 1,on a

1
Adj = (r(j) − r(j+1) ) ∈ Vk+1 ⇒< dj , r(k+1) >A = 0.
ρ(j+1)

En utilisant les remarques précédentes on trouve

< dj , d(k+1) >A =< dj , r(k+1) −β(k+1) dk >A =< Adj , r(k+1) >A −β(k+1) (dj , dk >A = 0

Ceci conclut la preuve.

Algorithme du gradient conjugué


D’aprés le lemme précedent nous avons
x(0) donné,  tolérance donnée
r = b − Ax , d0 = r(0) ,
(0) (0)

Tant que k rk k>  et k 6 N0 faire


Z k = Adk
38 Méthodes du gradient et du gradient conjugué

k rk k2
ρk =
< Z k , dk >
(k+1)
x = x(k) + ρk dk
r(k+1) = r(k) + ρk Z k
k rk+1 k2
βk =
k rk k2
d(k+1) = r(k) + βk dk
k =k+1
CHAPITRE 4

IMPLEMENTATION (TEST NUMÉRIQUE]

4.1 Introduction

Scilab est un langage interpréter, clone de MatLab, c’est-à-dire exclu-


sivement tourné vers le calcul matriciel, les graphiques et tout ce qui s’y
rapporte : équations différentielles, optimisation, . . .
On peut taper directement des instructions dans la console Scilab, mais il
est plus efficace de grouper ces commandes dans un fichier texte qui sera
exécuté ligne par ligne par Scilab. Il faut définir des fonctions dans un fichier
d’extension .sci et les commandes dans un fichier d’extension .sce.
Le plus simple pour créer ces fichiers est d’utiliser l’éditeur intégré de Scilab
et d’utiliser la commande CTRL+L pour charger les fonctions et/ou exécuter
les commandes dans la console.
2.2 Création d’une matrice quelconque Un des types de base de Scilab
est constitué par les matrices de nombres réels ou complexes. La façon la plus
simple de définir une matrice (un vecteur, ou un scalaire, qui ne sont que des
matrices particulières) dans l’environnement Scilab est d’entrer au clavier la
liste de ses éléments, en adoptant les conventions suivantes :
-Les éléments d’une même ligne sont séparés par des espaces ou des virgules.
-La liste des éléments doit être entourée de crochets.

39
40 Implementation (Test Numérique]

-Chaque ligne, sauf la dernière, doit se terminer par un point virgule.


-On peut se passer de crochets pour entrer un scalaire.

Par exemple, la commande :


−− > A = [1, 2, 3; 5, 4, 3; 1, 1, 1]
produit la sortie : A =
!1. 2. 3.!
!5. 4. 3.!
!1. 1. 1.!
La matrice est bien sûr gardée en mémoire pour un usage ultérieur. En fait,
si vous terminez l’instruction par un point virgule, le résultat n’apparaı̂t pas
à l’écran.
Essayez par exemple :
−− > b = [10, 56, 23, 1]; Le vecteur b ne s’affiche pas car la commande
se termine par un point virgule.
Pour voir le contenu de b :
−− > b

et la réponse de Scilab est la suivante : b =

! 10. 56. 23. 1. !


Lacommande ’ permetdetransf ormerunvecteurligneenvecteurcolonne.Ainsi, pouravoirlatr

–¿b’

2.3 Quelques matrices et vecteurs types

Il existe des fonctions pour construire des matrices et vecteurs types,


dont voici une première liste :
2.3.1 Matrice Identité

Les arguments de la fonction eye(n,m) sont le nombre de lignes n et le


4.1 Introduction 41

nombre de colonnes m de la matrice. Ainsi, pour obtenir une matrice identité


de dimension 4*4, on tape :
−− > I = eye(4, 4)
2.3.2 Matrices Diagonales

Pour obtenir une matrice diagonale dont les éléments diagonaux sont les
composantes d’un vecteur, on effectue :
−− > B = diag(b)
Appliquée sur une matrice, la fonction diag permet d’en extraire la diagonale
principale sous la forme d’un vecteur colonne :
−− > b = diag(B)
2.3.4 Les parties triangulaires d’une matrice

Les fonctions triu et tril permettent d’extraire respectivement la partie


triangulaire supérieure (u comme upper) et inférieure (l comme lower) d’une
matrice : −− > U = triu(C)
−− > U = tril(C)
4.1 L’algèbre linéaire
4.1.1 Calcul de déterminant

Afin de calculer le déterminant d’une matrice, il suffit d’employer la fonc-


tion det

par exemple :

−− > A = [1, 3, 2; 1, 1, 1; 0, 2, 3]
A=

! 1. 3. 2. !
! 1. 1. 1. !
! 0. 2. 3. !
42 Implementation (Test Numérique]

−− > det(A)
ans =

- 4.

4.1.2 Calcul de l’inverse d’une matrice

Afin de calculer l’inverse d’une matrice carrée, on utilisera la fonction


inv. On Tape :
−− > inv(A)
4.1.3 Rang et norme d’une matrice

La fonction utilisée pour calculer la rang d’une matrice est la fonction


rank, en ce qui concerne la norme on utilisera la fonction norm..On Tape :
−− > rank(A)
−− > norm(A)
6.1.4 Vecteurs et Valeurs propres

Les valeurs propres seront évaluées par la fonction spec alors que les
vecteurs propres sont évalués par la fonction bdiag.
On Tape :
−− > spec(A)
−− > bdiag(A).

4.1.1 Exemples

Exemple1 : Matrice à diagonale strictement dominante

 
3 1 −1
On considere la matrice A = 1 5 2
 

2 −1 −6
4.1 Introduction 43

   
2 1
et le second membre b =  17 , on a la solution exacte est x= 2
   

−18 3
On tape sous Scilab les instructions suivantes :
Méthode de Jacobi k = 10 ;
x = [0 ;0 ; 0]

A = [ 3 1 -1 ; 1 5 2 ; 2 -1 -6]
b = [2 ;17 ; -18]

D = diag(diag(A)) ;
N = D-A

for i=1 :k,


x( :,i+1) = D (N*x( :,i) + b) ;
x’
end
Ce qui nous affiche le résultat suivant :

0. 0. 0.
0.6666667 3.4 3.
0.5333333 2.0666667 2.6555556
0.8629630 2.2311111 2.8333333
0.8674074 2.0940741 2.9158025
0.9405761 2.0601975 2.9401235
0.9599753 2.0358354 2.9701591
0.9781079 2.0199413 2.9806859
0.9869149 2.0121041 2.9893791
0.9924250 2.0068654 2.9936209
0.9955852 2.0040666 2.9963308

Méthode de Gauss-Seidel k = 10 ;
x = [0 ;0 ; 0]
44 Implementation (Test Numérique]

A = [ 3 1 -1 ; 1 5 2 ; 2 -1 -6]
b = [2 ;17 ; -18]

M = tril(A) ;
N = M-A

for i=1 :k,


x( :,i+1) = M (N*x( :,i) + b) ;
end
x’

ans =

0. 0. 0.
0.6666667 3.2666667 2.6777778
0.4703704 2.2348148 2.784321
0.8498354 2.1163045 2.930561
0.9380855 2.0401585 2.9726688
0.9775034 2.0154318 2.9899292
0.9914991 2.0057285 2.9962116
0.9968277 2.0021498 2.9985843
0.9988115 2.000804 2.9994698
0.9995553 2.000301 2.9998016
0.9998335 2.0001127 2.9999257

Méthode de RELAXATION k = 10;


x = [0; 0; 0];
w = 1.1;
A = [ 3 1 -1 ; 1 5 2 ; 2 -1 -6]
b = [2; 17; −18]
D = diag(diag(A))
4.1 Introduction 45

M = tril(A)
F =M −A
E =D−M
for i=1 :k,
x( :,i+1) = ((D/w)-E)(F + ((1 − w)/w) ∗ D) ∗ x(:, i) + b);

end
x’
Ce qui nous affiche le résultat suivant :
−− > x0
ans =

0. 0. 0.
0.7333333 3.5786667 2.9128
0.4158489 2.0090146 2.7928786
0.9791652 2.0948156 2.9956899
0.9657374 1.9999527 2.9878767
0.9989984 2.0055593 2.9998259
0.9979979 1.9999611 2.9992904
0.9999543 2.0003262 2.9999944
0.9998829 1.9999956 2.9999584
0.9999981 2.0000191 2.9999999
0.9999931 1.9999996 2.9999976

(10) (10) (10)


Méthode x1 x2 x3
Jacobi 0.9955852 2.0040666 2.9963308
Gauss-seidel 0.9998335 2.0001127 2.9999257
Relaxation 0.9999931 1.9999996 2.9999976

On constate que les composantes de x obtenus par la méthode de relaxa-


tion sont plus précises que celles données par la méthode de Gauss-Siedel,qui
étaient plus précises que celles fournies par la méthode de Jacobi.
46 Implementation (Test Numérique]

Exemple2 :

 
1 2 −2
On considère la matrice A = 1 1 1
 

2 2 1
   
−5 1
et le second membre b =  2 , on a la solution exacte est x= −1
   

2 2
sous Scilab on trouve :

(3) (3) (3)


Méthode x1 x2 x3 Rayon spectral
Jacobi 1 -1 2 0.85
Gauss-seidel - 71 79 -14 2
Notons par J1 la matrice de l’itération de Jacobi et G1 la matrice de l’itération
de Gauss-seidel à A .
On a
0.85 = ρ(J1 ) < 1 < ρ(G1 ) = 2

,ce qui justifie la convergence de la méthode de Jacobi et non convergence de


la méthode de Gauss-seidel pour cette matrice.
Exemple3 :

 
2 −1 1
On considère la matrice A =  2 2 2
 

−1 −1 2
5
 
 
0  9 
 7 
et le second membre b =  2 , on a la solution exacte est x= 
  
 9 
 1
−2

3
sous Scilab on trouve :
BIBLIOGRAPHIE

47

Vous aimerez peut-être aussi