Вы находитесь на странице: 1из 17

Notes du cours d'quations aux Drives Partielles de l'ISIMA, premire anne

http://www.isima.fr/leborgne

Introduction la mthode du gradient conjugu


Gilles Leborgne
23 janvier 2006
On souhaite rsoudre le problme  A.~x = ~b l'aide d'une mthode itrative lorsque A est une
matrice symtrique.
La mthode itrative du gradient conjugu est une mthode de GaussSeidel relativement
une base A-orthogonale, la base A-orthogonale choisie tant construite l'aide de la mthode de
GramSchmidt partir de la base particulire donne par les rsidus successifs.
Plan : mthode de GaussSeidel, puis mthode de GramSchmidt, puis mthode du gradient
pour motiver le choix de la base de dpart sur laquelle on applique GramSchmidt, puis la mthode
du gradient conjugu.

Table des matires


1 Mthode de descente de GaussSeidel
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8

Mthode de GaussSeidel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Expression matricielle de la mthode de GaussSeidel . . . . . . . . . . . . . . . .
GaussSeidel : point de vue mthode de descente le long des vecteurs de la base
canonique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GaussSeidel et convergence en n tapes pour la sphre . . . . . . . . . . . . . . .
Matrice elliptique et base A-orthogonale . . . . . . . . . . . . . . . . . . . . . . . .
1.5.1 Base A-orthogonale : l'ellipsode devient sphrique . . . . . . . . . . . . . .
1.5.2 Ellipsode rendu sphrique . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Inverse de A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Gauss-Seidel gnralis et convergence en n tapes pour l'ellipsode . . . . . . . . .
Gauss-Seidel gnralis = point de vue mthode de descente le long de vecteurs
A-conjugus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Algorithme de GramSchmidt
Pourquoi descendre le long du gradient
Cas f (~x) = 12 ~xT .A.~x ~bT .~x . . . . . .
Mthode du gradient pas optimal . .
Mthode du gradient pas xe . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

4 Mthode du gradient conjugu


4.1
4.2
4.3
4.4

Raisons gomtriques . . . . . . . . . . . . . . . . .
Raisons analytiques . . . . . . . . . . . . . . . . . .
Gradient conjugu = GaussSeidel gnralise... . .
... avec construction de GramSchmidt partir des

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

. . . . .
. . . . .
. . . . .
rsidus

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

A Annexe : mthode de gradient dans le cas non linaire ou non symtrique


A.1
A.2
A.3
A.4

Fonction -convexe . . . . . . . . .
Fonction M -lipschitzienne . . . . .
Mthode du gradient pas xe . .
Mthode du gradient pas optimal

2
2

3
4
5
5
6
6
7
8

3 Mthode du gradient
3.1
3.2
3.3
3.4

.
.
.
.

.
.
.
.

B Annexe : Rayon spectral, convergence

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

9
10
10
11

11

11
12
12
12

14

14
14
15
15

16

1 Mthode de descente de GaussSeidel


1.1

Mthode de GaussSeidel

On veut trouver ~x tel que :

A.~x = ~b,

(1.1)

b1
..
~

o A = [aij ] 1in est une matrice relle donne et b =


un vecteur donn dans Rn .
.
1jn
bn
0
n
0
0
0
0
Pour un ~x R qcq, ~x = (x1 , . . . , xn ), on note ~r = A.~x0 ~b, et ~r0 est appel le rsidu. Si
~r0 = 0 (rsidu nul), alors ~x0 est la solution cherche.
La mthode de GaussSeidel consiste, partir d'un point ~x0 donn a priori, calculer le
rsidu ~r0 , et annuler ce rsidu composante par composante en ne modiant qu'une composante
de ~x0 la fois.
Pn
La premire composante de ~r0 est r10 = (A.~x0 ~b)1 = j=1 a1j x0j b1 , et on veut annuler r10 en
1
ne modiant que x01 . On cherche donc un nouveau point not ~x0+ n = (x11 , x02 , . . . , x0n ) correspondant
1
1
1
au nouveau rsidu ~r0+ n = A.~x0+ n ~b pour lequel on impose (~r0+ n )1 = 0, i.e. :
a11 x11 +

n
X

a1j x0j b1 = 0.

(1.2)

j=2

Pn
1
D'o x11 (ds que a11 6= 0), savoir x11 = a111 (b1 j=2 a1j x0j ), d'o ~x0+ n .
1
On prend comme nouveau point de dpart le point ~x0+ n = (x11 , x02 , . . . , x0n ), et le rsidu est
1
1
1
1
~r0+ n = A.~x0+ n ~b. Et on veut annuler (~r0+ n )2 en ne modiant que (~x0+ n )2 . On cherche donc
2
2
2
un nouveau point not ~x0+ n = (x11 , x12 , x03 . . . , x0n ) qui donnera le rsidu ~r0+ n = A.~x0+ n ~b pour
2
lequel on impose (~r0+ n )2 = 0, i.e. :
a21 x11 + a22 x12 +

n
X

a2j x0j b2 = 0.

j=3
2

D'o x12 (ds que a22 6= 0), d'o ~x0+ n pour lequel (~r0+ n )2 = 0 (par contre en gnral (~r0+ n )1 6= 0).
n

not

