Sie sind auf Seite 1von 72

ANALYSE MATRICIELLE

Belkacem LAKEHALI
Uni. de Msila

Faculté de MI
Dpt de mathématiques

2017/2018
ii
Table des matières

1 Motivation et classi…cation des méthodes 1


1.1 Origine des problèmes de l’analyse numérique matricielle . . . 2
1.2 La méthode des di¤érences …nies pour un problème aus limites
en dimension 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Rappels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Les erreurs dans l’analyse . . . . . . . . . . . . . . . . . . . . 6
1.4.1 Erreur résiduelle . . . . . . . . . . . . . . . . . . . . . 6
1.4.2 Erreur absolue et relative . . . . . . . . . . . . . . . . . 7
1.5 Sensibilité et Conditionnement . . . . . . . . . . . . . . . . . . 7
1.6 Normes vectorielles . . . . . . . . . . . . . . . . . . . . . . . . 10
1.7 les normes matricielles . . . . . . . . . . . . . . . . . . . . . . 11
1.7.1 Relation entre rayon spectral et normes matricielles . . 13
1.8 Le conditionnement . . . . . . . . . . . . . . . . . . . . . . . . 14
1.8.1 Propriètés du conditionnement . . . . . . . . . . . . . . 17

2 Méthodes directes 19
2.1 Méthode d’élimination de GAUSS sur un exemple . . . . . . . 20
2.2 Description de l’algorithme . . . . . . . . . . . . . . . . . . . . 22
2.3 Elimination de Gauss avec changement de pivots . . . . . . . . 23
2.4 Utillité de la factorisation LU . . . . . . . . . . . . . . . . . . 24
2.5 Décomposiont de CHOLESKY . . . . . . . . . . . . . . . . . . 25
2.6 Factorisation LU en Matlab . . . . . . . . . . . . . . . . . . . 26

3 Méthodes itératives 27
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1.1 Critère d’arrêt de itérations . . . . . . . . . . . . . . . 29
3.2 Méthode de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3 Méthode de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . 37

iii
iv TABLE DES MATIÈRES

3.4 Convergence des méthodes itératives . . . . . . . . . . . . . . 39


3.4.1 Quelques résultats de convergence . . . . . . . . . . . . 40
3.5 Méthodes de relaxation . . . . . . . . . . . . . . . . . . . . . . 42
3.5.1 Méthode JOR . . . . . . . . . . . . . . . . . . . . . . . 42
3.5.2 Méthode SOR . . . . . . . . . . . . . . . . . . . . . . . 42

4 La méthode du gradient conjugué 47


4.1 Objectif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2 Rappels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2.1 Relations matricielles utiles . . . . . . . . . . . . . . . 47
4.2.2 Formes quadratiques . . . . . . . . . . . . . . . . . . . 48
4.3 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.4 Problème à résoudre . . . . . . . . . . . . . . . . . . . . . . . 49
4.5 Méthode des directions conjugué . . . . . . . . . . . . . . . . . 50
4.5.1 Calcul des directions conjuguées . . . . . . . . . . . . . 51
4.6 Méthode du gradient ou de la plus grande pente . . . . . . . . 52
4.6.1 Méthode du gradient à pas …xe . . . . . . . . . . . . . 55
4.6.2 Méthode du gradient à pas variable . . . . . . . . . . . 56

A Quelques programmes en MATLAB 59


A.0.3 Programme 1 : Factorisation LU sans pivot : . 59
A.0.4 Programme 2 : méthode de Jacobi . . . . . . . . 60
A.0.5 Programme 3 : méthode de Gauss-Seidel . . . . . . . . 61
A.0.6 Programme 4 : graphe d’une forme quadrature . . . . . 62
A.0.7 Deuxième exemple . . . . . . . . . . . . . . . . . . . . 63
Prélude

Ce manuscrit est un cours, qui a été donné aux étudiants de Master ma-
thématiques à l’universté de M’sila, durant six ans. Dans ces notes, on va
s’intéresser à des méthodes numériques de la résolution de grands systèmes
linéaires Ax = b, où A est une matrice réelle, carée,non singulière (i.e. inver-
sible ) et de grande taille.
Généralement, c’est rare de trouver la solution exacte de ce type de sys-
tèmes linéaires. Elle reste toujours succeptible aus erreurs d’arrondi. Plus
particulièrement avec les grands ssystèmes et avec le mal-conditionnement.
On essaye alors, de chercher des solutions approchées, bien sûr à l’aide d’un
ordinateur.
Ceci nous oblige à commettre des erreur, dites erreur d’arrondi car les
calculs numériques sur machine se font avec une précision …nis. la mémoire
disponible dans la machine est …nie, par conséquent, on ne peut pas repré-
senter les nombres réels qui ont un developpement décimal in…ni. Comme
par exemple, on peut représenter le nombre 1=3 mais pas son écriture déci-
male 1:333333::::. D’autre part la compxité des calculs qui pose le problème
de temps pour uun ordinateur. Pour la plus part des applications, on veut
obtenir un résultat en un temps raisonable, il est donc, important de pou-
voir estimer le temps que l’algorithme va utiliser pour résoudre un système
linéaire Ax = b. Pour cela on compte le nombre d’opérations (en Anglais :
‡ops ).
Les problèmes qui se ramènent à la résolution des grands sytèmes li-
néaires, c’est à dire avec un grand nombre d’inconnues, sont nombreux. On
présente ici, un exemple de modélisation d’un problème physique par une
équations aux dérivées partielles en dimension-2.
Une membrane élastique se déforme soud l’e¤et d’une pression de l’exte-
rieur, qu’on peut l’identi…er à une région plane R2 et si on lui applique
une force f normale à R2 , la membrane se déforme et prend une position

v
vi PREFACE

d’équilibre M .On pose u (x) 2 M la pos ;ition du point x = (x1 ; x2 )t . donc


M = u (x), comme il est ullistré dans la …gure suivante:

Ceci, nous conduit à un modèl mathématique, que l’on appelle souvent


