Vous êtes sur la page 1sur 46

Rsolution des systmes linaires

Notations et Rappels

Nous nous plaons dans le corps IK, en gnral IR ou IC.

1.1 Quelques dnitions et notations


Dnition 1 On notera,
IKd l'ensemble des vecteurs de taille d,
Mm,p (IK) l'ensemble des matrices de taille m p ( m lignes et p colonnes).
Mm (IK) = Mm,m (IK) l'ensemble des matrices carres de taille m m.

Proport 1 Mm,p (IK) muni de l'addition et du produit par un scalaire


dnit un espace vectoriel.
Dnition 2 Soit A une matrice de Mm (IK). A est dite inversible ou
rgulire si il existe une matrice B telle que AB = BA = I . I dsigne la
matrice identit de Mm (IK) : Iij = ij o ij est le symbole de Kronecker.
La matrice B est alors note A1 et appele inverse de A.
Proport 2 Soit A une matrice de Mm (IK). Les propositions suivantes
sont quivalentes :
1 A est inversible,
2 Ker A = {0},
3 Im A = IKm ,
4 il existe B Mm (IK) telle que AB = I ,

5 il existe B Mm (IK) telle que BA = I

Dnition 3 Soit A une matrice de Mm,p (IK). On appelle respectivement


matrice transpose de A , note AT , et matrice adjointe de A, note A , les
matrices de Mp,m (IK) dnies par ATij = Aji (i, j) {1, ..., m} {1, ..., p}
T
et A = AT si IK = IR, A = A si IK = IC.

Proposition 1 Soit A une matrice de Mm,p (IK). Alors :


dim Im A = dim Im A ,
ker A = (Im A) ,
Im A = (kerA) .

Dnition 4 Soit A une matrice de Mm (IK). La matrice A est dite


diagonale si ai,j = 0 pour tout (i, j)tel que i 6= j (on dsigne alors A par
diag(U1 , , Um ), o Ui = ai,i pour tout i {1, ..., m}),
symtrique si A = AT ,
orthogonale A1 = AT ,
unitaire si A1 = A ,
normale si AA = A A,
hermitienne si A = A et IK = IC,
auto-adjointe si A = A ,
symtrique positive, lorsque IK = IR , si A est symtrique et si pour tout
vecteur v de IKm , v T Av 0,
symtrique dnie positive, lorsque IK = IR, si A est symtrique et si pour
tout vecteur v de IKm 0, v T Av > 0.

hermitienne positive, lorsque IK = IC, si A est hermitienne et si pour tout


vecteur v de IKm , v T Av 0,
hermitienne dnie positive, lorsque IK = IC, si A est hermitienne et si
pour tout vecteur v de IKm 0, v T Av > 0.
triangulaire infrieure si Aij = 0 pour tout (i, j) tel que i < j .
triangulaire suprieure si Aij = 0 pour tout (i, j) tel que i > j .
2

Normes vectorielles

Dnition 5 On rappelle qu'une norme dans IKn est une application de IKn
dans IR+ qui v associe ||v|| avec les proprits suivantes :
||v|| = 0 si et seulement si v = 0,
||v|| = ||||v||,
||v + w|| ||v|| + ||w||.

2.1

Les normes || ||p

Une famille de normes trs utiles est celle des normes || ||p o p est un rel
plus grand ou gal 1 :
||v||p =

n
X

|vi |p

1
p

i=1

On dnira aussi || || par


||v|| = max |vi |
i=1,,n

Il est clair que || ||1 et || || sont des normes.


Pour montrer que || ||p est une norme pour 1 < p < , on a les lemmes :

Lemme 1 Si p est un rel tel que 1 < p < , et si x et y sont des rels
1
1 1
1
non ngatifs, alors xy xp + y q o q est le rel dni par + = 1.
p

Dmonstration On a xy = exp(log(x)+log(y)) = exp( p1 log(xp )+ 1q log(y q )).


On utilise la convexit de l'application exponentielle pour conclure.

Lemme 2 (ingalit de Holder) Si p est un rel tel que 1 < p < , alors
pour tous vecteurs x IKn , y IKn ,
|x y| ||x||p ||y||q

o q est le rel dni par

1 1
+ =1
p q

1
1
x et y =
y . On applique le lemme
||x||p
||y||p
n
n
1X
1X
1 1
1
1
p
q
prcdent. On a |xy|
+ = 1. On en
p |xi | +
q |yi | =
p i=1 ||x||p
q i=1 ||y||q
p q
dduit immdiatement |x y| ||x||p ||y||q .

Dmonstration : Posons x =

Proposition 2 Pour 1 < p < ,|| ||p est une norme.

Dmonstration : La seule proprit non compltement immdiate est l'ingalit triangulaire : pour cela on crit
||x + y||p =

n
X
i=1

|xi + yi ||xi + yi |p1

n
X
i=1

|xi ||xi + yi |p1 +

n
X
i=1

|yi ||xi + yi |p1 .

On utilise l'ingalit de Holder :


n
X

|xi ||zi | ||x||p ||z||q et

i=1

n
X

|yi ||zi | ||y||p ||z||q , o z IRn est le vecteur

i=1

dont les composantes sont zi = |xi + yi |p1 .


p
, donc ||z||q = ||x + y||p1
Or q =
p .
p1

On en conclut que ||x + y||pp (||x||p + ||y||p )||x + y||pp1 .


La norme || ||2 est la norme euclidienne bien connue : elle est associe au
produit scalaire usuel, et on a l'ingalit de Cauchy-Schwarz bien connue
|uv| ||u||2 ||v||2

En dimension nie, toutes les normes sont quivalentes, mais les constantes
d'quivalence dpendent en gnral de la dimension n :
Proposition 3 Soit u un vecteur de IKn : on a
1

(1)

pour 1 q < p < +, ||u||p ||u||q n p q ||u||p ,


1

(2)

pour 1 p < +, ||u|| ||u||p n p ||u|| .

Dmonstration Soit p et q tels que 1 q < p < +,


n
X

n
X

Mais

i=1

i=1

n
X

(|ui |q ) q ) p .

(|ui |p ) p = (

||u||p = (

p
q

(|ui |q ) (

i=1

n
X

|ui |q ) q

car q < p.

i=1

C'est l'ingalit de Jensen :


> 1, xi > 0 pour i = 1, , n,

n
X
i=1

car

n
X
i=1

xi
(

n
X

xj )

n
X
i=1

j=1

On en dduit que (

xi
n
X

xi

car

n
X

xj

j=1
n
X

xi ) ,

i=1

1.

xj

j=1
p

n
X

(|ui |q ) q ) p (

i=1

n
X

xi (

|ui |q ) q = ||u||q . Donc ||u||p ||u||q et

i=1

on a l'ingalit de gauche dans (1).


Pour montrer l'ingalit de droite dans (1), on procde comme suit
||u||qq =

n
X
i=1

|ui |q =

n
X

n
X

1.|ui |q n1 p (

|ui |p ) q .

i=1

i=1

p .
C'est l'ingalit de Holder avec les normes || || pq et || || pq
1
1
Donc ||u||q n p q ||u||p .
Dmonstration de (2) : voir TD.

Normes matricielles

Dnition 6 L'application || || de Mn (IK) IR+ est une norme matricielle si et seulement si


1) A Mn (IK), ||A|| = 0 si et seulement si A = 0.
2) A Mn (IK), IK ||A|| = ||||A||.
3) A, B Mn (IK), ||A + B|| ||A|| + ||B||.
4) A, B Mn (IK), ||AB|| ||A||||B||.
Remarque 1 Il existe des normes sur Mn (IK) qui ne sont pas des normes
matricielles. la norme ||A|| = max |aij | est une norme sur M2 (IR), mais
1i,j2

