Documente Academic
Documente Profesional
Documente Cultură
http://www.isima.fr/leborgne
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 . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Raisons gomtriques . . . . . . . . . . . . . . . . .
Raisons analytiques . . . . . . . . . . . . . . . . . .
Gradient conjugu = GaussSeidel gnralise... . .
... avec construction de GramSchmidt partir des
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . .
. . . . .
. . . . .
rsidus
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
10
10
11
11
11
12
12
12
14
14
14
15
15
16
Mthode de GaussSeidel
A.~x = ~b,
(1.1)
b1
..
~
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
, . . ., ~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.
1.2
(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
( = 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.
M =
1
(D E)
et N = (
1
D + F ).
1.3
f (~x) =
1 T
~x .A.~x ~bT .~x,
2
et on cherche le minimum de f .
(1.5)
df (~x).~v = lim
~ (~x), ~v )Rn ,
df (~x).~v = (f
~v Rn ,
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 :
(1.8)
et le minimum est donn pour tel que (0 )0 () = 0, i.e. pour tel que :
(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
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
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
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
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)
~ = 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)
(1.15)
~ = 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)
passer
par
la
fonction g (trop coteux car pour obtenir ~x partir
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
n
X
p~k .~
pTk
=
||~
pk ||2A
n
X
p~k .~
pTk
),
(=
T
p~ .A.~
pk
k=1 k
k=1
p~k
p~T
. k .
||~
pk ||A ||~
pk ||A
6
(1.19)
ei .~eTi ,
i~
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)
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.
1.7
ei .~eTi .~b
i~
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
(=
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 :
...,
(1.22)
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
et
~rk = ~r`
k
X
i A.~
pi ,
0 ` k1,
(1.23)
i=`+1
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)
p
~T
rk1
k .~
.
||~
pk ||2A
1.8
1 T
x .A.~x
2~
Proposition 1.18 Soit A une matrice symtrique dnie positive et (~pi ) une base A-orthogonale
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+
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)
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 ,
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
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
~
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
(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
10
~ (~x0 ),
p~ = f
(3.2)
3.2
(3.3)
(3.4)
3.3
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 :
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
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
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)
.
M2
d'o :
Raisons gomtriques
~ = 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
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
(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
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.
4.4
13
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
T
.A.~
pk
~rk1
T
p~k .A.~
pk
(rsidu correspondant),
(coecient pour la base de GramSchmidt),
(prochaine direction de descente : GramSchmidt),
(4.5)
i 6= k.
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:
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 :
~ (~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
Fonction -convexe
~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 .
||~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 ,
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
(A.3)
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.
1 T
x .A.~x
2~
14
15
A.3
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).
2
,
M2
l'algorithme de gradient pas xe converge. Un choix intressant de est :
0<<
(A.5)
.
M2
~ (~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
La mthode du gradient pas optimal (plus ecace mais plus coteuse que la prcdente) est :
pour ~xn donn, trouver n tel que :
(A.6)
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 ).
et donc :
(A.9)
15
16
(B.1)
Proposition B.2 Soit A une matrice n n telle que (A) < 1. Alors, pour tout ~x Rn , la suite
Preuve. On suppose A 6= 0 (sinon c'est trivial). Soit A = P.T.P 1 une trigonalisation de A avec
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
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
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
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