Porblème aux limites c’est à dire équation de Poisson dans un ouvert de
R2 :, avec condition aux limites.
u = f ; sur
u = 0 ; sur @
Ce problème peut être discrétisé par la méthode des Di¤érences Finies.
Pour simpli…er la discrétisation, on prendra = ]0; 1[ ]0; 1[ puis on décom-
pose en (N + 1) intervalles avec un pas de discrétisation h = 1= (N + 1).
Cela nous donne un système linéaire Ax = b ayant une matrice tridiagonale
d’ordre n = (N + 1) (N + 1) de la forme :
0 1
4 1 0 : : 0
B 1 4 1 0 : 0 C
B C
B 0 1 4 1 0 0 C
A=B B :
C
B : : : : 0 C C
@ : : : 1 4 1 A
0 : : 0 1 4
Préface vii

Pour n = 4, on la matrice d’ordre 16 :

Si l’on prend h = 10 2 alors N ' 102 et A sera de l’ordre n = 104 , si


l’on prend h = 10 3 , on aura N ' 103 et la matrice A du système sera de
l’ordre 106 . Ce qui est infaisable de résoudre tels système avec la méthode de
Cramer.
Ce qui motive le cours d’analyse matricielle , dans lequel on propose
dans le premier chapitre les méthodes directes de la résolution des systèmes
linéaires, puis on présente dans le deuxième chapitre les méthodes itératives
come une alternative aux méthodes précèdentes. En…n, on donne un exposé
sur les méthodes de projection ( dites, méthodes itératives non stationnaires),
ou méthodes du Gradient Conjugué. Pour teminer, on donnera dans l’annexe,
quelques programmes en MATLAB.
Bibliographie
1. Al…o Quarteroni : "Méthodes numériques algorithmes, analyse et ap-
plications : ", Springer 2007.
viii PREFACE

2. A. Quarteroni, Riccardo Sacco et Paola Gervasio "Calcul Scienti…que


avec Matlab", Springer, 2010
3. R. L. Burden and J. D. Faires : "Numerical analysis", ninth edition,
BROOKS/COLE.
4. P. G. Ciarlet : "Introduction à l’analyse matricielle et à l-optimisation
" Masson, 1988.
5. Michele Schatzman : "Kumerical Analysis : a mathematical introduc-
tion" OXFORD University Press, 2002.,
6. W. Ford "Numerical lineare algebra with applications" Ac. Press 2010.
7. F. Jedrzejewski "Introduction aux méthodes numériques", Springer,
2005.
8. J. Rappaz et M. Picasso "Introduction à l’analyse numérique" Presses
polytechnique et univeritaires romandes, 2004.
Chapitre 1

Motivation et classi…cation des


méthodes

Le but de ce cours est de présenter, tout en restant dans les limites rai-
sonables, les méthodes classiques d’analyse numérique matricielle pour la
résolution des systèmes linéaires, et de sensibiliser l’étudiant à l’importance
du choix de la méthode en fonction des propriètés du système.
On distinguera trois types de méthodes de résolution des systèmes d’équaions
linéaires :
1. Les méthodes directes qui donneraient la solution en un nombre …ni
d’opération, si l’on suppose que l’ordinateur faisait des calculs exacts ;
2. Les méthodes itératives stationnaires (classiques), où on calcule une
solution approchée, qui consiste à construire une suite x(n) n 0 qui
converge vers la solution exacte x ;
3. Les méthodes non-stationnaires qui sont des très avancées : méthodes
du gradient, les méthodes de Krylov et la généralisation de la Méthode
de Minimisation du Résidu ( GMRES ).
Une bibliogarphie succinte se trouve en …n de document
Le principal problème en analyse numérique matricielle est celui de la
résolution d’un système d’équations algèbriques linéaires de la forme
Ax = b
le problème est de trouver le vecteur solution x dans Rn , A est une matrice
carrée donnée d’ordre n à coe¢ cients réels et b est aussi un vecteur donné
dans Rn .

1
2CHAPITRE 1. MOTIVATION ET CLASSIFICATION DES MÉTHODES

La résolution d’un tel système est au centre de la plus part des calcules
scienti…ques en analyse numérique. La discrétisation d’équations di¤érentieels
ou équations aux dérivées partielles,mène souvent à la résolution des systèmes
linéaires de grandes taille avec pluieurs milliers d’inconnues par conséquent
il devient pratiquement impossiblede résoudre ces systèmes d’équationssans
l’utilisation d’ordinateur. IL s’agit alors de trouver des algorithmes de réso-
lution e¢ caces qui ne doit pas être coûteux en temps et calcul. Les systèmes
linéaires de la forme Ax = b interviennent dans un grand nombre de pro-
blèmes numériques, comme par exemple :
– Les problèmes d’interpolation, lorsque l’on cherche à construire une
fonction continue passant par N points (xi ; yi ) ;
– Le problème d’optimisation, par exemple le problème des moindres
carrées, où l’on cherche à trouver un vecteur x 2 Rn qui minimise
A(m n) b ;
– L’approximation des solutions des équations aux dérivées partielles, que
se soit par di¤érences …nies ou par éléments …nis.

1.1 Origine des problèmes de l’analyse numé-


rique matricielle

1.2 La méthode des di¤érences …nies pour un


problème aus limites en dimension 1
On considère le problème aux limites

u(2) (x) + c (x) u (x) = f (x) ; pour x 2 ]0; 1[ ;


(1.1)
u (0) = u (1) = 0.

où f et c sont donnés sur [0; 1] avec c 0.Un tel problème est appelé
problème aux limites, car la fonction inconnue doit satisfaire les condtions
aux limites u (0) = u (1) = 0 posées à la frontière de l’intervalle ouvert sur
laquelle l’équation di¤érentielle doit être satisfaite
La méthode d’approximation de la solution d’une équation di¤érentielle
par di¤érences …nies, consiste à approcher la valeur de la solution en un
nombre …ni des points, appelés points de discrétisation du maillage. A…n de
discrétiser ce problème de façon approchée , on introduit un entier N 1,
1.2. LA MÉTHODE DES DIFFÉRENCES FINIES POUR UN PROBLÈME AUS LIMITES EN DIMEN

un pas de discrétisation h = N 1+1 , et une grille (xi )0 i N +1 telle que xi = ih


et uune inconnue discrète (ui )0 i N +1 qui approche la solution du problème
aux limites précèdent au point xi ,et fi = f (xi ) A…n de prendre en compte
les conditions aux limites, on pose

u0 = 0 et uN +1 = 0.

On suppose que la solution u est quatre fois continûment dérivable sur l’in-
tervalle [0; 1]. La formule de taylor permet d0 écrire, pour i = 1; :::n :

h2 00 h3 (3) h4 +
u (xi+1 ) = u (xi ) + hu0 (xi ) +u (xi ) + u (xi ) + u(4) xi + i h
2 6 24
h2 00 h3 (3) h4
u (xi 1 ) = u (xi ) hu0 (xi ) + u (xi ) u (xi ) + u(4) xi + i h
2 6 24
+
avec 1 < i < i < 1.

d’où l’on déduit


00 h2 (4) +
u (xi+1 )+2u (xi ) u (xi 1 ) == h2 u (xi ) u xi + i h + u(4) xi + i h
24
D’après le théorème des valeurs intermédiaires
+
u(4) xi + i h + u(4) xi + i h = 2u(4) (xi + i h) ;
+
avec j i j max i ; i < 1, de sorte qu’on obtient …nalement

00 u (xi ) + 2u (xi ) u (xi+1 ) h2 (4)


u (xi ) = + u (xi + i h)
h2 12
2
avec j i j < 1 i = 1:::N . Le terme h12 u(4) (xi + i h) étant d’autant plus petit
que le pas h petit. On est naturallement conduit à le négliger et à dé…nir le
problème discret, en posant pour allèger l’écriture

ui = u (xi ) , ci = c (xi ) et fi = f (xi ) ; i = 1; :::; N .

L’équation est donc approchée au point xi par le schéma classique aux


di¤érences …nies :
1
ui 1 + 2 + ci h2 ui ui+1 = fi ; 1 i N (2)
h2
4CHAPITRE 1. MOTIVATION ET CLASSIFICATION DES MÉTHODES

La résolution de ce modèle discret, en tenant compte des condtions aux


limites, nous conduit à résoudre un système linéaire d’équations algèbriques
de matrice trididagonale :

1.3 Rappels
On appelle système d’équations algèbriques d’ordre n (n entier positif),
un système de la forme
Ax = b
où A (aij ), 1 i; j n désigne une matrice de taille n et b = (bi ), 1 i n
un vesteur collone réel et x = (xi ), 1 i n est le vecteur des inconnues du
système.

De…nition 1 Une matrice carrée est inversible ( régulière ) lorsqu’il existe


une matrice carrée A 1 telle que
1
AA = A 1 A = I.

Soit à résoudre le système linéaire Ax = b. Une condition nécessaire et


su¢ sante pour que ce système ait une solution unique il faut que le det(A)
soit non nul.
Si le det(A) = 0, alors
– si b 2 Im (A), le système admet une in…nité de solutions.
– si b 2 Rn Im (A) le système n’a pas de solution.

2x1 + 3x2 = 5
Example 2 Soit le système
4x1 + 3x2 = 1
le déterminant det (A) = 18, le système a une solution unique x1 =
x2 = 1:
1.3. RAPPELS 5

2x1 + 3x2 = 5
Example 3 Le système
4x1 + 6x2 = 10
det (A) = 0, alors le système a une in…nité de solutions :(1; 1)+ (3; 2) ;
( 2 R).

2x1 + 3x2 = 5
Example 4 et le système
4x1 + 6x2 = 9
encore det (A) = 0, mais le système n’admet pas de solution.

Theorem 5 Si A est inversible alors, le système Ax = b possède une et une


seule solution ; si A est singulière le système possède une in…nité de solution
ou aucunne solution.

Remark 6 La résolution de Ax = b est très simple dans plusieurs cas :


– si A est diagonale,
– si A est unitaire ; i.e. Si At :A = Id, alors A 1 = At ;
– si A est triangulaire inférieure ou supérieure.

Theorem 7 Les trois propriètés suivantes sont équivalentes, poir une ma-
trice carée A :
1. A est inversible,
2. det (A) 6= 0;
3. les vecteurs colonnes de A sont linéairement indépendants:

Malheuresement, les caractéristiques données par le théorème précèdent


ne peuvent être utilisées dans la pratique Le calcul d’un déterminant peut
être très couteux. La véri…cation numérique de l’indépendance linéaire d’un
ensemble de vecteurs s’avère di¢ cile. De plus, une matrice inversible peut
pareaitre comme "numériquement singulière"dans l’ordinateur, à cause des
erreurs d’arondi. Un système comme celui que l’on vient de décrire (issu de
la méthode des di¤érences …nis) sera construit à partir des valeurs mesurées.
On peut se poser la question de la sensibilité de la solution à d’éventuelles
erreurs de mesures. Plus généralement, le système étant résolu par ordinateur
en e¤ectuant un certain nombre d’opérations élémentaires, la solution sera
t-elle très a¤ectée par l’accumulation d’erreurs d’arrondis qu’implique cette
sucession d’opérations. Donc, en analyse numérique les problèmes concrets
font intervenir des matrices de très grandes tailles por lesquelles on ne peut
obtenir que des solutions approchées. Ceci soulève trois problèmes :
6CHAPITRE 1. MOTIVATION ET CLASSIFICATION DES MÉTHODES

1. le problème de résultat obtenu,


2. le problème du temps de calcul nécessaire et,
3. le problème de stabilité de la solution par rapport à des perturbations
( changements ) des données.

Théoriquement si A est non singulière, la solution est donnée pae la for-


mule de Cramer
det (Ai )
xi = ; i = 1; :::; n
det (A)
où Ai est la matrice obtenue en remplaçant la i eme colonne de A par le
vecteur b. Cependan, larésolution du système est inacceptable, car sont coût
de calcul est de l’ordre de (n + 1)! ‡oating point (opérations) en Anglais
f lops. En fait, le calcul de chaque déterminant nécessite (n + 1)! ‡ops. On a
donc n (n + 1)! opérations à e¤ectuer Prenons un exemple d’une machine qui
peut e¤ectuer 109 ‡ops/seconde (c’est un ordinateur puissant ) avec lequel
50 51!
on souhaite résoudre un système de 50 50, il faudrait secondes.
109
Soit
50 51!
9
' 2:45 1051 annees
10 360 24 360
c’est donc sans espoir. On a besoin donc, de deveolpper des algoritrthmes.alternatifs
avec un coût raisonable

1.4 Les erreurs dans l’analyse


1.4.1 Erreur résiduelle
C’est rarement qu’on trouve une solution exacte pour un système d’équa-
tions linéaires Ax = b, elle retse toujours succeptible aux erreurs d’arrondi
Ceci est specialement vraie avec les grands systèmes et avec le mal-conditionnement.
Dans cette section on va décrire les mesures qui peuvent être utlisées pour
quanti…er la précision ou estimer la grandeur de l’erreur d’une solution ap-
prochée.Soit x la solution exacte d’un système Ax = b et x e une solution
approchée, l’erreur exacte est dé…nie comme suit :

e=x e:
x
1.5. SENSIBILITÉ ET CONDITIONNEMENT 7

Cependant, cette erreur généralement n’est pas calculable, car la solution


exacte n’est plus disponible. Une mesure alternative de précision de la so-
lution est l’erreur résiduelle qui est dé…nie par : r = Ax Ae x, c’est à dire
que
r = b Ae x
Les deux exemples suivants, montrent qu’il n’est pas évident, comment
e d-un système linéaire Ax = b.
estimer la précision d’une solution approchée x
En particulier, ils illustrent
que le résidu peut donner une fausse information sur la proximitéde xeà
x.

1.4.2 Erreur absolue et relative


On dé…nit l’erreur absolue par la formule :

x = jx x ej
= jvaleur approchee (calculee) valeur theorique (exacte)j

et l’erreur relative par :

jx ej
x
rx =
jxj
jvaleur approchee (calculee) valeur theorique (exacte)j
=
jvaleur theorique (exacte)j

1.5 Sensibilité et Conditionnement


La soluton d’un système linéaire doit être stable c’est à dire peu sensible
aux perturbations, quand on subit des changements aux données (la matrice
A ou le second membre b du système Ax = b ).

Example 8 Considérons :

4:218613x1 + 6:327917x2 = 10:546530


(1.2)
3:141592x1 + 4:712390x2 = 07:853982

ce système admet la solution x1 = x2 = 1.


8CHAPITRE 1. MOTIVATION ET CLASSIFICATION DES MÉTHODES

1. Considérons maitenant un système d’équations voisin

4:218611x1 + 6:327917x2 = 10:546530


(1.3)
3:141594x1 + 4:712390x2 = 07:853980

qui admet donc, une solution, mais cette fois la solution est donnée
par x1 = 5 ; x2 = 5. On conclut donc que, bien que les deux deniers
systèmes sont voisins, leurs solutions sont très di¤érents.

Example 9 On considère le système linéaires d’équations


8
< 1 x1 + 1 x2 = 1
>
3 3
> 1
: x1 + 0:3x2 = 0
3
qui possède la solution x1 = 27, x2 = 30 On fait un petit changement au
coe¢ cient 0:3 dans la deuxième équation le système devient
8
< 1 x1 + 1 x2 = 1
>
3 3
> 1 1
: x1 + x2 = 0
3 3

qui n’a aucunne solution. Un petit changement dans les données 0:3 ! 13
a provoqué des grands changements dans les résultats, une perte totale de
solution. Comment l”expliquer ceci ? Peut-on le prédire ?

Example 10 Soit le système linéaire, sous la forme Ax = b,


0 10 1 0 1
10 7 8 7 x1 32
B 7 5 6 5 C B x2 C B 23 C
B CB C=B C
@ 8 6 10 9 A @ x3 A @ 33 A
7 5 9 10 x4 31

dont la solution est x = (1; 1; 1; 1)t .


Nous allons considérer successivement l’e¤et sur la solution d’une petite
perturbation de chacun des facteurs de ce système linéaire :
1.5. SENSIBILITÉ ET CONDITIONNEMENT 9

– Perturbation sur le second membre b : remplaçons b par eb = (32:1; 22:9; 33:1; 30:9)t
correspond à une ereur relative de 1=200 sur chacun des termes. La
solution de ce système devient x e = (9:2; 12:6; 4:5; 1:1)t , ce qui
conduit à une erreur de relative d’environ 10=1 ;
– Perturbation sur la matrice A : de même si l’on remplace la matrice A
par 0 1
10 7 8:1 7:2
B 5 C
Ae = B 7:08 50:4 6 C
@ 8 5:98 9:89 9 A
6:99 4:99 9 9:98
on obtient la solution ye = ( 81; 137; 34; 22)t qui n’a aussi plus
rien avoir avec x.

Example 11 Le système linéaire Ax = b avec


1 1 1
A= ; b= ; 0 < << 1:
1 1+ 1
a la solution
1 2
x=
2
mais si on change l’élément a22 de la matrice A de 1+ à 1 le système n0 aura
pas de solution,car lamatrice du système devient

e= 1 1
A
1 1
cela se produit indépendement de la grandeur du paramètre .

Example 12 Le système linéaire Ax = b avec


1 1 2
A= ; b= ; 0 < << 1:
1 1+ 2
possède la solution x = (2; 0)t en changeant le second membre b à

eb = 2
2+
la solution devient,alors x = (1; 1)t , qui est complètement di¤érente de la
solution initiale x.
10CHAPITRE 1. MOTIVATION ET CLASSIFICATION DES MÉTHODES

Le conditionnement d’un système linéaire n’a rien à voir avec la façon


dont on calcule la solution.du système linéaire. La sensibilité de la solution
du système peut être quanti…ée gràce à la notion de conditionnement d’une
matrice, notion liée directement aux normes des matrices.

1.6 Normes vectorielles


Dans le contexte de la solution d’un système linéaire, l’erreur constitue
un vecteur Si l’on a un grand système, le vecteur erreur aura un grand
nombre de composantes et par conséquent, il sera di¢ cile de contrôler les
composantes individuellement. On peut le combiner toutes en une seule er-
reur. Mathematiquement, cette combinaison est accomplie par les normes.
On commence par les normes vectorielles, avec lesquelles on on mesure la
grandeur d’un vecteur.

De…nition 13 Une norme vectorielle k:k est une fonction de Cn dans R


véri…ant trois lespropriètés :
1. kxk 0 pour tout x 2 Cn , kxk = 0 si et seulement si x = 0
2. kx + yk kxk + kyk pour tout x et y 2 Cn ( inégalité triangulaire )
3. k xk = j j kxk por tout 2 C, x 2 Cn ( homogénité ).

Las norems suivantes dites p norms sont très utiles en calcul ainsi qu’en
analyse.

Proposition 14 Soit x 2 Cn avec x = (x1 ; :::; x1 )t la p norm


!1=p
X
n
kxkp = jxi jp ; p 1
i=1

est une norme.

Les trois normes ci-dessous sont les normes les plus utilisées :
– La norme une (1 norm) :

X
n
kxk1 = jxi j
i=1
1.7. LES NORMES MATRICIELLES 11

– La norme euclidienne (2 norm) :


v
u n
uX
kxkp = t jxi j2
i=1

– La norme du maximum (1 norm) :

kxk1 = max jxi j :


1 i n

Example 15 – Si ei est un vecteur canonique i.e. un vecteur dont toutes


les composantes sont nulles sauf, la ieme qui vaut 1. Alors kei kp = 1
pour p 1.
– Si e = (1; 1; ::::; 1)t 2 Rn , alors

kek1 = n; kek1 = 1; kekp = n1=p ; 1 < p < 1.

– Si e = (1; 2; 3; ::::; n)t 2 Rn , alors


1
kxk1 = n (n + 1) ;
2
r
1
kxk2 = n (n + 1) (2n + 1);
6
kxk1 = n.

1.7 les normes matricielles


On a souvent besoin de séparer en norms les matrices des vecteurs. Pour
x = eb un système perturbé.
ce faire, soit Ax = b un système régulier et soit Ae
La norme de l’errerur absolue est

kx ek = A
x 1
b eb

A…n d’isoler la perturbation et obtenir une majoration de la forme kA 1 k b eb ,


on doit dé…nir les normes matricielles.

De…nition 16 Une norme matricielle k:k est une fonction de Rm n


dans R
véri…ant les trois propriètés suivantes :
12CHAPITRE 1. MOTIVATION ET CLASSIFICATION DES MÉTHODES

1. k:k 0 pour toute A 2 Rm n et k:k = 0 ssi A = 0.


2. kA + Bk kAk + kBk pour toutes A; B 2 Rm n
3. k Ak j j kAk pour tout 2 C, A 2 Rm n .

On peut mieux caractériser les normes matricielles, en introduisant la no-


tion de norme compatible et de norme subordonnée à une norme vectiorielle

De…nition 17 On dit qu’une norme matricielle k:k est compatible ou consis-


tante avec une norme vectorielle k:k si

kAxk kAk kxk ; 8x 2 Rn :

A…n de pouvoir dé…nir la notion de norme naturelle, nous rappelons le


théorème suivant :

Theorem 18 Soit k:k une norme vectorielle. La fonction


kAxk
kAk = sup
x6=0 kxk

est une norme matricielle. On l’appelle norme matricielle subordonnée ou


associée à la norme vectorielle. Remarquons que ceci est équivalent à

kAk = sup kAxk


kxk=1

que l’on peut véri…er facilement, en prenant pour tout x 6= 0 un vecteur


unitaire u = x= kxk.

Les normes matricielles subordonnées sont données par les p normes


kAxkp
kAkp = sup
x6=0 kxkp

La norme-1 (1 norm) et la norme in…nie (1 norm) se calculent facile-


ment :
X
n
kAk1 = max jaij j ; norme somme des colonnes
1 j n
i=1
Xn
kAk1 = max jaij j ; norme somme des lignes
1 i n
j=1
1.7. LES NORMES MATRICIELLES 13

Si A est une matrice symètriqe, alors

kAk2 = (A)

où (A) = max (valeurs absolue) qui est le rayon spectral.


Le calcul dekAk2 est donc beaucoup plus coûuteux que celui dekAk1 ou
kAk1 . Cependant, quand on a seulement besoin d’une estimation de kAk2 ,
les
relations suivantes peuvent être employées dans le cas des matrices carrées

max jaij j kAk2 nmax jaij j


i;j i;j
1 p
p kAk1 kAk2 n kAk1
n
1 p
p kAk1 kAk2 n kAk1
n
q
kAk2 kAk1 kAk1 :

1.7.1 Relation entre rayon spectral et normes matri-


cielles
Les liens entre rayon spectral et normes matricielles sont très utilisés dans
les méthodes de résolutions des systèmes linéaires :

Theorem 19 Si k:k est une norme matricielle consistante, alors

(A) kAk ;

pour toute matrice carrée. En e¤et,

j j kxk = k xk = kAxk kAk kxk

donc j j kAk. Cette égalité est vraie pour toute valeur propre de A. elle
est en particulier quand j j est égal au rayon spectral (A). En d’autre terme
(A) = inf (kAk).
k:k
14CHAPITRE 1. MOTIVATION ET CLASSIFICATION DES MÉTHODES

1.8 Le conditionnement
Le système Ax = b est sensible aux erreurs d’arrondis, c’est à dire, Une
erreur in…me sur le second membre donne comme conséquence une erreur
notable sur la
solution calculée. On dira que la matrice A est mal conditionnée ( ill-
conditioned)

De…nition 20 Soit A une matrice supposée inversible,.soit k:k une norme


matricielle consistante subbordonnée à une norme vectoriell sur Rn ,
1
cond (A) = kAk A :

Proposition 21 Pour toute matrice carrée A 2 Rn n


, on a

cond (A) 1:

En e¤et, pour toute norme subordonnée on a :


1 1
1 = kIk = AA kAk A = cond (A) :

L’intérêt du conditionnement repose sur le théorème d’estimation d’erreur


suivant :

Theorem 22 Soit A une matrice carée inversible, b 2 Rn et x une solution


dsystème Ax = b. Soit b 2 Rn une perturbation sur b et (x + x) une
solution de
A (x + x) = (b + b)
on l’appelle système perturbé. Alors
k xk k bk
cond (A)
kxk kbk
En e¤et, étant doné une système liéaire Ax = b en prenant la norme, on
obtient kbk = kAxk kAk kxk donc
1 1
kAk (1.4)
kxk kbk
Comme A (x + x) = (b + b), on a A ( x) = ( b) donc
1
( x) = A ( b)
1.8. LE CONDITIONNEMENT 15

En prenant la norme, il vient


1
k( x)k A k( b)k (1.5)

En…n en multipliant (1.4) par (1.5) membre à membre on tire :

k xk 1 k bk
kAk A :
kxk kbk
Ainsi le conditionnement d’une matrice contrôle la façon dont les erreurs
se propagent sur les solutions du système linéaires. Une petite incertitude
sur les données (A ou b) peut être ampli…ée de façon considérable dans la
solution du problème, dans ce cas on dit que la matrice du système est mal
conditionnée, cond (A) = kAk kA 1 k est très élevé. L’inconvénient la formule
du conditionnement cond (A) = kAk kA 1 k est qu’il n’est pas facile à calculer
d’autant plus que nous ne connaissons pas la forme explicite de la matrice
A 1.
Dans le cas particulier d’une matrice symètrique et pour la norme matri-
cielle k:k2 , on a néamoins le résultat qui nécessitepas le calcul de A 1 mais
seulement la connaissance des valeurs propres de A :

max
cond (A) =
min

où max est la valeur propre maximale et min est la valeur propre minimale.

Example 23 La matrice de Hilbert


1
H(n) = (hij ) ; où hij = ; 1 i; j n
i+j+1
0 1 1 1
1
1 2 3
H(n) = @ 1
2
1
3
1
4
A
1 1 1
3 4 5
est une matrice mal-condtionnée. On peut utiliser les commandes de Mat-
lab pour générer la matrice de hilbert puis le nombre de condtion et le dé-
terminant
>> H3=hilb(3)
>> cond(H3)
ans
16CHAPITRE 1. MOTIVATION ET CLASSIFICATION DES MÉTHODES

524.0568
>>det(H3)
ans
4.6296 10 4 :
Example 24 Soit le système
6x1 2x2 = 10
11:5x1 + 3:85x2 = 17
la solution de ce système est :
8
>
> a12 b2 a22 b1 ( 2) (17) (3:85) (10) 4:5
< x1 = = = = 45
a12 a21 a11 a22 ( 2) (11:5) (6) (3:85) 0:1
>
> a21 b2 a11 b1 (11:5) (10) (6) (17) 13
: x2 = = = = 130
a12 a21 a11 a22 ( 2) (11:5) (6) (3:85) 0:1
si on e¤ectue un petit changement sur l’élément a22 = 3:85 qui devient 3:84
le système perfurbé devient
6x1 2x2 = 10
11:5x1 + 3:84x2 = 17
la solution devient alors x1 = 110 et x2 = 325. Un petit changement da la
mtrice A a entrainé un grand changement dans la solution.
Pour voir ce phénomène, on a
6 2 1 38:5 20
A= et A =
11:5 3:85 115 60
en utlisant la norme in…ni (1 norm), on aura le nombre de condition
1
cond(A) = kAk1 : A 1
= (15:35) (175) = 2686:25
et
1
cond(A) = kAk1 : A 1
= (17:5) (153:5)
et untilisant la norme euclidienne (2 norm) le nombre de condition peut
être calculé pzr la fonction Matlab norm (A; 2)
1
cond(A) = kAk2 : A 2
= (13:6774) (136:774) = 1870:7.
Example 25 Considérons le système linéaire suivant (R. S. Wilson)
Ces résultats montrent que le nombre de condion est très élevé,peu importe
la norme untilisée. Ceci veut dire que ce système est mal-conditionné.
1.8. LE CONDITIONNEMENT 17

1.8.1 Propriètés du conditionnement


– Le conditionnement d’une matrice est toujours supérieur ou égal à un.
– cond ( A) = cond (A) ; pour tout scalaire 2 R.
– cond (A 1 ) = cond (A) :
– cond (I) = 1:
– L’erreur sur la solution est inférieure à l’erreur relative sur les données
multiplié par le conditionnement cond (A).
– Cette borne est optimale.
– La valeur du conditionnement dépend de la norm vectorielle utilisée.
18CHAPITRE 1. MOTIVATION ET CLASSIFICATION DES MÉTHODES
Chapitre 2

Méthodes directes

Dans ce chapitre, on considère un système d’équations linéaires d’ordre


N de la forme
Ax = b
A est une N N matrice régulière d’ordre N de coe¢ cients aij , 1 i, j N ,
donnés, b est un vecteur colonne à N composantes bj , 1 j N , données
et x un vecteur colonne à N composantes xj , inconnues.dans la suite , on
utilisera les notations suivantes
0 1 0 1 0 1
a11 a12 ::: a1N b1 x1
B a21 a21 ::: a2N C B b2 C B x2 C
B C B C B C
B : : : : C B : C B : C
A=B B :
C, b = B
C
C B
B : C et x = B : C
C
B : : : C B C B C
@ : : : : A @ : A @ : A
aN 1 aN 2 : a N N bN xN
Ce système peut être décrit explicitement sous la forme d’un système de N
équations à N inconnues x1 , x2 , :::, xN :
8
>
> a11 x1 + a12 x2 + ::: + a1N xN = b1
<
a21 x1 + a22 x2 + ::: + a2N xN = b2
(2.1)
>
> ::::::::::::::::::::::::::::::::::::::
:
aN 1 x1 + aN 2 x2 + ::: + aN N xN = bN .
On peut aussi l’écire sous la forme
X
N
aij xij = bi , i = 1; ::; N
j=1

19
20 CHAPITRE 2. MÉTHODES DIRECTES

De…nition 26 On dit que la matrice A est triangulaire supérieure si :

aij = 0, 8 i; j tel que 1 j<i N

et elle est triangulaire inférieure si

aij = 0, 8 i; j tel que 1 i<j N.

Supposons que la matrice A soit triangulaire supérieure. Nous constatons


alors que ladéterminant de A est le produit des éléments diagonaux aii et
comme A est supposée régulière. On a aii 6= 0, i = 1; 2; ::; N .et si on divise
chaque équations par le terme diagonal, donc la matrice obtenue sera une
matrice triangulaire supérieure avec des valeurs 1 dans sa diagonale. On
déduit successivement les inconnues xN , xN 1 , ::::, x. En e¤et, on a :

xN = bN

et pour i = N 1, N 2, ::::, 3, 2, 1 /

X
N
x i = bi aij xj . (2.2)
j=i+1

Dans le cas où la matrice A est régulière mais non nécesserement trian-


gulaire supérieure, alors la méthodes d’élimination de GAUSS aura pour but
de transformer le système Ax = b en un système équivalent ( i.e : possédant
la même solution ) triangulaire supérieur de la forme U x = b avec U matrice
triangulaire supérieure.

2.1 Méthode d’élimination de GAUSS sur un


exemple
On considère un exemple Ax = b, en prenant N = 3, pour présenter la
transformation d’un système linéaire en un système triangulaire supérieur
équivalent.
On choisit 0 1 0 1
4 8 12 4
A = @ 3 8 13 A , b = @ 5 A
2 9 18 11
2.1. MÉTHODE D’ÉLIMINATION DE GAUSS SUR UN EXEMPLE 21

ce système a pour solution x = (1; 3; 2)t .


Le système Ax = b s’écrit
8
< 4x1 + 8x2 + 12x3 = 4 l1
3x1 + 8x2 + 13x3 = 5 l2
:
2x1 + 9x2 + 18x3 = 11 l3

1. On fait les opérations suivantes :


8 0 0 1
< l1 l1 1 0 0
l0 3
l + l2 ! L1 = @ 43 1 0 A
4 1
: 20 2 2
l3 l + l3
4 1 4
0 1

On obtient le système
8
< 4x1 + 8x2 + 12x3 = 4
2x2 + 4x3 = 2 , L1 Ax = L1 b:
:
5x2 + 12x3 = 9

2. Ensuite on fait les opérations suivantes :


8 0 0 1
< l1 l1 1 0 0
l20 l20 ! L2 = @ 0 1 0 A
: 00 5 0 5
l3 l + l30
2 2
0 2
1

Le système obtenu est


8
< 4x1 + 8x2 + 12x3 = 4
2x2 + 4x3 = 2 , L2 (L1 A) x = L2 (L1 b) (2.3)
:
2x3 = 4

qui est un système trianglaire supérieur comme on voulait. Maintenat


il est facile de voir que

x3 = 2, x2 = 3 et x1 = 1

comme L2 L1 A est une matrice triangulaire notée U , en multipliant les


deux membres de cette égalité (2:3) par L1 1 L2 1

L 2 L1 A = U
1 1
L 1 L2 L 2 L1 A = L 1 1 L2 1 U
22 CHAPITRE 2. MÉTHODES DIRECTES

On obtient donc, la matrice A qui peut s’écrire sous la forme

A = LU

où 0 1
4 8 12
U =@ 0 2 4 A
0 0 2
est la matrice triangulaire supérieure …nale, tandis que la matrice triangulaire
inférieure 0 1
1 0 0
L = L1 1 L2 1 = @ 34 1 0 A
2 5
4 2
1
qui contient au dessus de la diagonale principale les "multiplicateurs mij "
qu’on a utilisés, 8
>
< L = (mij )
(k)
aik (2.4)
>
: mik = (k) ; i = k; :::; n
akk
à noter que mii = 1.
On parle dans ce cas de Factorisation LU de la matrice A.

2.2 Description de l’algorithme


Suite aux opérations de l’étape 1), on aobtenu iun système de la forme
A(1) x = b(1) avec
0 1 0 1
4 8 12 4
A(1) = @ 0 2 4 A , b(1) = @ 2 A
0 5 12 9