pour A =

1 1
1 1

on a ||A2 || = 2 ||A||2 = 1

3.1 Normes subordonnes des normes vectorielles


Proposition 4 une norme || || sur IKn , on peut associer une norme
matricielle sur Mn (IK) qu'on note encore || || par : pour tout A Mn (IK),
||A|| = sup
06=xIKn

||Ax||
||Ax||
= max n
=
max ||Ax||
06=xIK
xIKn ,||x||=1
||x||
||x||

(3)

On dit que la norme matricielle || || est la norme matricielle subordonne


|| ||.
Dmonstration : Soit donc || || une norme sur IKn .
Montrons d'abord les galits dans (3). On peut dnir pour tout vecteur x
x
de sorte que
de IKn un vecteur unitaire u =
||x||
||Ax||
||A|| = sup
= sup ||Au|| = ||Aw|| = avec ||w|| = 1,
06=xIKn ||x||
||u||=1
sup ||Au|| = max ||Au||.
||u||=1

||u||=1

Vrions ensuite que la norme subordonne est bien une norme sur Mn (IK).
||Ax||
= 0 ||Ax|| = 0 x 6= 0, et Ax = 0 x =
6 0 si et
||x||
seulement si A = 0. Donc ||A|| = 0 si et seulement si A = 0.
Soit un scalaire,
||A|| =

sup

06=xIKn

||A|| =

max

xIKn ,||x||=1

||Ax|| =

max

xIRn ,||x||=1

||||Ax|| = ||||A||

Par dnition du suprmum, si x 6= 0


alors

||Ax||
||A||, ||Ax|| ||A||||x||,
||x||

ainsi en prenant x de norme 1, on obteint


||(A + B)x|| ||Ax|| + ||Bx|| ||A|| + ||B||,

d'o on dduit ||A + B|| =

max

xIRn ,||x||=1

||(A + B)x|| ||A|| + ||B||.

Il reste juste dmontrer que la norme subordonne a la la proprit (4) de


la dnition d'une norme matricielle. On a par dnition des normes subordonnes ||Ax|| ||A||||x|| pour tout x IKn : donc ||ABx|| ||A||||Bx||
||A||||B||||x|| et on obtient bien la proprit (4) en divisant par ||x|| et en
7

prenant le sup.
Lemme 3 Soit || || une norme subordonne sur Mn (IK). On a ||I|| = 1.
Dmonstration ||I|| =

max

xIKn ,||x||=1

||Ix|| =

max

xIKn ,||x||=1

||x|| = 1

Pour 1 p , on va noter || ||p la norme matricielle subordonne


la norme || || sur IKn .
On a les identits suivantes :
Proposition 5
||A|| = max

n
X

1in

||A||1 = max

n
X

1jn

||A||2 =

|ai,j |.

j=1

|ai,j | = ||A || .

i=1

(A A) =

(AA ) = ||A ||2 .

o (M ) dsigne le module maximal des valeurs propres de M .

Dmonstration
On a pour tout x IKn ,
||Ax|| = max

1in

n
X

|ai,j xj | max

j=1

d'o l'ingalit ||A|| max

1in

i0

1in

n
X

n
X

|ai,j | ||x|| ,

j=1

|ai,j |. Pour montrer l'galit, on appelle

j=1

l'indice ralisant le maximum :

n
X
j=1

|ai0 ,j | = max

1in

n
X
j=1

|ai,j |. On choisit

alors x de la manire suivante : xj =

ai0 ,j
|ai0 ,j |

si ai0 ,j 6= 0 et xj = 0

sinon. Il est clair que ||x|| = 1 et on voit que la coordonne d'indice


i0 de Ax est

n
X

|ai0 ,j |. On a donc trouv un x tel que ||x|| = 1 et

j=1

||Ax||

n
X

|ai0 ,j | = max

1in

j=1

la proposition.

n
X

|ai,j |. On a donc prouv la premire galit de

j=1

On a pour tout x IKn ,


||Ax||1 =

n X
n
X

|ai,j xj |

i=1 j=1

d'o l'ingalit ||A||1 max

1jn

n
X

n
X

max

1jn

|ai,j |

i=1

|xj |,

j=1

|ai,j |. Pour montrer l'galit, on appelle j0

i=1

l'indice ralisant le maximum :

! n
X

n
X

|ai,j0 | = max

1jn

i=1

n
X

|ai,j |.On choisit alors x

i=1

de la manire suivante : xj = j,j0 .Il est clair que ||x||1 = 1 et on voit que
||Ax||1 =

n
X

|ai,j0 | = max

1jn

i=1

n
X

|ai,j |. Donc on a ||A||1 max

1jn

i=1

donc prouv la deuxime galit de la proposition.


On a
||A||22 = sup

06=xIKn

n
X

|ai,j |. On a

i=1

x A Ax
||Ax||22
=
sup
2
||x||22
06=xIKn ||x||2

Pour une matrice diagonalisable dans une base orthonorme, il existe donc
des scalaires {1 , , n } et une base orthonorme (e1 , , en ) de ICn tel
que Aek = k ek k {1, , n}.
Pour tout x =

n
X

xk ek ICn tel que ||x||2 =

k=1

||Ax||22

n
X

|xk |2 = 1, on a alors :

k=1

n
X

|xk | |k | (A)

k=1

n
X

|xk |2 = (A)2

k=1

ce qui implique ||A||2 (A).


Si k {1, , n} est tel que (A) = |k |, alors (A) = |k | = ||Aek ||2 avec
9

||ek ||2 = 1 , donc (A) ||A||2 .


On conclut, ||A||2 = (A).

Pour tout x ICn tel que ||x||2 = 1, en utilisant l'ingalit de Cauchy


Schwarz, on a
||Ax||22 =< x|A Ax > ||x||2 ||A Ax||2 ||x||2 ||A A||2 ||x||2 = ||A A||2

ce qui entrane
||A||22 ||A A||2 ||A ||2 ||A||2

et ||A||2 ||A ||2

En appliquant cette dernire ingalit A , on obtient ||A ||2 ||A||2 , ce qui


donne ||A ||2 = ||A||2 .
||A||22
On dduit queq||A||22 ||A A||
q 2
donc ||A||2 = ||A A||2 = (A A) car A A est diagonalisable dans une
base orthonorme.
4

Nombre de conditionnement

On s'intresse ici la sensibilit d'un systme linaire Ax = b , A Mn (IK),


x, b IKn , des perturbations du second membre b ou de la matrice A.

Dnition 7 On considre une norme || || sur IKn et on note encore || ||