Et on itre le procd : on obtient les points ~x0+ n , . . ., ~x0+ n = ~x1 (n de l'tape n).
1
1+ n

Puis on recommence partir de ~x1 pour obtenir ~x


l'tape 2n), . . .

, . . ., ~x1+ n , . . ., ~x1+ n

not

= ~x2 (n de

not

Puis on continue partir de ~xk pour obtenir ~xk+ n , . . ., ~xk+ n , . . ., ~xk+ n = ~xk+1 (n de l'tape
n(k+1) pour k 0).
Et on s'arrte ds que par exemple ||~xk+1 ~xk || < pour une prcision souhaite.

Proposition 1.1 Si A est une matrice symtrique dnie positive, alors la suite (~xk )kN converge

vers la solution ~x de A.~x = ~b, quel que soit le point ~x0 pris comme point de dpart de la mhtode
itrative de GaussSeidel.

Preuve. A l'aide de l'expression matricielle de l'algorithme, voir suivant, proposition 1.3.

1.2

Expression matricielle de la mthode de GaussSeidel

Proposition 1.2 Si on pose A = DE F o D est la diagonale diag(a11 , . . . , ann ) de A, o E est

la matrice sous-diagonale de A (triangulaire infrieure stricte) et o F est la matrice sur-diagonale


de A (triangulaire suprieure stricte), l'algorithme de GaussSeidel s'crit l'tape n(k+1), k 0 :

(D E).~xk+1 = F.~xk + ~b.

(1.3)

(Et la suite (~xk )kN convergera vers ~x solution de A.~x = ~b, i.e. de (D E)~x = F ~x + ~b, voir
proposition suivante.)

1.3. GaussSeidel : point de vue mthode de descente le long des vecteurs de la base canonique

Preuve. On pose M = D E et N = F et donc A = M N avec M triangulaire infrieure et N


triangulaire suprieure stricte. Posant ~y k = N.~xk + ~b, (1.3) s'crit :
def

( = N.~xk + ~b).

M.~xk+1 = ~y k

(1.4)

Ici ~y k est donn, et l'inconnue est ~xk+1 (on s'est plac l'tape n(k+1)). C'est un systme de n
i
quations n inconnues les composantes (xk+ n )i=1,...,n de ~xk+1 , et la premire quation donne
1
2
directement xk+ n , puis la deuxime donne alors xk+ n , puis ... (Mthode de descente, M tant
triangulaire infrieure.)

Proposition 1.3 Si A est une matrice symtrique dnie positive, alors la suite (~xk )kN converge

vers la solution ~x de A.~x = ~b, quel que soit le point ~x0 pris comme point de dpart de la mthode
itrative de GaussSeidel.

Preuve. 1- On rappelle que si B est une matrice de rayon spectral < 1, le rayon spectral tant

la plus grande des valeurs propre en valeur absolue, alors quel que soit ~y 0 donn, la suite (~y k )kN
donne par ~y k+1 = B.~y k est convergente vers ~0, voir annexe B. Et une telle la suite (~y k ) est
trivialement donne par ~y k = B k .~y 0 .
2- A est dnie positive, et donc inversible. Soit ~x = A1 .~b la solution. On a A.~x = ~b, et donc
M.~x = N.~x + ~b. Et par construction, M.~xk+1 = N.~xk + ~b. D'o M.(~xk+1 ~x) = N.(~xk ~x). On
pose ~y k = ~xk ~x et B = M 1 .N , et on s'est ramen ~y k+1 = B.~y k . Il s'agit de montrer que M
est bien inversible et que le rayon spectral de B est < 1.
3- A tant symtrique dnie positive, on a aii > 0 pour tout i. En eet, on a ~eTi .A.~ei = aii > 0.
Donc D Q
= diag(a11 , . . . , ann ) est une matrice diagonale dnie positive. Et M = D E d'o
det M = aii > 0, d'o M est inversible. Donc B = M 1 .N a bien un sens.
5- Montrons que le rayon spectrale de B est < 1. Comme A = D E F est symtrique,
on a F = E T , d'o M = D E et N = E T , donc B = (D E)1 .E T , qu'on rcrit B =
1
1
1
1
1
1
D 2 .(I D 2 .E.D 2 ).D 2 .E T . Posons B1 = D 2 .B.D 2 : B1 et B ont mmes valeurs propres
1
car ~x est vecteur propre de B1 ssi D 2 .~x est vecteur propre de B pour la mme valeur propre. Et
1
1
1
1
on a B1 = D 2 .B.D 2 = (I L)1 LT o L = D 2 .E.D 2 .
Soit une valeur propre de B1 associe un vecteur propre ~x tel que ||~x|| = 1. Le couple (, ~x)
~
xT .LT .~
x
vrie LT .~x = (I L).~x et donc ~xT .LT .~x = (1 ~xT .L.~x), d'o = 1~
. Et ~xT .L.~x =
xT .L.~
x
1
1
1
1
1
1
1
~xT .(D 2 .E.D 2 ).~x, avec 0 > (D 2 .~x)T .A.(D 2 .~x) = ~xT .D 2 .A.D 2 .~x = ~xT .(D 2 .(D
1
2
T
12
12
T
12
12
2
t
12
E E ).D ).~x = ||~x|| +2~x .(D .E.D ).~x, d'o ~x .(D .E.D ).~x < 2 ||~x|| , d'o || < 1.
Le rayon spectral de B tant < 1, la mthode de GaussSeidel converge.

Remarque 1.4 La mthode de Gauss-Seidel relaxe s'crit :


M .~xk+1 = N .~xk + ~b

M =

1
(D E)

et N = (

1
D + F ).

Pour = 1 on a la mthode de Gauss-Seidel. Pour 0 < < 2 la mthode relaxe converge. On


parle de sous-relaxation pour < 1 et de sur-relaxation pour > 1. La mthode de sur-relaxation
est conseille (par exemple avec = 1, 8).
Si on note B = M1 .N , le coecient est calcul de telle sorte que le rayon spectral de
la matrice B soit le plus faible possible, de manire ce que la convergence soit la plus rapide
possible. Voir Golub et Van Loan [2].

1.3

GaussSeidel : point de vue mthode de descente le long des vecteurs


de la base canonique

Quand on parle de mthode de descente, on sous-entend un problme de minimisation. Ici, pour


A matrice n n, on dnit f : Rn R par :

f (~x) =

1 T
~x .A.~x ~bT .~x,
2

et on cherche le minimum de f .

(1.5)

1.4. GaussSeidel et convergence en n tapes pour la sphre

~ (~x) = 1 (A + AT ).~x ~b. En particulier, si A est une matrice symtrique,


Proposition 1.5 On a f
2
on a :

~ (~x) = A.~x ~b,


f

Preuve. Par dnition de la drivation dans une direction ~v donne, on a :


( 1 (h~v T .A.~x + ~xT .A.~v ) + h2~v T .A.~v h~bT .~v
f (~x + h~v ) f (~x)
= lim 2
h0
h0
h
h
1 T T
1 T
1
= ~x .A .~v + ~x .A.~v ~bT .~v = ((A + AT ).~x)T .~v .
2
2
2

df (~x).~v = lim

Puis le gradient est dni l'aide du produit scalaire canonique de Rn par :

~ (~x), ~v )Rn ,
df (~x).~v = (f

~v Rn ,

~ (~x) = 1 (A + AT ).~x. Et si A est symtrique, A = AT .


et on obtient f
2
Dans la suite, on suppose A symtrique dnie positive.
~ (~x) = 0,
Et dans ce cas, le minimum de f existe, est unique, et est donn par le point ~x tel que f
i.e. tel que :
A.~x = ~b.
(1.6)
C'est bien le problme initial (1.1) qu'on avait rsoudre.

Mthode de descente le long des vecteurs de la base canonique


On note (~ei )i=1,...,n la base canonique de Rn .
1
On se donne un point ~x0 Rn , et on cherche un point not ~x0+ n tel que :
1

f (~x0+ n ) min f (~x0 ~e1 ).

On aura ~x0+ n = ~x0 ~e1 qui ralise le minimum de f sur la droite ~x0 + Vect{~e1 } (droite parallle
au premier axe des coordonnes passant par le point ~x0 ). Pour ce on dnit 0 : R R par :

0 () = f (~x0 ~e1 ),

(1.7)

et on minimise 0 (on cherche la plus petite valeur de 0 sur la droite ~x0 + Vect{~e1 }). On a :

~ (~x0 ~e1 )T .~e1 = (A.(~x0 ~e1 ) ~b)T .~e1 ,


(0 )0 () = df (~x0 ~e1 ).(~e1 ) = f

(1.8)

et le minimum est donn pour tel que (0 )0 () = 0, i.e. pour tel que :

a11 (x01 ) + a12 x02 + . . . + a1n x0n b1 = 0,

(1.9)

d'o . Et on a retrouv (1.2) avec le point ~x0+ n = ~x0 ~e1 = (x01 , x02 , . . . , x0n ).
i1
i1
De mme pour les tapes suivantes en posant k+ n () = f (~xk+ n + ~ei ).
La mthode GaussSeidel est donc bien une mthode de descente.

1.4

GaussSeidel et convergence en n tapes pour la sphre

Proposition 1.6 Si 6= 0 et si I est la matrice identit, si A = I (matrice sphrique), alors,

partant d'un point ~x0 donn quelconque, l'algorithme de GaussSeidel converge en n tapes, i.e.
n
le point ~x0+ n = ~x1 est solution de I.~x = ~b, i.e. ~x1 = 1 ~b.
Et quelque soit base orthonorme (~
pi )i=1,...,n et le changement de base ~ei p~i pour tout
i = 1, .., n, la matrice sphrique A est inchange (reste sphrique), et l'algorithme de GaussSeidel
converge en n tapes.

Preuve. L'algorithme de GaussSeidel s'crit (D E).~x1 = F.~x0 + ~b, i.e. ici I.~x1 = ~b, d'o

~x1 = 1 ~b.
Soit P = ([~
p1 ] . . . [~
pn ]) la matrice dont les colonnes sont donnes par les coordonnes des
vecteurs p~i dans la base canonique. On a P T .P = I car les vecteurs sont orthonorms. D'o P 1 =
4

1.5. Matrice elliptique et base A-orthogonale

P T , et par changement de base, la matrice A = I est transforme en P 1 .A.P = P 1 .I.P =


I = A : la matrice est inchange.
Et dans cette nouvelle base orthonorme (~
pi ), la matrice de GaussSeidel s'crit (D E).~x1 =
0
1
F.~x + ~b, soit encore I.~x = ~r, et converge converge donc en n tapes.
Noter qu'une matrice A = I est appele matrice sphrique, car si f (~x) = 12 ~xT .A.~x = 2 ||~x||2Rn ,
la sphre de rayon R correspond la surface de niveau f (~x) = R2 .

Proposition 1.7 Si A est une matrice diagonale diag(1 , . . . , n ) o tous les i 6= 0, alors, partant

d'un point ~x0 donn quelconque, l'algorithme de GaussSeidel converge en n tapes, i.e. le point
n
~x0+ n = ~x1 est solution de diag(1 , . . . , n ).~x = ~b, i.e. (~x1 )i = 1i (~b)i .

Preuve. L'algorithme s'crit (D E).~x1 = F.~x0 + ~b, i.e. ici diag(1 , . . . , n ).~x1 = ~b.
Noter qu'une matrice A P
= diag(1 , . . . , n ) est appele matrice elliptique quand tous les i > 0,
car si f (~x) = 21 ~xT .A.~x = 12 i i x2i , alors la surface de niveau f (~x) = R2 est un ellipsode dont les
axes principaux sont les axes de coordonnes.

Remarque 1.8 Par contre, si on fait un changement de base orthonorme (~pi )i=1,...,n , la matrice

A n'est plus diagonale (bien que symtrique), et la mthode de GaussSeidel ne converge plus en
n tapes, contrairement au
cas de
la matrice sphrique.

1 0
cos sin
la matrice de rotation d'angle
et soit P =
Par exemple, soit D =
0 2
sin cos

1 0
6= 0 modulo 2 , et soit A = P.
.P 1 . P est la matrice de passage, la nouvelle base
0 2
3

12

2
tant donne par les colonnes de P . Prenons = 4 par exemple. Alors A =
, d'o
3
21
2
3 1

x1 = 41 (3b1 + b2 )
A1 = 12 21 23 , et la solution de A.~x = ~b est donne par
.
x2 = 14 (b1 + 3b2 )
2
2
0+ 1
Appliquons Gauss-Seidel avec ~x0 = (1, 0) et ~b = (b1 , 0). Premire tape : 3 x 2 1 x0 = b1 ,
0+ 12

2
3 b1 : comme
0+ 22
1

0+ 1
x1 2

0+ 1
x1 2

3
4 b1

2 1

2 2

d'o x
6= x1 =
n'est pas chang par la deuxime tape,
=
et que
il est clair que ~x
= ~x n'est pas solution : on n'a pas convergence en deux tapes. Ici A n'est
pas diagonale, et l'algorithme de Gauss-Seidel ne converge pas en n=2 tapes.
La mthode du grandient conjugu consistera rendre l'ellipsode sphrique.

1.5
1.5.1

Matrice elliptique et base A-orthogonale


Base A-orthogonale : l'ellipsode devient sphrique

La proposition 1.7 indique que les directions des vecteurs propres sont des directions de descentes
qui permettent une convergence en n tapes. Malheureusement le cot de calcul des vecteurs propres
est de mme ordre que le cot du calcul de l'inverse de la matrice : c'est d'ailleurs une technique
usuelle de calcul de l'inverse, voir (1.18) ou (1.19). Donc le calcul des vecteurs propres cote trop
cher.
L'ide est alors de rendre l'ellipsode sphrique, plus exactement de le faire apparatre sphrique,
a l'aide d'un produit scalaire adapt, celui donne par la matrice A : toute base A-orthogonale va
alors permettre la convergence en n-tapes.
p
Dnition 1.9 Soit A une matrice symtrique dnie positive. On note ||~v ||A = (A.~v , ~v )Rn la
norme associe au produit scalaire (~v , w)
~ A = (A.~v , w)
~ Rn .
Deux vecteurs ~v , w
~ Rn son dits A-conjugus (ou simplement conjugus si la matrice A est
implicite) ssi ils sont orthogonaux pour le produit scalaire (, )A :

~v , w
~ A-conjugus (~v , w)
~ A = 0 (A.~v , w)
~ Rn = 0 ~v T .A.w
~ = 0.

(1.10)

En d'autres
~ sont conjugues
termes les directions ~v et w

ssi, une fois dformes par la transformation ~x A~x elle sont orthogonales, i.e. ssi ( A.~v , A.w)
~ Rn = 0 : cela n'a de sens que pour
A matrice symtrique dnie positive.
On rappelle que dans ce cas, si D = P 1 .A.P
1 , ..., n ) est la matrice de diagonalisation
= diag(

1
1
1
de A, i.e. si A = P.D.P 1 , par dnition on a A = A 2 = P.D 2 .P 1 , o D 2 = diag( 1 , ..., n ).
1
1
Et on vrie trivialement que A 2 .A 2 = A.
5

1.6. Inverse de A

Dnition 1.10 Soit (~pi )i=1,...,n une base de Rn . La base (~pi )i=1,...,n est dite A-orthogonale ssi
(~
pi , p~j )A = 0 pour tout i6=j et elle est dit A-orthonormale si de plus ||~
pi ||A = 1 pour tout i.
Donc, on a (~
pi )i=1,...,n est dite A-orthogonale ssi p~Tj .A.~
pi = ij .

1.5.2

Ellipsode rendu sphrique

Soit :

1 T
~x .A.~x.
2
On veut rendre f sphrique, on fait le changement de variables :

~ = A.~x,
X
f (~x) =

(1.11)

(1.12)

et on fait le changement de fonction :

~ = f (A 12 X),
~
g(X)
~ = f (~x) quand X
~ =
i.e. g(X)

(1.13)

A.~x. On obtient :
~ =
g(X)

1 ~T ~
1 ~T ~
X .X = X
.I.X,
2
2

(1.14)

et toute courbe de niveau de g est sphrique.


Donc, si (P~i )i=1,...,n est une base orthonorme de Rn , i.e. t.q. pour tout i, j :

(P~i , P~j )Rn = ij ,

(1.15)

l'algorithme de GaussSeidel appliqu g converge en n-tapes, voir proposition 1.6.

~ = A.~x,
~ par X
~ = P Xi P~i . A l'aide du changement de variables X
Reprsentons un point X
i
1
~ et on dnit naturellement, pour tout i, les vecteurs transforms :
on obtient ~x = A 2 .X
1
p~i = A 2 .P~i .
1
Comme P~i = A 2 .~
pi , les (~
pi ) vrient :

( A.~
pi , A.~
pj )Rn = ij ,

(1.16)

(1.17)

i.e. la base  choisir est une base (~


pi )i=1,...,n qui est A-orthonorme : (~
pi , p~j )A = ij : si on descend
dans les directions d'une telle base, l'algorithme converge en n tapes.
Et on va voir que le choix d'une telle base (~
pi ) A-orthonorme permet la convergence en n tapes,
voir corollaire 1.16, sans
avoir

passer
par
la
fonction g (trop coteux car pour obtenir ~x partir

~ il faut calculer A).


de X

1.6

Inverse de A

Proposition 1.11 Soit A une matrice symtrique dnie positive. Si on dispose d'une base
(~
p1 , ..., p~n ) A-orthonormale, alors l'inverse de A est donne par :
A1 =

n
X

p~k .~
pTk

(1.18)

k=1

i.e. A1 est somme des n matrices lmentaires p~k .~


pTk .
Et si (~
p1 , ..., p~n ) est A-orthogonale, on a :
1

n
X
p~k .~
pTk
=
||~
pk ||2A

n
X
p~k .~
pTk
),
(=
T
p~ .A.~
pk
k=1 k

k=1

i.e. est somme des matrices lmentaires

p~k
p~T
. k .
||~
pk ||A ||~
pk ||A
6

(1.19)

1.7. Gauss-Seidel gnralis et convergence en n tapes pour l'ellipsode

Preuve. A est inversible


car dnie positive.
P
n

On pose B =P k=1 p~k .~


pTk o (~
pk ) est une base
PnA-orthonormale.
Pn
n
On a B.A = k=1 p~k .~
pTk .A, d'o B.A.~
pj = k=1 p~k .~
pTk .A.~
pj = k=1 p~k kj = p~j pour tout j :
on a obtenu, pour tout j , B.A.~
pj = p~j .
Et donc B.A.~x = ~x pour tout ~x, donc B.A = I , donc B = A1 (multiplier par A1 droite).
Et si (~
pk ) est A-orthogonale, alors ( ||~pp~kk||A ) est A-orthonormale.

Remarque 1.12 Par exemple, si A = I , on a A =

ei .~eTi ,
i~

autre base orthonorme, et c'est trivial dans ce cas.

avec (~ei ) la base canonique ou tout

Exercice 1.13 Montrer que A.B = I o B est la matrice de la preuve prcdente (sans utiliser la
dmonstration prcdente qui montre B.A = I ).

Rponse
. Comme (~
pj ) est une base de Rn , (A~
p ) est galement une base car A est inversible. Et on a
Pn
Pn j
Pn
T
T

pj =
pj ) = k=1 A.~
pk .~
pk .A.~
A.B = k=1 A.~
pk .~
pk , et donc A.B.(A.~
A.B.(A.~
pj ) = A.~
pj . Donc A.B.~x = ~x pour tout ~
x, i.e. A.B = I .

k=1

A.~
pk .kj , donc, pour tout j on a

Corollaire 1.14 Si A est une matrice symtrique dnie positive, si (~pi )i=1,...,n est une base Aorthogonale, alors la solution ~x vriant A.~x = ~b est donne par :

~x =

n
X

k .~
pk

k =

k=1

p~Tk .~b
||~
pk ||2A

(=

(~
pk , ~b)Rn
).
(~
pk , p~k )A

(1.20)

(Les k sont les composantes de ~x sur la base (~


pi )i=1,...,n .)

Preuve. On a ~x = A1 .~b =

Pn

p
~k .~
pT
k ~
.b
k=1 ||~
pk ||2A

Pn

~
p
~T
k .b
.~
p .
k=1 ||~
pk ||2A k

P
P
= i (~eTi .~b)~ei = i bi~ei = ~b, avec
(~ei ) la base canonique ou tout autre base orthonorme, et c'est trivial dans ce cas.

Remarque 1.15 Par exemple, si A = I , on a ~x =

1.7

ei .~eTi .~b
i~

Gauss-Seidel gnralis et convergence en n tapes pour l'ellipsode

Corollaire 1.16 Soit (~pj ) une base A-orthogonale donne. Soit ~x0 Rn donn (point de dpart

de la mthode itrative). On pose ~r0 = A.~x0 ~b (rsidu initial). Alors la solution ~x du problme
A.~x = ~b est donne par :

~x = ~x0

n
X

k p~k

k =

k=1

p~Tk .~r0
||~
pk ||2A

(=

p~Tk .A.~x0 p~Tk .~b


),
p~Tk .A.~
pk

k 1.

(1.21)

D'o l'algorithme itratif de rsolution de A.~x = ~b : on part de ~x0 et on obtient la solution ~x = ~xn
par l'intrmdiaire des n-tapes :

~x1 = ~x0 1 p~1 , . . . ,

~xk = ~xk1 k p~k ,

...,

~xn = ~xn1 n p~n .

(1.22)

C'est la mthode de Gauss-Seidel gnralise aprs choix d'une base (~


pi ) A-orthogonale.

Preuve. Par dnition de ~r0 on a ~b = A~x0 ~r0 , et A.~x = ~b quivaut A.~x = A.~x0 ~r0 , i.e.
A.(~x ~x0 ) = ~r0 . Et donc ~x ~x0 = A1 .~r0 =

Pn

p
~k .~
pT
k
.~r
k=1 ||~
pk ||2A 0

Pn

p
~T
r0
k .~
k=1 ||~
pk ||2A

p~k , i.e. (1.21).

Corollaire 1.17 Et si on pose ~rk = A.~xk ~b pour tout k = 1, . . . , n, alors :


~rk = ~rk1 k A.~
pk

et

~rk = ~r`

k
X

i A.~
pi ,

0 ` k1,

(1.23)

i=`+1

et en particulier ~rk = ~r0

Pk
i=1

i A.~
pi . D'o :
(~rk , p~i )Rn = 0,

1 i k,

(1.24)

i.e. le nouveau rsidu est orthogonal aux k premiers vecteurs p~1 , ..., p~k de la base A-orthogonale :

~rk (Vect{~
p1 , ..., p~k }) ,

k 1.

(1.25)

En particulier ~rn = ~0, i.e. A.~xn ~b = 0, et ~xn est la solution. (Il est fondamental de prendre une
7

1.8. Gauss-Seidel gnralis = point de vue mthode de descente le long de vecteurs A-conjugus

base (~
pi )i=1,...,n qui est A-orthogonale.) Et on a galement :

k =

p~Tk .~rk1
.
||~
pk ||2A

(1.26)

Preuve. ~xk = ~xk1 k p~k donne A.~xk = A.~


x
k A.~
pk , d'o ~rk = ~rk1 k A.~
pk . D'o
Pk1
Pk
k
~rk = (~rk2 k1 A.~
pk1 ) k A.~
pk = ~rk2 i=k1 i A.~
pi , ..., d'o ~rk = ~r` i=`+1 i A.~
pi ,
Pk
0 ` k1, et nalement ~rk = ~r0 i=1 i A.~
pi .
D'o (~rk , p~k )Rn = (~r0 , p~k )Rn 0 k p~Tk .A.~
pk = 0 car k est donn par (1.21).
D'o (~rk , p~k1 )Rn = (~rk1 , p~k1 )Rn k (A.~
pk , p~k1 )Rn = 0 + 0 = 0.
D'o (~rk , p~k2 )Rn = (~rk2 k A.~
pk k1 A.~
pk1 , p~k2 )Rn = (~rk2 , p~k2 )Rn + 0 + 0 = 0, puis,
Pk
. . ., puis (~rk , p~1 )Rn = (~r1 i=2 i A.~
pi , p~1 )Rn = 0 + 0 = 0.
Pk1
p
~T .~
r
Enn, on obtient (~rk1 , p~k )Rn = (~r0 , p~k )Rn i=1 (A.~
pi , p~k ) = (~r0 , p~k ), d'o k = ||~pkk ||02 =
A