Les opérations de l’étape 2) produisent le système A(2) x = b(2) avec


0 1 0 1
4 8 12 4
(2)
A = @ 0 2 4 A (2)
,b = @ 2 A
0 0 2 4

Ce système est sous la forme voulue,triangulaire supérieure.


Le coût total de ce algorithme est de 23 n3 + 2n2 opérations (‡ops).
2.3. ELIMINATION DE GAUSS AVEC CHANGEMENT DE PIVOTS 23

Remark 27 A…n que l’algorithme de Gauss arrive à sa …n, il faut que tous
(k)
les termes akk dans l’équation (2:4) qui correspond aux termes diagonaux de
la matrice triangulaire supérieure U , et qu’on appelle pivots, soient non nuls.
Ceci peut être véri…t par exemple si :

1. La matrice A est symètrique dé…nie positive, i:e:le produit scalaire hx; Axi >
0 pour tout vecteur x non nnul ;
2. La matrice A est une matrice à diagonale dominante stricte, i:e ion

X
N
jaij j > jaij j 1 i n:
j=1;j6=i

2.3 Elimination de Gauss avec changement


de pivots
L’algorithme d’élimination de Gauss ne peut être executer qui si les pivots
successifs son nuls, i:e. les sous-matrices principales de A sont réguilières. On
dit que les mineurs principaux di de la matrice A sont non nuls. Notons que
di est le déterminant de la i eme sous-matrice principale de Ai qui est la
matrice constituée des i premières lignes et collones de A.
8
< 0x1 + 1x1 + 3x1 = 1
Example 28 Soit le système linéaire 5x1 + 2x2 + 3x3 = 4 Il est impos-
:
6x1 + 8x2 + 2x3 = 1
sible de traiter cet exemple par l’algorithme de Gauss car, dans ce cas, on
ne peut pas diviser la 1ere ligne par le 1er pivot qui est nul ( la première
sous-matrice est singulière d1 = det (0) = 0 ). On voit immédiatement que
les choses se présentent mieux si on échange la 1ere ligne avec la 3ere ligne,
on obtient alors 8
< 6x1 + 8x2 + 2x3 = 1
5x1 + 2x2 + 3x3 = 4
:
0x1 + 1x1 + 3x1 = 1