la norme subordonne dans Mn (IK). Pour une matrice A Mn (IK) inversible, on dnit le nombre de conditionnement de A par rapport la norme
|| || par cond|| || (A) = ||A||||A1 ||.

On vrie facilement que cond|| || (A) 1.

10

Remarque 2 Il est clair que si 0 6= IK alors cond|| || (A) = cond|| || (A),


et que cond|| || (A1 ) = cond|| || (A).

Un exemple important est le conditionnement par rapport la norme || ||2 ,


qu'on note cond2 : on peut le caractriser par
si A est normale (en particulier hermitienne), on a la caractrisation plus
||

(A)

o ||max (A), ||min (A) sont les plus


simple : cond2 (A) = max
||min (A)
grand et plus petit modules des valeurs propres de A.
5

Sensibilit de la solution d'un systme linaire

On veut tudier la sensibilit de la solution du systme Ax = b (A inversible) une variation du second membre b : on a A(x + x) = b + b,
ce qui implique que x = A1 b, donc ||x|| ||A1 ||||b||. D'autre part
||b|| ||A||||x||, par suite

rsultat

||x||
||b||
||b||
||A||||A1 ||
= cond|| ||
. On a le
||x||
||b||
||b||

Proposition 6 Si Ax = b et A(x + x) = b + b on a
||x||
||b||
cond|| ||
,
||x||
||b||

et on peut trouver x et b tels que cette ingalit soit une galit.

Dmonstration On a dj prouv la premire assertion. La dernire asser||Ax||


||Ay||
= max
=
06=y ||y||
||x||
||A1 b||
||A1 y||
||A|| et b ralisant le maximum
= max
= ||A1 ||. Donc
06=y
||b||
||y||

tion est prouve en prenant x ralisant le maximum :

11

||b||
||x||
= ||A|| et
= ||A1 ||,
||x||
||b||
||b||
||x||
= ||A||||A1 ||
. L'ingalit est donc optimale.
d'o
||x||
||b||

On s'intresse maintenant la sensibilit aux perturbations de la matrice A :


soit donc une perturbation A de A et x + x la solution de (A + A)(x +
x) = b.
On a x = A1 A(x+x), d'o

||x||
||A||
||A||||A|| = cond|| || (A)
.
||x + x||
||A||

Proposition 7 Si Ax = b et (A + A)(x + x) = b on a
||A||
||x||
cond|| || (A)
||x + x||
||A||

et on peut trouver A, x et x tels que cette ingalit soit une galit.

Dmonstration La dernire assertion est prouve en prenant A = I et


||A1 y||
. On prend alors b = (A + A)y et
||y||
x tel que Ax = b. On a x = y x. Pour ce choix de matrices et de vecteurs,
y IKn ralisant le maximum de

l'ingalit devient une galit.


||x||
||y x||
||y x||
On a
=
=
,
||x + x||

||x + x||

||y||

or b = Ay + y = y = A(y x) = A1 y = y x
donc

||A1 y||
||A||
||x||
=
= ||A1 || = ||A1 ||||A|| = cond|| || (A)
.
||x + x||
||y||
||A||

Rayon spectrale d'une matrice

Dans cette section et la suivante, on considre des matrices de Mn (IC).


Dnition Soit A une matrice de Mn (IC). On sait que le polynme caractristique de A a n racines complexes. On appelle spectre de A et on
12

note sp(A) l'ensemble form de ses n valeurs propres (comptes avec leur
multiplicit). On appelle rayon spectral de A et on note (A) le rel positif
ou nul dni par
(A) = max ||.
sp(A)

Proposition 8 Soit || || une norme matricielle sur Mn (IC) (ayant donc la


proprit multiplicative ), alors
(A) ||A||

Dmonstration Soit || || une norme matricielle sur Mn (IC). On peut alors


dnir une norme vectorielle sur ICn qu'on note ||| ||| par |||v||| = ||Mv ||, o
Mv = (v, , v).
Il s'agit bien d'une norme sur ICn .
Soit une valeur propre de A telle que || = (A) et v un vecteur propre
correspondant :
on a (A)|||v||| = |||Av||| = ||(Av, ..., Av)|| = ||A(v, ..., v)|| ||A||||(v, ..., v)|| =
||A|||||v|||. On a donc (A) ||A||.

Proposition 9 Pour toute matrice A et pour tout rel positif , il existe


une norme matricielle || || subordonne une norme vectorielle telle
que
||A|| (A) + .

Proposition 10 1. Pour toute norme matricielle sur Mn (IC) et pour toute


matrice A Mn (IC), on a l'implication
||A|| < 1 = I + A inversible

13

2. Si la norme || || est de plus subordonne une norme sur ICn et si


||A|| < 1 alors
||(I + A)1 ||

1
.
1 ||A||

D'emonstration
1. Si I + A n'est pas inversible, il existe u 6= 0 tel que Au = u, et ||A||
(A) 1.
Donc, si ||A|| < 1 alors I + A est inversible.
2. Si || || est une norme subordonne, on a ||I|| = 1 et (I + A)1 =
I A(I+ A)1 , et donc ||(I + A)1 || 1 + ||A||||(I + A)1 || ce qui implique
1
||(I + A)1 ||
.
1 ||A||

( (I + A) est inversible car ||A|| < 1 )


Remarque 3 On a par contraposition : si I + A n'est pas inversible alors
||A|| 1, pour toute norme matricielle subordonne ou non.

Suite des puissances d'une matrice

On dit qu'une suite de matrices (An )nIN dans Md,d0 (IC) tend vers 0, si pour
une norme || || dnie sur Md,d0 (IC), la suite (||An ||)nIN tend vers 0 quand
n .
Comme toutes les normes sont quivalentes, cette convergence a alors lieu
pour toutes les normes.
Si d = d0 , en prenant les normes subordonnes aux normes vectorielles, on
voit que
An 0 v ICd , An v 0.

On dduit de la proposition 8 le thorme :


Thorme Soit A Mn (IC). Une condition ncessaire et susante pour que
14

la suite des puissances de A, (An )nIN , converge vers 0 est que


(A) < 1.

Dmonstration Soit une matrice A Mn (IC) telle que An 0 quand


n . Il est clair que (An ) = n (A). Mais d'aprs la proposition 8, n (A)
||An ||, pour toute norme matricielle. Donc n (A) 0, ce qui implique que
(A) < 1.
Rciproquement, soit une matrice telle que (A) < 1. D'aprs la proposition
9, il existe une norme matricielle || || subordonne une norme vectorielle,
telle que ||A|| < 1. Comme || || est une norme matricielle, ||An || ||A||n
0 quand n .
8

Rsolution de Systmes linaires

Nous nous intressons dans ce chapitre des mthodes de rsolution d'un


systme linaire Ax = b o A Mn (IR) est une matrice donne, b IRn
un vecteur donn et x IRn l'inconnue du problme.
Il est important de bien remarquer que l'on ne calcule jamais l'inverse de
la matrice A(mme si sur le papier on a x = A1 b). En eet, calculer A1
revient rsoudre le problme suivant : trouver une matrice B telle que
AB = I , c'est--dire rsoudre un systme linaire de n2 quations n2
inconnues !, ou rsoudre n systme linaires chacun d'ordre n. En tout cas
c'est trs coteux numriquement.
Une premire mthode d'inversion du systme est la considration des formules de Cramer :
xi =