p
~T
rk1
k .~
.
||~
pk ||2A

1.8

Gauss-Seidel gnralis = point de vue mthode de descente le long


de vecteurs A-conjugus

On transforme le problme A.~x = ~b en le problme : trouver le minimum de la fonction f (~x) =


~bT .~x (cas A symtrique dnie positive).

1 T
x .A.~x
2~

Proposition 1.18 Soit A une matrice symtrique dnie positive et (~pi ) une base A-orthogonale

donne. L'algorithme de Gauss-Seidel gnralis appliqu au problme A.~x = ~b est un algorithme


de descente le long des vecteurs p~i .
Et (1.24) indique que le dernier rsidu ~rk est orthogonal aux k premires directions de descentes
(~
p1 , ..., p~k ).

Preuve. On a f (~x) = 21 ~xT .A.~x ~bT .~x et on se donne un point ~x0 . On pose :
0 () = f (~x0 ~
p1 )

(1.27)

qu'on minimise pour obtenir ~x0+ n = ~x0 1 p~1 . Puis squentiellement on pose :

0+

i1
n

() = f (~x0+

qu'on minimise pour obtenir ~x0+ n = ~x0+


Le calcul des i est donn par :

0 = (0+
et donc :

i1
n

i1
n

i1
n

~
pi )

(1.28)

i p~i .

i1
T
~ (~x0+ i1
n p
)0 (i ) = f
pi = ((~x0+ n i p~i )T .A ~bT ).~
pi ,
i ~i ) .~

