Vous êtes sur la page 1sur 72

Analyse Num

erique
Radhia Bessi & Maher Moakher
20132014

Table des mati`


eres
1 M
ethodes directes pour la r
esolution des syst`
emes lin
eaires
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Principe des methodes directes . . . . . . . . . . . . . . . . . .
1.2.1 Rappels et notations sur les vecteurs et les matrices . .
1.2.2 Resolution dun syst`eme triangulaire . . . . . . . . . .
1.3 Factorisation LU . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.1 Rappel sur la methode de Gauss . . . . . . . . . . . . .
1.3.2 Factorisation LU . . . . . . . . . . . . . . . . . . . . .
1.4 Factorisation de Cholesky . . . . . . . . . . . . . . . . . . . .
1.4.1 Rappels sur les matrices symetriques . . . . . . . . . .
1.4.2 Factorisation des matrices symetriques . . . . . . . . .
1.4.3 Factorisation de Cholesky . . . . . . . . . . . . . . . .
2 M
ethodes it
eratives pour la r
esolution des
2.1 Introduction . . . . . . . . . . . . . . . . .
2.2 Rappels sur les normes matricielles . . . .
2.2.1 Normes matricielles subordonnees .
2.3 Methodes iteratives . . . . . . . . . . . . .
2.3.1 Methode de Jacobi . . . . . . . . .
2.3.2 Methode de relaxation . . . . . . .
2.3.3 Methode de Gauss-Seidel . . . . .
2.3.4 Vitesse de convergence . . . . . . .
2.3.5 Crit`ere ou test darret . . . . . . .
2.4 Conditionnement . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

1
1
2
3
4
5
5
8
13
13
15
16

syst`
emes lin
eaires
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

19
19
19
20
24
27
29
29
31
33
34

.
.
.
.
.
.
.

37
37
38
40
43
44
45
45

3 Optimisation sans contraintes


3.1 Optimisation sur Rn . . . . . . . . . . . . . . . .
3.1.1 Existence et unicite dun minimum . . . .
3.1.2 Conditions doptimalite . . . . . . . . . . .
3.1.3 Probl`eme doptimisation quadratique . . .
3.1.4 Probl`eme aux moindres carres . . . . . . .
3.2 Algorithmes de descente et methodes du gradients
3.2.1 Methodes de descente . . . . . . . . . . . .
i

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

`
TABLE DES MATIERES
3.2.2
3.2.3
3.2.4
3.2.5
3.2.6
3.2.7

Methodes du gradient . . . . . . . . . . . .
Methode du gradient a` pas fixe . . . . . . .
Methodes du gradient a` pas optimal . . . .
Methodes du gradient conjugue . . . . . . .
Vitesse de convergence . . . . . . . . . . . .
Methodes du gradient et preconditionnement

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

4 Optimisation avec contraintes lin


eaires
4.1 Probl`emes doptimisations sous contraintes . . . . . . . . .
4.1.1 Existence et unicite de minimum . . . . . . . . . .
4.1.2 Condition doptimalite . . . . . . . . . . . . . . . .
4.1.3 Cas de contraintes degalites et dinegalites lineaires
4.1.4 Probl`eme quadratique avec contraintes lineaires . .
4.2 Quelques algorithmes . . . . . . . . . . . . . . . . . . . . .
4.2.1 Methode du gradient projete . . . . . . . . . . . . .
4.2.2 Methode dUzawa . . . . . . . . . . . . . . . . . . .

ii

.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.

46
46
47
49
53
53

.
.
.
.
.
.
.
.

55
55
56
57
61
61
63
63
65

Chapitre 1
M
ethodes directes pour la r
esolution des
syst`
emes lin
eaires
1.1

Introduction

La resolution des syst`emes lineaires de grandes tailles est lun des plus importants probl`emes en
analyse numerique. Le but de ce chapitre est detudier des methodes de resolution numerique dun
lineaire Ax = b, o`
u A est une matrice carree inversible.
Pour motivation, commencons par citer le probl`eme mecanique classique suivant qui conduit a`
la resolution dun syst`eme lineaire.
La deformation x dune corde elastique, fixee aux bords et soumise `a un champ de force f , peut
se traduire par lequation differentielle suivante

x00 (t) = f (t),
t [0, 1]
(1.1)
x(0) = x(1) = 0,
pour f une fonction continue sur [0, 1]. En general, il nest pas possible dexpliciter la solution exacte
de ce probl`eme. Lidee donc est de chercher une solution approchee xh de x en prenant une subdivision
1
. On se limitera a` calculer
0 = t0 t1 tn+1 = 1, avec ti = ih, i = 0, . . . , n + 1 et h =
n+1
xh (ti ) = xi ' x(ti ), pour i = 0, . . . , n + 1 et par interpolation par exemple, on peut avoir xh sur tout
lintervalle [0, 1].
Si on suppose que notre solution x est de classe C 2 , alors on a les deux developpement de Taylor
suivants :
h2
x(ti+1 ) = x(ti + h) = x(ti ) + x0 (ti )h + x00 (ti ) + O(h3 ),
2
et
h2
x(ti1 ) = x(ti h) = x(ti ) x0 (ti )h + x00 (ti ) + O(h3 ).
2
Si on fait la somme de deux egalites on obtient
x00 (ti ) =

x(ti + h) 2x(ti ) + x(ti h)


+ O(h).
h2
1