det (col1 , col2 , , coli1 , b, coli+1 , , coln )


det(A)

o coli est la ieme colonne de A et det(A) est le dterminant de A.


En procdant par dveloppement selon les lignes ou les colonnes, le nombre
15

d'oprations pour calculer un dterminant d'ordre n est n !. On doit ici


calculer (n+1) dterminants. Le cot d'une telle mthode est donc suprieur
(n + 1)!.
Considrons que notre ordinateur calcule 1 Gops (c'est--dire 1 milliard
d'oprations la seconde, ce qui est dj trs bien). Considrons le cas trs
petit d'une matrice 50 50. Le temps de calcul serait, en annes :
109

51!
4.91049
60 60 24 365

Il s'agit bien d'un petit cas.


On appelle matrice pleine une matrice dont le nombre d'lments ncessairement nuls n'est pas important. A contrario, on appelle matrice creuse, une
matrice dont le nombre d'lments ncessairement nuls est grand (exemple :
les matrices tridiagonales ).
Un des points essentiels dans l'ecacit des mthodes envisages concerne la
taille des systmes rsoudre.
Entre 1980 et 2000, la taille de la mmoire des ordinateurs a augment de
faon drastique. La taille des systmes rsoudre sur ordinateurs a donc
galement augment, selon l'ordre de grandeur suivant :
1980 : matrice "pleine" N = 102
matrice"creuse" N = 106
2000 : matrice "pleine" N = 106
matrice "creuse" N = 108
Le dveloppement des mthodes de rsolution de systmes linaires est li
l'volution des machines informatiques.
Un grand nombre de recherches sont d'ailleurs en cours pour proter au
mieux de l'architecture des ordinateurs (mthode de dcomposition en sous
domaines pour proter des architectures parallles par exemple).
On distingue deux grandes familles de mthodes :
16

Les mthodes directes : On obtient la solution en un nombre ni d'oprations. Si elle est numriquement "mauvaise", cause des erreurs d'arrondis par exemple, on ne peut en gnral plus rien faire pour l'amliorer. Par contre on a l'assurance de terminer.
Les mthodes itratives : On construit une suite qui tend vers la solution. Si on n'est pas satisfait du rsultat, on peut continuer. Cette fois
la qualit de la solution est primordiale.

8.1 Les mthodes directes


8.1.1

Rsolution d'un systme triangulaire suprieur

Exemple :

a11
0
0
0

a1,2
a2,2
0
0

a1,3
a2,3
a3,3
0

a1,4
a2,4
a3,4
a4,4

x1
x2
x3
x4

b1
b2
b3
b4

On a alors :

b4
a4,4
b3 a3,4 x4
x3 =
a3,3
b2 a2,3 x3 a2,4 x4
x2 =
a2,2
b1 a1,2 x2 a1,3 x3 a1,4 x4
x1 =
a1,1

x4 =

D'une manire gnrale, on peut trouver toutes les valeurs de xi par la


mthode itrative suivante (substitution arrire) :
17

bn
an,n

xn =

bi

n
X

ai,j xj

pour i = n 1, , 1

j=i+1

xi =

ai,i

8.1.2

Rsolution d'un systme triangulaire infrieur

Exemple :

a1,1
a2,1
a3,1
a4,1

0
a2,2
a3,2
a4,2

0
0
a3,3
a4,3

0
0
0
a4,4

x1
x2
x3
x4

b1
b2
b3
b4

On a alors :

b1
a1,1
b2 a2,1 x1
x2 =
a2,2
b3 a3,1 x1 a3,2 x2
x3 =
a3,3
b4 a4,1 x1 a4,2 x2 a4,3 x3
x4 =
a4,4

x1 =

D'une manire gnrale, on peut trouver toutes les valeurs de xi par la mthode itrative suivante (substitution avant) :
x1 =

b1
a1,1
bi

xi =

i1
X

ai,j xj

j=1

ai,i

pour i = 2, , n
18

Dans de nombreuses mthodes, l'objectif est de transformer A pour la rendre


triangulaire, infrieure ou suprieur, et en suite calculer les solutions en utilisant une substitution avant ou arrire.

8.1.3

La mthode de Gauss

La stratgie de la mthode de Gauss : Transformer le systme linaire en un


systme quivalent ( triangulaire suprieur), facile rsoudre.

L'algorithme de la mthode de Gauss.


Prenons l'exemple suivant :

x1 + 2x2 + 2x3 = 2
L1
x1 + 3x2 2x3 = 1 L2

3x1 + 5x2 + 8x3 = 8


L3

On conserve la ligne L1 , qui sert de pivot pour liminer l'inconnue x1 des


autres lignes ; pour cela, on retire L1 L2 , et 3 fois L1 L3 . On obtient :

x1 + 2x2 + 2x3 = 2
L1
x2 4x3 = 3 L2 L2 L1

x2 + 2x3 = 2
L3 L3 3L1

On conserve alors la ligne L2 qui sert de pivot pour liminer x2 de la


troisime ligne ; pour cela, on remplace la ligne L3 par L3 + L2 . On trouve :

x1 + 2x2 + 2x3 = 2
L1
x2 4x3 = 3 L2

2x3 = 1 L3 L3 + L2

On rsoud nalement le systme par substitution arrire, ce qui donne


x3 =

1
2

19

x2 = 3 + 4x3 = 3 + 2 = 1
x1 = 2 2x2 2x3 = 2 + 2 1 = 3

Comment cela se passe avec des matrices ?

x1 + 2x2 + 2x3 = 2
L1
x1 + 3x2 2x3 = 1 L2

3x1 + 5x2 + 8x3 = 8


L3

1 2 2
2
x1

1 3 2 x2
1
3 5 8
8
x3

2
x1
1 2
2
x1 + 2x2 + 2x3 = 2
L1

x2 4x3 = 3 L2 L2 L1 0 1 4 x2
3

2
x3
0 1 2
x2 + 2x3 = 2
L3 L3 3L1

2
x1
1 2 2
x1 + 2x2 + 2x3 = 2
L1

x2 4x3 = 3 L2
0 1 4 x2 3

1
x3
2x3 = 1 L3 L3 + L2
0 0 2

Le pivot parcours la diagonale.


Description
Dcrivons la mthode : on s'arrange (quitte eectuer une permutation de
lignes) pour que a11 soit non nul ; la ligne L1 est la ligne pivot qu'on va
retrancher (avec un coecient ad-hoc) aux lignes suivantes de faon faire
aparatre des zros en premire colonne partir de la ligne 2.

a1,1 a1,2 a1,n b1


a2,1 a2,2 a2,n b2

L2 L2

a2,1
a1,1

L1

ak,1 ak,2 ak,n bk Lk Lk

ak,1
a1,1

L1

an,1 an,2 an,n bn Ln Ln

an,1
an,1

L1

..
.

..
.

..
.

..
.

..
.

..
.

..
.

..
.

..
.
..
.

20

..
.
..
.

done

(1)

(1)

..
.

..
.

(1)

(1)