En e¤et, maintenant nous pouvons diviser la la 1ere ligne par le 1er pivot
a11 = 6 Cette manière de faire s’appelle pivotage partielle elle consiste à
changer deux équations dans le but d’avoir le plus grand pivot possible en
24 CHAPITRE 2. MÉTHODES DIRECTES

valeur absolue.
8 0 1
< l1 l1 1 2 3
l20 2
l + l2 ceci nous A(1) = @ 0 0 5 A
: 0 1 1
7
l3 l
1 1
+ l3 0 6 14
(1)
la deuxième étape ne peut être e¤ectuée car le deuxième pivot a22 vaut 0,
l’algorithme alors s’arrête. On remarque qui si on permute la deuxième ligne
avec la troisième, la forme désirée sera obtenue.
On peut maitenant énonncer le théorème suivant :
Theorem 29 Si A est une matrice carrée d’ordre n dont toutes les sou-
matrices principales sont régulières, alors il existe une décomposition unique
A = LU
où L est une matrice triangulaire inferieure, avec les valeurs 1 dans sa dia-
gonale. De plus la matrice U est celle obtenue par l0 algorithme de Gauss.

2.4 Utillité de la factorisation LU


1. L’intérêt principal de représenter la méthode d’élimination de Gauss
comme une méthode de factorisation LU et, si l’on a, à résoudre p
systèmes linéaires gouvernés par la même matrice A mais avec di¤érents
second membres b :
Al x = bl ; l = 1; :::; p:
il faut appliquer p l’algorithme d’élimination de Gauss qui augmente
le coût de l’algorithme à p 23 n3 + n2 opérations (‡ops). La factorisa-
tion LU est une alternative beaucoup plus avantageuse, qui consiste
à calculer une seul fois la factorisation de la matrice A, et le coût re-
vient à 32 n3 opérations. Ensuite, on résoud les p systèmes de la forme
(LU ) x = b de la façon suivante :
Ly = b (2.5)
Ux = y
Comme L et U sont des matrices triangulaires, la résolution des deux
systèmes (2:5) entraine seulement n2 opérations, en conclusion, le nombre
d’opérations nécessaires pour résoudre les p systèmes linéaires est 23 n3 + 2pn2 ;
pour plus de détails voir [?].
2.5. DÉCOMPOSIONT DE CHOLESKY 25

2. Un autre exemple d’utilité de la factorisation LU


Soit A une matrice carrée d’rdre n, on veut calculer son déterminat
det (A) Si on a A = LU , alors
det (A) = det (LU )
= det (L) det (U )
la matrice L est une matrice triangulaire inferieur a élèment diagonaux
lii = 1 et
Yn
det (A) = det (U ) = uii ; i = 1; :::; n.
i=1

Il est important de mentionner qu’il ne faut jamais utiliser la méthode


des mineurs pour calculer un déterminant En e¤et, cette méthode donne lieu
à n! opérations, on constate qui si n = 100, alors n! = 100! ' 10158 .Ce qui
conduit à un temps énorme pour executer ces 100! opérations.

2.5 Décomposiont de CHOLESKY


La méthode de Cholesky exige que la matrice A soit symètrique dé…nie
positive (SDP ), il existe une et une seule matrice triangulaire supérieure H
avec éléments diagonaux positifs, telle que
A = H t H.
Cette factorisation s’appelle factorisation de Cholesky et les éléments hii
de H peuvent être calculés par les formules
p
h11 = a11 ,
!
1 Xi 1
hik = aik hji hjk ; i = 1; :::; k 1,
hii j=1
v
u
u X
k 1
hkk = takk h2jk .
j=1

Example 30 Etant donné une matrice


0 1
2 1 2
A=@ 1 3 1 A
2 1 3
26 CHAPITRE 2. MÉTHODES DIRECTES

on peut véri…er facilement que A est symètrique dé…nie positive i.e. hAx; xi >
0 pour tout x 6= 0

Pour plus de détails voir le help de Matlab ( help gallery ), dans les
versions récentes.

2.6 Factorisation LU en Matlab


0 1
1 2 3
Example 31 Soit A = @ 2 4 5 A, alors les mineurs principaux sont de
7 8 9
1 2
A sont : d1 = det (1) = 1, d1 = det = 0. Il est évidentqu’il est
2 4
impossible de triater par cet algorithme.
E¤ectuant les opérations suivantes :
8 0 1
< l1 l1 1 2 3
l0 2
l + l2 ceci nous A(1) = @ 0 0 5 A
1 1
: 02 7
l3 & 1
l + l3 0 6 14
(1)
la deuxième étape ne peut être e¤ectuée car le deuxième pivot a22 vaut 0,
l’algorithme alors s’arrête. On remarque qui si on permute la deuxième ligne
avec la troisième, la forme désirée sera obtenue.

Le logigiciel Matlab implémente l’algorithme de factorisation LU d’une


matrice A dans la commande lu.
Les commandes Matlab suivantes permettent de calculer la factorisation
LU de lamatrice A :
>> A = [1; 2; 3; 2; 4; 5; 7; 8; 9] ;
>> [L; U; P ] = lu (A)
>> P
P =
0 0 1
0 1 0
0 0 0
L’algorithme de Matlab a changé la première ligne avec la troisième.
Chapitre 3

Méthodes itératives