Chapitre 1. M
ethodes directes pour la r
esolution des syst`
emes lin
eaires
Si on neglige les termes dordre O(h) dans lexpression de la derivee seconde, le probl`eme discretise
pour resoudre notre equation devient
(

xi+1 2xi + xi1


= f (xi ),
h2
x0 = xn+1 = 0

i = 1, . . . , n

(1.2)

qui est equivalent au syst`eme lineaire Ah x = bh , o`


u

0
..

1 2 1
.

1
.
.
.

.
.
.
Ah = 2
.
.
.
0
0

h
.

..
1 2 1
0 0 1 2
2

x1
f (t1 )

x = ... et bh = ... .
xn
f (tn )

La solution approchee est dautant plus proche de la solution exacte x lorsque n est grand.
On rappele que la solution unique x = (x1 , . . . , xn ) dun syst`eme Ax = b, pour A = (aij )1i,jn
une matrice inversible et b = (b1 , . . . , bn )T est donnee par les formules de Cramer suivantes :
xi =

det Ai
,
det A

i = 1, . . . , n,

o`
u det designe le determinant et Ai est la matrice dordre n obtenue `a partir de A en remplacant
sa colonne i par le vecteur de second membre b. Donc la resolution dun syst`eme lineaire dordre n,
par les formules de Cramer fait intervenir le calcul de n + 1 determinants dont chaque determinant
necessite de lordre de n! multiplications. La methode de Cramer devient trop co
uteuse meme pour
des matrices de tailles assez petites. Do`
u lidee de concevoir des methodes qui en general donnent
la solution a` une valeur pr`es, mais avec un nombre raisonnable doperations.
Pour simplifier, on se limitera `a resoudre numeriquement un syst`eme lineaire reel sachant quun
syst`eme lineaire complexe est equivalent `a deux syst`emes lineaires reels representants ses parties
reelles et imaginaire.
On distinguera deux methodes numeriques pour resoudre un syst`eme lineaire. Les methodes
directes, dont certaines font lobjet de ce chapitre et les methodes iteratives qui seront developpees
dans les chapitres suivants.

1.2

Principe des m
ethodes directes

On appelle methode directe pour resoudre un syst`eme de type Ax = b, une methode qui donne
x apr`es un nombre fini doperations elementaires. Le principe de ces methodes est de se ramener a`
un syst`eme lineaire equivalent, mais qui est plus simple a` resoudre. Cest le cas par exemple o`
u la
matrice du syst`eme est diagonale, triangulaire ou orthogonale.
2

1.2 Principe des m


ethodes directes

1.2.1

Rappels et notations sur les vecteurs et les matrices

Tout au long de ce cours on utilisera les notations suivantes :


n
Pour n un entier naturel
non nul fixe, on note par R lespace vectoriel des vecteurs colonnes
x1
..
a` coefficients reels x = . . Le vecteur ligne xT = (x1 , . . . , xn ) designe la transposee du vecteur
xn
n
xR .
Le produit scalaire dans Rn sera note (, ) et est defini par
(x, y) =

n
X

xi y i ,

i=1

et la norme associee est la norme euclidienne donnee par

kxk2 =

n
X

!1
2

|xi |

= (x, x) 2 .

i=1

On notera lespace vectoriel des matrices `a n lignes et p colonnes et `a coefficients dans R par
Mn,p (R) et par Mn (R) lensemble des matrices carrees dordre n a` coefficients dans R.
La transposee dune matrice A = (aij )1in,1jp Mn,p (R) par
AT = (aji )1ip,1jn Mp,n (R).
La matrice transposee verifie
(Ax, y) = (Ax)T y = xT AT y = (x, AT y) pour tout x Rp et y Rn .
D
efinition 1.2.1 Soit A = (aij )1i,jn Mn (R). A est dite :
diagonale si aij = 0 pour tout i 6= j.
triangulaire inferieure si aij = 0 pour tout i < j.
triangulaire superieure si aij = 0 pour tout i > j.
inversible si son determinant est non nul ou sil existe une matrice B Mn (R) telle que
AB = BA = In
o`
u In est la matrice unite dordre n donnee par

..
In =
.
.

1
La matrice B est appelee inverse de A et sera notee A1 .
3

Chapitre 1. M
ethodes directes pour la r
esolution des syst`
emes lin
eaires
semblable `a une matrice D Mn (R) sil existe une matrice inversible P telle que D = P 1 AP .
diagonalisable si elle est semblable `a une matrice diagonale.
On peut verifier facilement que
Proposition 1.2.1
1. Le produit de deux matrices triangulaires superieures (repectivement inferieures) est une matrice triangulaire superieure (respectivement inferieure).
2. Une matrice A = (aij )1,i,jn Mn (R) triangulaire est inversible si et seulement si aii 6= 0,
1
pour tout i = 1, . . . , n. De plus A1 est de meme type que A et (A1 )ii =
, pour tout
aii
i = 1, . . . , n.

1.2.2

R
esolution dun syst`
eme triangulaire

Soit le syst`eme trianglaire superieur

u11 x1 + u12 x2 + u1n xn = b1

u22 x2 + u2n xn = b2
.
..
...

unn xn = bn
Si U est la matrice triangulaire superieure suivante

u11 u12

u22

U =

(1.3)

...

u1n
u2n

.. ,
.
unn

alors, le syst`eme (1.3) est equivalent `a U x = b o`


u b = (bi )1in . On utilise la methode de remontee
pour resoudre ce syst`eme dont lalgorithme est le suivant :

xn = bn /unn .

Pour k = (n 1), . . . , 1
!

n

X
1

uki xi
x k = bk
ukk

i=k+1

Fin de la boucle sur k.

A chaque etape k on a une division, (n k) multiplication pour 1 k n et (n k) additions


pour k n 1. Au total le nombre doperations est
n
n1
X
X
n(n + 1) n(n 1)
(n k + 1) +
(n k) =
+
= n2 .
2
2
k=1
k=1

1.3 Factorisation LU
Pour la resolution dun syst`eme triangulaire inferieur Lx = b, on utilise la methode de descente dont
lalgorithme est le suivant :


x1 = b 1 .

l11

Pour k = 2, . . . , n
!

k1

X
1
x = b
.
lki xi

k
k
lkk

i=1

Fin de la boucle sur k.

Cette methode necessite aussi n2 operations.

1.3
1.3.1

Factorisation LU
Rappel sur la m
ethode de Gauss

Parmi les methodes directes classiques pour resoudre un syst`eme lineaire Ax = b, pour A une
matrice carree inversible dordre n, on cite la methode delimination de Gauss dont le principe est
deffectuer un nombre fini doperations algebriques lineaires sur les lignes de la matrice A et sur b,
pour se ramener `a un syst`eme triangulaire superieur equivalent.
Exemple 1.3.1 Soit `a resoudre le syst`eme lineaire dordre 4, suivant :

x1 3x2 x3
= 2

x1 + x2
+ 2x4 = 3
x2 x 3
= 1

2x1 + x2
x4 = 0
Sous forme matricielle ce syst`eme secrit sous la forme Ax = b, pour


2
1 3 1 0
1 1

0
2
3 .
A=
et
b
=
0
1
1 1 0
0
2
1
0 1
Dans la premi`ere etape on elimine la premi`ere inconnue x1 des equations 2,3 et 4 en combinant
chacune avec la premi`ere equation. Afin deliminer il faut dabord verifier que x1 apparait dans la
premi`ere equation. Si ce nest pas le cas, il faut permuter lequation avec une autre dont le coefficient
de x1 est non nul. On choisit comme premier pivot 1 le coefficient de x1 dans la nouvelle premi`ere
equation qui est appelee ligne de pivot. Dans notre exemple 1 = 1. Eliminer x1 des autres equations
revient `a annuler les coefficients de la premi`ere colonne de A en dessous de la diagonale. Ceci revient
5

Chapitre 1. M
ethodes directes pour la r
esolution des syst`
emes lin
eaires
dans la methode de Gauss `a remplacer chaque ligne Li de A et de b par Li
4. Dans notre cas
L2 L2 + L1 , L3 L3 , L4 L4 2L1 .

ai1
L,
1 1

pour i = 2, 3 et

Apr`es cette premi`ere etape, le syst`eme equivalent a comme nouvelle matrice et comme second membre


1 3 1 0
2

0
2
1
2
et b(1) = 5 .
A(1) =
0
1
1
1 0
4
0
7
2 1
Dans la deuxi`eme etape cest la deuxi`eme ligne qui joue le role de ligne de pivot si x2 est present
(Sinon, on permute la deuxi`eme equation avec une autre sans toucher la premi`ere). Le coefficient
de x2 devient le nouveau pivot 2 qui vaut 2 dans cet exemple. Pour annuler les coefficients de la
deuxi`eme colonne en dessous de la diagonale, on fait les operations
7
L3 L3 + 12 L2 , L4 L4 + L2 .
2
Le syst`eme equivalent a pour matrice et second membre

1 3
1
0
2
0 2

1
2
et b(2) = 5 .
A(2) =
0 0
7/2
3/2 1
27/2
0 0
3/2 6
Enfin, pour eliminer x3 de la quatri`eme equation, on utilise le pivot 3 = 32 et on fait L4
L4 L3 . La matrice et le second membre de syst`eme equivalent sont


1 3 1 0
2

0
2
1
2
(3)

5
A(3) =
0 0 3/2 1 et b = 7/2 .
0 0
0
5
10
Le dernier syst`eme est triangulaire sup
erieur.

On resout par la methode de remontee ce syst`eme


1
0

triangulaire superieur pour obtenir x =


1 qui est aussi la solution de (S).
2
Remarque 1.3.1 Si on note U = A(3) , alors on peut verifier quon a

1
0
0 0
1
1
0 0

A = LU, avec L =
0 1/2 1 0
2 7/2 1 1
est la matrice triangulaire inferieure dont les termes diagonaux valent 1 et dont le coefficient lik de
(k)
a
(k)
u aik designe les coefficients de A(k) ,
la matrice L sous la diagonale est exactement le terme ik , o`
k
matrice delimination de Gauss `a letape k.
6

1.3 Factorisation LU
Algorithme de Gauss et nombre dop
erations
Si pour i = 1, . . . , n et p = 1, . . . , n, on designe par A[i, p : n] les termes de la ligne i dune
matrice A situes dans lordre entre les colonnes p et n, alors lalgorithme de la methode delimination
de Gauss pour resoudre un syst`eme Ax = b, secrit :

Pour k = 1, . . . , n 1,


Recherche du pivot et permutation des lignes si necessaire
Pour i = k + 1, . . . , n

`ik = aik
akk

A[i, k : n] = A[i, k : n] `ik A[k, k : n]

bi = bi `ik bk

Fin de la boucle sur i

Fin de la boucle sur k.

Puis, on resout le syst`eme triangulaire obtenu.


A chaque etape k de lelimination de xk il faut effectuer :
(n k) divisions,
(n k)2 multiplications,
(n k)2 additions.
Le nombre total doperations est donc :
n1
n1
n1
n1
X
X
X
X
2
p2 .
p+2
(n k) =
(n k) + 2
k=1

p=1

k=1

p=1

n
X

n
X
n(n + 1)
n(n + 1)(2n + 1)
p=
Si on utilise le fait que
p2 =
et que
on tire que le nombre
2
6
p=1
p=1

doperations dans la methode delimination de Gauss est


lordre de 32 n3 lorsque n est tr`es grand.

n(n 1)
n(n 1)(2n 1)
+2
qui est de
2
6

Remarque 1.3.2 Le choix du pivot peut avoir une grande importance dans le calcul comme le montrera lexemple suivant.
Soit `a resoudre le syst`eme
 p     
10
1
x1
1
=
,
1
1
x2
0

1
p

dont la solution exacte est 1 1 10 .


1 10p
Apr`es la premi`ere etape delimination de Gauss, on obtient
 p
  

10
1
x1
1
=
.
0
1 10p
x2
10p
7

Chapitre 1. M
ethodes directes pour la r
esolution des syst`
emes lin
eaires
   
x1
0
Pour p tel que sur une machine 1 10 ' 10 on obtient
'
qui nest pas proche de la
x2
1
solution exacte.
Cet exemple montre leffet des erreurs darrondi qui proviennent de la division par des pivots
(k)
trop petits. La strategie de pivot partiel consiste `a choisir comme pivot k verifiant |k | = max |aik |
p

kin

le coefficient de module maximum de la partie de la colonne k en dessous de la diagonale.


Dans lexemple (1.3.1), lelimination de Gauss etait faite sans strategie de pivot. Avec la strategie
de pivot partiel, et dans la premi`ere etape, on doit choisir le premier pivot a31 = 2 au lieu de a11 = 1.

1.3.2

Factorisation LU

Dans cette partie on developpe la technique de la factorisation LU qui permet aussi de resoudre
un syst`eme Ax = b en se ramenant `a la resolution dun syst`eme triangulaire inferieur puis un syst`eme
triangulaire superieur.
Proposition 1.3.1 Soit A = (aij )1i,jn Mn (R) une matrice carree dordre n telle que toutes les
n sous-matrices A(k) = (aij )1i,jk , pour k = 1, . . . , n, sont inversibles.
Alors, il existe une matrice triangulaire inferieure L dont les coefficients diagonaux sont egaux
`a 1, et une matrice triangulaire superieure U telle que A = LU . De plus cette decomposition, dite
decomposition ou factorisation LU de A, est unique.
Preuve. Unicit
e : On suppose que A = L1 U1 = L2 U2 avec Li , i = 1, 2 triangulaire inferieure
verifiant (Li )kk = 1 pour tout k = 1, . . . , n, Ui , i = 1, 2 triangulaire superieure. Alors les matrices
1
U1 et U2 sont inversibles, puisque 0 6= det A = det U1 = det U2 . On a alors L1
2 L1 = U2 U1 , ce qui
implique que L1
a la fois une matrice triangulaire inferieure et triangulaire superieure, donc
2 L1 est `
L1
L
est
une
matrice
diagonale.
Mais comme (L1 )kk = (L1
eduit que L1
1
2
2 )kk = 1 on en d
2 L1 = In
et par suite L2 = L1 et U2 = U1 .
Existence : Notons dabord que si une telle factorisation existe pour L = (`ij )1i,jn triangulaire
inferieure U = (uij )1i,jn est triangulaire superieure, alors
min(i,j)

aij =

lik ukj , pour tout 1 i, j n

(1.4)

k=1

On montre lexistence
 parrecurrence sur n, lordre de la matrice A a` factoriser.
a b
Si n = 2, A =
verifiant a 6= 0 et det(A) = ad bc 6= 0, alors A admet la factorisation
c d
A=

!
!
a
b
1 0
c
ad bc .
1
0
a
a

Supposons que le resultat est vrai jusqu`a lordre n1. Soit A = (aij ) une matrice dordre n telle
que les sous-matrices A(k) , pour k = 1, . . . , n sont inversibles. Dapr`es lhypoth`ese de recurrence la
U , o`
= (lij )1i,jn1 est une matrice
matrice A(n1) qui est dordre n 1 admet une factorisation L
uL
8

1.3 Factorisation LU
triangulaire inferieure dordre n1 `a diagonale unite et U = (uij )1i,jn1 est une matrice triangulaire
superieure dordre n 1 dont les termes diagonaux sont tous non nuls (uii 6= 0 i = 1, . . . , n 1). On
determine les coefficients representant la n-i`eme colonne de U puis la n-i`eme ligne de L de la facon
suivante :

u1n = a1n ,

u2n = a2n l21 u2n ,

..

p1

X
upn = apn
lpk ukn ,

k=1

..

n1

u
=
a

lnk ukn ,
nn

nn
k=1

puis les coefficients

ln1

ln2

an1
,
u11
an2 ln1 u12
=
,
u22
..
.
p1
X
anp
lnk ukp

k=1

lnp =

upp

..

n2

lnk ukn
a

n,n1

k=1

ln,n1 =
.
un1,n1

Ensuite, on definit les deux matrices dordre n :

.. et U =

L=

L
.
U
ln1 ln,n1 1
0

u1n
.. .
.
0 unn

On note que L est triangulaire inferieure `a diagonale unite, U est triangulaire superieure avec coefficients diagonaux non nuls et on peut verifier facilement que A = LU .
Exemple 1.3.2 Reprenons la matrice A de syst`eme donne dans lexemple (2.4), o`
u

1 3 1 0
1 1
0
2
.
A=
0
1 1 0
2
1
0 1
9

Chapitre 1. M
ethodes directes pour la r
esolution des syst`
emes lin
eaires
On peut verifier que det(A(k) ) 6= 0 ; k = 1, ..., 4, donc A admet une factorisation LU , avec L =
(`ij )1,i,j4 triangulaire inferieure verifiant `ii = 1,, i = 1, ..., 4 et U = (uij )1i,j4 est une matrice
triangulaire superieure. Pour calculer L et U on utilise legalite (1.4) o`
u on commence par calculer les
termes u1j , j = 1, ..., 4, de la premi`ere ligne de U en utilisant le coefficient a1j . Comme inf(1, j) = 1
et `11 = 1, on obtient alors
u1j = a1j , j = 1, ..., 4.
Soit donc
u11 = 1, u12 = 3, u13 = 1, et u14 = 0.
Connaissant la premi`ere ligne de U et avant de passer `a sa deuxi`eme ligne, on calcule les coefficients
`i1 , i = 2, 3 et 4 car pour i = 1, par hypoth`ese `11 = 1. Or inf(i, 1) = 1 et de (1.4), par consequent,
ai1 = u11 `i1 , i = 2, 3 et 4. Comme on connait u11 , on obtient
`i1 =

ai1
, i = 2, 3 et 4.
u11

Soit donc
`21 = 1, `31 = 0, `41 = 2
Ayant la premiere ligne U et la premi`ere colonne de L, on peut calculer les coefficients u2j de la
deuxi`eme ligne de U , pour j 2, puisque U est triangulaire superieure. Par identification de terme
a2j dans (1.4), on obtient alors
a2j = `21 u1j + `22 u2j ,
Puisque on connait le terme u1j de la premi`ere ligne de U et `21 de la premi`ere colonne de U , et
comme `22 = 1, on deduit
u2j = a2j `21 u1j , j = 2, 3 et 4.
Dans notre cas
u22 = 2, u23 = 1 et u24 = 2.
La connaissance des termes de deux premi`eres lignes de U et de la premi`ere colonne de L permet de
deduire la deuxi`eme colonne de L et davoir,
7
1
`32 = (a32 `31 u12 )/u22 = et `42 = (a42 `41 u12 )/u22 = .
2
2
De meme, on calcule dans lordre les termes u33 et u34 de la troisi`eme ligne de U puis le terme `34
de la troisi`eme colonne de L par les formules suivantes :
u3j = a3j (`31 u1j + `32 u2j ), j = 2, 3, `43 = (a43 `41 u13 `42 u23 )/u33 .
On trouve alors
u33 = 3/2, u34 = 1 puis `34 = 1.
Enfin, reste u44 le seul terme `a calculer de la colonne 4 de la matrice U qui est donne par
u44 = a44 (`41 u14 + `42 u24 + `43 u34 ) = 5.
On obtient alors les matrices L et U donnees dans la remarque (1.3.1).
10

1.3 Factorisation LU
Algorithme de la factorisation LU
De (1.4) et pour p = 1, . . . , n, en lisant dans lordre les termes de la p-i`eme ligne eu dessus de la
diagonale de la matrice `a factoriser A, on obtient la p-i`eme ligne de U , puis au fur et on mesure quon
ecrit les termes de la p-i`eme colonnes de A en dessus de la diagonale, on deduit la p-i`eme colonne de
L. Ceci peut se traduire par lalgorithme suivant :

Pour p = 1, . . . , n,

Pour j = p, . . . , n,

p1

X

lpk ukj .
upj := apj

k=1

Fin de la boucle sur j



Pour i = p + 1, . . . , n,

!
p1

X

lip := aip
lik ukp /upp .


k=1
Fin de la boucle sur i.

Fin de la boucle sur p.

Remarque 1.3.3 De la preuve ou de lalgorithme de la factorisation LU de la matrice A on tire que


toutes les sous matrices A(k) de A admettent aussi une factorisation L(k) U (k) pour L(k) = (lij )1i,jk et
U (k) = (uij )1i,jk , pour k = 1, . . . , n. Ainsi la matrice A admet une factorisation LU si et seulement
si toutes les matrices A(k) sont inversibles.
Nombre dop
erations
A chaque etape p, pour calculer upj , j = p, . . . , n il faut effectuer
p 1 multiplications,
p 1 additions,
donc 2(p 1) operations.
Le nombre total doperations pour determiner la p-i`eme ligne de U est
n
X

2(p 1) = 2(n p + 1)(p 1).

j=p

Ensuite pour calculer le terme lip , i = p + 1, . . . , n il faut


1 division,
p 1 multiplications,
p 1 additions.
11

Chapitre 1. M
ethodes directes pour la r
esolution des syst`
emes lin
eaires
Donc le calcul de la p-i`eme colonne de L necessite
n
X

(2(p 1) + 1) = (n p)(2p 1).

i=p+1

Le nombre total doperations pour effectuer la factorisation LU de A est


n
X

n
X
[2(n p + 1)(p 1) + (n p)(2p 1)] = 2
(n p)p + 2.

p=1

p=1

n
X
n(n + 1)
n(n + 1)(2n + 1)
et que
p=
on tire que le nombre
Si on utilise le fait que
p =
6
2
p=1
p=1
n
X

doperations pour effectuer la factorisation LU dune matrice dordre n est de lordre de 32 n3 .


R
esolution de Ax = b pour A = LU
Le syst`eme Ax = b donne LU x = b. Si on pose y = U x, il suffit de resoudre le syst`eme
triangulaire inferieur Ly = b puis le syst`eme triangulaire superieur U x = y, i.e.,
(
Resoudre Ly = b,
Resoudre Ax = b
puis resoudre U x = y.
Puisque la resolution dun syst`eme triangulaire, necessite n2 operations, le nombre doperations
pour resoudre un syst`eme lineaire Ax = b, par la factorisation A = LU est de lordre 32 n3 .
Remarques 1.3.1
1. On utilise la factorisation LU dune matrice A surtout pour resoudre plusieurs syst`emes lineaires
avec la meme matrice A mais avec des seconds membres differents. Si on a par exemple `
a
resoudre p syst`emes lineaires avec la meme matrice A, le co
ut est de lordre de 32 n3 + 2pn2 au
lieu de p 32 n3 .
2. Puisque
det A = det L det U =

n
Y

uii ,

i=1

la factorisation LU permet aussi de calculer det A en seulement


(n! 1)(n 1) operations si on utilise la formule de Leibniz
det A =

X
Sn

()

n
Y

2 3
n
3

operations au lieu de

a(i),i ,

i=1

o`
u Sn est lensemble des permutations des nombres {1, . . . , n} et () est la signature de la
permutation .
12

1.4 Factorisation de Cholesky


Matrices bandes
D
efinition 1.3.1 Une matrice A = (aij )1i,jn Mn (R) est dite matrice bande sil existe nb N,
tel que aij = 0 pour |i j| > nb . Autrement dit les coefficients non nuls de la matrice A sont situes
dans une bande de longueur 2nb + 1, centree sur la diagonale principale. Pour nb = 1, la matrice est
dite tridiagonale.
Proposition 1.3.2 La factorisation A = LU conserve la structure bande.
Preuve. On montre cette propri`ete par recurrence sur les etapes de la factorisation de la matrice A.
La matrice A etant bande, la propri`ete est vraie a` letape 0. Supposons que la propriete est vraie
jusqu`a letape p 1 o`
u on a donc lij = uij = 0 pour 1 i, j p 1, |i j| > nb . A letape p on a
upj := apj

p1
X

lpk ukj , pour j = p, . . . , n

k=1

et
aip
lip :=

p1
X
k=1

upp

lik ukp
, pour i = p + 1, . . . , n.

Soit p tel que |p j| > nb . Alors apj = 0 puisque A est une matrice bande.
Si p j > nb > 0 alors upj = 0, puisque U est triangulaire superieure.
Si p j < nb < 0, donc pour 1 k p 1, on a k j p 1 j < p j < nb . Dapr`es
lhypoth`ese de recurrence ukj = 0. Ainsi upj = 0 et la propriete est verifiee pour la matrice U a`
letape p. De meme, si p est tel que |i p| > nb , alors apj = 0.
Si i p < nb < 0 alors lip = 0, puisque L est triangulaire inferieure.
Si i p > nb < 0, donc pour 1 k p 1 < p, on a i k i p < nb . Dapr`es lhypoth`ese de
recurrence lik = 0. Ainsi lip = 0 et la propriete est verifiee aussi pour la matrice L a` letape p.

1.4
1.4.1

Factorisation de Cholesky
Rappels sur les matrices sym
etriques

D
efinition 1.4.1 Soit A = (aij )1i,jn Mn (R). La matrice transposee de A, notee AT est definie
par
AT = (aji )1i,jn .
Loperateur transpose verifie, pour toutes marices A et B de Mn (R),
1. (A + B)T = AT + B T
2. (AB)T = B T AT
3. Si A est inversible, alors AT est inversible et (AT )1 = (A1 )T .
13

Chapitre 1. M
ethodes directes pour la r
esolution des syst`
emes lin
eaires
4. (Ax, y) = (x, AT y) pout tout x, y Rn .
D
efinition 1.4.2 Soit A Mn (R). La matrice A est dite :
1. symetrique si AT = A.
2. orthogonale si AAT = AT A = In .
Remarque 1.4.1 Si A Mn (R) est une matrice orthogonale, alors A est inversible et A1 = AT
puisquon a AAT = AT A = In . De plus les vecteurs lignes ainsi que les vecteurs colonnes forment
une base orthonormee de Rn .
D
efinition 1.4.3 : Vecteurs et valeurs propres
Soit A Mn (R). On rappelle que C est une valeur propre de A si det(A In ) = 0. Un
vecteur x Cn non nul est dit vecteur propre de A associe `a la valeur propre si Ax = x.
Un resultat connu concernant la reduction de matrices symetriques est le suivant :
Proposition 1.4.1 Soit A Mn (R) une matrice symetrique. Alors, il existe une matrice orthogonale O Mn (R) telle que la matrice D = OT AO soit diagonale reelle.
Remarques 1.4.1 Si A Mn (R) symetrique et O une matrice orthogonale telle que

...
OT AO = D =
,
n
alors 1 , 2 , . . . , n sont les valeurs propres de A. De plus si f1 , f2 , . . . , fn sont les vecteurs colonnes
de O, alors fi est un vecteur propre de A associe `a la valeur i pour i = 1, . . . , n et la famille
(f1 , . . . , fn ) forme une base orthonormee des vecteurs propres de A.
Cons
equences 1.4.1
1. Toute matrice symetrique est diagonalisable.
2. Les valeurs propres dune matrice symetrique sont toutes reelles.
D
efinition 1.4.4 Soit A Mn (R) une matrice symetrique. La matrice A est dite semi-definie
positive si
(Ax, x) 0 pour tout x Rn .
Si de plus A verifie, (Ax, x) = 0 si et seulement si x = 0, alors A est dite definie positive.
Proposition 1.4.2 Soit A Mn (R) une matrice symetrique.
1. La matrice A est semi-definie positive si et seulement si toutes ses valeurs propres sont positives.
2. La matrice A est definie positive si et seulement toutes ses valeurs propres sont strictement
positives.
14

1.4 Factorisation de Cholesky


Preuve. Soit A Mn (R). On suppose que A est semi-definie positive (resp. definie positive). Soit
une valeur propre de A et x Rn (non nul) un vecteur propre associe a` la valeur propre . On a
Ax = x, donc
(Ax, x) = (x, x) = kxk22 .
Comme A est semi-definie positive (resp. definie positive), donc (Ax, x) 0 (resp. > 0) et par
consequent
kxk22 0 (resp. > 0)
ou 0 (resp. > 0).
Supposons que toutes les valeurs propres de A sont positives (resp. strictement positives) et
montrons que A est semi-definie positive (resp. strictement positives). On sait quil existe une base
orthonormee (f1 , . . . , fn ) de vecteurs propres de A. Soit x Rn , (resp. x Rn \ {0},
x=

n
X

xi f i .

i=1

Donc
Ax =

n
X

xi i fi ,

i=1

et
(Ax, x) =

n
X

i x2i 0 (resp. > 0).

(1.5)

i=1

Remarque 1.4.2 De (1.5) on tire facilement que si A est une matrice symetrique dordre n et si
1 , n sont respectivement la plus petite et la plus grande valeur propre de A, alors pour tout x Rn ,
on a
1 kxk22 (Ax, x) n kxk22 .
(1.6)
Linegalite (1.6) sera fort utile pour la suite.

1.4.2

Factorisation des matrices sym


etriques

Proposition 1.4.3 Soit A = (aij )1i,jn Mn (R) une matrice symetrique definie positive. Alors la
matrice A admet une factorisation LU avec les elements diagonaux de U sont strictement positifs.
Preuve. Soit pour k = 1, . . . , n, A(k) = (aij )1i,jk Mk (R). Montrons que la matrice symetrique
A(k) est inversible. En effet, pour tout x = (x1 , . . . , xk )T Rk \{0}, on pose x = (x1 , . . . , xk , 0, . . . , 0)T
Rn . Alors x 6= 0 et on a (A(k) x, x) = (A
x, x) > 0. La matrice A(k) est par consequent definie positive,
donc inversible. La matrice A admet donc une factorisation LU .
Montrons que uii > 0, i = 1, . . . , n. Soit la matrice diagonale

u11

..
D=
.
.
unn
15

Chapitre 1. M
ethodes directes pour la r
esolution des syst`
emes lin
eaires
Puisque
det A = det L det U =

n
Y

uii 6= 0,

i=1

donc la matrice diagonale D est inversible. Soit


1

S=D U =

uij
uii


,
1i,jn

alors U = DS et
A = LDS = S T DLT .
La matrice S T est triangulaire inferieure `a diagonale unite ((S T )ii = 1, i = 1, . . . , n) et la matrice
DLT est une matrice triangulaire superieure. Dapr`es lunicite de factorisation LU , on a L = S T et
U = DLT . Ainsi A = LDLT .
Soit x Rn \ {0} et y tel que x = LT y, alors y est aussi non nul et on a
(Dx, x) = (DLT y, LT y) = (LDLT y, y) = (Ay, y) > 0,
donc la matrice diagonale symetrique D est definie positive, ses valeurs propres uii , i = 1, . . . , n sont
donc strictement positives.
Corollaire 1.4.1 : Factorisation de Crout
De la preuve de la proposition precedente on deduit que si A est une matrice symetrique inversible
et admettant une factorisation LU , alors A admet la factorisation A = LDLT o`
u D est une matrice
diagonale. La factorisation LDLT est appelee factorisation de Crout.

1.4.3

Factorisation de Cholesky

Proposition 1.4.4 Soit A une matrice symetrique definie positive. Alors il existe une matrice triangulaire inferieure B `a
el
ements diagonaux strictement positifs telle que A = BB T . De plus
cette factroisation est unique. Une telle factorisation est dite factorisation de Cholesky de A.
Preuve. On sait que A admet une factoriasion LDLT = LU avec (L)ii = 1 et (D)ii = uii > 0 pour
i = 1, . . . , n. Si on pose

u11

..
D0 =
,
.

unn
alors
A = (LD0 )(D0 LT ) = BB T .
Lunicite decoule de celle de la factorisation LU .
Remarque 1.4.3 La matrice B de la factorisation de Cholesky de la matrice symetrique A = LU

verifie B = L diag( uii ) o`


u

u11

...
diag( uii ) =
.

unn
16

1.4 Factorisation de Cholesky


Algorithme de la factorisation de Cholesky
Il suffit didentifier le produit A et BB T pour B = (bij ) une matrice triangulaire inferieure. On
en deduit
min(i,j)
X
aij =
bik bjk , 1 i, j n.
k=1

On commence par calculer terme `a terme la premi`ere colonne de la matrice triangulaire B, puis on
passe `a la deuxi`eme colonne et ensuite connaissant les (j 1) premi`eres colonnes de B, on peut
deduire, dabord le terme de la diagonale bjj , puis les termes de la j-`eme colonne se trouvant en
dessous de la diagonale jusquon on obtient toute la matrice triangulaire inferieure B. Ceci se traduit
aussi par lalgorithme suivant :

Pour j = 1, . . . , n,
v

u

j1
X
u

bjj := tajj
b2jk .


k=1

Pour i = j + 1, . . . , n,

!
j1

X

bik bjk /bjj .
bij := aij

k=1

Fin de la boucle sur i.

Fin de la boucle sur j.

Remarque 1.4.4 Clairement, le co


ut de la methode de Cholesky est de lordre de n3 qui est la moitie
de celui de la factorisation LU , puisque ici le calcul de la matrice B donne immediatement sa matrice
transposee B T .

17

Chapitre 1. M
ethodes directes pour la r
esolution des syst`
emes lin
eaires

18

Chapitre 2
M
ethodes it
eratives pour la r
esolution
des syst`
emes lin
eaires
2.1

Introduction

Pour des syst`emes lineaires de grande taille, les methodes directes de factorisations (de type LU
ou de Cholesky) deviennent couteuses en temps de calcul ou en place memoire. Lidee alors de ne
plus chercher `a resoudre exactement le syst`eme lineaire Ax = b, mais dapprocher sa solution x par
une suite de vecteurs (x(k) ) verifiant
lim kx(k) xk = 0.

k+

Dans ce chapitre, la suite (x(k) ) est construite a` laide dune relation de recurrence simple de type
x(k+1) = F (x(k) ), pour une application affine F (x) = Bx + c o`
u B depend de A et c depend de A et
b.

2.2

Rappels sur les normes matricielles

On rappelle que lespace vectoriel complexe Cn est muni du produit hermitien defini pour x =
(xi )1in et y = (yi )1in Cn , par
n
X
(x, y) =
xi yi ,
i=1

et la norme euclidienne associe a` ce produit scalaire est


n
X
1
kxk2 = (
|xi |2 ) 2 .
i=1

Dans ce chapitre, on note par Mn (K) lespace vectoriel des matrices carrees dordre n a` coefficients dans K o`
u K = R ou C. On rappelle que pour x = (xi )1in Kn on a les normes vectorielles
suivantes :
19

Chapitre 2. M
ethodes it
eratives pour la r
esolution des syst`
emes lin
eaires
n
X
1
kxkp = (
|xi |p ) p , pour p [1, +[ ; norme de Holder dindice p.
i=1

kxk = max |xi |, norme infinie.


1in

2.2.1

Normes matricielles subordonn


ees

D
efinition 2.2.1 On appelle norme matricielle sur Kn toute application k k definie sur Mn (K) et
`a valeurs dans R+ verifiant pour tout A, B Mn (K) et pour tout K :
kAk = 0 A = On , o`
u On est la matrice nulle dordre n,
kAk = || kAk,
kA + Bk kAk + kBk,
kABk kAk kBk.
D
efinition 2.2.2 :Normes matricielles subordonn
ees
n
Toute norme vectorielle k k de K definit une norme matricielle de la facon suivante
A Mn (K), kAk =

kAxk
= sup kAxk = sup kAxk,
x6=0 kxk
kxk1
kxk=1

sup
xKn ,

dite norme matricielle subordonnee ou induite (`a cette norme vectorielle).


Toute norme matricielle subordonnee verifie :
1. kAxk kAkkxk, pour toute matrice A Mn (K) et pour tout vecteur x Kn .
2. kIn k = 1.
On notera k kp la norme matricielle subordonnee assoiee `a la norme vectorielle dindice p.
Exemple 2.2.1 La norme (dite de Frobenius) definie, pour A = (aij )1i,jn Mn (K), par
kAk = (

n
X

|aij |2 ) 2 ,

i,j=1

nest pas subordonnee puisque kIn k =

n 6= 1.

D
efinition 2.2.3 :Rayon spectral
Soient A Mn (K) et i C, 1 i n les valeurs propres de A. On rappelle que le spectre de A,
quon note Sp(A), est lensemble des valeurs propres de A.
On appelle rayon spectral de A, le reel positif, note (A) = max |i | qui est le maximum des
1in

modules des valeurs propres de A.


On a alors :
Proposition 2.2.1 Les normes matricielles subordonnees aux normes vectorielles k k1 , k k2 et
k k sont donnees, pour une matrice A = (aij )1i,jn , par :
20

2.2 Rappels sur les normes matricielles


(p
p
(AT A) = (AAT ) = kAT k2 si A est une matrice reelle,
p
kAk2 = p
(A A) = (AA ) = kA k2
si A est une matrice complexe,

T
o`
u pour A = (aij )1i,jn Mn (C), A = A = (
aji )1i,jn la matrice adjointe de A.
n
X
kAk1 = max
|aij |,
1jn

kAk = max

1in

i=1
n
X

|aij |.

j=1

Preuve.
1. Soit A = (aij )1i,jn une matrice non nulle de Mn (R).
kAk22 =

kAxk22
(Ax, Ax)
(AT Ax, x)
=
sup
=
sup
.
2
kxk22
kxk22
xRn ,x6=0 kxk2
xRn ,x6=0
xRn ,x6=0
sup

La matrice B = AT A etant symetrique semi definie positive puisque B T = B et (Bx, x) =


(Ax, Ax) = kAxk22 0, pour tout x Rn . Dapr`es (1.6), on a
kAk22 (AT A).
Dautre part, si x est un vecteur propre de B = AT A associe a` la valeur propre (AT A), alors
kAxk22 = (Bx, x) = (AT A)kxk2 ,
donc

kAxk2 p
= (AT A) kAk2 ,
kxk2

et finalement
kAk2 =

p
(AT A).

Le cas dune matrice complexe se fait de la meme mani`ere quitte a` remplacer R par C et AT
par A .
2. A faire en exercice.
3. Soit x = (xi )1in Cn . On a alors,
kAxk = max |(Ax)i | = max |
1in

1in

et par consequent kAk max

1in

n
X

n
X

aij xj | max

1in

j=1

n
X

|aij | |xj | ( max

j=1

1in

|aij |. Dautre part, si i0 est tel que

j=1
n
X

|ai0 j | = max

1in

j=1

21

n
X
j=1

|aij |.

n
X
j=1

|aij |)kxk ,

Chapitre 2. M
ethodes it
eratives pour la r
esolution des syst`
emes lin
eaires
Comme A 6= 0, alors sa i0 -`eme colonne est non nulle et il existe au moins j tel que ai0 j 6= 0.
Posons, pour j = 1, . . . , n,

i0 j
a
si ai0 j =
6 0
xj = |ai0 j |
.
0
sinon
Alors kxk = 1 et
n
X

n
n
X
X
a
i0 j
|(Ax)i0 | = |
ai 0 j
|=
|ai0 j | = max
|aij |.
1in
|ai0 j |
j=1
j=1
j=1

Par suite kAk = max

1in

n
X

|aij |.

j=1

Remarque 2.2.1 Si A Mn (R) est une matrice symetrique, alors


kAk2 = (A).

(2.1)

Car les valeurs propres de A2 sont les carrees des valeurs propres de A lorsque cette derni`ere est
diagonalisable et donc
(A2 ) = (A)2 .
La relation (2.1) devient une inegalite pour une matrice quelconque et pour les autres normes.
Plus precisement :
Proposition 2.2.2

On a :

1. Pour toute matrice A et pour toute norme matricielle k k, subordonnee ou non, on a :


(A) kAk.
2. Pour tout  > 0 et pour toute matrice A Mn (C), il existe une norme matricielle subordonnee
notee k kA, telle que
kAkA, (A) + .
Preuve.
1. Soient A Mn (C), une valeur propore de A telle que || = (A) et x Cn , x 6= 0 un vecteur
propore associe `a la valeur propre . Alors Ax = x.
Si y Cn tel que la matrice xy ne soit pas nulle, alors Axy = xy et par suite
kAxy k = (A)kxy k kAkkxy k.
Ce qui donne (A) kAk.
22

2.2 Rappels sur les normes matricielles


2. Soit A Mn (C), on sait que A est semblable a` une matrice triangulaire superieure complexe,
il existe donc (f1 , . . . , fn ) une base de Cn et une matrice triangulaire superieure (ij )1i,jn
telles que
X
Afi =
ij fj ,
ji

avec, si P = (f1 , . . . , fn ), alors P 1 AP = T .


Pour un reel ]0, 1[, on definit B = (
e1 , e2 , . . . , en ) la base de lespace vectoriel Cn par,
e1 = f1 , e2 = f2 , ...., en = n1 fn .
Si x =

n
X

i ei Cn , on definit la norme vectorielle de x par

j=1

kxk := max |j |.
1jn

Il est clair que cette norme depend de A et de .


Soit  > 0, montrons que si est bien choisi, la norme subordonnee associee verifie
kAk (A) + .
Pour tout i {1, . . . , n},
X

A
ei = i1 Afi = i1

ij fj =

1ij

i1 1j ij ej .

1ij

Donc
X

A
ei =

ij ij ej .

1ij

Si x =

n
X

i ei , alors

i=1

Ax =

n
X

i=1

kAxk = max |
1jn

n
X

ij

n X
n
X
ij ej =
(
ij ij i )
ej .
j=1 i=j

1ij

"
ij ij i | max |jj kj | +
1jn

i=j

(A)kxk + max

1jn

n
X

|ij |kxk.

i=1

Par consequent
kAxk
(A) + kTA k1 ,
kxk
23

n
X
i=1

#
|ij ki |

Chapitre 2. M
ethodes it
eratives pour la r
esolution des syst`
emes lin
eaires
donc
kAk (A) + kTA k1 .
Pour ]0, 1[ tel que kTA k1 , on a bien
k kA, = kAk (A) + .

On utilse ce dernier resultat pour montrer la proposition suivante :


Proposition 2.2.3 Soit B une matrice carree de Mn (C). Les conditions suivantes sont equivalentes :
i) lim B k x = 0 pour tout vecteur x de Cn ,
k+

ii) (B) < 1,