..
.

..
.

(1)

(1)

..
.

..
.

a1,1 a1,2 a1,n b1


(1)
(1)
(1)
0 a2,2 a2,n b2

..
.

(1)

ak,2 ak,n bk

(1)
an,2 a(1)
n,n bn

..
.

..
.

..
.

(1)

avec
j = 1, , n a1,j = a1,j et b1 = b1
ak,1
ak,1
(1)
(1)
a1,j et bk = bk
b1
k, j = 2, , n ak,j = ak,j
a1,1
a1,1
(1)

(1)

On recommence ainsi de proche en proche : l'tape k on suppose que a(k)


k,k
est non nul (quitte permuter avec les lignes en dessous). Si on ne peut pas
trouver de coecient diagonal non nul ce stade c'est que la matrice A n'est
pas inversible. Dtaillons l'tape k

(k)

(k)

..
.

..
.

..
.

(k)
an,k an,n
b(k)
n

a1,1 a1,2
(k)
0 a2,2
(k)
0
0 a3,3

..
.
..
.

..
.
..
.

..
.
..
.

...

(k)

(k)

..
.

..
.

(k)

(k)

..
.
..
.

..
.
..
.

a1,n b1
(k)
(k)
a2,n b2
(k)
(k)
a2,n b2

..
.

(k)

ak,k ak,n bk

..
.
..
.

..
.
..
.

Ligne pivot k : Lk

(k)

On eectue les oprations suivantes sur les lignes se trouvant en dessous de


Lk :
(k)

Lk+i Lk+i

ak+i,k
(k)

ak,k

Lk

21

i = 1, , n k

de sorte que le systme devient :

(k)

(k)

..
.

..
.

0
0

0
0

a1,1 a1,2
(k)
0 a2,2
(k)
0
0 a3,3

..
.
..
.

...

(k)

(k)

a1,n
(k)
a2,n
(k)
a2,n

b1
(k)
b2
(k)
b2

..
.
..
.

..
..
..
..

(k)
(k)
(k)
ak,k

ak,n
bk
(k+1)
(k+1)
(k+1)

0 ak+1,k+1 ak+1,n bk+1

..
.
..
.

..
.
..
.

..
.
..
.

..
.
..
.

ak+1,n

(k+1)

..
.

..

a(k+1)
b(k+1)
n,n
n

Aprs n 1 tapes on obtient un systme triangulaire suprieur.

(n1)

a1,1
0

..
.
..
.

(n1)

(n1)

(n1)

a1,n
a1,2
b1
(n1)
(n1)
(n1)
a2,2
a2,n
b2

..
.
..
.

..
.
..
.

..
.

...

... ...

a(n1)
b(n1)
n,n
n

Une fois que le systme matrice a t mis sous forme triangulaire suprieur
on n'a plus qu' rsoudre un systme triangulaire par la mthode de susbstitution arrire.
L'algorithme de la mthode de Gauss :
P our k = 1 jusqu0 n 1
pivot ak,k (* stratgie de pivot *)
Si pivot = 0 alors
Si pour m = k + 1 jusqu0 n tous les am,k = 0 FIN (pas de solution)
Sinon
P ermuter la ligne k avec la ligne m

22

P ermuter bk avec bm
F in Si
Sinon
P our i = k + 1 jusqu0 n
P our j = k + 1 jusqu0 n
ai,k
ai,j = ai,j
ak,j
pivot
F in P our
ai,k
bi = bi
bk
pivot
F in P our
F in Si
F in P our
Si an,n 6= 0 alors
bn
xn =
an,n
P our i = N n 1 jusqu0 1
bi
xi =

n
X

ai,j xj

j=i+1

ai,i

F in P our
Sinon FIN ( pas de solution)
F in Si

Remarque 4 Dans l'limination de Gauss, il faut au dbut choisir une quation avec a11 6= 0, l'aide de laquelle on limine x1 dans les autres quations.
Le choix de cette quation (choix du pivot) peut-il inuencer la prcision du
rsultat numrique, si l'on fait le calcul sur ordinateur en virgule ottante ?

23

Exemple : Considrons le systme suivant :