i ||~
pi ||2A = (~x0+

i1
n

i1
)T .A.~
pi ~bT .~
pi = (~r0+ n )T .~
pi .

(1.29)

On a bien la mthode de GaussSeidel gnralise du prcdent.

2 Algorithme de GramSchmidt
partir d'une base quelconque (~v1 , ..., ~vn ) de Rn on veut construire une base (~
p1 , ..., p~n ) Aorthogonale, i.e. une base de directions conjugues relativement la matrice A.
(Classiquement, partir d'une base quelconque (~vi ) on veut construire une base orthonorme,
i.e. que GramSchmidt classique traite le cas A = I .)

On pose (initialisation) :

(2.1)

p~1 = ~v1 ,

Puis on construit p~2 l'aide de p~1 et ~v2 en posant :

p~2 = ~v2 12 p~1 ,


o 12 est calcul pour que (~
p2 , p~1 )A = 0. On veut donc 0 = (~v2 , p~1 )A 12 (~
p1 , p~1 )A , i.e. :

12 =

(~v2 , p~1 )A
~v T .A.~
p1
= 2T
.
(~
p1 , p~1 )A
p~1 .A.~
p1

Puis successivement, on dnit p~j l'aide de p~1 , ..., p~j1 et ~vj par :

p~j = ~vj