iii) kBk < 1 pour au moins une norme matricielle subordonnee.
Preuve.
i) ii) Soit une valeur propre de B telle que (B) = || et soit x un vecteur propre associe a` la
valeur propre de B. On a Bx = x, donc B k x = k x et par consequent kB k xk = (B)k kxk
0 quand k + si et seulement si (B) < 1.
1 (B)
ii) iii) Pour  =
, il existe une norme matricielle subordonnee k k telle que
2
kBk (B) +  < (B) +

1 (B)
(B) + 1
=
< 1.
2
2

iii) i) On a kB k xk kBkk kxk 0 quand k +.

2.3

M
ethodes it
eratives

Pour resoudre un syst`eme lineaire Ax = b pour A Mn (R) une matrice inversible et b Rn , on


utilise dans ce chapitre des methodes iteratives dont le principe est decrire A comme la difference de
deux matrices A = M N , o`
u M est une matrice inversible (M est en general diagonale, triangulaire
ou facile a` inverser). Le syst`eme Ax = b est equivalent `a x = M 1 (N x + b). On approche donc la
solution du syst`eme Ax = b par la suite (x(k) ) define par
x(k+1) = M 1 (N x(k) + b),

k > 0,

en partant dun x(0) donne.


Remarques 2.3.1
1. On na pas toujours besoin de calculer M 1 , mais il faut savoir calculer la solution de M x(k+1) =
N x(k) + b, pour x(0) donnee.
24

2.3 M
ethodes it
eratives
2. Il est clair que si la suite (x(k) ) converge, elle converge vers la solution unique x de Ax = b. On
dit dans ce cas que la methode iterative correspondante est convergente pour la resolution de
syst`eme Ax = b.
3. Si on consid`ere e(k) lerreur `a letape k, e(k) = x(k) x, alors M x(k+1) = b+N x(k) et M x = b+N x
et par consequent e(k+1) = M 1 N e(k) = = (M 1 N )k e(0) . La matrice M 1 N = B est appelee
matrice dit
eration de la methode. La suite (x(k) ) verifie donc x(k+1) = Bx(k) + c, pour
1
c = M b.
En general on a :
Proposition 2.3.1 Si B = M 1 N et c = M 1 b, alors la suite (x(k) ) donnee par
x(k+1) = Bx(k) + c, pour x(0) donne,