(

104 x1 + x2 = 1
x1 + x2 = 2

La solution exacte de ce systme est : x1 = 1.00010001... et x2 = 0.99989998.....


Appliquons la mthode de Gauss et simulons un calcul en virgule ottante
avec 3 chires signicatifs.
a) Si l'on prend a11 = 104 comme pivot, on obtient
(

104 x1 +

par consquent x2 =
x1 =

11
=0.
104

x2 =
1
(1 104 )x2 = 2 104

2 104
= 1 ( exacte !), mais pour x1 nous obtenons
1 104

Le rsultat numrique obtenu pour x1 est faux.


b) si l'on change les deux quations du systme, le systme devient :
(

x1 + x2 = 2
104 x1 + x2 = 1

le pivot est a11 = 1, et l'limination de Gauss donne


(

x1 +

x2 = 2
(1 104 )x2 = 1 104
2 1.000

par consquent x2 = 1.000 et x1 =


= 1.
1
Les deux valeurs numriques sont correctes.
24

8.1.4

Mthode de Gauss pivot partiel

L'ide est de ne pas se contenter d'un pivot qui soit dirent de zro (
a11 6= 0), mais d'changer les quations du systme an que a11 soit le
plus grand lment en valeur absolue de la premire colonne de A. La mme
stratgie est rpte pour les sous-systmes apparaissant dans l'limination
de Gauss.
l'algorithme de Gauss pivot partiel :
P our k = 1 jusqu' n 1
Chercher l'lment am,k telle que|am,k | = max |ai,k |
i=k,,n

P ermuter les lignes m et k


P ermuter bk avec bm
pivot ak,k (* stratgie de pivot *)
Si pivot = 0 alors F IN ( pas de solution )
Sinon
P our i = k + 1 jusqu0 n
P our j = k + 1 jusqu0 n
ai,k
ak,j
ai,j ai,j
pivot
F in P our
ai,k
bi = bi
bk
pivot
F in P our
F in si
F in P our
Si an,n 6= 0 alors
bn
xn =
an,n

25

P our i = n 1 jusqu0 1
bi
xi =

n
X

ai,j xj

j=i+1

ai,i
Sinon F IN ( matrice pas inversible )

8.1.5

Mthode de Gauss pivot total

On choisit maintenant p et q de telle sorte que |ap,q | =


max
|ai,j |
i=1,,nj=1,,n
et on change alors les ligne 1 et p ( dans la matrice A et le second membre
b), les colonnes 1 et q de A et les inconnues x1 et xq .
La mme stratgie est rpte pour les sous-systmes apparaissant dans l'limination de Gauss.
l'algorithme de Gauss pivot total :
P our k = 1 jusqu' n 1
Chercher l'lment ap,q telle que |ap,q | =
P ermuter les lignes k et p
P ermuter les colonnes k et q
P ermuter bk avec bm
P ermuter les inconnues xk et xq
pivot ak,k (* stratgie de pivot *)
Si pivot = 0 alors F IN ( pas de solution )
Sinon
P our i = k + 1 jusqu0 n

26

max

i=k,,n j=k,,n

|ai,j |

P our j = k + 1 jusqu0 n
ai,k
ai,j ai,j
ak,j
pivot
F in P our
ai,k
bi bi
bk
pivot
F in P our
F in Si
F in P our
Si an,n 6= 0 alors

Rordonner les inconnues


bn
an,n
P our i = n 1 jusqu0 1
xn =

bi
xi =

n
X

ai,j xj

j=i+1

ai,i

F in P our
Sinon F IN ( matrice pas inversible )
F in Si

8.1.6

Mthode de Gauss-Jordan

Inverser une matrice A carre inversible d'ordre n, revient rsoudre les n


systmes Afi = ei pour i allant de 1 n, o (e1 , e2 , e3 , , en ) est la base
canonique de IRn .
Pour cela, on cre un tableau n lignes et 2n colonnes en bordant la matrice
A par la matrice identit In .
Ainsi, pour inverser la matrice A d'ordre n, on utilisera la matrice augmente
suivante :
27

(A|In ) =

a1,1 a1,n 1 0

..
.

...

an,1

..
.





an,n

.. . . ..
. .
.

0 1

La transformation de Gauss-Jordan consiste transformer ce systme en un


systme quivalent dont le bloc gauche est l'identit, c'est dire qu'il faut
modier la matrice (A|In ) pour qu'elle devienne de la forme (In |A) en utilisant la mthode de Gauss.
Exemple :

Soit la matrice

3 2 1

A = 1 1 1

2 4 5

Calculons A1 par la mthode de Gauss-Jordan.


Soit la matrice augmente :

3
2 1 1 0 0
L1

1
1
1
0
1
0

L2


2 4
5 0 0 1
L3

2 1
1 0 0
L1

5
4
1

1 0 L2 L2
0

3
3
3

16 17
2
0
0 1
L3 L3

3
3
3

28

1
L1
3
2
L1
3

1
0 0
2 1


L1
1
5
4


1 0
0

L2

3
3
3
16 3

7
2
16
L3 L3 +
L2
0
0

1

3 5
5
5
5

3
3
0
5
5 4
0
3 3
7
0
0
5

3
6
0
3
5
5
L1 L1 + 2 L2

1
5

1 0
L2

3
L
2
16
3

1
5
5


3
18
3
0 0

3
7
7
7 L1 L1 L3

5 4

7
1
0
1
0

L2

3
3

7
L
2
16
0
0
3

1
5
5
5


3
3
18
0 0
L1
7
7
7

20
85
0 5
L L 20 L
0

2
3
2


3
7
21
21
21

2
16
L3
0
0

1
5
5
5

1
6
1
1
L1 L1
7
7
7
3
3
17
4
3

L2 L2
7
7
7
5
2
16
5
5
L3 L3

7
7
7
7

1 0 0


0 1 0

0 0 1

L'algorithme de la mthode de Gauss-Jordan


C est la matrice inverse de A : C = A1 .
P our i = 1 jusqu' n

29

P our j = 1 jusqu' n
Si i = j P oser ci,j = 1
Sinon P oser ci,j = 0
F in Si
F in P our
F in P our
P our i = 1 jusqu' n
Si ai,i = 0 alors
Si P our m = i + 1 jusqu' n tous les am,i = 0 Fin (matrice pas

inversible)
Sinon
P ermuter am,k et ai,k pour k = i jusqu' n
P ermuter entre cm,k et ci,k pour k = 1 jusqu' n
F in Si
F in Si
P our j = 1 jusqu' n
Si i 6= j alors
aj,i
T
ai,i
P our k = 1 jusqu' n
aj,k aj,k T ai,k
cj,k cj,k T ci,k
F in P our
F in Si
F in P our
F in P our
ci,j
P our i = 1 jusqu' n et j = 1 jusqu' n (lments de la matrice
ci,j
ai,i

inverse)

30

8.1.7

Dcomposition L U

Problme de la mthode du pivot de Gauss : ncessite de modier b.


Donc pour rsoudre Ax = b et Ax0 = b0 , il faut recommencer la procdure
deux fois.
Il faudrait une mthode qui ne modie pas b.
Supposons que nous sommes capables d'crire la matrice A sous la forme
d'un produit de deux matrices triangulaires L (infrieure) et U (suprieure).
A = LU

l11
l21
l31
l41

0
l22
l32
l42

0
0
l33
l43

0
0
0
l44

u11
0
0
0

u12
u22
0
0

u13
u23
u33
0

u14
u24
u34
u44

Alors rsoudre Ax = b peut aussi s'crire


Ax = (L U )x = L(U x) = b.

Que l'on peut dcomposer en deux tapes, avec une variable intermdiaire :y
Ax = b (L U )x = b L(U x) = b Ly = b avec y = U x
1. Rsoudre Ly = b.
2. Rsoudre U x = y .
Intrt de la mthode : Si on connat L et U , les tapes (1) et (2) se
rsolvent simplement :
- en appliquant pour (1) une substitution avant (L est triangulaire inf.)
- en appliquant pour (2) une susbstitution arrire (U est triangulaire sup.)
Thorme 1 Soit A une matrice de Mn (IR). Pour 1 p = n, on note
Ap le bloc

31

a1,1 a1,p

a
2,1 a1,p

..
.

..
.

ap,1 ap,p

La matrice A admet une factorisation A = LU o L est triangulaire infrieure avec des 1 sur la diagonale et U est triangulaire suprieure et inversible si et seulement si tous les blocs Ap , 1 p n, sont inversibles. De plus,
cette factorisation est unique.

Dmonstration Si A admet une factorisation LU avec L et U inversibles,


alors les blocs Ap sont bien inversibles.
On partitionne A, L, U en blocs comme ci dessous :

A = LU =

Ak A0k
A00k A000
k

Lk 0
L00k L000
k

Uk Uk0
0 Uk000

Lk U k
Lk Uk0
000
L00k Uk L00k Uk0 + L000
k Uk

= Ak = Lk Uk
L et U sont inversibles , donc Lk et Uk le sont aussi, ce qui implique que
Ak est inversible.

Existence : La dmonstration se fait par rcurrence : la proprit est clairement vraie si n = 1. Supposons la proprit vraie pour p n 1, et soit
une matrice A Mn (IR) dont tous les blocs Ap sont inversibles. L'hypothse de rcurrence implique l'existence d'une factorisation LU pour le bloc
An1 : An1 = L0 U 0 . On va chercher une factorisation LU de A sous la forme
A=

L0 0
xt 1

32

U0 y
0 z

o x, y IRn et z IR, ou de manire quivalente


L0 y = (a1,n , , an1,n )t
t

U 0 x = (an,1 , , an,n1 )t
xt y + z = an,n

D'aprs l'hypothse de rcurrence, L0 et U 0 sont inversibles, donc x et y


existent, et z aussi. De plus, comme det(A) 6= 0, z est non nul. L'existence
d'une factorisation LU de A o L a des 1 sur la diagonale est dmontre.
Unicit : Soient deux factorisation LU de A : A = LU = L0 U 0 o L et L0
sont triangulaires infrieures avec des 1 sur la diagonale, et U et U 0 sont
triangulaires suprieures et inversibles. On a donc l'identit
1

L0 L = U 0 U 1

Mais L0 1 L est triangulaire infrieure avec des 1 sur la diagonale et U 0 U 1


est triangulaire suprieure. On a donc
1

L0 L = U 0 U 1 = I

ce qui implique L = L0 et U = U 0 .

Thorme 2 Si au cours de l'limination de Gauss sur la matrice A, les


pivots sont non nuls, alors il existe une matrice triangulaire infrieure L et
une matrice triangulaire suprieure U , telle que : A = L U . Si de plus on
impose L d'avoir les lments diagonaux gaux un alors la factorisation
est unique.

Remarque 5 il existe une innit de dcomposition LU si A est inversible.

33

Pour Calculer L et U facilement on se sert de la mthode du pivot de Gauss.


Exemple : Soit A Mn (IR) :

1 2 1

A= 4 3 1

2 2 3

On garde la trace des direntes tapes du pivot de Gauss.

1 2 1

4 3 1
2 2 3

premire tape :

1 2
1
L1

0 5 3 L2 L2 4L1
0 2 1
L3 L3 2L1

Ide : Au lieu de garder les 0 dans la nouvelle matrice , on conserve dans


ces cases le coecient par lequel on a multipli L1 .

1 2
1
L1

4 5 3 L2 L2 4L1
2 2 1
L3 L3 2L1

deuxime tape :

L1
1 2
1

4 5 3 L2 L2

2
11
L3 L3 L2
2 0
5
5

34

Ide : Au lieu de garder le 0 dans la nouvelle matrice , on conserve dans


cette case le coecient par lequel on a multipli L2 .

1 2
1
L1

4 5 3 L2 L2

2 11
2
2
L3 L3 L2
5
5
5

On en dduit L et U

1 0 0

L= 4 1 0

2
2
1
5

1 2
1

0 5 3
U =

11
0 0
5

Vous pourrez vrier que A = L U .


L'algorithme de la Dcomposition L U :
P our k = 1, , n 1
P our i = 1, , k 1
li,k = 0
F in P our
lk,k = 1
P our i = k + 1, , n
ai,k
li,k =
ak,k
F in P our

35

P our i = k + 1, , n
P our j = 1, , k
ai,j = 0
F in P our
F in P our
P our i = k + 1, , n
P our j = k + 1, , n
aij = ai,j ai,k ak,j
F in P our
F in P our
F in P our
P our i = 1, , n 1
li,n = 0
F in P our
ln,n = 1

Une fois qu'on possde la dcomposition LU , on obtient facilement le dterminant de A : det(A) = det(L)det(U ) = det(U )
Avantage de la mthode LU : on calcule L et U une seule fois.
8.1.8

Mthode de Cholesky

Nous allons donner une variante de la mthode de Gauss dans le cas o A est
une matrice symtrique relle dnie positive. Nous allons bien sr exploiter
la structure particulire de A. Dans ce cas l la dcomposition LU de A
donne : A = LU . Soit D la diagonale de U de sorte que A = LDV o
V = D1 U et les coecients diagonaux de L et V sont gaux 1. Comme
A est symtrique A = At = V t DLt . L'unicit de la dcomposition LU
implique que V t = L et DLt = U . Finalement , on obtient A = LDLt .
36

Comme A est dnie positive la diagonale de D est strictement positive et


on peut poser D = 2 en imposant que la diagonale de soit strictement
positive. On obtient alors A = BB t avec B = L triangulaire infrieure.
Rsumons ceci :
Thorme 3 Si A est symtrique dnie positive, il existe au moins une
matrice triangulaire infrieure L telle que A = LLt . Si on impose de plus
que les coecients diagonaux de L sont strictement positifs alors la factorisation est unique.

Nous avons dmontr le rsultat d'existence. L'unicit est immdiate. Dtaillons l'algorithme : on va chercher L sous forme triangulaire infrieure :

l1,1 0

l2,1 l2,2
0

L=

..
.

l
k,1
.
.
.

..
.

..
.
...
...

... ...

lk,2 lk,k

..
.

..
.

..
.

..
.

..
.

ln,1 ln,2 ln,n

et rsoudre le systme A = LLt c'est--dire


i, j

ai,j =

n
X

li,k lj,k

k=1

comme li,k = 0 pour k i + 1


inf (i,j)

i, j

ai,j =

li,k lj,k

k=1

Nous allons construire les colonnes de L successivement. Commenons par


la premire : i = 1.
37

La relation prcdente donne :

= l1,1 = a1,1
a1,2
= l2,1 =
l1,1

2
j = 1 : a1,1 = l1,1
j = 2 : a1,2 = l1,1 l2,1

..
.

a1,n
l1,1

j = n : a1,n = l1,1 ln,1 = ln,1 =

On obtient ainsi la premire colonne de L. Supposons avoir construit les i1


premires colonnes de L et construisons la ime .
j=i:

ai,i =

i
X

i1
X

2
2
li,k
= li,i
+

k=1

2
li,k

k=1

connu

| {z }

d'o
li,i =

v
u
u
ta

i,i

i1
X

2
li,k

k=1
i1
X

ai,i+1
j =i+1:

li,k li+1,k

k=1

li+1,i =

li,i

..
.
ai,n
j=n:

ln,i =

L'algorithme de Cholesky
l1,1 =

a1,1

P our i = 2, , n
ai,1
li,1 =
l1,1
F in P our
P our k = 2, , n

38

i1
X
k=1

li,i

li,k ln,k

lk,k =

v
u
u
u
tak,k

k1
X

2
lk,j

j=1

P our i = k + 1, , n
ai,k

k1
X

li,j lk,j

j=1

li,k =

lk,k

F in P our
F in P our

Exemple :
La matrice

A=

1
1
1
1

1 1 1
5 5 5
5 14 14
5 14 15

est gale au produit de la matrice triangulaire L et de sa transpose Lt :

A=

1
1
1
1

1 1 1
5 5 5
5 14 14
5 14 15

1
1
1
1

0
2
2
2

0
0
3
3

0
0
0
1

0
2
2
2

0
0
3
3

0
0
0
1

1
0
0
0

1
2
0
0

1
2
3
0

1
2
3
1

Avec

L=

1
1
1
1

Pour la rsolution de systme linaire de la forme : Ax = b , le systme


devient
(
t

LL x = b

Ly = b (1)
Lt x = y (2)

On rsout le systme (1) pour trouver le vecteur y , puis le systme (2) pour
trouver le vecteur x. La rsolution est facilite par la forme triangulaire des
39

matrices.
La mthode de Cholesky permet aussi de calculer le dterminant de A, qui
est gale au carr du produit des lments diagonaux de la matrice L, puisque
det(A) = det(L).det(Lt ) = det(L)2 .

8.2 Les mthodes itratives


8.2.1

Principe gnral

Pour des systmes de grande taille, les mthodes directes ( du type limination de Gauss ou Cholesky), peuvent s'avrer trop coteuses en temps de
calcul ou en place mmoire. L'ide est alors de ne plus chercher rsoudre
exactement le systme linaire mais d'approcher sa solution par une suite de
vecteurs construite l'aide d'une formule de rcurrence simple.
Soit un systme linaire
Ax = b

(S)

o
A est une matrice carre inversible, x et b IRN . Le principe des mthodes

itratives prsentes ici est d'crire A comme la dirnce de deux matrices :


A=M N

o
1) M est inversible
2) le systme linaire M y = c peut tre rsolu simplement, avec un cot de
calcul faible : typiquement M sera diagonale ou tridiagonale.
On va alors approcher la solution de (S) par la suite (x(k) ) dnie par
rcurrence partir de x(0) qu'on choisit, et de la formule
x(k+1) = M 1 (b + N x(k) )