3.1 Introduction
Les méthodes directes sont certes intéressantes, mais lorsque le système
devient de grande taille, les calculs deviennent trop fastidieux. A titre d’exemple
la méthodes de Gauss n’est pas adaptée aux systèmes de plus de vingt équa-
tions. De plus, les méthodes directes exigent un nombre d’opérations à virgule
‡ottante de l’ordre de n3 lorsque n tend vers l’in…ni ce qui les rend lentes
pour de grandes valeurs de n. D’autre part, les calculs sur machine ne nous
donnent pas la solution exacte à cause des erreurs d’arrondi ceci pose les
problèmes d’instabilité. Il s’avére donc, judicieux de rechercher une solution
approchée.
En e¤et, les méthodes itératives deviennent indispensables dès que la taille
n du système est très grande. De tels systèmes apparaissent par exemple
dans les techniques de résolution numérique d’équations aux dérivées par-
tielles. Les matrices des systèmes obtenus sont en général creuses "sparse"
(c’està-dire qu’elles ont beaucoup de 0). Comme on a vu, par example dans
la méthode des di¤érences …nis. Dans ce cas opeut utiliser les méthodes ité-
ratives de résolution, qui sont beucoup plus rapides, simples à programmer
et prennent moins d’espace dans la mémoire de la machine. En revanche le
temps de calcul souvent est trop long.
Dans ce chapitre, on met en place un type de méthodes numériques tout
à fait di¤érent. Il ne s’agit plus de résoudre un système linéaire de grande
taille mais plutôt de construire une suite de vecteurs x(k) k 1 convegeant

27
28 CHAPITRE 3. MÉTHODES ITÉRATIVES

vers la solution exacte x du système Ax = b

lim x(k) = x:
k!1

L’idée de base derrière une méthode itérative est premièrement, d’écrire le


système Ax = b sous une forme

x = Bx + c: (3.1)

Puis en commençant par une approximation initiale x(0) de la solution x et


on génére une suite d’approximation x(k) k 1 itérative dé…nie par

x(k+1) = Bx(k) + c; k = 1; 2; :::: (3.2)

sous certaines conditions, la suite ainsi construite x(k) k 1 converge vers la


solution x quand n tend vers l’in…ni. Pour résoudre itérativement, le système
linéaire Ax = b en utilisant cette idée on aura besoin donc, de savoir :
1. Comment écrire le système Ax = b sous la forme de (3:2) et
2. Comment peut-on choisir x(0) a…n que l’itération (3:2) converge vers la
limite, ou sous quelles conditions cette itération converge vers la limite
avec choix arbitraire de x(0) .
On appelle le vecteur résiruel à l’étape k

r(k) = b Ax(k)

et l’erreur à l’étape k
e(k) = x(k) x
C’est ce qu’on appelle une méthode itérative. Evidement une méthode
itérative converge si et seulement si l’erreur e(k) tend vers zero quand k tend
vers l’in…n. On dit aussi que la est convergente si r(k) ! 0 quand k ! 1. Le
calcul devrait être interrompu à la première itération pour laquelle l’erreur
est su¢ sament petite, c’est à dire le premier entier naturel k tel que

e(k) = x(k) x <

où est une tolérence …xée et k:k une norme matricielle subordonnée. Mais
comme la solution exacte n’est évidement pas connues il faudra dé…nir un
critère d’arrêt plus commode.
3.1. INTRODUCTION 29

3.1.1 Critère d’arrêt de itérations


Il est naturel de se demander quand est-ce que l’itération va être arrêtée.
Si la convergence est guarantie, x(k+1) sera une meilleure approximation que
x(k) . Deux choix naturels s’imposent alors. Avant de voir ces deux critères,
les risudus r(k) = b Ax(k) sont très faciles à calculer, on peut tester si
r(k) tol, avec tol une tolérance …xée. Puisque l’on a

e(k) = x(k) x = x(k) A 1 b = A 1 r(k) A 1


r(k)
on doit choisir tol telle que tol kA 1k :
Ce critère e(k) kA 1 k r(k) est mauvaise estimation si la norme
1
kA k est grande.
Criterion 32 L’arrêt de l’itération (3.2) si
x(k+1) x(k)
<
kx(k) k
pour un petit nombre positif ( peut être choisi selon la précision désirée ) ou
si le nombre d’itération prescrit dépasse le nombre d’itération prédédeterminé.
Criterion 33 Un deuxième critère d’arrêt en term du vecteur residuel r =
b Ax. L’arrêt de l’itération (3.2) doit être arrêtée si
r(k+1) = b Ax(k+1) kbk + Ax(k+1)
kbk + kAk x(k+1)
ou si le nombre d’itération dépasse le nombre d’itération prescrit, est la
tolérance qui doit être choisie de telle sorte que eps < < 1, eps est la
pécision de la machine.
En résumé, pour résoudre, itérativement, un système linéaire, on décom-
pose A = P N de telle sorte que la matrice P dite ( matrice de précondi-
tionnement ) soit facile à inverser, puis on construit la suite
x(0) 2 Rn donné
P x(k+1) = N x(k) + b; 8k 0:
Tout le problème consiste dès lors à bien choisir la décomposition P N .
Les trois décompositions proposées ci-dessous sont les trois méthodes les plus
connues.
30 CHAPITRE 3. MÉTHODES ITÉRATIVES

Theorem 34 Soit A une matrice symètrique dé…nie positive, décomposée


sous la forme
A = P N ; P matrice inversible.
Pour que la méthode itérative associée à cette décomposition converge, c’est
à dire
P 1N < 1 (3.3)
il su¢ t que la matrice hermitienne symétrique (P t + N ) soit dé…nie positive.

Proof.
1. Véri…ons tout d’abord que (P t + N ) est symètrique. Comme A = P
N , on a

P t + N = At + N t + N = A + N + N t = P + N t

2. Montron que (P 1 N ) < 1 revient à montrer que < 1.pour toute va-
leur propre de la matrice (P 1 N ). Soit une valeur propre quelconque
la matrice P 1 N:Soit donc, v 6= 0 tel que (P 1 N ) v = v: On pose

u = P 1 Av
= I P 1N v = v v:

Soit encore
v=v u
On a alors

j j2 v t Av = ( v)t A ( v)
= (v u)t A (v u)
= v t Av v t Au ut Av + ut Au
= v t Av (Av)t u ut Av + ut Au
= v t Av (P u)t u ut P u + ut Au
= v t Av ut P t + P A u
= v t Av ut P t + N u

de la dernière égalité on

v t Av j j2 v t Av = ut P t + N u
1 j j2 v t Av = ut P t + N u
3.1. INTRODUCTION 31

puisque v 6= 0, u 6= 0 et A, (P t + N ) sont symètriques dé…nies positives


on a, alors,
ut (P t + N ) u
1 j j2 = > 0:
v t Av
et par conséquent j j < 1.
32 CHAPITRE 3. MÉTHODES ITÉRATIVES

3.2 Méthode de Jacobi


Les méthodes itératives sont particulièrement intéressantes pour les très
grandes matrices ou matrices creuse. L’idée principale dans les méthodes
itératives pour la résolution de système Ax = b est de construire une suite
(xn )n telle que cette suite doit converge vers la solution exacte x du système
linéaire Ax = b. L’idée derrière la méthode de Jacobi1 est comme suit :
étant donné un système d’équatons linéaires à résoudre
Ax = b
ou 8
>
> a11 x1 + a12 x2 + :::a1n xn = b1
>
>
< a21 x1 + a22 x2 + :::a2n xn = b2
:: : ::
>
>
>
> :: : ::
:
an1 x1 + an2 x2 + :::ann xn = bn
qui peut être écrit (à conditions que aii 6= 0, i = 1; :::; n) sous la forme
8
>
> x1 = a111 (b1 a12 x2 + ::: + a1n xn )
>
>
< x2 = a122 (b2 a21 x2 + ::: + a2n xn )
:: : ::
>
>
>
> :: : ::
: 1
xn = ann (bn an1 x2 + ::: + ann 1 xn )
En écriture matricielle :
0 1 0 0
a12
::: ::: a1n
10 1 0 b1 1
x1 a11 a11 x1 a11
B B a21 a12 a12 CB C B b1 C
B x2 C
C B a22
0 a22
::: a22 CB x2 C B a22 C
B B CB C+B C
B : C
C=B ::: ::: ::: ::: ::: CB : C B : C
@ B C A @ : C
B
: A @ ::: ::: ::: 0 an 1n
an 1n 1
: A@ : A
xn an1 ann 1 xn bn
ann
::: ::: ann
0 ann

or x = Bx + c, si on écrit la matrce A sous la forme


A = D
0 E F 1
:
B : F C
B C
A = B
B D C
C
@ E : A
:
1
Charles Gustave Jacob Jacobi, mathématicien allemand (1804 1851).
3.2. MÉTHODE DE JACOBI 33

où 0 1
a11 0 :: :: 0
B 0 a11 0 :: 0 C
B C
D=B
B :: :: :: :: :: C,
C
@ :: :: 0 an 1n 1 0 A
0 :: :: 0 ann
0 1
0 0 :: :: 0
B a21 0 0 :: 0 C
B C
E=B
B :: :: :: :: :: C,
C
@ :: :: :: 0 0 A
an1 :: :: ann 1 0
et 0 1
0 a12 ::: ::: a1n
B 0 0 a23 ::: a2n C
B C
F =B
B ::: ::: ::: ::: ::: C
C
@ ::: ::: ::: 0 an 1n : A
0 ::: ::: 0 0
Il est facile alors, de voir que B = D 1 (E + F ) et c = D 1 b.
où D est une matrice diagonale composée des coe¢ cients diagonaux de
la matrice A, E est la mtrice triangulaire inférieure de coe¢ cients

eij = aij , si i > j


eij = 0, si non

et F est la matrice triangulaire supérieure de coe¢ cients

fij = aij , si j > i


fij = 0; si non

Notons que, puisque les aii 6= 0, la matrice D est nonsingulière, alors


on va appeller la matrice B = D 1 (E + F ) la matrice d’itération de Jacobi
notée
BJ = D 1 (E + F )
la méthode itetérative s’écrit, alors

x(k+1) = Bj x(k) + c; k = 1; 2; :::


34 CHAPITRE 3. MÉTHODES ITÉRATIVES

algèbriquement, on peut l’écrire sous la forme :


0 1
B C
1 B X C
n
(k+1) B (k) C
xi = Bb i aij xj C ; i = 1; :::; n
aii B C
@ j=1 A
j 6= i

Nous avons donc la procédure itérative suivante, dite la méthode de Jacobi

Algorithm 35 Méthode de Jacobi


– Etape 1 On se donne un vecteur initial x(0) = (0; ::0)t
– Etape 2 Pour k = 1; 2; ::faire jusqu’à le critère d’arrêt soit satis-
fait :
x(k+1) = Bj x(k) + c
ou !
(k+1)
Xn
(k)
1
xi = aii bi aij xj ; i = 1; :::; n.
i6=j=1

Remark 36 Cette méthode ne peut être dé…nie que si tous les élément dia-
gagonaux aii sont non nuls.

x(k+1) = D 1
(E + F ) x(k) + D 1 b
1
= D (D D + E + F ) x(k) + D 1 b
1
= D (D [D E F ]) x(k) + D 1 b
1
= D (D A) x(k) + D 1 b
= I D 1 A x(k) + D 1 b
= x(k) D 1 Ax(k) + D 1 b
= x(k) + D 1 b Ax(k)
| {z }
(k) 1 (k)
= x +D r

où r(k) est le résidu à l’étape k.


Composante par composante, on a :
!
(k+1) (k) 1 X
n
xi = xi + bi aij xj ; 1 i n
aii j=1
3.2. MÉTHODE DE JACOBI 35

On en déduit
(k)
(k+1) (k) r
xi xi = i
aii
Example 37 Soit le système ax = b de la forme
10 1 11
A= ; b=
2 10 12

qui a pour solution exacte x = (1, 1)t . Cette méthode génére une suite vec-
torielle
0 11=10 98=100 1002=1000
x(0) = , x(1) = , x(2) = , x(3) = ,
0 12=10 99=100 1004=1000
pour laquelle, on peut conjoncturer la convergence vers la solution exacte x.
Example 38 En revanche, soit
1 10 11 1
A= ; b= et la solution x = :
10 2 12 1
On génére lasuite :
0 11 49 501 2499
x(0) = , x(1) = , x(2) = , x(3) = , x(4) =
0 6 49 251 2499
qui est clairement divergente
Example 39 Soit le système Ax = b de la forme
8
< 10x1 + 2x2 x3 = 4
x1 8x2 x3 = 10 (3.4)
:
x1 2x2 + 6x3 = 16:

On considère dans la 1ere (resp. la 2eme , la 3eme ) équation du (3:4) que la 1ere
x1 (resp. la 2eme , la 3eme ) variable qui est l’inconnue, l’itération de Jacobi
est donc : 8 h i
>
> x
(k+1)
= 1
4 2x
(k)
+ x
(k)
>
< 1 10
h 2 3
i
(k+1) 1 (k) (k)
x2 = 8 10 x1 + x3
>
> h i
>
: (k+1) (k) (k)
x3 = 16 16 x1 + 2x2 :

Avec une donné initiale x(0) = (0; 0; 0)t on obtient


36 CHAPITRE 3. MÉTHODES ITÉRATIVES

(k) (k) (k)


k x1 x2 x3
1 0:4000 1:2500 2:6700
2 0:9167 1:5333 3:0167
3 1:0083 1:5125 3:0250
4 1:0050 1:5021 3:0028
5 1:0007 1:4997 2:9999
6 0:9999 1:4999 2:9999
7 1:0000 1:5000 3:0000
: ::::: :::::: ::::::
: :::::: :::::: ::::::
: :::::: :::::: ::::::

Notons que : x(7) x(6) 1 < 0:5 10 3 .


Dans le cas général on écrit, si les coe¢ cients diagonaux aii , i = 1; :::; n
sont non nuls on peut isoler l’inconnue xi dans la ieme équation et obtenir
ainsi le système équivalent
La matrice d’itération de la méthode de Jacobi est donc donnée par
1
BJ = D (E + F ) = I D 1 A.

Pour extraire les trois matrices D, E et F de la matrice A en Matlab on


utilise les commandes :
>>A=[. ;. ;.]
>>D=diag(diag(A)) % la matrice diagonale à élément aii
>>E= -(tril(A)-D) % la matrice triangulaire inférieure
>>F= -(triu(A)-D) % la matrice triangulaire supérieure
>>BJ =inv(D)*(E+F)
>>c=inv(D)*b
>>x0=[0 ;0 ;0] ;
>>x1=*BJ *x0=c
>>x2=*BJ *x1=c
et ainsi de suite.
3.3. MÉTHODE DE GAUSS-SEIDEL 37

3.3 Méthode de Gauss-Seidel


La méthode de Gauss-Seidel 2 di¤ère de celle Jacobi par le fait qu’à la
(k+1)
(k + 1)ieme étape les valeurs des composantes xi qui sont déjà calculées
on les utilise actualiser la solution. On a donc, l’itération
!
1 X X
i 1 n
(k+1) 1 (k+1) (k)
xi = aij xj aij xj ; i = 1; :::; n
aii bi j=1 j=i+1

cette formule est dite "Itération de Gauss-Seidel". Cela revient à décomposer


la matrice A de la facçon suivante :

A = (D E) F

et la matrice d’itération associée prend la forme :


1
BGS = (D E) F
1
et c = (D E) b.

Algorithm 40 Méthode de Gauss-Seidel


– Etape 1 On se donne un vesteur initial x(0) = (0; ::0)t
– Etape 2 Pour k = 1; 2; ::faire jusqu’à le critère d’arrêt soit satisfait
x(k+1) = BGS x(k) + c
ou !
(k+1)
X
i 1
(k+1)
Xn
(k)
xi = a1ii bi aij xj aij xj ; i = 1; :::; n.
j=1 j=i+1

Example 41 Soit le système Ax = b qui est le même dans la méthode de


Jacobi 8
< 10x1 + 2x2 x3 = 4
x1 8x2 x3 = 10
:
x1 2x2 + 6x3 = 16:

Example 42 Pour l’itération de Gauss-Seidel on a


8 4 2 1
< x1 = 10 x + 10
10 2
x3
10 1 1
x2 = 8 + 8 x1 x
8 3
: 16 1 2
x3 = 6
x
6 1
x
6 2
:
2
Johann Carl Friedrich Gauß(1777-1855) et Philipp Ludwig von Seidel, (1821-1896).
38 CHAPITRE 3. MÉTHODES ITÉRATIVES

En prenant la solution initale x(0) = (0; 0; 0), on obtient les résultats :

(k) (k) (k)


k x1 x2 x3
1 0:4000 1:2000 3:0000
2 0:9400 1:5075 3:0125
3 1:0028 1:5012 2:9999
4 1:0020 1:5000 2:9999
5 1:0000 1:5000 3:0000
. : : :
. :: : ::
3.4. CONVERGENCE DES MÉTHODES ITÉRATIVES 39

3.4 Convergence des méthodes itératives


Il est souvent di¢ cile de donner une bonne estimation de l’approximation
initiale x(0) . Ainsi, il sera très important d’avoir des condition qui assureent
la convergence de la méthode itérative

x(k+1) = Bx(k) + c

pour tout choix arbitraire d’une approximation initiale x(0) .


Pour ce faire, de : x = Bx + c et x(k+1) = Bx(k) + c on a

x x(k+1) = B x x(k) (3.5)

ceci est prour toute valeur de k 2 N. On peut éceire

x x(k) = B x x(k 1)
(3.6)

en substituant (3.6) dans (3.5) on obtient : x x(k+1) = B 2 x x(k 1)


et si
on continue ce processus k fois, on peut donc, écrire

x x(k) = B k x x(0) :

Ceci montre que la suite x(k) k converge vers la solution exacte x du système
Ax = b, si et seulement si B k ! 0 quand x ! 1 ; ( à moins que,bien sûr, la
donnée initiale x(0) soit la même que la solution exacte x ). On peut, alors,
énoncer le théorème :

Theorem 43 L’itération x(k+1) = Bx(k) + c converge vers une limite, pour


un choix arbitraire d’une approximation initiale x(0) , si et seulement si la
matrice B k ! 0 quand x ! 1, c’est une matrice convergente3 .

Remark 44 Rappelons que B est une matrice convergente si et seulement


si le rayon spectral de B (B) < 1. le rayon spectral (B) = max f i g où les
i
i de la matrice B.

Theorem 45 Pour toute matrice carré B et pour toute norme matricielle


subordonnée on a
(B) kBk :
3
In numerical linear algebra, a convergent matrix is a matrix that converges to the zero
matrix.
40 CHAPITRE 3. MÉTHODES ITÉRATIVES

Proof. Si est une valeur propre d’une matrice B alors il existe un vecteur,v
non nul, dit vecteur propre de B, tels que Bv = v, alors

j j kvk = k vk = kBvk kBk kvk

d’où j j kBk pour toute valeur propre . En particulier (B) kBk :

3.4.1 Quelques résultats de convergence


– Si A est une matrice à diagonale dominante strice par lignes, alors les
méthodes de Jacobi et Gauss-Seidel sont convergentes.
En e¤et, comme A = (aij ) est à diagonale dominante strice par lignes,
on a par dé…nition :

X
i 1 X
n
jaii j > jaij j + jaij j ; i = 1; :::; n: (3.7)
j=1 j=1+1

Rappellons que la matrice d’itération de Jacobi est donnée par


0 a12 a1n
1
0 a11
:: :: a11
B a21 0
a12
::
a12 C
B a22 a22 a22 C
B C
BJ = B :: :: :: :: :: C
B an 1n C
@ :: :: :: 0 an 1n 1
: A
an1 ann 1
ann
:: :: ann
0

si on fait la somme de tous les éléments de la première ligne, en prenant


en considérations, la formule ( 3.7 )

X
i 1 X
n
jaij j + jaij j
ja12 j a a ja j j=1 j=1+1
+ ::: 1i 1 + 1i+1 + ::: 1n = <1
ja11 j ja11 j ja11 j ja11 j ja11 j

donc chaque ligne est inférieure à 1, ce qui veut dire que

kBJ k < 1

– Si A est une matrice symétrique dé…ne positive, alors la méthode de


Gauss-Seidel converge (la méthode de Jacobi pas forcément ).
3.4. CONVERGENCE DES MÉTHODES ITÉRATIVES 41

Example 46 On considère les systèmes linéaire de la forme Ai x = bi ; i =


1; 2; 3. On choisit les vesteurs bi de manière à ce que la solution des systèmes
soient le vecteur unité x = (1; 1; 1)t et les matrices sondonés par
0 1 0 1
3 0 4 3 3 6
A1 = @ 7 4 2 A , A2 = @ 4 7 8 A
1 1 2 5 7 9
0 1 0 1
4 1 1 7 6 9
A3 = @ 2 9 0 A , A4 = @ 4 5 4 A
0 8 6 7 3 8

1. Pour la matrice A1 la méthode de Jacobi ne converge pas,celle de Gauss-


Seidel converge
2. Contrairement pour la matrice A2
3. Les deux méthodes sont convergentes, mais la méthode de Jacobi est
plus lente que celle de Gauss-Seidel
4. Ce cas est le contraire du 3ieme .
On conclue donc,qu’il n’y a pas une règle générale qui caractérise ces
méthodes.
42 CHAPITRE 3. MÉTHODES ITÉRATIVES

3.5 Méthodes de relaxation


3.5.1 Méthode JOR
Une généralisation de la méthode de Jacobi est la méthode de sur-relaxation
(JOR Jacobi Over-Relaxation), dans laquelle on se donne un paramètre de
relaxation ! et on remplace dans la formule de Jacobi
" #
(k+1) 1 X
i 1
(k)
Xn
(k)
xi = bi aij xj aij xj ; i = 1; :::; n
aii j=1 j=i+1

par la formule
" #
(k+1) ! X
i 1
(k)
X
n
(k) (k)
xi = bi aij xj aij xj + (1 !) xi ; i = 1; :::; n
aii j=1 j=i+1

En terme matricielle
1
BJ! = !D (E + F ) + (1 !) I
Cette amélioration a pour but d’accelérer considérablement la convergence
de la méthode de Jacobi. La matrice d’itération correspondante est, donc,
BJ! = !BJ + (1 !) I:
Theorem 47 Si la matrice A du système Ax = b est symètrique dé…nie
positive alors, la méthode JOR est convergente si
2
0<!< :
(D 1 A)
Theorem 48 Si la méthode de Jacobi converge, alors la méthode JOR converge
pour 0 < ! < 1:

3.5.2 Méthode SOR


Le taux de convergence de l’itération de Gauss-Seidel peut être amélio-
rer par l’intoduction d’un paramètre ! dit paramètre de relaxation. L’idée
de cette méthode est basée sur le fait que l’itéré x(k+1) est une combinaison
linéaire de la solution approchée à l’étape précèdente x(k) et la solution ap-
prochée x(k+1) calculée par la méthode Gauss-Seidel. Dans cette variante de
l’algorithme de Gauss-Seidel, on procède comme suit :
3.5. MÉTHODES DE RELAXATION 43

– Connaissant un vecteur x(k)


– Je calcule un vecteur provisoire x(k+1) à l’aide de l’algorithme de Gauss-
Seidel ration classique de
– puis je dé…nit le vecteur x(k+1) dé…nitif comme

x(k+1) = !x(k+1) + (1 !) x(k)

! est un paramètre réel dont il faut optimiser sa valeur pour chaque


classe de problème.
La méthode de Gauss-Seidel est dé…nie par la décomposition

A = P N
= (D E) F

la méthode SOR est dé…nie par

1
P = D E
!
1 !
N = D + F:
!
Notons ici, que
P N =A
pour que l’itération
P x(k+1) = N x(k) + !b
soit équivalente à l’itératio de Gauss-Seidel P x(k+1) = N x(k) + b. Cette mé-
thode est appellée Over-Relaxation ou Under-relaxation selon ! > 1 ou
! < 1, le cas ! = 1 donne l’itération de Gauss-Seidel. Matriciellement,
la méthode actuelle consiste à choisir une approximation initiale arbitraire
x(0) ; généralement un vecteur nul, puis, on calcule x(k) via
1 1
(k+1) 1 1 ! (k) 1
x = D E D+F x +! D E b:
! ! !