(2.2)

converge vers x la solution unique de x = Bx+c, pour tout choix de x(0) , si et seulement si la matrice
diteration B verifie (B) < 1.
Preuve. La suite donnee par x(0) et x(k+1) = Bx(k) + c converge vers x pour tout choix de x(0) si et
seulement si (B k e(0) ) 0 quand k + pour tout e(0) = x(0) x. Ceci etant vrai si et seulement
si (B) < 1.
Remarque 2.3.1 Ainsi, pour montrer que la suite generee par la methode iterative (2.2) est convergente, il suffit de verifier que le rayon spectral de sa matrice diteration B est plus petit que 1 ou
encore que pour au moins une norme quelconque k k, (subordonnee ou non) kBk < 1.
Un premier resultat de convergence dune methode iterative concerne les matrices symetriques
definies positives.
Proposition 2.3.2 :Cas dune matrice sym
etrique d
efinie positive
Soit A une matrice symetrique definie positive et M, N deux matrices telles que A = M N ,
avec M inversible. Si la matrice symetrique M T + N est definie positive, alors (M 1 N ) < 1 et la
suite definie par x(k+1) = M 1 N x(k) + M 1 b converge vers x solution de Ax = b pour tout choix de
x(0) .
Preuve. Si A est symetrique, alors la matrice M T + N est toujours symetrique. En effet
(M T + N )T = M + N T = (A + N ) + N T = AT + N T + N = (A + N )T + N = M T + N.
Montrons que si A est definie positive et M T + N est definie positive, alors
(M 1 N ) < 1.
Soit Sp(M 1 N ) et soit x Cn , x = y + iz 6= 0, y, z Rn tel que M 1 N x = x. On a
M 1 N x = x, donc
N x = M x.
(2.3)
25

Chapitre 2. M
ethodes it
eratives pour la r
esolution des syst`
emes lin
eaires
Par suite
(N x, x) = (M x, x).
Comme A = M N , donc A = M (I M 1 N ) et par consequent
Ax = M (x M 1 N x) = M (x x) = (1 )M x.
Do`
u
(Ax, x) = (Ay, y) + (Az, z) = (1 )(M x, x) > 0,
et donc 6= 1. De plus on a
(N x, x) = (M x, x) et (M T y, y) = (y, M y) = (M y, y)
impliquant
((M T + N )x, x) = ((M T + N )y, y) + ((M T + N )z, z) = (1 + )(M x, x)
1+
1+
(Ax, x) =
[(Ay, y) + (Az, z)].
=
1
1
Comme les matrices A et M T + N sont definies positives, alors necessairement le nombre complexe
1
est tel que
> 0. Ceci est equivalent a` R et 1 < < 1.
1+
Dans les trois methodes iteratives classiques quon va etudier, on utilise la decomposition suivante
de A = (aij )1i,jn Mn (R) :
A = D E F,
avec
La matrice diagonale

a11

...
D=
.

ann

0
0
...
...
a21
0
...

La matrice triangulaire inferieure E = a31 a32 0


.
...
...
..
an1 an2 . . . ann1
pose de la partie en dessous de la diagonale.

0 a12 a13
..
0
a23
...
.

..
..
La matrice triangulaire superieure F =
.
.

0
0
0 ...
loppose de la partie en dessus de la diagonale.
26

...

...

0
0
..

. qui represente lop

0
a1n

a2n
..
qui represente
.

an1n
0

2.3 M
ethodes it
eratives

2.3.1

M
ethode de Jacobi

Dans la methode de Jacobi on choisit M = D et donc N = E + F = D A o`


u on suppose
que la matrice diagonale D est inversible (aii 6= 0 pour tout i = 1, . . . , n). La matrice diteration est
J = D1 (E + F ) et la suite (x(k) ) dans la methode de Jacobi est donnee par :

1. Initialisation : x(0) Rn donnee.



Pour k 0, on calcule x(k+1) solution de
2.
Dx(k+1) = (E + F )x(k) + b

Les composantes de x(k+1) sont donnees en fonction de celles de x(k) par


#
"
X
1
(k+1)
(k)
=
xi
aij xj , i = 1, . . . , n.
bi
aii
i6=j
(k+1)

Il est bien de noter que les composantes xi


autres ce qui peut seffectuer en parall`ele.

de x(k+1) sont calculees les uns independamment des

Exemple 2.3.1 Etudier la convergence de la methode de Jacobi pour resoudre le syst`eme Ax = b,


pour

1 2 2
A = 1 1 1 et b R3 .
2 2 1
Dans ce cas

0
0 0
0 2 2
D = I3 , E = 1 0 0 et F = 0 0 1 .
2 2 0
0 0
0

0 2 2
La matrice diteration est J = D1 (E + F ) = D A = 1 0 1 . Le polyn
ome ca2 2 0
racteristique de J est
PJ () = det(J I3 ) = 3 .
Donc (J) = 0 < 1 et par consequent
lamethode de Jacobi est convergente pour resoudre le syst`eme
1
Ax = b. Par exemple, pour b = 3 , la suite (x(k) ) R3 construite par la methode de Jacobi
5

1

1 solution unique syst`eme Ax = b pour tout choix de x(0) R3 .


converge vers le vecteur
1
27

Chapitre 2. M
ethodes it
eratives pour la r
esolution des syst`
emes lin
eaires
On montrera la convergence de la methode de Jacobi pour les matrices a` diagonale strictement
dominante :
D
efinition 2.3.1 Une matrice A = (aij )1i,jn Mn (C) est dite `a diagonale strictement dominante
si elle verifie
X
|aii | >
|aij | i {1, . . . , n}.
j6=i

Proposition 2.3.3 Soit A une matrice `a diagonale strictement dominante. Alors A est inversible
et la methode de Jacobi converge pour resoudre le syst`eme Ax = b, pour tout b Rn .
Preuve. Montrons que A est inversible. Soit x = (xi )1in Cn tel que Ax = 0. Alors, pour tout
i = 1, . . . , n,
n
X
aij xj = 0.
j=1

Ou encore
aii xi =

n
X

aij xj .

j6=i

Par consequent
|aii kxi |

n
X

|aij kxj |.

j6=i

Si x 6= 0, alors kxk 6= 0 et il existe i0 {1, . . . , n} tel que


|xi0 | = max |xi | = kxk .
1in

Ainsi
|ai0 i0 |

|ai0 j |

j6=i0

X
|xj |

|ai0 j | < 1.
|xi0 | j6=i
0

Ce qui est une contradiction, donc x = 0 et A ne peut etre que inversible.


Pour la methode de Jacobi on a

12
...
aa1n
0
aa11
11

a21
0
...
aa2n
a2
22
J = .

..

..
.
n1
aann

ann1
ann

...

qui verifie
kJk = max

1in

X |aij |
j6=i

|aii |

Comme
(J) < kJk < 1,
et donc la methode de Jacobi converge.
28

< 1.

2.3 M
ethodes it
eratives

2.3.2

M
ethode de relaxation

Dans la methode de relaxation, on introduit un param`etre reel non nul et on prend


M=

1
1
D E, N = M A =
D + F.

La matrice diteration est donc


L = ( 1 D E)1 ( 1
D + F)

= (I D1 E)1 D1 D 1 ((1 )In + D1 F )