j1
X

(2.2)

ij p~i .

i=1

o les ij pour 1 i < j sont calculs de telle sorte que (~


pj , p~` )A = 0 pour tout ` < j . On obtient :
0 = (~vj , p~` )A `j (~
p` , p~` )A pour tout ` < j , et donc :

ij =

p~T .A.~vj
(~vj , p~i )A
= iT
,
(~
pi , p~i )A
p~i .A.~
pi

(2.3)

i, j : 1 i < j n.
p
~

On a ainsi obtenue la base (~


p1 , ..., p~n ) A-orthogonale. En particulier, la base ( ||~pjj||A ) est Aorthonornale.
L'algorithme est donc :
1. Initialisation : p~1 = ~v1 ,
2. Etape j 2 :
~
vjT .A.~
pi
pour i < j , i.e. (2.3).
p
~T
pi
i .A.~
Pj1
~vj i=1 ij p~i , i.e. (2.2).

ij =
p~j =

Remarque 2.1 Dans le cas gnral ci-dessus, l'algorithme cr des vecteurs p~i qui deviennent

trs rapidement non orthogonaux (accumulation d'erreurs). On prfre alors utiliser un algorithme
modi, voir Golub et Van Loan. Pour l'application la mthode du gradient conjugu, on verra
que les ij sont tous nuls sauf les i,i+1 , et la perte d'orthogonalit est moindre.
On peut noter que l'algorithme donne [v] = [p].[], cf (2.2) qui donne cette galit matricielle
colonne par colonne, o [v] est la matrice dont les colonnes sont les vecteurs ~vj , [p] est la matrice
dont les colonnes sont les vecteurs p~j , et [] est la matrice triangulaire suprieure avec des 1 sur la
diagonale et les ij pour j > i donns par (2.3).

3 Mthode du gradient
On note (, )Rn le produit scalaire canonique de Rn .

3.1

Pourquoi descendre le long du gradient

On veut trouver un minimum d'une fonction f C 1 (Rn ; R) : trouver ~x Rn tel que :

f (~x ) = infn f (~x).


~
xR

(3.1)

On part d'un point ~x0 donn et de la valeur f (~x0 ), et on cherche un point ~x1 tel que f (~x1 ) <
f (~x0 ). On pose p~ = ~x1 ~x0 (le vecteur que la direction de descente) et on utilise le dveloppement
limit de f au premier ordre :

~ (~x0 ), h~
f (~x0 + h~
p) f (~x0 ) = (f
p)Rn + o(h).
Pour avoir f (~x0 + p~) f (~x0 ) ngatif le plus grand possible en valeur absolue (pour h inniment
petit), i.e. pour avoir la pente f (~x0 +h~ph)f (~x0 ) ngative la plus grande possible en valeur absolue,
9

3.2. Cas f (~x) = 12 ~xT .A.~x ~bT .~x

10

on utilise le thorme de CauchySchwarz qui montre qu'on doit choisir :

~ (~x0 ),
p~ = f

(3.2)

~ (~x0 ). Ainsi, le taux


pour > 0. Quitte normaliser p~ (la direction de descente), prenons p~ = f
~ (~x0 ) et
de variation ngatif le plus lev en valeur absolue est donn pour p~ donn pour p~ = f
vaut donc :
~ (~x0 )) f (~x0 )
f (~x0 hf
~ (~x0 )||2Rn + o(1).
= ||f
h
~ (~x0 ) : on descend
Et cherche alors un point ~x1 , qui vrie f (~x1 ) < f (~x0 ), de la forme ~x1 = ~x0 f
~ (~x0 ), et va tre choisi de manire minimiser la valeur f (~x1 ) :
dans la direction donne par f
par exemple avec la mthode de gradient pas xe o la mthode de gradient pas optimal, voir
la suite.
~ (~x1 ) pour obtenir ~x2 = ~x1 1 f
~ (~x1 ). Et
Ensuite on part de ~x1 et on descend le long de f
on itre le procd pour obtenir la suite (~xk ) dnie par rcurrence par :
~ (~xk ).
~xk+1 = ~xk k f

3.2

(3.3)

Cas f (~x) = 21 ~xT .A.~x ~bT .~x

Pour A symtrique on a dans ce cas :

~ (~x) = A.~x ~b,


f

(3.4)

et la direction de descente partir d'un point ~x est donc p~ = ~b A.~x.


Et l'algorithme du gradient s'crit :
1- ~x0 donn,
2- Etape k pour k 0 :
on calcul k (voir la suite),
on pose ~xk+1 = ~xk k (A.~xk ~b).

3.3

Mthode du gradient pas optimal

On commence par la proposition :

Proposition 3.1 Soit f (~x) = 21 ~xT .A.~x ~bT .~x o A est une matrice symtrique dnie positive.
Soit ~x Rn donn. Soit ~v Rn donn. Soit :

(3.5)

() = f (~x ~v ).

(Donc donne les valeurs de f le long de la droite passant par ~x de vecteur directeur ~v .) Alors le
minimum de est donn lorsque vrie :

~rT .~v
~v T .A.~v

~r = A.~x ~b

~ (~x)).
(= f

(3.6)

est appel le pas optimal donn pour la direction ~v choisie, et ~x+~v est le point o f atteint son
minimum sur la droite ~x + Vect{~v }.

Preuve. On a :

f (~x~v ) = (~x~v )T .A.(~x~v ) ~bT .(~x~v )


= f (~x) + (2~v T .A.~x + ~bT .~v ) + 2~v T .A.~v ,

et le membre de droite est un polynme de degr 2 en dont le minimum est donn par 2~v T .A.~x +
x~
v T .~b
~bT .~v + 2~v T .A.~v = 0, i.e. = ~vT .A.~
, i.e. (3.6).
~
v T .A.~
v

~ (~xk ) = ~rk
Corollaire 3.2 Pour la mthode du gradient pas optimal l'tape k : on pose f
(= A.~xk ~b = le rsidu), on obtient :

k =

~rk T .~rk
.
~rk T .A.~rk
10

(3.7)

11

3.4. Mthode du gradient pas xe

Algorithme du gradient pas optimal

1- ~x0 donn,
2- ~rk = A.~xk ~b,
~rk T .~rk
3- k = T
,
~rk .A.~rk
4- ~xk+1 = ~xk + k ~rk ,
5- f (~xk+1 ) calcul, et si f (~xk ) f (~xk+1 ) < on s'arrte sinon on recommence l'tape 2.

3.4

Mthode du gradient pas xe

Proposition 3.3 Pour f (~x) = 21 ~xT .A.~x ~bT .~x avec A matrice symtrique dnie positive. On
note et M les plus petite et plus grande valeurs propres de A. Alors, si l'on choisit tel que :

0<<

2
,
M2

(3.8)

l'algorithme de gradient pas xe converge. Et un choix intressant de est :

.
M2

Preuve. On a ||~v ||2Rn ~v T .A.~v et ||A.~v ||Rn M ||~v ||Rn .

f tant quadratique dnie positive, on a l'existence d'un minimum ~x et f tant drivable,


~ (~x ) = 0 = A.~x ~b. D'o :
on a f
~ (~xn ) ~x = (~xn ~x ) (f
~ (~xn )f
~ (~x ))
~xn+1 ~x = ~xn f
= (~xn ~x ) A.(~xn ~x ),

d'o :

||~xn+1 ~x ||2Rn = ||~xn ~x ||2Rn 2(~xn ~x , A.(~xn ~x ))Rn + 2 ||A.(~xn ~x )||2Rn


(1 2 + M 2 2 )||~xn ~x ||2Rn .
2
D'o la convergence si 0 < 1 2 + M 2 2 < 1, i.e. ds que 0 < < M
2.
2 2
Et la convergence est a priori la plus rapide si = 1 2 + M = () est le plus petit
possible, i.e. quand 0 () = 0, i.e. quand = M2 .

Corollaire 3.4 D'o l'algorithme du gradient pas xe :


1234-

~x0 donn, et calcul (en fait estimation) de et M , puis de = M2 .


~ (~xk ),
Calcul de p~k = f
Calcul de ~xk+1 = ~xk ~
pk , puis de f (~xk+1 ).
Si |f (~xk+1 ) f (~xk )| > , o est une tolrance donne, retour en 2-, sinon n.

4 Mthode du gradient conjugu


4.1

Raisons gomtriques

Reprendre ce qui a dj t dit pour la mthode de GaussSeidel gnralise, qui permet le


passage de la fonction f (~x) = 12 ~xT .A.~x (pour laquelle une courbe de niveau est un ellipsode) en

~ = 1X
~ T .I.X
~ o X
~ = A.~x (pour laquelle une courbe de niveau est
la fonction dforme g(X)
2
sphrique).

Si on ne souhaite pas passer par la fonction g (ce qui ncessiterait le calcul de A) le produit
scalaire adapt au problme est le produit scalaire (, )A (pour lequel une courbe de niveau de f
est sphrique) et non le produit scalaire (, )Rn (pour lequel une courbe de niveau de f est un
ellipsode). On rappelle qu'une courbe de niveau (ou surface de niveau) de f est l'ensemble des
points ~x Rn t.q. f (~x) = R (une constante), et que pour f (~x) = 12 ~xT .A.~x c'est l'ensemble des
points ~x t.q. (A.~x, ~x)Rn = R = (~x, ~x)A = ||~x||2A .

11

12

4.2. Raisons analytiques

4.2

Raisons analytiques

On veut trouver un minimum d'une fonction f C 2 (Rn ; R). On part d'un point ~x0 donn, de
la valeur f (~x0 ), et on veut trouver un point ~x1 tel que f (~x1 ) < f (~x0 ). On pose p~ = ~x1 ~x0 (le
vecteur qui la direction de descente) et on utilise le dveloppement limit de f au second ordre
(pour amliorer la mthode du gradient qui utilise le dveloppement limit au premier ordre) :

h
~ (~x0 )T .~
f (~x0 +h~
p) f (~x0 ) = h f
p + p~T .H0 .~
p + o(h2 )
|
{z 2
}
not

= (~
p)

f
o H0 = H(~x0 ) = [ x
(~x0 )] est la matrice hessienne, symtrique car f est suppose C 2 (thorme
i xj
de Schwarz).
On a donc, h x :
f (~x0 +h~
p) f (~x0 )
= (~
p) + o(h),
h
i.e. (~
p) donne la valeur de la pente moyenne ( comparer avec la mthode du gradient o la
fonction donnait la pente la limite quand h 0 : un dveloppement limit l'ordre 2 permet
de voir plus loin.)
On cherche donc p~ qui ralise le minimum de . Ici est une fonction quadratique en p~, et :

~ p) = f
~ (~x0 ) + h H0 .~
(~
p,

(4.1)

~ p) = 0. D'o le rsultat :
la matrice hessienne tant positive, et on cherche p~ tel que (~
~ (~x) =
Proposition 4.1 Soit f (~x) = 12 ~xT .A.~x ~bT .~x avec A symtrique dnie positive. On a f

A.~x ~b et H0 = A. Alors le vecteur p~ qui ralise le maximum de f (~x) f (~x+~


p) (direction de
descente optimale) est donn par :
~ (~x) =
~ c f (~x),
p~ = A1 .f

(4.2)

~ c f (~x), w)
~ (~x), w)
i.e. p~ est l'oppos du gradient conjugu dni par (
~ A = (f
~ Rn pour tout w
~ Rn ,
~ c f (~x) = f
~ (~x).
i.e. dni par A.
~ (~x0 ) + A.~
Preuve. (4.1) donne 0 = f
p, d'o (4.2).
~ c f (~x) = f
~ (~x), i.e.
On ne calculera pas le gradient conjugu (ncessite la rsolution de A.
d'un problme  A.~x = ~b), car grce la mthode de GaussSeidel gnralise il sut de disposer
d'une base A-orthogonale.

4.3

Gradient conjugu = GaussSeidel gnralise...

La mthode de GaussSeidel gnralise donne :

Corollaire 4.2 Si f (~x) = 12 ~xT .A.~x ~bT .~x avec A matrice symtrique dnie positive, et si (~pj )

est une base A-orthonormale, alors la mthode de descente pas maximal dans les directions p~j
converge en n tapes (au plus), i.e. converge aprs tre descendu successivement le long des n
vecteurs p~i l'aide des formules (1.22). Donc ~rn = A.~xn ~b = ~0 et ~xn est la solution cherche.

Preuve. C'est la mthode de GaussSeidel gnralis.

4.4

... avec construction de GramSchmidt partir des rsidus

Il reste choisir la base initiale (~vj ) pour construire une base (~


pj ) A-orthogonale l'aide de
GramSchmidt, voir 2, la base canonique n'tant en gnral pas un bon choix numrique (rapide
perte de l'A-orthogonalit par accumulation d'erreurs).
~ (~xj1 ) = A~xj1 ~b le rsidu l'tape j : c'est une direction de
On prfre prendre ~vj = f
~ (~xj1 ))j=0,...,k1 est une famille libre, quand
descente naturelle. Et de plus on va voir que (f
~ (~xk1 ) 6= ~0, pour laquelle les ij donns dans (2.2) et (2.3) sont tous nuls sauf quand j = i+1.
f
~ (~xk ) = ~0, alors on a atteint le minimum en ce point, et ce point
Noter que si pour un k on a f
donne la solution.
12

13

4.4. ... avec construction de GramSchmidt partir des rsidus

Proposition 4.3 Mthode du gradient conjugu. Soit ~x0 Rn donn, ~r0 = A.~x0 ~b qu'on

suppose non nul (sinon ~x0 est la solution cherche et on s'arrte). Soit la construction par Gram
Schmidt de la suite A-orthogonale (~
pj ) partir des rsidus successifs, obtenue l'aide de :
(4.3)

p~1 = ~r0 ,
puis pour k 1 tant que ~rk1 6= 0 (sinon on s'arrte et ~xk1 est la solution cherche) :

k =

p~Tk .~rk1
p~Tk .A.~
pk

(coe de descente max : GaussSeidel gnralis),

~xk = ~xk1 k p~k


~rk = A.~xk ~b
k1,k =

T
.A.~
pk
~rk1
T
p~k .A.~
pk

p~k+1 = ~rk k1,k p~k

(point le plus bas dans la direction p~k ),


(4.4)

(rsidu correspondant),
(coecient pour la base de GramSchmidt),
(prochaine direction de descente : GramSchmidt),

et on s'arrte au premier indice k tel que ~rk = 0.


On a : (~rj )j=0,...,k1 est une suite orthogonale de Rn :

(~rk , ~ri )Rn = 0,

(4.5)

i 6= k.

On note Kk = Vect{~r0 , . . . , ~rk1 }. On a Kk = Vect{~


p1 , . . . , p~k }, et Kk Vect{A.~
p1 , . . . , A.~
pk1 }
(et Kk est appel espace de Krylov d'ordre k ).
Et on a, pour tout j = 0, . . . , k 1 :
(
(~rj , p~i )Rn = 0, i = 1, . . . , j,
(4.6)
(~rj , p~i )A = 0, i = 1, . . . , j1,
i.e. ~rj est orthogonal p~1 , . . . , p~j et est A-orthogonal p~1 , . . . , p~j1 .

Preuve. On a ~xk = ~xk1 k p~k , cf (1.22) et (1.21), d'o, A.~xk = A.~xk1 k A.~pk , d'o, pour

k1:

~rk = ~rk1 k A.~


pk

k =

p~Tk .~r0
.
||~
pk ||2A

(4.7)

Pk
pi , p~j )A = (~r0 , p~i ) i ||~
pi ||2A = 0, ce pour i k .
Et donc (~rk , p~i )Rn = (~r0 , p~i )Rn j=1 j (~
Donc ~rk Vect{~
p1 , . . . , p~k }. Et par construction des vecteurs p~j (GramSchmidt) on a
not

Vect{~
p1 , . . . , p~k } = Vect{~r0 , . . . , ~rk1 } = Kk . Donc ~rk est othogonal tous les ~rj pour j < k
(pour le produit scalaire (, )Rn ) : on a (4.5) et (4.6)1 .
Puis (4.7) indique par rcurrence que A.~
pk Vect{~r0 , . . . , ~rk } et on a bien Vect{~
p1 , . . . , p~k }
Vect{A.~
p1 , . . . , A.~
pk1 }. D'o (4.6)2 .
D'o avec (2.3) on obtient k1,j = 0 pour tout j > k , d'o l'expression de p~k+1 dans (4.4)
l'aide de (2.2) et (2.3).
Pk1
De plus (4.7) donne ~rk1 = ~r0 i=1 i A.~
pi , d'o (~rk1 , p~k )Rn = (~r0 , p~k )Rn 0, et donc
k =

p
~T
rk1
k .~
.
||~
pk ||2A

Corollaire 4.4 Et ~xk , 1 k m, donn par (1.22) ralise le minimum de f sur l'espace ane

~x0 + Kk :

f (~xk ) = min f (~x).


~
xKk

~ (~xk ), p~i )Rn = (A.~xk ~b, p~i ) = (~rk , p~i ) = 0 pour tout i k , donc f restreint
Preuve. Puis (f
l'espace ane ~x0 + Kk atteint son minimum en ~xk .

13

14

A Annexe : mthode de gradient dans le cas non linaire ou


non symtrique
A.1

Fonction -convexe

Dnition A.1 Soit Rn , et f C 1 (; R). On dira que f est -convexe ssi :


> 0,

~x, ~y K

~ (~y )f
~ (~x), ~y ~x)Rn ||~y ~x||2Rn .
(f

(A.1)

On dit galement que f est coercive (ou coercitive), elliptique, ou fortement convexe.

Exemple A.2 Si f (~x) = 12 ~xT .A.~x ~bT .~x avec A matrice n n symtrique dnie positive, alors
~ (~x) = A.~x ~b donne
f est min -convexe, o min est la plus petite valeur propre de A. En eet, f
~
~
(f (~y )f (~x), ~y ~x)Rn = (A(~y ~x), (~y ~x))Rn .

Exercice A.3 Montrer que l'-convexit est quivalente :


~ (~x), ~y ~x)Rn +
f (~y ) f (~x) (f

||~y ~x||2Rn ,
2

(A.2)

i.e. que le graphe de f est localement (au voisinage de ~x) au dessus du parabolode g : ~y g(~y ) =
~ (~x), ~y ~x)Rn + (~y ~x)T .(~y ~x).
f (~x) + (f
2

Rponse. En permuttant ~x et ~y dans la formule (A.2) et en additionnant les deux formules, on obtient (A.1).
Rciproquement, si on suppose (A.1), on pose (h) = f (~x + h(~y ~x)), et on a :
~ (~
0 (h) = (f
x + h(~
y ~x)), ~
y ~x)Rn ,

et donc avec (A.1) et h > 0 :


y ~x)
1
~ (~
~ (~x), h(~
0 (h) 0 (0) = (f
x + h(~
y ~x)) f
(h||~
y ~
x||)2 = h||~
y ~
x||2 .
h
h

D'o par intgration en h sur [0, 1] :


1
(1) (0) 0 (0) ||~
y ~x||2 ,
2

i.e. (A.2).
~ (~x), ~
y ~
x)T .(~
y ~x) quadratique. Localement le dveloppement limit
Soit g(~y ) = f (~x)+(f
y ~x)Rn + 2 (~
de f indique que f (~y ) g(~y ).

Exercice A.4 Montrer que pour f C 2 (Rn , R) et d2 f (~x) reprsente par la matrice hessienne
2

f
Hf (~x) = [ xi x
(~x)], alors l'-coercivit est quivalente : pour tout ~x, ~v Rn :
j

(Hf (~x).~v , ~v )Rn ||~v ||2Rn ,

(A.3)

i.e. la matrice Hf (~x) dnit un produit scalaire (symtrique dnie positive).


~ (~x+~v )f
~ (~x) = Hf (~x).~v + o(~v ), et (A.1) implique (A.3).
Rponse. On a f

~ (~x), ~v )Rn + 1 (Hf (~x+~v ).~v , ~v )Rn pour


Rciproquement, on a la formule de Taylor f (~x+~v ) = f (~x) + (f
2
un [0, 1]. D'o (A.3) implique (A.1).

A.2

Fonction M -lipschitzienne

Dnition A.5 Pour f C 1 (; R), on dit que f est M -lipschitzienne sur , ssi :
M R,

~x, ~y K

~ (~y )f
~ (~x)||Rn M ||~y ~x||Rn .
||f

(A.4)

~bT .~x avec A matrice n n symtrique, alors f est M ~ (~x) = A.~x~b donne ||f
~ (~y )f
~ (~x)||Rn =
Lipschitzienne avec M = ||A|| la norme de A. En eet, f
||A(~y ~x)||Rn ||A|| ||~y ~x||Rn par dnition de la norme matricielle.

Exemple A.6 Si f (~x) =

1 T
x .A.~x
2~

14

15

A.3. Mthode du gradient pas xe

A.3

Mthode du gradient pas xe

La mthode du gradient pas xe (peu coteuse) est : choisir un > 0 donn, poser n =
pour tout n, et calculer ~xn+1 l'aide de (3.3).

Proposition A.7 Soit f C 1 (Rn ; R) telle que f est -convexe et M -Lipschitzienne.


Alors, si l'on choisit tel que :

2
,
M2
l'algorithme de gradient pas xe converge. Un choix intressant de est :
0<<

(A.5)

.
M2

Preuve. L'hypothse de coercivit de f sur Rn assure l'existence d'un minimum ~x et f tant

~ (~x ) = 0. D'o :
drivable, on a f

~ (~xn ) = ~xn ~x (f
~ (~xn )f
~ (~x )),
~xn+1 ~x = ~xn ~x f
d'o :

~ (~xn )f
~ (~x ))Rn + 2 ||f
~ (~xn )f
~ (~x )||2Rn
||~xn+1 ~x ||2Rn = ||~xn ~x ||2Rn 2(~xn ~x , f
(1 2 + M 2 2 )||~xn ~x ||2Rn .
2
D'o la convergence si 0 < 1 2 + M 2 2 < 1, i.e. ds que 0 < < M
2.
2 2
Et la convergence est a priori la plus rapide si = 1 2 + M = () est le plus petit
possible, i.e. quand 0 () = 0, i.e. quand = M2 .

A.4

Mthode du gradient pas optimal

La mthode du gradient pas optimal (plus ecace mais plus coteuse que la prcdente) est :
pour ~xn donn, trouver n tel que :

~ (~xn )) = inf f (~xn f


~ (~xn )),
f (~xn n f
R

(A.6)

~ (~xn ), comme en (3.3). On descend ainsi au maximum dans chaque


puis poser ~xn+1 = ~xn n f
direction de descente.
On pose :
~ (~xn )),
() = f (~xn f
(A.7)
et calculer n revient minimiser .

Proposition A.8 Soit f C 1 (Rn ; R) telle que f est -convexe et M -Lipschitzienne. La mthode

du gradient pas optimal converge vers la solution de (3.1), et de plus deux directions successives
de descente sont orthogonales :
~ (~xn ) f
~ (~xn+1 ).
f
(A.8)

Preuve. La suite (f (~xn )) est dcroissante (par construction), et minore par f (~x ).

~ (~xn )) qui est C 1 . D'o 0 () = (f


~ (~xn f
~ (~xn )), f
~ (~xn ))Rn ,
On pose () = f (~xn f
~ (~xn ), et on a obtenu
et on cherche tel que 0 () = 0. On posera alors ~xn+1 = ~xn f
~ (~xn+1 ), f
~ (~xn ))Rn = 0 i.e. (A.8).
(f
On en dduit que, avec CauchySchwarz et f lipschitzienne :
~ (~xn )||2Rn = (f
~ (~xn ), f
~ (~xn ) f
~ (~xn+1 ))Rn ||f
~ (~xn )||Rn M ||~xn ~xn+1 ||Rn ,
||f

et donc :

(A.9)

~ (~xn )||Rn M ||~xn ~xn+1 ||Rn .


||f

~ (~xn+1 ), ~xn ~xn+1 )Rn = 0 (car ~xn ~xn+1 // f


~ (~xn ) par
De mme, on dduit de (A.8) que (f

15

16

construction de ~xn+1 ), d'o avec (A.2) :

~ (~xn+1 ), xn xn+1 )Rn + ||xn xn+1 ||2Rn = ||xn xn+1 ||2Rn .


f (~xn ) f (~xn+1 ) (f
2
2
~ (~xn )||2 n 0. Enn, l'On en dduit que lim ||xn xn+1 ||2Rn = 0. Et donc avec (A.9) que ||f
R
coercivit donne :
~ (~xn )f
~ (~x ), ~xn ~x )Rn = (f
~ (~xn ), ~xn ~x )Rn
||~xn ~x ||2Rn (f
~ (~xn )||Rn ||xn xn+1 ||Rn ,
||f
d'o (~xn ~x ) 0, et la suite converge.

B Annexe : Rayon spectral, convergence


Dnition B.1 On appelle rayon spectrale d'une matrice A de taille n n la plus grande des
valeurs propres en valeur absolue, i.e. le rel not :

(A) = max{|i | : i = 1, . . . , n, i valeur propre de A}.

(B.1)

Proposition B.2 Soit A une matrice n n telle que (A) < 1. Alors, pour tout ~x Rn , la suite

(Ak .~x)kN est convergente vers 0.

Preuve. On suppose A 6= 0 (sinon c'est trivial). Soit A = P.T.P 1 une trigonalisation de A avec

P 1 = P T . Comme A et T ont mmes valeurs propres, on a (A) = (T ). Et si T k .~x k ~0,


alors Ak .~x k ~0 En eet, Ak = P.T k .P 1 donne (Ak .~x, ~y )Rn = (T k .(P 1 .~x), (P 1 .~y ))Rn
puisque P T = P 1 . Et comme P et une bijection, T k .(P 1 .~x) k ~0. Donc pour tout ~x, ~y ,
on a (Ak .~x, ~y )Rn k 0. D'o Ak .~x k ~0.
Montrons donc que T k .~x k ~0 quand (T ) < 1. Posons T = D + U avec D la matrice diagonale de T , i.e. la matrice diagonale des valeurs propres, et avec U matrice triangulaire suprieure
stricte. En particulier, U est nilpotente d'ordre n, i.e. U n = 0 est la matrice nulle. Et donc, pour
kn:
k
k
T k = (D + U )k = Dk +
Dk1 U + . . . +
Dk(n1) U n1 .
1
n1
Soit c = supi=1,...,n1 ||U i ||. Comme D = diag(1 , . . . , n ), on a Di = diag(i1 , . . . , in ), et ||Di || =
(D)i (D)k pour tout i k , car (D) = (T ) = (A) < 1. D'o, toujours avec k > n :
k
k
||T k || c(1 +
+ ... +
)(D)k .
1
n1

k
Or (1 + k1 + . . . + n1
) = Pn (k) o Pn est un polynme de degr n. D'o :
||T k || = cPn (k)(D)k = cPn (k)ek ,
o = log((D)) > 0 car 0 < (D) < 1 (si (D) = 0 c'est trivial car alors T est nilpotente), qui
tend vers 0 quand k .

Remarque B.3 La dmonstration prcdente est simpliable dans le cas A est diagonalisable :

dans ce cas A = P DP 1 avec D = diag(1 , ..., n ) matrice diagonale des valeurs propres, et
Ak = P Dk P 1 avec Dk = diag(k1 , ..., kn ). Et comme |i | < 1 pour tout i = 1, ..., n, on a
Dk .~x k0 , on en dduit que Ak .~x 0.

Exercice B.4 Montrer par rcurrence sur la taille n de la matrice que T k .~x 0 quand (T ) < 1

et quand (T ) = || o est valeur propre de multiplicit 1.

Rponse. C'est immdiat si n = 1. Supposons que ce soit vrai pour une matrice Tn triangulaire suprieure
n n. Soit Tn+1 une matrice triangulaire suprieure (n+1) (n+1). On a Tn+1 de la forme :

Tn ~b
Tn+1 =
,
0

o ~b Rn et le 0 reprsente le vecteur ligne nul de Rn , et o on a appel la plus grande valeur propre


(en valeur absolue) de Tn+1 .

16

17

RFRENCES

2
D'o Tn+1
=

immdiate :

Tn2
0

3
(Tn + I).~b
Tn
3
, D'o Tn+1
=
2

(Tn2 + Tn + 2 I).~b
, et par une rcurrence
3

k+1
Tnk+1 (Tnk + Tnk1 + . . . + Tn k1 + k I).~b
Tn
=
0
k+1
0

~
y
Soit ~x Rn+1 , ~x =
o ~y Rn . On obtient :
z
k+1

P
Tn .~
y + z( ki=0 Tni ki ).~b
k+1
Tn+1
.~
x=
,
k+1

z
k+1
Tn+1
=

P
( ki=0 Tnki i ).~b
.
k+1

et en particulier, avec  (a + b)2 2a2 + 2b2  :


k
X
k+1
y ||2 + 2z 2 ||(
Tni ki ).~b||2 + z 2 2(k+1) .
||Tn+1
.~
x||2 2||Tnk+1 .~
i=0

Par hypothse, on a || < 1 et Tnk k 0. Les premier et troisime termes du membre de droite tendent
donc vers 0. Et pour le second, on a (Tn ) < 1 d'o :
k
X

Tni ki = k

i=0

En eet, la matrice (I
valeurs propres de

Tn

i
k
X
Tn
i=0

= k (I

Tn 1
) (I Tnk+1 ).

Tn
)

est inversible car triangulaire suprieure de diagonale non nulle, toutes les
P i
tant < 1, et on a ( ki=0 Tn )(I Tn ) = (I Tnk+1 ) (calcul immdiat). Et par

hypothse de rcurrence, sachant k 0, on en dduit que le second terme tend vers 0 avec k.

Rfrences
[1] Ciarlet P.G. : Introduction l'analyse numrique matricielle et l'optimisation. Masson, 1992.
[2] Golub G., Van Loan C. : Matrix Computations. John Hopkins University Press, 1996.
[3] Lascaux P., Thodor R. : Analyse numrique matricielle applique l'art de l'ingnieur. Masson, 1998.
[4] Shewchuk J. : An introduction to the Conjugate Gradient Method without Agonizing Pain.
http ://www-2.cs.cmu.edu/ jrs/jrspapers.html.
[5] Strang G. : Linear Algebra and its Applications. Harcourt Brace (1988).

17