40

Remarque 6 On n'a pas besoin de calculer M 1 , mais juste de savoir calculer la solution de
M x(k+1) = (b + N x(k) )

(4)

On appelle cette construction mthode itrative base sur la dcomposition


rgulire (M ,N ).
Remarque 7 Si (x(k) )k converge vers x alors (4) donne par passage la
limite M x = N x + b et donc (M N )x = b c'est dire Ax = b.
Ainsi, si (x(k) )k converge alors, la suite converge vers la solution du systme
linaire Ax = b.

Dnition 8 On dit qu'une mthode itrative converge ssi (x(k) )k converge


quel que soit x(0) .
Dnition 9 On rappelle rsidu (resp. erreur) l'itration k, le vecteur
r(k) = b Ax(k) (resp. e(k) = x(k) x) ; o x dsigne la solution exacte.

Remarque 8 On ne connat pas e(k) mais il est facile de calculer r(k)


chaque itration. La mthode est convergente ssi lim e(k) = 0 ( lim r(k) =
k
k
0).
Remarque 9 M x(k+1) = N x(k) + b x(k+1) = M 1 N x(k) + M 1 b.

On appelle M 1 N la matrice d'itration de la mthode itrative associe


la dcomposition rgulire (M, N ).
41

Thorme 4 La mthode itrative (4) converge ssi (M 1 N ) < 1.