= (I D1 E)1 ((1 )In + D1 F ).
Si < 1, on parle de sous relaxation.
Si > 1, on parle de sur relaxation.
Si = 1 la methode est dite de Gauss-Seidel.
Independamment de la matrice A, on a le resultat de divergence suivant :
Proposition 2.3.4 La methode de relaxation diverge pour tout R\]0, 2[.
Preuve. On a
det(L ) = det(In D1 E)1 det((1 )In + D1 F ).
La matrice (In D1 E) est triangulaire inferieure dont les coefficients diagonaux sont egaux `a
1, donc (In D1 E)1 est aussi triangulaire inferieure a` coefficients diagonaux sont aussi 1. La
matrice (1 )In + D1 F est triangulaire superieure ayant 1 comme termes diagonaux. Ainsi
det(L ) = (1 )n . Comme |1 |n = | det(L )| (L )n , donc |1 | (L ) et si R \ [0, 2],
alors |1 | > 1. Par consequent (L ) > 1 et la methode de relaxation diverge.
Ainsi, la methode de relaxation nest interessante que pour 0 < < 2.
Proposition 2.3.5 Soit A Mn (R) une matrice symetrique definie positive. Alors la methode de
relaxation converge si et seulement ]0, 2[.
Preuve. Il suffit de montrer que M T + N est definie positive.
1
1
1
1
2
M T + N = ( D E)T +
D+F = DF +
D+F =
D.

Comme A est definie positive, les coefficients diagonaux de A qui sont les elements de la diagonale de
la matrice D, sont strictement positifs, puisque chaque terme aii = (Aei , ei ), pour i = 1, . . . , n, pour
ei est le ii`eme vecteur de la base canonique de Rn . La matrice M T + N est donc definie positive si
et seulement si 2
> 0. Ce qui est equivalent `a ]0, 2[.

2.3.3

M
ethode de Gauss-Seidel

Cest la methode de relaxation pour = 1. On choisit donc pour cette methode la matrice
triangulaire inferieure M = D E representant la partie inferieure avec la diagonale de la matrice
29

Chapitre 2. M
ethodes it
eratives pour la r
esolution des syst`
emes lin
eaires
A. Donc N = F qui est une matrice triangulaire superieure a` diagonale nulle. On suppose que M est
inversible (aii 6= 0 pour tout i = 1, . . . , n). Dans ce cas la matrice diteration est
L1 = (D E)1 F,
et la methode de Gauss-Seidel secrit :

1. Initialisation : x(0) Rn donnee,



Pour k 0, on calculex(k+1) solution de
2.
(D E)x(k+1) = F x(k) + b

(k+1)

La i-`eme composante de x(k+1) est donnee en fonction des composantes xj


(k)
et des composantes xj , j > i de x(k) par
"
#
X
X
1
(k+1)
(k+1)
(k)
xi
=
bi
aij xj

aij xj , i = 1, . . . , n.
aii
j<i
j>i
(k+1)

Contrairement a` la methode de Jacobi, le calcul des composantes xi


dans lordre i = 1, . . . , n.

, j < i de x(k+1)

de x(k+1) doit seffectuer

1 2 2
Exemple 2.3.2 Reprenons le syst`eme de lexemple (2.3.1) o`
u la matrice A = 1 1 1 . La
2 2 1
matrice diteration de la methode de Gauss-Seidel est

1 0 0
0 2 2
0 2 2
L1 = (D E)1 F = 1 1 0 0 0 1 = 0 2 3 .
2 2 1
0 0
0
0 0
2
Les valeurs propres de la matrice tridiagonale L1 sont donc 0 et 2 et par consequent (L1 ) = 2 > 2.
La methode de Gauss-Seidel est divergente pour resoudre le syst`eme Ax = b.
On sait deja que si A est une matrice symetrique definie positive, alors la methode de Gauss-Seidel
est convergente ( = 1 ]0, 2[). On montre aussi que
Proposition 2.3.6 Si A Mn (R) une matrice `a diagonale strictement dominante, alors, la methode
de Gauss-Seidel pour la resolution de syst`eme Ax = b est convergente.
Preuve. Montrons que si A est `a diagonale strictement dominante, alors (L1 ) < 1.
Soit x = (xi )1in un vecteur propre de L1 pour une valeur propre de L1 = (D E)1 F . Alors
L1 x = x et donc (D E)x = F x.
30

2.3 M
ethodes it
eratives
Par consequent
(aii xi +

aij xj ) =

j<i

aij xj i {1, . . . , n}.

j>i

Pour i {1, . . . , n}, si xi 6= 0 on a alors


(aii +

aij

j<i

ou encore

X xj
xj
)=
aij ,
xi
xi
j>i

X
|xj |
|xj |
|aij |
|xi |
|xi |
j>i
j>i
||
.
X xj
X
|xj |
|aii +
aij |
|aii |
|aij |
xi
|xi |
j<i
X

|aij |

j<i

En particulier, si i0 est tel que |xi0 | = max |xi | = kxk , alors


1in

|ai0 j |

j>i0

||

|ai0 i0 |

X
j<i0

|xj |
|xi0 |

|xj |
|ai0 j |
|xi0 |

< 1.

Par suite (L1 ) < 1.

2.3.4

Vitesse de convergence

En pratique, il faut tenir compte de la vitesse de convergence. Autrement dit, entre deux
methodes iteratives convergentes, on choisit celle qui donne la solution plus rapidement que lautre.
Un crit`ere de mesure de cette vitesse est levolution de lerreur kx(k) xk qui depend du rayon spectral
de la matrice diteration. En effet, si on a une suite convergente (x(k) ) definie par x(k+1) = Bx(k) + c,
pour x(0) donne, sa limite est x verifiant x = Bx + c, et on a
x(k) x = B(x(k1) x) = B k (x(0) x)
et par consequent
kx(k) xk2 = kB k (x(0) x)k2 kBkk2 kx(0) xk2 .
En particulier, si B est symetrique, alors, kBk2 = (B) et il vient
kx(k) xk2 (B)k kx(0) xk2 .
Ainsi, la suite (x(k) ) converge plus vite vers x dautant que (B) est plus petit. Ceci reste encore vrai
pour une norme matricielle quelconque et pour une matrice B quelconque dapr`es le lemme suivant
Lemme 2.3.1 Si B Mn (C) et k.k est une norme matricielle subordonnee, alors
1

(B) = lim kB k k k .
k+

31

Chapitre 2. M
ethodes it
eratives pour la r
esolution des syst`
emes lin
eaires
La demonstration de ce lemme est laissee en exercice. On compare alors la vitesse de convergence de
deux methodes iteratives de type (2.2) de la facon suivante :
D
efinition 2.3.2 Pour la recherche dune solution x dun syst`eme Ax = b, une methode iterative
si (B) < (B).

de matrice diteration B est dite plus rapide quune autre de matrice diteration B,
En general, on ne peut rien dire sur la convergence dune de deux methodes de Jacobi et de Gaussseidel connaissant la nature de convergence de lautre. Cependant, pour une matrice tridiagonale on
a:
Proposition 2.3.7 : Cas dune matrice tridiagonale
Soit A une matrice tridiagonale. Alors les rayons spectraux de Jacobi et Gauss-Seidel sont lies
par la relation
(L1 ) = ((J))2 .
Donc les deux methodes convergent ou divergent simultan`ement. Lorsquelles convergent, la methode
de Gauss-Seidel est plus rapide.
Preuve. A = D E F , avec

a11

a11 a12

..
...
..

.
.

,
D
=
A = 21 .
,

...
...
..

an1n

ann

ann1 ann

a21 . .
E=
..
..

.
.

ann1

a12

... ...

.
..
..
. an1n
.

0

et F =

Montrons que pour tout , C , det(D E F ) = det(D E 1 F ). On pose

a11 a12

...
...

a21

A := D E F =

.
.
..
. . an1n


ann1 ann

et

a11 1 a12
..

.
a
:= D E 1 F = 21
...

A,


32

..

...
ann1

.
1
an1n
ann

2.3 M
ethodes it
eratives
Soit la matrice diagonale

P =

2
..

.
n

Alors P est inversible et

P 1 A,

a11 2 a12

..
..
1

.
.
a21

=
,
.
.
..
..

n an1n

1n ann1 n ann

a11 a12

...
...

a21
1
P A, P =
= A .
.
.
..
. . an1n


ann1 ann
Donc
det(P 1 A, P ) = det A .
Montrons que si P1 le polynome caracteristique de L1 et PJ le polynome caracteristique de J, alors
1

P1 () = 2 PJ ( 2 ).
En effet, sachant que D E est triangulaire superieure de diagonale celle de la matrice inversible D,
donc elle est aussi inversible et on a
P1 () = det((D E)1 F In )
= det(D E)1 det(F D E)
= det D1 det(E + F D)
n

= 2 det D1 det( 2 D + 2 E + 2 F )
n

= 2 det D1 det( 2 D + E + F )
1

= 2 det(D1 (E + F ) 2 In )
n

= 2 PJ (1/2 ).
En conclusion, Sp(J) si et seulement si 2 Sp(L1 ). Ainsi (L1 ) = ((J))2 .

2.3.5

Crit`
ere ou test darr
et

En general, dans les methodes iteratives pour la determination de x solution dun probl`eme
quelconque, on construit une suite (x(k) ) qui converge vers x. En pratique, et si on nexige pas un
crit`ere darret, le nombre diterations pour calculer les termes de cette suite pourrait etre infini. Le
33

Chapitre 2. M
ethodes it
eratives pour la r
esolution des syst`
emes lin
eaires
calcul donc devrait etre interrompu d`es quon obtient une solution approchee a` pres, verifiant par
exemple kAx(k) bk si x est aussi solution de Ax = b, ou kx(k+1) x(k) k dans le cas general,
pour une tolerence donnee et une norme vectorielle k k choisie. Il existe aussi dautres crit`eres
darret comme
kAx(k) bk

kbk
ou
kx(k) x(k1) k

kx(k) k
pour les algorithmes de resolution des syst`emes lineaires.

2.4

Conditionnement

La notion du conditionnent dune matrice peut servir a` etablir des majorations des erreurs
darrondi dues au erreurs sur les donnees. En pratique, par exemple pour un syst`eme lineaire Ax = b,
les donnees A et b ne sont donnees qu`a une erreur pr`es. Cette perturbation des donnees peut
engendrer une grande erreur de la solution. Cest le cas de lexemple suivant :
Soit le syst`eme lineaire Ax = b, pour




3
1
2
A=
et b =
.
2 4 + 106
6 + 106
 
1
Ce syst`eme admet une solution unique x =
.
1 

3
Si on change leg`erement b par b, avec b =
eme Ax = b est
6 , la solution du syst`
6

10
 
5
x =
. Ainsi une petite perturbation de la donnee b implique une grande modification de la
1
solution.
En general, si x est tel que Ax = b et x + x verifiant A(x + x) = b + b, alors Ax = b ou encore
x = A1 b. Par consequent
kxk kA1 kkbk,
(2.4)
pour k k une norme matricielle subordonnee.
Dautre part kbk = kAxk kAkkxk et donc
1
kAk

.
kxk
kbk

(2.5)

De (2.4) et (2.5), on deduit la majoration derreur suivante :


kxk
kbk
kAkkA1 k
.
kxk
kbk

(2.6)

On remarque que pour kxk soit assez petit pour une petite perturbation de b, il suffit que le terme
kAkkA1 k soit aussi assez petit,
34

2.4 Conditionnement
D
efinition 2.4.1 On appelle conditionnement dune matrice inversible A relatif `a une norme matricielle subordonnee k k, le reel positif, quon note Cond(A)
Cond(A) = kAkkA1 k.
Proposition 2.4.1 Pour toute matrice inversible A Mn (K) on a :
1. Cond(A) = Cond(A1 ),
2. Cond(A) = Cond(A), pour tout K ,
3. Cond(A) 1,
max |i |
1in
, si A est une matrice reelle symetrique (ou complexe Hermitienne)
4. Cond2 (A) =
min |i |
1in

inversible de valeurs propres (i )1in . Ici Cond2 designe le conditionnement relatif `


a la norme
k k2 .
En plus de la majoration (2.6), on a en general :
Proposition 2.4.2 Soient A et A deux matrices de Mn (K), avec A inversible et soient b et b
deux vecteurs de Kn tel que b 6= 0.
1. Si Ax = b et A(x + x) = b + b, alors on a
kxk
kbk
Cond(A)
.
kxk
kbk
2. Si Ax = b et (A + A)(x + x) = b, alors
kAk
kxk
Cond(A)
.
kx + xk
kAk
Preuve.
1. Deja montre
2. Si Ax = b et (A + A)(x + x) = b, alors A(x + x) = Ax et donc x = A1 A(x + x)
et on obtient ainsi
kxk kA1 kkAkkx + xk = Cond(A)
Il suffit de multiplier par

1
kx+xk

kAk
kx + xk.
kAk

pour conclure le resultat desire.

Pr
econditionnement dun syst`
eme lin
eaire
Au lieu de resoudre un syst`eme Ax = b, on multiplie a` gauche par une matrice inversible P et
resoudre le syst`eme P Ax = P b, o`
u la matrice P est choisie pour que P A soit bien conditionnee. Ce
dernier syst`eme sappelle syst`eme preconditionne.
35

Chapitre 2. M
ethodes it
eratives pour la r
esolution des syst`
emes lin
eaires

36

Chapitre 3
Optimisation sans contraintes
On rappelle que tout minimum ou maximum x dune fonction reelle derivable f : R R satisfait
f 0 (x) = 0. Ce resultat sapplique aussi pour les fonctions J : Rn R derivables.
Ce chapitre vise dans sa premi`ere partie `a rappeler quelques notions elementaires concernant les
probl`emes doptimisation non contraints sur Rn . Ensuite, et dans la derni`ere partie de ce chapitre, des
methodes de descente de type gradient seront developpees pour calculer numeriquement un minimum
x dune fonction J sur Rn .
Comme application on consid`ere le probl`eme de minimisation dune fonction quadratique dont
la resolution est equivalente `a la resolution dun syst`eme lineaire Ax = b, o`
u A est une matrice
symetrique definie positive.

3.1

Optimisation sur Rn

Dans de nombreux domaines dapplications danalyse numerique, on est amene a` minimiser une
fonction J et chercher x verifiant
J(
x) J(x), x Rn ,
(3.1)
o`
u la fonction J, dite objectif, est une fonction numerique `a variable un vecteur x de Rn . Cest un
probl`eme de minimisation quon peut noter aussi
min J(x).

xRn

(P )

Pour maximiser une fonction J il suffit de minimiser (J), un probl`eme doptimisation sur Rn peut
donc secrire toujours sous la forme de (P ).
Tout vecteur x solution de (3.1) est appele solution optimale de (P ). On dit aussi que x presente
(ou tout simplement) un minimum de J sur Rn .
Du theorique au numerique, pour la resolution du probl`eme (P ) ou de (3.1) on sinteresse aux
questions suivantes :
1. Existe-il une solution et est elle unique ?
2. Comment caracteriser cette solution ?
3. Comment approcher dune mani`ere efficace cette solution ?
37

Chapitre 3. Optimisation sans contraintes


Commencons par developper la premi`ere etape concernant lexistence puis lunicite dune solution dun probl`eme doptimisation sans contraintes.

3.1.1

Existence et unicit
e dun minimum

On rappelle tout dabord quune suite de vecteurs (x(k) ) est dite bornee de Rn sil existe R > 0
tel que
kx(k) k R, pour tout entier k,
i.e., la suite (x(k) ) est contenue dans une boule de centre 0 et de rayon R > 0.
On rappelle aussi que de toute suite bornee de Rn , on peut en extraire une sous suite convergente.
Proposition 3.1.1 On suppose que J est continue et quelle verifie
lim

kxk+

J(x) = +.

(3.2)

Alors le probl`eme de minimisation (P ) admet au moins une solution.


Preuve. Soit
= infn J(x).
xR

Montrons que est atteint, i.e., il existe x Rn tel que J(


x) = .
Dapr`es la propriete de la borne inferieure, il existe une suite (x(k) )k de Rn
lim J(x(k) ) = .

Alors la suite (x(k) ) est bornee. En effet, si la suite (x(k) ) est non bornee, elle verifie, pour une sous
suite, notee aussi (x(k) ), lim ||x(k) || = + et comme lim J(x(k) ) = +, donc = +, ce qui
kxk+

k+

est une contradiction.


Comme (x(k) ) est bornee, on peut en extraire une sous suite (x(k) ) convergente vers x.
Comme J est continue, alors
J(x) = lim J(x(k) ) = lim J(x(k) ) = inf J(x).
k+

k+

xK

Do`
u lexistence dau moins dune solution pour le probl`eme (P ).
Remarques 3.1.1
1. Si J verifie (3.2), on dit quelle est infinie `a linfinie ou quelle est coercive.
2. Une fonction J continue et minoree sur Rn admet une borne inferieure, mais pas forcement de
minimum si elle nest pas infinie `a linfini, voici un contre exemple : La fonction x 7 exp(x)
est positive, mais elle na pas de minimum sur R.
Remarque 3.1.1 Ce resultat donne lexistence dun minimum mais il ne donne pas lunicite. La
fonction x 7 x4 2x2 admet deux minima atteints en x = 1 et x = 1.
38

3.1 Optimisation sur Rn

La fonctionx 7 x4 2x
On peut avoir des resultats dunicite si on utilise la convexite.
D
efinition 3.1.1 Soit J une fonction definie sur Rn `a valeurs dans R.
1. On dit que J est convexe sur Rn si :
(x, y) Rn Rn , t [0, 1], J((1 t)x) + ty) (1 t)J(x) + tJ(y).
2. On dit que J est strictement convexe sur Rn si :
(x, y) Rn Rn , tel que x 6= y, t ]0, 1[, J((1 t)x) + ty) < (1 t)J(x) + tJ(y).
Remarques 3.1.2
1. Graphiquement, une fonction est convexe si sa courbe se trouve en dessous de ses cordes.

Fonction convexe

Fonction strictement convexe

Fonction non convexe

2. Une fonction J est dite concave si (J) est convexe.


Exemples 3.1.1
1. Lapplication x 7 kxk22 est strictement convexe sur Rn .
2. Toute forme lineaire J(x) = (b, x) = bT x o`
u b Rn est convexe mais non strictement convexe.
Proposition 3.1.2 Si la fonction J : Rn R est convexe, alors lensemble des solutions du
probl`eme (P ) est convexe. Si de plus J est strictement convexe et elle admet un minimum sur Rn , il
est unique.
39

Chapitre 3. Optimisation sans contraintes


Preuve. Soit S lensemble des solutions optimales. Montrons que S est convexe. Soit (x1 , x2 ) S S,
si t [0, 1], et comme J est convexe on a donc :
J((1 t)x1 + tx2 ) (1 t)J(x1 ) + tJ(x2 )
(1 t)J(x) + tJ(x) = J(x),

x Rn

On en deduit que (1 t)x1 + tx2 S, pour tout t [0, 1]. Do`


u la convexite de S.
Si de plus J est strictement convexe, on suppose quil existe deux solutions x1 et x2 de (P ) tel
x1 + x 2
que x1 6= x2 . Alors
S et en vertu de la stricte convexite de J il vient que,
2


x1 + x2
J
< 12 J(x1 ) + 21 J(x2 ) = J(x1 ).
2
Contradiction, ainsi x1 = x2 .

3.1.2

Conditions doptimalit
e

On se limite dans ce cours a` donner les conditions doptimalite du premier ordre qui font intervenir seulement les derivees dordre 1 de la fonction a` minimiser.
Fonction diff
erentiable
D
efinition 3.1.2 On dit que J : Rn R est differentiable au point x Rn , sil existe p Rn et
une fonction  : Rn R tels que
J(x + h) = J(x) + (p, h) + khk(h) avec lim (h) = 0.
h0

Sil existe, le vecteur p est appele la differentielle (ou la derivee) de J en x et il est note J 0 (x). On
dit que J est differentiable sur Rn si elle est differentiable en tout point de Rn .
Remarque 3.1.2 Si on note (e1 , . . . , en ) la base canonique de Rn , on peut verifier que J : Rn R
est differentiable en x. De plus, le gradient de J en x est

J
(x)
x1

(3.3)
J 0 (x) = J(x) = ... ,
J
(x)
xn
o`
u

J(x + tei ) J(x)


J
(x) = lim
, i = 1, . . . , n sont les derivees partielles de J.
t0
xi
t

Exercice 3.1.1 : On pourra montrer en exercice que :


1. Toute forme lineaire J(x) = (b, x) = bT .x o`
u b Rn , est differentiable et on a
J 0 (x) h = (b, h) = bT h,
donc
J 0 (x) = J(x) = b.
40

3.1 Optimisation sur Rn


2. La fonctionnelle J : x 7 J(x) = 12 a(x, x), o`
u a est une forme bilineaire symetrique continue
sur Rn , alors
J 0 (x) h = a(x, h).
Donc
J 0 (x) = a(x, ).
1
En particulier, si A est une matrice symetrique, alors J : x (Ax, x) est differentiable et on
2
a:
J 0 (x) = J(x) = Ax.
(3.4)
Fonction diff
erentiable convexe
On peut caracteriser la convexite et la convexite stricte des fonctions differentiables. Cest lobjet
de deux propositions suivantes :
Proposition 3.1.3 Soit J : Rn R une fonction differentiable. Alors les proprietes suivantes sont
equivalentes :
i) J est convexe sur Rn ;
ii) pour tout (x, y) Rn Rn on a :
J(y) J(x) + (J(x), y x);
iii) J est un operateur monotone, i.e., (x, y) Rn Rn on a :
(J(x) J(y), x y) 0.
Preuve.
i) ii) Supposons que J est convexe, alors pour tout t ]0, 1] et pour tout (x, y) Rn Rn on a :
J((1 t)x + ty) (1 t)J(x) + tJ(y).
Ou encore
J(y) J(x) +

J(x + t(y x)) J(x)


.
t

En faisant tendre t vers 0 on obtient


J(y) J(x) + (J(x), y x).
ii) iii) Si x, y Rn , alors
J(y) J(x) + (J(x), y x) J(y) + (J(y), x y) + (J(x), y x).
Par consequent
(J(y) J(x), y x) 0.
41

Chapitre 3. Optimisation sans contraintes