L’algorithme est fondé sur le calcul des itérés :


!
(k+1) (k) ! X
i 1
(k+1)
X
n
(k)
xi = xi + bi aij xj aij xj
aii j=1 j=i+1
44 CHAPITRE 3. MÉTHODES ITÉRATIVES

Proposition 49 Si la matrice A est symètrique dé…nie positive, alors la


méthode de relaxation converge pour 0 < ! < 2.
Proof. La matrice A étant symètrique dé…nie positive, les éléments aii de la
matrice diagonale D sont tous positifs et E t = F , et on a,
D
P = E
!
1 !
N = D+F
!
d’où
2 !
Pt + N = D+F
!
donc, pour tout 0 < ! < 2, la matrice (P t + N ) est symètrique dé…nie
positive.
Sans hypothèse particulière sur la matrie A du système Ax = b, on peut
déterminer les valeurs de ! pour lesquelles la méthode de relaxation converge.
Theorem 50 ( KAHAN 1958)
Soit B! la matrice d’itération de la méthode de relaxation. Alros :
1. Le rayon spectral de B! ; (B! ) < 1 =) 0 < ! < 2.
2. Si, de plus, A est symètrique dé…nie positive, alors
(B! ) < 1 , 0 < ! < 2:

Proof.
1
1. On calcule le déterminant de B! = P N avec
P = !1 D E
N = 1 !! D + F

1
det(B! ) = det P N
1
= det P det (N )
1
= [det (P )] det (N )
mais P et N sonnt des matrices triangulaires, leurs déterminants valent
le produit de leurs éléments diagonaux
1 ! n
det (D)
det (B! ) = !
1 n
= (1 !)n :
!
det (D)
3.5. MÉTHODES DE RELAXATION 45

D’autre part, le déterminant d’une matrice est le produit de ses valeurs


propres, dont chacune est inférieure ou égale, en module, à son rayon
spectral ( c’est à dire j i j < (B! ) = max fj i jg ). Donc
1 i n

jdet (B! )j j(1 !)n j ( (B! ))n

Cela veut dire que

(B! ) < 1 =) 0 < ! < 2:

2. Si la matrice A est symètrique dé…nie positive et 0 < ! < 2. Pour


montrer que (B! ) < 1, on utilisera la formule (3.3).
t
1 1
Pt = D F = D F
! !
1 1 !
Pt + N = D F + F+ D
! !
2 !
= D:
!
Comme A est symètrique dé…nie positive, la, matrice diagonale D l’est
aussi, alors d’après (3.3) on a (B! ) < 1.

Remark 51 On en déduit de ce théorème que si A est une matrice symè-


trique dé…nie positive, alors la méthode de Gauss-Seidel converge, mais pas
forcément pour celle de Jacobi.
En…n, si A est tridiagonale symétrique dé…nie positive, on peut montrer
que la méthode de Jacobi converge et

(BGS ) = [ (BJ )]2

dans ce cas, la méthode de Gauss-Seidel converge plus vite que celle de Jacobi.
46 CHAPITRE 3. MÉTHODES ITÉRATIVES
Chapitre 4

La méthode du gradient
conjugué

4.1 Objectif
L’idée est si A est symétrique dé…nie positive, la résolution du système
Ax = b est équivalente à la détermination de la valeur qui minimise la forme
quadratique (dite énergie du système ) q (x) = 12 hAx; xi hb; xi, de gradient
rq (x) = Ax b, et donc rq (x) = 0 , Ax = b.

4.2 Rappels
4.2.1 Relations matricielles utiles
Si x et b sont deux vecteurs (n 1) et A une matrice symétrique (n n) ;.alors

d
xT Ax = AT x + Ax = 2Ax
dx
d T
c Ax = ct A
dx
d
xT x = 2xt
dx
d
xT b = b.
dx

47
48 CHAPITRE 4. LA MÉTHODE DU GRADIENT CONJUGUÉ

ion dans une direction !


v donnée :
q (!
x + h!
v) q (!
x)
dq (!
x )!
v = lim
h!0 h
Ceci vient d’aprés la dé…nition de la dérivat

4.2.2 Formes quadratiques


Une forme quadratique est un polynôme homogène de degré 2 avec un
nombre quelconque de variables. En d’autre terme une forme quadratique est
une fonctionnelle

q : Rn ! R
q (x) = xT Ax + Lx + b

où A est une matrice symétrique.


Cette dé…nition est équivalente à dire que q (x) est une combinaison li-
néaire d’une constante b, des xi composantes du vecteur x; de leur carré
et des produits croisés xi xj où i 6= j. par exemple la fonctionnelle q (x) =
q (x1 ; x2 ) = 2x21 6x1 x2 2x1 + x2 + 1 est une forme quadratique. On a

2 3 x1 x1
q (x) = x1 x2 + 2 1 +1
3 1 x2 x2
= xT Ax + Lx + b.

La fonction dérivée de q (x) au point x est une fonction a¢ ne dite gradient


de q est donnée par la formule
!
@q
d x1
(x) 4x1 6x2 2
rq (x) = q (x) = @q =
dx x2
(x) 6x1 + 2x2 + 1
2 3 x1 2
= 2 +
3 1 x2 1

4.3 Introduction
La méthode du gradient conjugué est en fait une méthode d’optimisation
pour la recherche du minimum dans Rn de la forme quadratique q de Rn dans
4.4. PROBLÈME À RÉSOUDRE 49

R dé…nie par : q (x) = 12 hAx; xi hb; xi. Mais on peut montrer que si la ma-
trice A est symétrique dé…nie positive, la recherche de x minimisant la forme
quadratique q est équivalent à la résolution du système Ax = b. Générale-
ment, la taille de la matrice A est très grande, on ne peut pas, donc, envisager
d’e¤ectuer un tel nombre d’itérartions pour résoudre le systèmeAx = b. De
plus, si on utilise la méthode du gradient conjugué brutalement on obtiendra
pas la solution en n itérations à cause de l’accumulation des erreurs d’ar-
rondis. On a alors recours à de techniques de préconditionnement que nous
reviendrons sur ce point en …n de chapitre.
La méthode du gradient gradient conjugué qu’on va étudier dans ce cha-
pitre est celle trouvée dans les années cinquante par Hestens et Stiefel et
publiée en 1952 dans la revue "". Cette méthode se base sur la recherche des
directions successives qui nous permet d’atteindre la solution exacte d’un
système linéaire de maAx = b trice symétrique dé…nie positive. Cette mé-
thode représente aussi une alternative à l’algorithme d’élimination de Gauss.
Elle est même souvent préférée à la méthode de Gauss lorsque les systèmes
d équations sont grands.

4.4 Problème à résoudre

Le problème de la résolution du résolution du système linéaire Ax = b


et le problème de minimisation de la forme quadratique q (x) = 21 hAx; xi
hb; xi ont la même solution unique. Donc au lieu d’entamer directement la
résolution du système Ax = b on essaye de chercher le minimum de la forme
quadratique q (x), en calculant le point qui annule la dérivée q 0 (x) appelé
gradient de q (x), noté rq (x) :

0 @q 1
@x1
B @q C
rq (x) = B @x2 C= d 1
hAx; xi hb; xi =
1 T
A +A x b = Ax b
@ ::: A dx 2 2
@q
@xn
50 CHAPITRE 4. LA MÉTHODE DU GRADIENT CONJUGUÉ

Le gradient est un vecteur orthogonal à la tangente de la ligne de niveau.


C’est un champs vectoriel qui indique pour chaque point x la direction de
croissance la plus rapide de la forme quadratique q (x).

4.5 Méthode des directions conjugué


Parmis les propriétés importantes de la méthode du gradient conjugué est
la construction d’une suite de vecteurs (pk )k2N de n vecteurs A conjugues
où A est une matrice symétrique dé…nie positive. L’ensemble des vecteurs
A conjugues non nuls de Rn fp0 ; p1 ; :::; pn 1 g est dit A conjugues si :
pi Apj = 0, 8 i 6= j
l’ensemble fp0 ; p1 ; :::; pn 1 g forme une base de Rn (i.e : les vecteurs pk avec
k = 0; :::; n 1 ; sont linéairement indépendants et engendrent l’espace Rn ).
4.5. MÉTHODE DES DIRECTIONS CONJUGUÉ 51

On peut voir la conjugaison comme une généralisation de l’orthogonalité.


Un ensemble de n vecteurs A-conjuguées décrit un espace de dimension n
,cet ensemble forme une base de cet espace, et chaque point de l’espace peut
être exprimé comme une combinaison linéaire de n vecteurs A-conjugués. Ces
directions A-conjugués sont par construction orthogonales à l’ensembles des
di¤érents gradients aux itérations successives.

4.5.1 Calcul des directions conjuguées


On construit 0 un ensemble1 de vecteurs A conjugues d0 , d1 et d2 pour la
3 0 1
matrice A = @ 0 4 2 A . Véri…er que la matrice A est symétrique dé…nie
1 2 3
positive i.e. hAx; xi 0, 8x 2 R3 .
On preud toujours la première direction d0 = (1; 0; 0)t , ensuite, d1 =
(x1 ; y1 ; z1 )t et d2 = (x2 ; y2 ; z2 )t . On doit, alors chercher les composantes des
52 CHAPITRE 4. LA MÉTHODE DU GRADIENT CONJUGUÉ

deux directions d1 et d2 :On a

d0 Ad1 = 0
0 1
3 0 1
(1; 0; 0) @ 0 4 2 A (x1 ; y1 ; z1 ) = 3x1 + z1 = 0
1 2 3

Trouver les trois composantes. Pour la troisième direction d2 , on a d2 Ad0 =


0 et d2 Ad1 = 0. A vous de calculer ces directions.

4 2
Exercise 52 Pour la matrice A = . Montrer qu’elle est symétrique
2 2
dé…nie positive, puis trouver 3 vecteurs A orthogonaux. Si la matrice A = I,
qu’est ce que vous pensez ?

Grâce à la propriété de A conjugaison des vecteurs fp0 ; p1 ; :::; pn 1 g, il


est possible de minimiser la forme quadratique seulement en n pas (étapes),
en minimisant q (x) successivement selon les n directions. Soit x0 2 Rn un
point de départ quelconque et x e la solution exacte du problème de la résolu-
tion du système Ax = b. Dé…nissont la suite

xk+1 = xk + k pk

où k est le scalaire minimisant la forme quadratique q (x) selon la direction


xk + k pk et qui est dé…ni par
rkt pk
k =
ptk Apk

Deux directions di et dj sont dites conjuguées par rapport à une matrice


A symétrique dé…nie positive si

dTi Adj = 0 8i 6= j

4.6 Méthode du gradient ou de la plus grande


pente
La méthode du gradient fait partie des classes de méthodes dites de des-
cente. Qu’elle est l’idée cachée derrière ces méthodes ?
4.6. MÉTHODE DU GRADIENT OU DE LA PLUS GRANDE PENTE53

Considérons un point de départ x0 et cherchons à minimiser une fonc-


tionnelle q (x). Puisque l’on veut atteindre x ,nous cherchos à avoir :

q (x1 ) q (x0 ) :

Une forme particulièrement simple est de chercher x1 tel que le vecteur x1 x0


soit colinéaire (linéairement indépendants) à une direction de descente d0 6= 0.
On le note
x1 x0 = 0 d1
où 0 est le pas de descente de la méthode. On peut alors itérer de cette
manière en se donnant xk , xk et k pour atteindre xk+1 par

choisir x0
Calculer xk+1 = xk + k dk avec k 0

Un choix évident, consiste à prendre : dk = rq (xk ) i.e. si k est su¢ -


semment petit, xk+1 minimisera mieux la fonctionnelle q que ne le faissant
xk . La méthode obtenue avec ce choix est appelée Méthode du Gradient.

Lemma 53 Soit à résoudre Ax = b où A est une matrice symétrique dé…nie