Dmonstration :
Rappel : Pour une matrice B , (B) < 1 ssi il existe || || norme matricielle
telle que ||B|| < 1.
Soit x la solution exacte, alors, puisque (M N )x = b, on a aussi x =
M 1 N x + M 1 b. Ainsi :
e(k) = x(k) x = (M 1 N x(k1) +M 1 b)(M 1 N x+M 1 b) = M 1 N (x(k1) x) = M 1 N e(k1)

Il en dcoule que e(k) = (M 1 N )k (x(0) x). Alors lim e(k) = 0 ssi il existe
k
|| || norme matricielle telle que lim ||M 1 N ||k = 0, c.a.d ssi (M 1 N ) < 1.
k

Thorme 5 Soit A une matrice symtrique, dnie positive, et M, N


deux matrices telles que A = M N , M soit inversible et M t + N soit elle
aussi symtrique, dnie positive. Alors (M 1 N ) < 1.

Dmonstration : voir TD

8.2.2

La mthode de Jacobi

On considre une matrice A inversible dont la diagonale D est inversible.


La mthode de Jacobi consiste choisir M = D et N = D A .
Algorithme
bi
(k+1)

xi

n
X

(k)

ai,j xj

j=1j6=i

ai,i

i = 1, , n

Le test d'arrt est du type max |xi(k+1) x(k)


i | < .
i=1,,n

42

Dnition 10 une matrice carre A est dite diagonale strictement dominante si et seulement si :
|ai,i | >

n
X

|ai,j | pour i = 1, , n

j=1,j6=i

Exemple :

5
3 1

A = 4 9 3
3 1 10

Proposition 11 Si A est diagonale strictement dominante alors la mthode de Jacobi converge pour tout choix de x(0) .
Dmonstration : Si A

est diagonale strictement dominante, on a


||M N || = ||D (D A)|| < 1.
1

Proposition 12 Si A et 2D A sont symtriques dnies positives alors


la mthode de Jacobi converge pour tout choix de x(0) .

Dmonstration : Si A est matrice symtrique, dnie positive, alors D


l'est aussi, et on peut utiliser la mthode de Jacobi. De plus, M +N = 2DA
est aussi matrice symtrique, dnie positive. On peut appliquer le Thorme
5.
8.2.3

La mthode de Gauss-Seidel

On considre une matrice A inversible dont la diagonale D est inversible.


On note A = D L U , o L ( respectivement U ) est la partie
triangulaire infrieure ( respectivement suprieure) strictement de A.
43

La mthode de Gauss-Seidel consiste choisir M = D L et N = U .


Algorithme
bi
(k+1)

xi

i1
X

(k+1)

ai,j xj

j=1

n
X

(k)

ai,j xj

j=i+1

i = 1, , n

ai,i

Le test d'arrt est du type max |xi(k+1) x(k)


i | < .
i=1,,n

Proposition 13 Si A est diagonale strictement dominante alors la mthode de Gauss-Seidel converge pour tout choix de x(0) .
Dmonstration : On s'intresse la solution de M y = N x pour x donn :
on a
X

ai,i yi =

ai,j yj +

ai,j xj .

j>i

j<i

On considre i0 tel que |yi0 | = ||y|| : on a


|ai0 ,i0 ||yi0 |

|ai0 ,j |||y|| +

j<i0

|ai0 ,j ||x|| .

j>i0

Si A est diagonale strictement dominante,


|ai0 ,i0 |

|ai0 ,j | >

j<i0

donc
sup
x6=0

|ai0 ,j |,

j>i0

||y||
||x||

ce qui veut dire que ||M 1 N || < 1 (M y = N x ).


Proposition 14 Si A est symtrique dnie positive alors la mthode de
Gauss-Seidel converge pour tout choix de x(0) .

44

Dmonstration : Si A est symtrique, dnie positive, alors D l'est aussi,


et L = U t . Donc M t + N = D Lt + U = D est symtrique, dnie positive.
On peut appliquer le Thorme 5.

8.2.4

La mthode SOR ( Successiver Over Realaxtion )

La mthode de Gauss-Seidel est trs facile programmer mais sa convergence


peut tre trs lente pour certains systmes : on la modie en introduisant un
1
paramtre 6= 0 dit paramtre de relaxation et en choisissant M = D L

1
et N = U (1 )D.

La matrice M est inversible si la diagonale D est inversible. Pour = 1, on

retrouve la mthode de Gauss-Seidel. Pour < 1 on parle de sous-relaxation.


Pour > 1 on parle de sur-relaxation.
Algorithme

(k+1)
xi

= (1

(k)
)xi

bi

i1
X

(k+1)
ai,j xj

n
X
j=i+1

j=1

ai,i

(k)
ai,j xj

i = 1, , n

Proposition 15 Si A est diagonale strictement dominante alors la mthode SOR converge pour tout choix de x(0) si 0 < 1.
Dmonstration voir TD.
Proposition 16 Si A est symtrique dnie positive alors la mthode SOR
converge pour tout choix de x(0) si 0 < < 2.

45

Dmonstration : Si A est symtrique dnie positive, alors D l'est aussi,


et L = U t . Donc M t + N = ( 2 1)D Lt + U = ( 2 1)D est symtrique
dnie positive ds que 0 < < 2. On peut appliquer le Thorme 5.

46