iii) i) Pour montrer que J est convexe il suffit de montrer que, pour tout x, y dans Rn , la
fonction g definie sur [0, 1] par
g(t) = (1 t)J(x) + tJ(y) J((1 t)x + ty)
est positive. Il est clair que g est derivable sur [0, 1] et que
g 0 (t) = J(x) + J(y) (J(x + t(y x)), y x).
Pour t1 6= t2 on a :
(g 0 (t1 ) g 0 (t2 ))(t1 t2 ) = (J(x + t2 (y x)) J(x + t1 (y x)), y x)(t2 t1 ) 0.
Donc g 0 est decroissante. Comme g est continue sur [0, 1] et derivable sur ]0, 1[ verifiant g(0) =
g(1) = 0, dapr`es le theor`eme de Rolle, il existe c ]0, 1[ tel que g 0 (c) = 0, ce qui entrane que
g est positive pour tout t [0, 1].
On peut montrer dune facon analogue que :
Proposition 3.1.4 Si J : Rn R une fonction differentiable, alors les proprietes suivantes sont
equivalentes :
i) J est strictement convexe sur Rn ;
ii) pour tout (x, y) Rn Rn tels que x 6= y, on a :
J(y) > J(x) + (J(x), y x);

(3.5)

iii) J est un operateur strictement monotone i.e., (x, y) Rn Rn tels que x 6= y, on a :


(J(x) J(y), x y) > 0.
Remarque 3.1.3 Dapr`es (iii) de la proposition (3.1.3), une fonction derivable J : R R est
convexe sur R si et seulement si sa fonction derivee J 0 est croissante. Si de plus J est deux fois
derivable, alors J est convexe sur R si et seulement si J 00 est positive.
Exemple 3.1.1 Si A est une matrice symetrique, la fonction J : Rn R; x 7 21 (Ax, x) (b, x) est
strictement convexe sur Rn si et seulement si
(J(x) J(y), x y) = (A(x y), x y) > 0 pour tout x, y Rn , x 6= y.
On rappelle que cette derni`ere propriete sur A est verifiee si et seulement si A est definie positive.
42

3.1 Optimisation sur Rn


Condition n
ecessaire et suffisante doptimalit
e
En general, pour determiner un minimum dune fonction J on cherche parmi les points critiques
qui verifient la condition necessaire doptimalite (qui devient aussi suffisante lorsque J est convexe)
suivante :
Proposition 3.1.5 Soit J : Rn R une fonction differentiable en x
1. Si x realise un minimum de J sur Rn , alors
J(
x) = 0.

(3.6)

2. Si la fonction J est convexe et si J(


x) = 0, alors x realise un minimum de J sur Rn .
Remarque 3.1.4 La condition (3.6) est connue sous le nom de lequation dEuler qui est sans la
convexite de J est en general une condition necessaire mais non suffisante doptimalite.
La fonction x 7 x4 2x2 tracee dans la remarque (3.1.1) est un contre exemple puisque sa
derivee sannule en x = 0 et x = 1, mais x = 0 ne realise pas un minimum pour cette fonction.
La fonction J : x 7 x3 verifie J 0 (0) = 0 mais 0 nest ni un minimum ni un maximum de J sur
R.

3.1.3

Probl`
eme doptimisation quadratique

Si la fonction objectif est de type quadratique, c.-`a.-d, si elle est de la forme


J(x) = 21 (Ax, x) (b, x),
pour A Mn (R) symetrique et b Rn , alors le probl`eme de minimisation (P ) est dit quadratique
et on a :
Proposition 3.1.6 Si A est symetrique definie positive, alors le probl`eme quadratique (P ) admet
une solution unique x verifiant :
A
x = b.
Preuve. Si on note par 1 la plus petite valeur propre de A, on a (voir (1.6) dans chapitre 1) :
1 kxk22 (Ax, x) x Rn .

(3.7)

Dapr`es (3.7) et linegalite de Cauchy-Schawrz, on deduit que J verifie


J(x)

1
1
kxk22 (b, x) kxk22 kbk2 kxk2
2
2

kxk2 +

De plus, J est strictement convexe, donc J admet un minimum unique x sur Rn verifiant J(
x) =
A
x b = 0.
43

Chapitre 3. Optimisation sans contraintes

3.1.4

Probl`
eme aux moindres carr
es

Pour A Mpn (R) et b Rp , avec n < p, le syst`eme Ax = b ne poss`ede pas, en general, de


solution. On peut se contenter alors a` chercher x qui minimise le carre de la norme de Ax b et donc
ainsi formuler le probl`eme de moindres carres suivant :
min 1 kAx
xRn 2

bk22 .

(3.8)

Remarque 3.1.5 Pour chercher la solution de (3.8) et afin de pouvoir appliquer lequation dEuler,
on minimise la norme au carre de Ax b au lieu de kAx bk2 puisque lapplication norme nest
jamais differentiable en 0. Clairement, les deux probl`emes sont equivalents.
Proposition 3.1.7 Le probl`eme (3.8) admet au moins une solution. De plus toute, solution x de
(3.8) est aussi solution du syst`eme
AT Ax = AT b.
Le probl`eme (3.8) admet une solution unique si et seulement si la matrice A est injective.
Avant de montrer cette proposition, rappelons le resultat classique dalg`ebre lineaire
Lemme 3.1.1 Pour toute matrice A Mpn (R), on a Im(AT A) = Im(AT ).
Preuve. Il est clair que Im(AT A) Im(AT ). De plus, dapr`es le theor`eme de rang, on sait que
dim Im(A) + dim(ker(A)) = dim(Rn ) = n = dim Im(AT ) + dim(ker(A)).
Or on ker(A) = ker(AT A), puisque ker(A) ker(AT A) et si x ker(AT A), (AT Ax, x) = (Ax, Ax) =
kAxk22 = 0, donc Ax = 0 et par suite x ker(AT A). Appliquons encore une fois le theor`eme de rang
a` la matrice AT A, on obtient
dim Im(AT A) + dim(ker(AT A)) = dim(Rn ) = n.
Par consequent, dim Im(AT A) = dim Im(AT ) et les deux espaces sont donc egaux.
Preuve. de la proposition (3.1.7)
Ici, la fonction objectif est
J(x) = 12 (AT Ax, x) (AT b, x) + 21 kbk22 .
La matrice AT A est toujours symetrique semi-definie positive puisque (AT Ax, x) = kAxk22 0 pour
tout vecteur x de Rn . La fonction quadratique J est donc convexe. Par consequent, x est solution de
(3.8) si et seulement
J(
x) = AT A
x AT b = 0.
Comme Im(AT ) = Im(AT A)on deduit que le syst`eme AT Ax = AT b admet au moins une solution, do`
u
lexistence dau moins un minimum de J sur Rn . Lunicite de minimum est assuree si et seulement
si le syst`eme AT Ax = AT b admet une solution unique, pour tout vecteur b, donc si et seulement si
la matrice AT A est bijective. Ceci etant verifie si et seulement A est injective.
44

3.2 Algorithmes de descente et m


ethodes du gradients

3.2
3.2.1

Algorithmes de descente et m
ethodes du gradients
M
ethodes de descente

Les methodes numeriques de descente en general sont des methodes iteratives dont le but est de
determiner x realisant le minimum dune fonction J sur Rn , en utilisant des directions de deplacement
permettant de se rapprocher le plus possible de x. Dans ce chapitre on va utiliser des methodes
numeriques de descente du gradient pour un probl`eme de minimisation sans contrainte quelconque
dont la convergence sera etudiee seulement pour le probl`eme quadratique :
1
J(x) := minn (Ax, x) (b, x),
xR 2

(3.9)

o`
u A est une matrice symetrique definie positive et b un vecteur de Rn .
Ces methodes sappliquent alors aussi pour resoudre numeriquement un syst`eme lineaire Ax = b,
pour A une matrice symetrique definie positive.
D
efinition 3.2.1 Soit J une fonction de Rn a` valeurs dans R. Soit x Rn . On dit que d Rn ,
avec d 6= 0, est une direction de descente de J en x sil existe 0 > 0 tel que
J(x + d) J(x), [0, 0 ].
Ainsi, une methode de descente pour la recherche de x solution de
min J(x),

xRn

consiste `a construire une suite (x(k) )kN de la mani`ere suivante :


 Initialisation : x(0) Rn ,
 Pour k 0 :
on cherche la direction de descente d(k) au point x(k) et on determine le pas k ,
Ensuite, on calcule x(k+1) = x(k) + k d(k) .
Proposition 3.2.1 Soient J : Rn R une fonction differentiable, x, d Rn avec d 6= 0. Si d est
une direction de descente en x, alors :
(J(x), d) 0.
Preuve. Soit la fonction de R dans R definie par : () = J(x + d). Alors est derivable
0 () = (J(x + d), d).
On consid`ere d Rn une direction de descente au point x alors par definition, il existe 0 > 0 tel
que :
J(x + d) J(x), [0, 0 ].
45

Chapitre 3. Optimisation sans contraintes

Comme d est une direction de descente, on peut ecrire, pour tout [0, 0 ],
() (0),

et donc pour tout ]0, 0 ]


() (0)
0.
0
En passant `a la limite lorsque tend vers 0, on deduit que 0 (0) 0, ce qui signifie que
(J(x), d) 0.

3.2.2

M
ethodes du gradient

Dans ces methodes les directions de descente sexpriment en fonction du gradient de la fonction
a` minimiser.
Remarque 3.2.1 Ces methodes iteratives de descente ne sont pas aussi finies. Il faut donc un crit`ere
darret qui permet darreter les iterations d`es que litere x(k) sapproche de la solution x du probl`eme
`a minimiser. Comme test darret classique pour ce type dalgorithmes consiste `a sarreter `
a literation
k si kJ(x(k) )k ou si kx(k+1) x(k) k , pour une precision donnee.

3.2.3

M
ethode du gradient `
a pas fixe

La methode du gradient a` pas fixe > 0 consiste `a choisir comme direction de descente d(k+1)
a` letape k + 1, d(k+1) = J(x(k) ). Pour un probl`eme quadratique lalgorithme secrit comme suit :

1. On choisit x(0) Rn et un pas > 0.


(k)
d = J(x(k) ) = b Ax(k) ,
2. Pour k 0, on calcule : (k+1)
x
= x(k) + d(k)

Proposition 3.2.2 : M
ethode du gradient `
a pas fixe pour un probl`
eme quadratique
1
Si J(x) = 2 (Ax, x) (b, x), o`
u A est une matrice symetrique definie positive, alors, la methode
2
du gradient `a pas fixe converge si et seulement si ]0,
[.
(A)
Preuve. On a, pour k 0,
x(k+1) = x(k) (Ax(k) b) = (I A)x(k) + b.
46

3.2 Algorithmes de descente et m


ethodes du gradients
La matrice diteration est B = I A dont le spectre est
Sp(B ) = {1 ; Sp(A)} .
Si on note par 1 et n respectivement la plus petite et la plus grande valeur propre de A, alors
1 n 1 1 1 , Sp(A).
Ainsi,
(B ) = max(|1 1 |, |1 n |).
Par consequent, la methode du gradient a` pas fixe converge si et seulement si (B ) < 1. Donc si et
seulement si 0 < < 21 et 0 < < 2n . Cette derni`ere condition est bien equivalente `a
0<<

3.2.4

2
.
(A)

M
ethodes du gradient `
a pas optimal

M
ethodes de descente `
a pas optimal
Une methode de descente generale est du type x(k+1) = x(k) + k d(k) , pour x(0) donne et pour
une direction d(k) connue, est dite a` pas optimal si lon choisit le pas k de mani`ere `a minimiser la
fonction 7 J(x(k) + d(k) ).
Calculons le pas k pour un probl`eme quadratique. Ceci revient a` chercher R verifie, pour
x, d Rn tel que d 6= 0 :
r R, J(x + d) J(x + rd).
(Q)
Lemme 3.2.1 Si la matrice A est symetrique definie positive, alors (Q) admet une unique solution
donnee par
(Ax b, d)
=
.
(Ad, d)
Preuve. On consid`ere la fonction f : R R definie par :
f (r) = J(x + rd).
On a
f (r) = J(x + rd)
1
=
(A(x + rd), x + rd) (b, x + rd)
2
1
=
((Ax, x) + 2r(Ax, x) + r2 (Ax, x)) (b, x) r(b, x)
2
1 2
1
=
r (Ax, x) + r(Ax b, x) + (Ax, x) (b, x).
2
2
47

Chapitre 3. Optimisation sans contraintes


Puisque (Ad, d) > 0 (car A est definie positive et d 6= 0), on en deduit que la fonction f (polynome
de degre 2) admet un minimum global au point r = donne par :
=

(Ax b, d)
.
(Ad, d)

Remarque 3.2.2 Pour un probl`eme quadratique du type (3.9), une methode de descente `
a pas opti(k)
(k)
(Ax b, d )
donne une relation dorthogonalite entre la direction de descente d(k) et
mal k =
(k)
(k)
(Ad , d )
le gradient g (k+1) pour
g (k+1) = J(x(k+1) ) = Ax(k+1) b = d(k+1) .
En effet
(g (k+1) , d(k) ) = (Ax(k+1) b, d(k) ) = (Ax(k) b, d(k) ) + k (Ad(k) , d(k) ) = 0.

(3.10)

Algorithme du gradient `
a pas optimal
La methode du gradient a` pas optimal est une methode de descente `a pas optimal dont la
direction de descente est donnee par le gradient.
Le principe de cette methode secrit :
 Initialisation : x(0) Rn donne.
 Pour k 0,
On calcule d(k) = J(x(k) ),
On choisit k 0 tel que : J(x(k) + k d(k) ) J(x(k) + d(k) ), pour tout 0.
On pose x(k+1) = x(k) + k d(k) .
Ainsi, lalgorithme du gradient a` pas optimal pour un probl`eme quadratique secrit :

1. Initialisation : x(0) Rn donne,


2. Pour k 0, on calcule :
(k)
d = b Ax(k) ,

(k) 2

k = k d k2 ,

(Ad(k) , d(k) )

x(k+1) = x(k) + k d(k) .

Proposition 3.2.3 Si A est une matrice symetrique definie positive, alors la methode du gradient `
a
pas optimal converge.
48

3.2 Algorithmes de descente et m


