Documente Academic
Documente Profesional
Documente Cultură
erique
Radhia Bessi & Maher Moakher
20132014
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
`
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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 ) =
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
(
i = 1, . . . , n
(1.2)
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.1
n
X
xi y i ,
i=1
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
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
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.
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.
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.
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
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
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
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 =
(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 ,
..
p1
X
upn = apn
lpk ukn ,
k=1
..
n1
u
=
a
lnk ukn ,
nn
nn
k=1
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
.. 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.
j=p
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
i=p+1
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
n
Y
uii ,
i=1
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
p1
X
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
n
X
xi f i .
i=1
Donc
Ax =
n
X
xi i fi ,
i=1
et
(Ax, x) =
n
X
(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
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
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
u11
...
diag( uii ) =
.
unn
16
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.
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
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
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
2.2.1
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 ,
n
X
|aij |2 ) 2 ,
i,j=1
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
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
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
1in
n
X
n
X
aij xj | max
1in
j=1
n
X
j=1
1in
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
1in
n
X
|aij |.
j=1
(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 :
n
X
j=1
kxk := max |j |.
1jn
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) + .
1 (B)
(B) + 1
=
< 1.
2
2
2.3
M
ethodes it
eratives
k > 0,
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
...
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
..
0
a1n
a2n
..
qui represente
.
an1n
0
2.3 M
ethodes it
eratives
2.3.1
M
ethode de Jacobi
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
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
Ainsi
|ai0 i0 |
|ai0 j |
j6=i0
X
|xj |
|ai0 j | < 1.
|xi0 | j6=i
0
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
1
1
D E, N = M A =
D + F.
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 :
(k+1)
aij xj , i = 1, . . . , n.
aii
j<i
j>i
(k+1)
, j < i de x(k+1)
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
j>i
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
|ai0 j |
j>i0
||
|ai0 i0 |
X
j<i0
|xj |
|xi0 |
|xj |
|ai0 j |
|xi0 |
< 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 =
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
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)
(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
1
kx+xk
kAk
kx + xk.
kAk
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
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 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+
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
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
x Rn
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
(3.5)
(3.6)
3.1.3
Probl`
eme doptimisation quadratique
(3.7)
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
3.1.4
Probl`
eme aux moindres carr
es
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
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
Comme d est une direction de descente, on peut ecrire, pour tout [0, 0 ],
() (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 :
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.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
(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 :
Proposition 3.2.3 Si A est une matrice symetrique definie positive, alors la methode du gradient `
a
pas optimal converge.
48
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
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
(3.11)
(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)
(Ad(k1) , g (k) )
=
,
(Ad(k1) , d(k1) )
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
kg (k) k22
.
kg (k1) k22
Do`
u lalgorithme du gradient conjugue :
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
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.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
(3.15)
o`
u k.k designe la norme euclidienne pour la methode du gradient a` pas fixe et la norme definie par
1
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
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
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
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
(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
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)
(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)
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
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
m
X
i Ci = J(
x) +
i=1
m
X
i=1
59
i gi (
x) = 0
Bxc
(4.9)
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 .
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
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
Bxc
(4.15)
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
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 =
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+
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
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
(b, x),
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)
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)
Exercice 4.2.1 Ecrire la methode dUzawa pour un probl`eme quadratique avec contraintes egalites.
67
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