positive. la fonctionnelle (i.e : la forme quadratique)

1
q(x) = hAx; xi hb; xi
2
est strictement convexe. Elle possède un unique minimum, ce minimum est
x solution de du système Ax = b en question. De plus, pour tout vecteur y
di¤érent de x solution de Ax = b on a q(x) < q(y).

Proof. Par un calcul direct, on a pour z = x y est donc di¤érent de zéro.


On a
1
q(y) = hA (x z) ; (x z)i hb; (x z)i
2
1
= (x z)T A (x z) (x z)T b
2
1 1 1
= q(x) + hAx; zi + hAz; xi hb; zi + hAz; zi
2 2 2
= q(x) + 0 + ( 0)
54 CHAPITRE 4. LA MÉTHODE DU GRADIENT CONJUGUÉ

le terme entre crochets est nul en utilisant le fait que la matrice A est sy-
métrique et Ax = b, à véri…er chez vous ! Le troisième terme 12 hAz; zi 0
dites pourquoi ?
Donc la solution x du système Ax = b réalise le minimum de la forme
quadratique q. Pour l’unicité de x voir la bibliographie.
On va construire un méthode itérative qui cherche, à chaque itération, de
diminuer (ou minimiser ) la forme quadratique q. Supposons donc que l’on
ait obtenu xk et calculons le terme qui suit xk+1 de telle sorte que la forme
quadratique véri…e
q(xk+1 ) < q(xk ).

Cet algorithm est décrit ar le schéma suivant :

Soit x0 une approximation initiale de la solution exacte x du


système Ax = b Il s’agit de construire une série d’approximation
fxk gk2N , qui converge vers la solution x du sysrème Ax = b, de
la manière suivante :

xk+1 = xk + k+1 dk+1

où dk est la direction de recherche et k > 0 est le pas.

Une large famille de méthodes peunvent être construites en sélectionnant


de manière parfois empirique (de l’experience ) et pragmatique (pratique)
ou parfois empiriques plus rigoureuse (stricte et précise), la direction de re-
cherche dk et k est un nombre réel, appelé, le pas de la recherche, qui
minimise (comme on va le voir tout de suite) la quantité

f ( ) = q (xk + dk+1 ) :

On dispose de deux choix :

1. Le choix simple est =constante, on dit que c”est une méthode à pas
…xe
2. Le choix plus compliqué est variable, dans ce cas la méthode est dite
à pas variable.
4.6. MÉTHODE DU GRADIENT OU DE LA PLUS GRANDE PENTE55

4.6.1 Méthode du gradient à pas …xe


Le choix simple est de prendre =constante. L’algorithme du gradient à
pas …xe est décrit de la façon suivante :
8
>
> x0 2 Rn donné,
<
pour k = 1; 2; :::; faire :
>
> xk+1 = xk q 0 (x) ,
:
…n selon un critère.

le réel est un paramètre qu’on doit le …xer par le lemme suivant.

Lemma 54 La méthode du gradient à pas …xe converge si et seulement si


0 < < 2n . La valeur optimale est opt = 1 +2 n 1 .

Proof. Remarquons que

xk+1 = xk + (Axk b) = (I A) xk b.

L’erreur est notée par ek = xk x et le résidu vaut rk = Aek = Axk b.


Alors
ek+1 = (I A) ek .
Pour que la méthode converge il faut que

ek+1
= k(I A)k < 1
ek

i.e :
j1 ij < 1; 1 < i < n,
la valeur optimale est obtenue pour

(1 opt n ) =1 opt n

2
donc opt = 1+ n
.
1
1 et n sont respectivement la plus petite et la plus grande valeur propre de la matrice
A. Pour A symétrique dé…nie positive le nombre de condition = n1 .
56 CHAPITRE 4. LA MÉTHODE DU GRADIENT CONJUGUÉ

4.6.2 Méthode du gradient à pas variable


L’inconvenient majeur de la méthode du gradient à pas …xe, est qu’il est
nécessaire de connaitre exacte ou approché les plus grandes et les plus petites
valeurs propres de la matrice A du système en question, pour être mise en
oeuvre de façon convenable. Ce qui rend son utilité très faible. Une manière
plus compliquée, est de calculer le pas optimal k en résolvant le problème
de minimisation unidimensionel.
La méthode de calculer l’itéré xk+1 à partir de x(k) est appelée méthode
de descente, le vecteur d(k+1) est appelé direction de descente.
Donc pour une valeur x(k) , la direction de la plus grande pente est donnée
par le gradient rq x(k) . On prend donc

d(k) = rq x(k)

et obtenir la famille des méthodes du gradient

d(k) = (Ax b) = r(k)

où r(k) est le vecteur résiduel pour l’étiré x(k) .du système Ax = b. Il faut
encore sélectionner ou chercher une valeur pour le pas d’itération k . On est
donc devant un problème de minimosation unidimensionel suivant :

Trouver k 0 tel que


q (xk + k dk ) = minq (xk + dk )
0
1
= min hA; (xk + k dk )i hb; (xk + k dk )i
0 2

1
= min (xk + k dk )T A (xk + k dk ) (xk + k dk )
T
b
0 2

i.e :

d
q (xk + k dk ) = 0
d
dTk [A (xk + k dk ) b] = 0
dTk (Axk b) = T
k dk Adk
rkT rk
= k
rkT Ark
4.6. MÉTHODE DU GRADIENT OU DE LA PLUS GRANDE PENTE57

Veri…ez ce résultat.
En d’autres terme, on veut que le pas k soit tel que q 0 ( k) = 0,
58 CHAPITRE 4. LA MÉTHODE DU GRADIENT CONJUGUÉ
Annexe A

Quelques programmes en
MATLAB

A.0.3 Programme 1 : Factorisation LU sans pivot :

function A=lu_gauss(A)
%LU_GAUSS LU factorization sans pivot.
% A = LU(A) stocke une matrice triangulaire sup.dans la partie sup de A
%et une matrice triangulaire inf. dans lapartie inf de A
% les \U{e9}l\U{e9}ments diagonaux sont tous \U{e9}gaux \U{e0} 1
A=[1 2 2;1 3 -2;3 5 8];
n=3;m=3;
[n,m]=size(A);
%if n ~= m; error(’A n"est pas une matrice carr\U{e9}e’); else
for k = 1:n-1
for i = k+1:n
A(i,k) = A(i,k)/A(k,k);
, lments
if A(k,k) == 0, error(’les Ãllà , diagonaux sont nuls’); end
for j = k+1:n
A(i,j) = A(i,j) - A(i,k)*A(k,j);
end
end
end
end

59
60 ANNEXE A. QUELQUES PROGRAMMES EN MATLAB

A.0.4 Programme 2 : méthode de Jacobi

%Departemnt de maths
%Univ de msila
function [xvect,err,nit]=jacobi(x0,n_max,tol,A,b)
%
% [xvect,err,nit]=jacobi(x0,n_max,tol,A,b)
%
% M\U{e9}thode de Jacobi pour la r\U{e9}solution du syst\U{e8}me lin\U{e9}aire
% Crit\U{e8}re d’arr\U{ea}t: ||b - A*x_n||<tol or it=n_max
%
% INPUT
% =====
% x0 Vecteur initial (vecteur colomne)
% n_max Nombre maximal d’iterations
% tol Tol\U{e9}rance sur le crit\U{e8}re d’arr\U{ea}t
% A, b Matrice et terme de droite du syst\U{e8}me lin\U{e9}aire
%
% OUTPUT
% ======
% xvect Matrice contenant tous les vecteurs (colonnes) x_i calcules;
% xvect(:,i) = i-eme vecteur calcul\U{e9}
% err Vecteur contenant la norm du residu
% ||b-Ax_i|| a chaque it\U{e9}ration
% nit Nombre d’it\U{e9}rations effectu\U{e9}es
%
% NOTE: la solution calcul\U{e9}e est la derni\U{e8}re colonne de la matrice x
%
x0=[0; 0; 0]
n_max=19; tol=0.0001;
%A=[10 2 -1;1 -8 -1;1 2 6]
b=[4;10;16]
%
P=diag(diag(A));
N=P-A;
B=eye(size(A))-inv(P)*A;
bb=P\b;
r=b-A*x0;
61

erreur=norm(r);
nit=1;
xvect(:,1)=x0;
err(1)=erreur;
while (nit <= n_max) & (erreur > tol)
xvect(:,nit+1) = B*xvect(:,nit) +bb;
r=b-A*xvect(:,nit+1);
erreur = norm(r);
err(nit+1) =erreur;
nit = nit + 1;
end
return

A.0.5 Programme 3 : méthode de Gauss-Seidel


function [xvect,err,nit]=gauss_seidel(x0,n_max,tol,A,b)
%Univ. de msila
%Dpt des math\U{e9}matiques
%Master 2009/2010
% [xvect,err,nit]=gauss_seidel(x0,n_max,tol,A,b)
%
% M\U{e9}thode de Gauss-Seidel pour la r\U{e9}solution du syst\U{e8}me lin\U{e9}aire A
% Crit\U{e8}re d’arr\U{ea}t: ||b - A*x_n||<tol ou it=n_max
%
% INPUT
% =====
% x0 Vecteur initial (vecteur colonne)
% n_max Nombre maximal d’iterations
% tol Tol\U{e9}rance sur le crit\U{e8}re d’arr\U{ea}t
% A, b Matrice et terme de droite du syst\U{e8}me lin\U{e9}aire
%
% OUTPUT
% ======
% xvect Matrice contenant tous les vecteurs (colonnes) x_i calcules;
% xvect(:,i) = i-eme vecteur calcul\U{e9}
% err Vecteur contenant la norm du residu
% ||b-Ax_i|| a chaque it\U{e9}ration
% nit Nombre d’it\U{e9}rations effectu\U{e9}es
62 ANNEXE A. QUELQUES PROGRAMMES EN MATLAB

%
% NOTE: la solution calcul\U{e9}e est la derni\U{e8}re
% colonne de la matrice xvect
%
x0=[0; 0; 0]
n_max=100;
tol=0.000000000000000000000000000001;
A=[2 1 1 ; 1 1.5 1; 1 1 1.9]
b=[4;5.5;3.9]
P=tril(A)
F=-triu(A,1)
B=inv(P)*F
bb=P\b;
r=b-A*x0;
erreur=norm(r);
nit=1;
xvect(:,1)=x0;
err(1)=erreur;
while (nit <= n_max) & (erreur > tol)
xvect(:,nit+1) = B*xvect(:,nit) +bb;
r=b-A*xvect(:,nit+1);
erreur = norm(r);
err(nit+1) =erreur;
nit = nit + 1;
end
return

A.0.6 Programme 4 : graphe d’une forme quadrature


%Univ de M’sila
%Dpt des math\U{e9}matiques
%Master 2009/2010
%
%Graphe de la forme quadratique 1/2y’Ay-y’b tels que y=(y1,y2)’
%avec les lignes de contour
%
63

A=[5 0.1; 0.1 5];


b=[1; 3];

[y1,y2] = meshgrid(-2:.01:2, -2:.01:2);

z=1/2*(y1.^2*A(1,1)+y2.*y1*A(2,1)+y1.*y2*A(1,2)+y2.^2*A(2,2))-b(1)*y1-b(2)*y2;

%figure(1)
%h=mesh(y1,y2,z)
%xlabel(’x1’);
%ylabel(’x2’);
%zlabel(’q(x1,x2)’);

%figure(2)
%hold off
x=A\b
contour(y1,y2,z)
hold on

x1=x(1)
x2=x(2)

plot(x(1),x(2),’xr’)

A.0.7 Deuxième exemple


%Examples:
A=[5 0.1; 0.1 5]
b=[1; 3]
[x,y] = meshgrid(-2:.2:2, -2:.2:2);
z = x .* exp(-x.^2 - y.^2);
[px,py] = gradient(z,.2,.2);
contour(z), hold on
%, quiver(px,py),
hold off
\newpage
64 ANNEXE A. QUELQUES PROGRAMMES EN MATLAB

Das könnte Ihnen auch gefallen