ethodes du gradients
Preuve. Par construction, la suite (J(x(k )) est decroissante et on sait quelle est minoree par J(
x),
donc elle est convergente. Par consequent,
lim J(x(k+1) ) J(x(k) ) = 0.

k+

Or
J(x(k+1) ) J(x(k) ) =

k2
(Ad(k) , d(k) ) + k (Ax(k) b, d(k) ).
2

Sachant que
k =

k d(k) k22
et d(k) = g (k) = (Ax(k) b),
(Ad(k) , d(k) )

donc
J(x(k+1) ) J(x(k) ) = 21

kg (k) k42
.
(Ag (k) , g (k) )

De (1.6) on deduit
1
kg (k) k22 J(x(k) ) J(x(k+1) ),
2n
o`
u n est la plus grande valeur propre de A. Donc
kg (k) k22 0 ,
k+

et par consequent,
kx(k) xk2 = kA1 (Ax(k) b)k2 kA1 k2 kg (k) k2 0 .
k+

3.2.5

M
ethodes du gradient conjugu
e

Cette methode sapplique directement pour chercher la solution unique x du probl`eme


min J(x),

xRn

pour
J(x) = 12 (Ax, x) (b, x),

(P )

o`
u A est une matrice symetrique definie positive.
Dans les algorithmes des deux methodes de descente precedentes, les termes de la suite (x(k)) )
sapprochent de plus en plus vers la solution cherchee x sans generalement jamais latteindre. Do`
u
lidee de la methode du gradient conjugue o`
u, comme on le verra, la suite (x(k) ) generee par lalgorithme de cette methode devient stationnaire `a partir dun certain nombre diterations (au plus n),
et elle vaut x.
D
efinition 3.2.2 Soit A est une matrice symetrique definie positive de Mn (R).
49

Chapitre 3. Optimisation sans contraintes


1. Deux vecteurs non nuls d(1) , d(2) de Rn sont dits Aconjugues si (Ad(1) , d(2) ) = 0.
2. Une famille (d(1) , d(2) , . . . , d(p) ) de p vecteurs non nuls de Rn est dite Aconjuguee si
(Ad(i) , d(j) ) = 0 i, j {1, . . . , p}, i 6= j.
Remarque 3.2.3 On peut facilement verifier que
1. Toute famille Aconjuguee de p vecteurs non nuls de Rn est libre.
2. Une famille Aconjuguee de n vecteurs non nuls de Rn est une base de Rn .
Lidee de la methode du gradient conjugue, qui est aussi une methode de descente a` pas optimal,
est de construire la direction de descente en fonction du gradient et de la direction precedente de
descente.
On part de x(0) donne et d(0) = J(x(0) ) = Ax(0) + b = g (0) , Connaissant x(k) , d(k1) et g (k) ,
et si g (k) 6= 0, on choisit la direction de descente
d(k) = g (k) + k1 d(k1) ,

(3.11)

x(k+1) = x(k) + k d(k) ,

(3.12)

et
de mani`ere a` minimiser la fonction a` deux variables
f : (, ) 7 J(x(k) + (g (k) + d(k1) ) = J(x(k) + d(k) ).
Donc ici le pas k est optimal et on a la relation dorthogonalite (voir lemme (3.2.1)) suivante
(d(k1) , g (k) ) = 0.

(3.13)

Si g (k) 6= 0, dapr`es (3.11), on aura aussi d(k) 6= 0 et par consequent


(g (k) , g (k) + k1 d(k) )
kg (k) k22
(Ax(k) b, d(k) )
=
=
.
k =
(Ad(k) , d(k) )
(Ad(k) , d(k) )
(Ad(k) , d(k) )
Il suffit donc de determiner la direction de descente d(k) . Ceci revient a` chercher k1 . Sachant que
cette derni`ere doit verifier
f
(k , k1 ) = k (J(x(k) + k d(k) ), d(k1) )

= (J(x(k) + k (g (k) + k1 d(k1) )), d(k1) ) = 0.


et que J(x) = Ax b. on deduit dabord
k1

(Ad(k1) , g (k) )
=
,
(Ad(k1) , d(k1) )

puis que les directions d(k) et d(k1) sont Aconjugues,


(Ad(k) , d(k1) ) = 0.
50

3.2 Algorithmes de descente et m


ethodes du gradients

En remplacant Ad(k1) par

g (k) g (k1)
, on deduit que
k1

(Ad(k1) , g (k) ) =

kg (k) k22
kg (k1) k22
et que (Ad(k1) , d(k1) ) =
.
k1
k1

On tire alors que


k1 =

kg (k) k22
.
kg (k1) k22

Do`
u lalgorithme du gradient conjugue :

1. On choisit x(0) Rn . On prend g (0) = Ax(0) b = d(0) .


2. Pour k 0, on calcule

(k) 2

k = kg k2 ,
x(k+1) = x(k) + k d(k) ,

(k) , d(k) )
(Ad
(k+1)
g
= Ax(k+1) b = g (k) + k Ad(k) ,

(k+1) 2

k2
= kg
,
d(k+1) = g (k+1) + k d(k) .
k
2
(k)
kg k2

On montre alors :
Proposition 3.2.4 Si A est symetrique definie positive, alors lalgorithme du gradient conjugue
converge en au plus n iterations vers le minimum de J(x) := 12 (Ax, x) (b, x) sur Rn .
Preuve. Pour k = 0, si g (0) = 0, alors Ax(0) = b et x = x(0) . Sinon on a :
d(0) = g (0) = Ax(0) + b = J(x(0) ),
et
0 =

(g (0) , d(0) )
, x(1) = x(0) + 0 d(0) , g (1) = Ax(1) b
(Ad(0) , d(0) )

verifiant
(g (1) , g (0) ) = (g (1) , d(0) ) = (d(1) , Ad(0) ) = 0.
Supposons maintenant, pour 1 k < n, lhypoth`ese de recurrence
(k) (j)
(g , g ) = 0
pour 1 j < k,
(k) (j)
(g , d ) = 0
pour 1 j < k,

(d(k) , Ad(j) ) = 0 pour 1 j < k,

(3.14)

Si g (k) = 0, alors x = x(k) et lalgorithme converge a` literation k. Si g (k) 6= 0, on construit x(k+1) , g (k+1)
et d(k+1) par lalgorithme du gradient conjugue.
51

Chapitre 3. Optimisation sans contraintes


Verifions lhypoth`ese de recurrence `a lordre (k + 1)
(k+1) (j)
(g
pour 1 j < k + 1,
(k+1) , g (j) ) = 0
(g
,d ) = 0
pour 1 j < k + 1,

(d(k+1) , Ad(j) ) = 0 pour 1 j < k + 1,
Dapr`es (3.13), et par construction on a
(g (k+1) , d(k) ) = 0,
et pour j < k, on a
(g (k+1) , d(j) ) = (g (k+1) , d(j) ) (g (k) , d(j) ) = (g (k+1) g (k) , d(j) ) = k (Ad(k) , d(j) ) = 0.
| {z }
=0

On a
g (k) = d(k) + k1 d(k1) .
Donc, pour j k,
(g (k+1) , g (j) ) = (g (k+1) , d(j) ) j (g (k+1) , d(j1) ) = 0.
Or, pour j k on a g (j+1) = g (j) + j Ad(j) et donc
j (g (k+1) , Ad(j) ) = (g (k+1) , g (j+1) ) (g (k+1) , g (j) ) = 0.
Sachant que g (j) 6= 0, donc j 6= 0 et par consequent (g (k+1) , Ad(j) ) = 0.
Comme
d(k+1) = g (k+1) + k d(k) ,
alors, pour j k, on a
(d(k+1) , Ad(j) ) = (g (k+1) , Ad(j) ) + k (d(k) , Ad(j) ) = 0,
et la recurrence est verifiee.
Si g (k) 6= 0, pour k = 0, . . . , n 1, alors (d(0) , d(1) , . . . , d(n1) ) est une famille Aconjuguee de
n vecteurs, donc base de Rn et le vecteur g (n) sera orthogonal `a d(0) , d(1) , . . . , d(n1) . Necessairement
g (n) = 0 et par suite x(n) = x. Lalgorithme ainsi converge a` literation exactement n.
Remarque 3.2.4 Les directions de descente sont telles que la base (d(0) , d(1) , . . . , d(n1) ) est obtenue
par le procede dorthogonalite de Gram-Shmidt, adapte au produit scalaire (Ax, y), `a partir de la base
(g (0) , . . . , g (n1)) ).

52

3.2 Algorithmes de descente et m


ethodes du gradients

3.2.6

Vitesse de convergence

En general une suite (x(k) ) qui converge vers x, verifiant x(k) 6= x pour tout entier k, est dite
dordre de convergence au moins p R+ si
kx(k+1) xk = O(kx(k) xkp ).
En particulier, sil existe ]0, 1[ tel que
kx(k+1) xk
= ,
k+ kx(k) x
kp
lim

alors la convergence est dite exactement dordre p. La convergence est dite lineaire si p = 1 et
quadratique si p = 2.
Les methodes de descente du gradient a` pas fixe et a` pas optimal sont a` convergence au moins
lineaire et on pourra montrer que
kx(k+1) xk

Cond2 (A) 1 (k)


kx xk,
Cond2 (A) + 1

(3.15)

o`
u k.k designe la norme euclidienne pour la methode du gradient a` pas fixe et la norme definie par
1

kxk = kxkA = (Ax, x) 2 pour la methode du gradient a` pas optimal.


Pour la methode du gradient conjugue, et tant que g (k) = Ax(k) b 6= 0, on peut montrer la
majoration suivante :
kx(k+1) xkA 2

3.2.7

!k
p
Cond2 (A) 1
p
kx(0) xkA .
Cond2 (A) + 1

(3.16)

M
ethodes du gradient et pr
econditionnement

Des majorations (3.15) et (3.16), on constate que lerreur x(k) x, obtenue au cours des iterations
des methodes du gradient, diminue dautant plus rapide que Cond2 (A) est petit.
On rappelle aussi que les methodes du gradient sont aussi des methodes numeriques pour
resoudre un syst`eme lineaire Ax = b, pour A Mn (R) symetrique definie positive. Ainsi, la matrice du syst`eme preconditionne doit aussi etre symetrique definie positive. Le preconditionnement
de ce syst`eme consiste alors a` appliquer les methodes du gradient pour le probl`eme de minimisation
y)
min 1 (Ay,
yRn 2

(b, y),

(Pc )

avec A = P AP T et b = P b, o`
u P est une matrice inversible bien choisie de sorte que A soit bien
conditionnee. La nouvelle matrice A est aussi symetrique definie positive et la solution x du syst`eme
Ax = b est donnee par x = P T y, pour y solution optimale de (Pc ).

53

Chapitre 3. Optimisation sans contraintes

54

Chapitre 4
Optimisation avec contraintes lin
eaires
Lorsque un minimum x dune fonction J : Rn R doit satisfaire certaines conditions, on parle
de probl`eme de minimisation contraint ou avec contraintes. Dans ce cas on cherche a` calculer le
minimum dune fonction J non pas sur Rn , mais sur un ensemble ferme K de Rn et notre probl`eme
sera de type
min J(x)
(P ).
xK

Ce chapitre comporte une etude theorique et numerique de probl`eme (P ). On commence par


donner des resultats dexistence et dunicite, ainsi que des conditions doptimalites pour un ensemble
K convexe puis pour un probl`eme a` contraintes lineaires. Ensuite, pour resoudre numeriquement
(P ), on propose la methode du gradient projete pour une fonction objectif quadratique et pour
K un ensemble convexe quelconque, puis la methode dUzawa pour un probl`eme quadratique avec
contraintes dinegalite.

4.1

Probl`
emes doptimisations sous contraintes

Rappelons dabord quun ensemble K est dit ferme si toute suite convergente delements de K,
sa limite est aussi dans K.
Un exemple simple de de probl`eme doptimisation avec (ou sous) contraintes est de determiner
dans le plan le point M (x, y) de R2 le plus proche possible a` un point donne (x0 , y0 ) et qui appartient
a` une droite donnee dequation ax + by = c, donc chercher le couple (x, y) solution de
min (x x0 )2 + (y y0 )2 .

ax+by=c

Ici lensemble K est la droite du plan dequation ax + by + c = 0.


On appelle probl`eme de minimisation sous contraintes degalites lineaires si
K := {x Rn tel que Cx = d} ,
o`
u C est une matrice de Mm,n (R) et d Rm .
Pour les probl`emes avec contraintes dinegalites lineaires lensemble des contraintes est
K := {x Rn tel que Bx c} ,
55

Chapitre 4. Optimisation avec contraintes lin


eaires
o`
u B est une matrice de Mp,n (R) et c Rp .
On parle de probl`eme de minimisation sous contraintes lineaires si les contraintes sont degalites
et dinegalites lineaires.

4.1.1

Existence et unicit
e de minimum

On rappelle que
D
efinition 4.1.1 Une partie K de Rn est dite convexe si :
tx + (1 t)y K (x, y) K K, t [0, 1].
Autrement dit K est une partie convexe si elle contient tout segment dextremites deux quelconques
de ses points.
Remarques 4.1.1
1. La notion de convexite et de stricte convexite dune fonction J sur une partie convexe K, ainsi
que leurs caraterisation lorsque J est differentiable, sont identiques `a celles donnees dans la
definition (3.1.1) et dans les propositions (3.1.3) et (3.1.4) qui sappliquent pour tout x, y K
au lieu de Rn .
2. Lorsque K est convexe et la fonction `a minimiser J est convexe, le probl`eme de minimisation
(P ) est dit convexe.
Comme pour le probl`eme sans contraintes, on a
Proposition 4.1.1
Soient K un ferme non vide de Rn et J : K R continue. On suppose que J est infinie `
a linfini
ou que K est borne, alors le probl`eme de minimisation (P ) admet au moins une solution. Si de plus
K est convexe et J est strictement convexe sur K, ce minimum est unique.
Preuve. La demonstration est similaire au cas sans contraintes, o`
u on prend pour lexistence une
suite minimisante (x(k) ) qui est aussi bornee. Comme K est ferme, donc x la limite dune sous suite
de (x(k) ) appartient aussi a` K. Lorsque le probl`eme est strictement convexe et il admet un minimum,
et comme dans le cas non contraint, lunicite est immediate.
Projection sur un convexe
Soit K une partie non vide de Rn et x un vecteur de Rn qui nappartient pas a` K. On cherche a`
definir la distance de ce vecteur x a` K, c.`a.d, le reel qui realise la distance minimale de x a` tous les
points de K. Cette distance est elle finie ? et existe- il x K qui realise cette distante ? La reponse
a` ces deux questions nest pas evidente sans aucune hypoth`ese sur K. Cependant et lorsque K est
convexe et ferme on a :
56

4.1 Probl`
emes doptimisations sous contraintes
Proposition 4.1.2 Soit K une partie convexe fermee non vide de Rn et x un point de Rn . Alors il
existe un unique point de K, note PK (x) tel que :

PK (x) K
(4.1)
kx PK (x)k2 ky xk2 , y K
PK (x) est appele projection de point x sur le convexe ferme K.
Preuve. On pose, pour y K
1
1
J(y) = ky xk22 = (y x, y x) = 12 kyk22 (y, x) + 12 kxk22 .
2
2
La fonction J est strictement convexe et differentiable avec J(y) = y x. Dapr`es le theor`eme
dexistence et dunicite, le probl`eme admet une unique solution.

x si x 0
Exemple 4.1.1 Si K = [0, +[, alors PK (x) =
. On note aussi PK (x) = x+ .
0 si x < 0

4.1.2

Condition doptimalit
e

Soit x une solution optimale de probl`eme simple suivant :


min ax,
x[1,1]

pour a R. Si a 0, alors la fonction J : x 7 ax atteint son minimum en x = 1 verifiant donc


J 0 (
x) 0. Si a < 0, alors x = 1 et dans ce cas J 0 (
x) 0. Dans les deux cas, x verifie
J 0 (
x)(x x) 0, x [1, 1].

(4.2)

Dans la proposition qui suit, on generalise la condition doptimalite (4.2) pour un ensemble de
contraintes convexe K quelconque.
Proposition 4.1.3 Soit J : Rn R une fonction differentiable en x et soit K un convexe ferme de
Rn .
Si x realise un minimum de J sur K, alors
(J(
x), x x) 0 x K.

(4.3)

Si de plus la fonction J est convexe sur K, alors x realise un minimum de J sur K, si et seulement
si
(J(
x), x x) 0 x K.
(4.4)
Linequation (4.3) et connue sous le nom dinequation dEuler.
Preuve.
57

Chapitre 4. Optimisation avec contraintes lin


eaires
1. Soit x K, on a alors pour 0 < t < 1, x + t(x x) = tx + (1 t)
x K, puisque K est convexe.
Comme x est un minimum de J sur K, alors
J(
x + t(x x)) J(
x) 0.
Par consequent
lim+

t0

J(
x + t(x x) J(
x)
= (J(
x), x x) 0.
t

2. On suppose que J est convexe sur K et soit x K verifiant linequation dEuler. De la convexite
de J on deduit que
J(x) J(
x) + (J(
x), x x)
J(
x), x K
Par suite x est une solution de (P ).

Exercice 4.1.1 Montrer que la fonction projection sur le convexe ferme K est caracterisee par
(x PK (x), y PK (x)) 0 y K.

(4.5)

kPK (x) PK (y)k2 kx yk2 x, y Rn .

(4.6)

et quelle verifie
Cette application projection est donc continue.
Exercice 4.1.2 Montrer que si
K = [0, +|p = {(xi )1ip , tel que xi 0 i = 1, ..., p} ,
alors PK (x) = (max(0, xi ))1ip .
Cas de contraintes d
egalit
e lin
eaires
Commencons par le cas dun probl`eme de minimisation avec contraintes degalites o`
u on consid`ere
min J(x),

Cx=d

(4.7)

pour C Mm,n (R) et d Rm .


Proposition 4.1.4 On suppose que J est differentiable en x. Si le vecteur x est solution de (4.7),
Rm tel que
il existe alors
= 0.
J(
x) + C T
(4.8)
est unique si la matrice C est de rang m. (rg (C) = m).
Le multiplicateur
58

4.1 Probl`
emes doptimisations sous contraintes
Preuve.
Il est clair que lensemble des contraintes K := {x Rn tel que Cx = d} est un convexe ferme de Rn .
Comme J est differentiable en x qui est un minimum de J sur K, dapr`es la condition doptimalite
(4.1.3), x verfie
(J(
x), x x) 0 x K
Or si x K, alors Cx = d = C x et par consequent C(x x) = 0. Ainsi x x ker C o`
u ker C est
le noyau de C.
Inversement, si y ker C, alors y = x x pour x K. On a alors
(J(
x), y) 0 y ker C.
Comme ker C est un sous espace vectoriel, on en deduit que
(J(
x), y) = 0 y ker C.
Rm
Ceci est equivalent `a J(
x) (ker C) . Or, on sait que (ker C) = Im(C T ), il existe donc
tel que
= 0.
J(
x) + C T
est evidente si C est surjective (de rang m) puisque cette derni`ere
Lunicite de ce multiplicateur
propriete est equivalente `a ker C T = 0.
Remarque 4.1.1 Si C = (cij )1im,1jn Mm,n (R) et d = (d1 , ..., dm )T Rm , la contrainte
Cx = d implique que x est solution dun syst`eme lineaire de m equations et `a n inconnues, secrivant
donc de la forme

g1 (x) := c11 x1 + ... + c1n xn d1 = 0


..
..
..
.
.
.

g (x) := c x + ... + c x d
= 0
m

m1 1

mn n

o`
u Ci = (ci1 , ..., cin )T , i = 1, ..., m representent les lignes de la matrice C.
m
X

Si =
i ei , avec (
ei )1im est la base canonique de Rm , alors
i=1

C =

m
X

i C ei =

i=1

m
X

i Ci .

i=1

La condition doptimalite secrit alors


J(
x) +

m
X

i Ci = J(
x) +

i=1

m
X
i=1

59

i gi (
x) = 0

Chapitre 4. Optimisation avec contraintes lin


eaires
Cas de contraintes din
egalit
e lin
eaires
Soit le probl`eme
min J(x),

Bxc

(4.9)

Pour B Mnp (R) et c Rp .


On adopte ici les notations suivantes :
= (1 , ..., p ) Rp , 0 si et seulement si j 0, j = 1, ..., p.

Proposition 4.1.5 Si x realise un minimum de J sur K = {x Rn , tel que Bx = c et J est


differentiable en x, il existe alors
Rp tel que

0, J(
x) + B T
= 0 et
j (B x c)j = 0, pour tout 1 j p.

(4.10)

Ce vecteur
est appele aussi multiplicateur de Lagrange et il est unique si la matrice B est de
rang p (rg(B) = p).
Preuve. On se limitera dans la demonstration pour une matrice B de rang p o`
u pour tout vecteur
p
n
y R il existe x R tel que y = Bx.
Soit d = B x. Alors d c et tout vecteur x verifiant Bx = d est un vecteur de K. Clairement, x
est aussi solution du probl`eme a` contraintes egalites lineaires
min J(x).

Bx=d

Il existe donc
Rp tel que

(4.11)

J(
x) + B T
= 0.

Montrons que
j 0 et que
j (B x d)j = 0, pour tout 1 j p.
Pour > 0 on a dj dj cj et pour j {1, ..., p}, si x est tel que Bx = d ej , pour ej j-i`eme
vecteur de la base canonique de Rp , alors x est dans K.
Dapr`es linequation dEuler, on a
(J(
x), x x) 0.
En remplacant J(
x) par B T
, on obtient
(
, Bx B x) =
j 0.
Par consequent
j 0.
Soit maintenant j {1, ..., p} tel que (B x c)j < 0. Alors si > 0 suffisamment petit, tel que
dj + cj et si y solution de By = d + ej , alors y K et on a
(
, By B x) =
j 0.
Le reel positif j est aussi negatif, donc nul.
60

4.1 Probl`
emes doptimisations sous contraintes

4.1.3

Cas de contraintes d
egalit
es et din
egalit
es lin
eaires

Soit le probl`eme
min J(x)
xK

o`
u
K := {x Rn tel que Cx = d et Bx c},
pour
C Mm,n (R), d Rm , B Mp,n (R), c Rp .

Proposition 4.1.6 Si x realise un minimum de J sur K et J est differentiable en x, il existe



(,
)T Rm Rp ,tel que
+ BT
J(
x) + C T
= 0 et
0, j (B x c)j = 0, j = 1, ..., n.
Preuve. Il suffit dappliquer le cas avec contraintes dinegalites lineaires en remarquant que la
contrainte degalite Cx = d est equivalente `a Cx d et Cx d.

4.1.4

Probl`
eme quadratique avec contraintes lin
eaires

Probl`
eme quadratique avec contraintes d
egalit
e
Soit le probl`eme
1
min (Ax, x) (b, x),
Cx=d 2
pour A Mn (R) une matrice symetrique, C Mm,n (R), et b Rn et d Rm .

(4.12)

Proposition 4.1.7 Si A est symetrique definie positive, alors le probl`eme (4.12) admet une solution
unique x caracterisee par :

   
T
A
C
x
b
m
R tel que

(4.13)
= d .
C 0

Preuve.
Il sagit dun probl`eme de minimisation dont la fonction objectif est infinie `a linfini, strictement
convexe et differentiable, donc admettant un minimum unique x. Comme il sagit dun probl`eme de
minimisation avec contraintes degalites lineaires et dapr`es (4.8), alors il existe un multiplicateur de
Rm tel que
Lagrange
= A
= 0.
J(
x) + C T
x b + CT
Le probl`eme (4.12) est un probl`eme convexe, donc x solution de (4.12) si et seulement si il existe
Rp tel que


= b
A
x + CT
C x
= d
61

Chapitre 4. Optimisation avec contraintes lin


eaires
verifiant donc


A CT
C 0




=

b
d


.

Remarque 4.1.2 Si A est symetrique semi definie positive, alors le probl`eme (4.12) peut ne pas
admettre de solution comme il peut avoir une ou plusieurs solutions. Comme il sagit dun probl`eme
convexe, alors x est une solution de (4.12) si et seulement si elle verifie (4.13).
Exemple 4.1.2 Soit le probl`eme
min J(x)
xK

(4.14)

pour
J(x) = 21 x21 + 21 x22 + 12 x23 x1 x2 x1 2x2 x3
et
K = {(x1 , x2 , x3 )T Rn tel que x1 + x2 x3 = 1, 2x3 + x2 = 2}.
Il sagit dun probl`eme quadratique de type (4.12), pour


1 1 0
1

1 1 0
2 .
et b =
A=
0
0 1
1
La
efinie positive, (ses valeurs propres sont 0, 1 et 2). Si on note c1 =

matrice
A ici est semi-d
0
1
1 et c2 = 1 les deux vecteurs representant les deux lignes de la matrice C, alors
2
1
=
1 c1 +
2 c2 .
CT

x1
= (1 , 2 )T R2 tel
un vecteur x = x2 est solution de ce probl`eme si et seulement si il existe
x3
que

x1 x2
+ 1
=1

+ 1 + 2 = 2
x1 + x2
x3 1 + 22 = 1

x
+
x

x3
=2
1
2

x2 + 2x3
=1


 
1
1
1

1
1 est la solution
Ce syst`eme admet comme solution x =
et =
Donc x =
1
0
0
cherchee.
62

4.2 Quelques algorithmes


Probl`
eme quadratique avec contraintes din
egalit
e
On consid`ere le probl`eme
1
min (Ax, x) (b, x),
2

Bxc

(4.15)

pour A Mn (R) une matrice symetrique, B Mp,n (R), et b Rn et c Rp .


Proposition 4.1.8 Si A est symetrique definie positive, alors le probl`eme (4.15) admet une solution
unique x si et seulement si

   
A BT
x
b
p

R ,
0 tel que
=
et
j (B x c)j = 0, pour tout 1 j p.
B 0

c
Preuve.
Similaire au cas avec contraintes degalites o`
u on utilise ici (4.1.5).
est solution de
Remarque 4.1.3 On peut verifier facilement que ce multiplicateur
maxp L(
x, )
R

o`
u
L(x, ) = 21 (Ax, x) (b, x) + (Bx c, )
est appele le Lagrangien du probl`eme quadratique (4.15).
Exercice 4.1.3 Soit
K = Rp+ = {x Rp , x 0} .
Montrer que PK (x) = max(0, x) = (max(xi , 0))1ip

4.2

Quelques algorithmes

Dans cette section on donnera deux methodes numeriques pour calculer la solution dun probl`eme
doptimisation avec contraintes.
On se limitera dans ce chapitre a` etudier la methode du gradient projete pour un probl`eme quadratique pour K quelconque et la methode dUzawa pour un probl`eme quadratique avec contraintes
dinegalite.

4.2.1

M
ethode du gradient projet
e

On rappelle que dans le cas du probl`eme sans contraintes, la methode du gradient `a pas fixe
secrit, pour x(0) donne,
x(k+1) = x(k) J(x(k) ).
63

Chapitre 4. Optimisation avec contraintes lin


eaires
Lorsque quon minimise sur une partie K supposee fermee convexe, on nest pas sur qu`a chaque
etape k, litere x(k) reste dans K meme si on part dun x(0) admissible. Pour cette raison, on choisit
x(k+1) = PK (x(k) J(x(k) )), x(0) K,
si Pk est calculable, o`
u Pk designe la projection sur le ferme convexe K. Lalgorithme du gradient
projete secrit :

1. On choisit x(0) K


d(k) = J(x(k) ),
2. Pour k 0, on calcule (k+1)
x
= PK (x(k) + d(k) )

Proposition 4.2.1 Soit A une matrice symetrique definie positive et K est un convexe ferme non
2
, alors la suite generee par la methode du gradient projete converge vers
vide de Rn . Si 0 < <
(A)
x realisant le minimum de J(x) = 12 (Ax, x) (b, x) sur K.
Preuve.
Commencons par montrer que si x est la solution unique du probl`eme (P ), et si J est differentiable
en x, alors, pour tout > 0, on a
x = PK (
x J(
x)).
En effet, comme x est un minimum de J sur le convexe ferme K, alors dapr`es linequation dEuler,
on a pour tout x K,
(J(
x), x x) 0,
donc, si > 0, pour tout x K,
(
x (
x J(
x), x x) = (J(
x), x x) 0.
De la propriete caracterisant la projection sur un convexe (voir (4.5)) vient
x = PK (
x J(
x)).
Montrons que (x(k) ) converge vers x. On a pour k 0,
kx(k+1) xk2 =

kPK (x(k) J(x(k) )) PK (


x J(
x))k2
k(x(k) J(x(k) )) (
x J(
x)k2
.
k(I A)(x(k) x)k2
kI Ak2 kx(k) xk2

Par recurrence, on obtient alors


kx(k) xk2 kI Akk2 kx(0) xk2 = (I A)k kx(0) xk2 ,
car I A est symetrique.
2
, alors (I A) < 1 et donc la suite (x(k) ) converge vers x.
Si 0 < < (A)
64

4.2 Quelques algorithmes


Remarque 4.2.1 La methode du gradient projete devient interessante si la projection sur le convexe
K est facile `a calculer. Cest le cas par exemple dune projection sur Rp+ ou sur un pave de Rp . En
general, le calcul de la projection sur K est delicat. Do`
u la difficulte de la mise en oeuvre de cette
methode malgre son apparente simplicite.

4.2.2

M
ethode dUzawa

On rappelle que pour une matrice A symetrique definie positive, si x est le minimum de
min 1 (Ax, x)
Bxc 2

(b, x),

Rp+ , tel que


alors il existe
= b et j (B x c)j = 0, j = 1, ..., p
A
x + BT
est solution de
et que ce multiplicateur
x, )
max L(

Rp+

o`
u
L(x, ) = 21 (Ax, x) (b, x) + (Bx c, ).
est convexe et elle verifie
Comme x 7 L(x, )
L
= A
= 0,
(
x, )
x b + BT
x
donc x est aussi solution de

min L(x, ).

xRn

Ainsi, x Rn , Rp+ , on a
L(x, ).

L(
x, ) L(
x, )
est un point selle de L.
On dit que (
x, )
Le principe de la methode dUzawa consiste `a calculer numeriquement ce point selle. On se
donne (x(0) , (0) ), et si a` literation k on connat (x(k) , (k) ), on commence par calculer x(k+1) solution
de minn L(x, (k) ) sur Rn solution donc de syst`eme Ax = b B T (k) , puis calculer
xR

(k+1) = PRp+ ((k) +

L (k+1) (k)
(x
, )) = max(0, (k) + (Bx(k) c)),

itere obtenu par la methode du gradient projete, de pas , appliquee au probl`eme dual max L(x(k) , ).

65

Chapitre 4. Optimisation avec contraintes lin


eaires
Algorithme dUzawa pour un probl`
eme quadratique avec contraintes in
egalit
es
Si (P ) est le probl`eme
min 1 (Ax, x)
Bxc 2

(b, x),

alors lalgorithme de la methode dUzawa de pas secrit :

1. On choisit (x(0) , (0) ) Rn Rp+ et > 0.


2. pour k 0, on calcule
x(k+1) solution de Ax = b B T (k)

(k+1) = max(0, (k) + (Bx(k+1) c))

On peut utiliser une des methodes numeriques directes ou iteratives pour determiner x(k+1)
Proposition 4.2.2 Soit A une matrice symetrique definie positive et soit 1 sa plus petite valeur
21
propre. Alors si 0 < <
, la suite (x(k) ) generee par lalgorithme dUzawa converge vers x
kBk22
solution du probl`eme min 12 (Ax, x) (b, x).
Bxc

Preuve. On a
=0
A
x b + BT
et
Ax(k+1) b + B T (k) = 0.
Donc

A(x(k+1) x) = B T ((k) ).
Si on applique le produit scalaire avec x(k+1) x, on obtient
x(k+1) x) = ((k) ,
B(x(k+1) x)).
(A(x(k+1) x), x(k+1) x) = (B T ((k) ),
Ainsi
B(x(k+1) x)) 0.
1 kx(k+1) xk22 + ((k) ,

(4.16)

Or
2 = kPRp ((k) + (Bx(k+1) c) PRp (
+ (B x c)k2 k(k)
+ B(x(k+1) x)k2 .
k(k+1) k
+
+
2 k(k) k
2 + 2((k) ,
B(x(k+1) x)) + 2 kB(x(k+1) x)k2 .
k(k+1) k
2
2
2
Dapr`es (4.16), on deduit que
2 k(k) k
2 21 kx(k+1) xk2 + 2 kBk2 kx(k+1) xk2
k(k+1) k
2
2
2
2
2
66

(4.17)

4.2 Quelques algorithmes

Si on choisit tel que 0 < <

21
, alors = (21 kBk22 ) > 0 et
kBk22

2 k(k) k
2 kx(k+1) xk2 .
k(k+1) k
2
2
2

(4.18)

2 ) est decroissante, donc convergente et par consequent (kx(k+1) xk2 )


Ainsi la suite (k(k) k
2
2
converge vers 0 puisque
2.
2 k(k+1) k
kx(k+1) xk22 k(k) k
2
2

Exercice 4.2.1 Ecrire la methode dUzawa pour un probl`eme quadratique avec contraintes egalites.

67

Chapitre 4. Optimisation avec contraintes lin


eaires

68

R
ef
erences
[1] R. Bessi, Optimisation quadratique. ENIT, 2010.
[2] P.G. Ciarlet, Introduction a` lanalyse numerique matricielle et a` loptimisation. Edition Masson,
1982.
[3] P.G. Ciarlet, B. Miara, J.M. Thomas, Exercices danalyse numerique matricielle et doptimisation
avec solutions. Edition Masson, 1991.
[4] P. Ciarlet, H. Zidani, Optimisation quadratique. Cours AO101, ENSTA, 2011.
[5] H. El Fekih, K. Griba, T. Hadhri, Cours danalyse numerique matricielle. ENIT, 1996.

69