Analyse Numer I Que I
Analyse Numer I Que I
Analyse Numer I Que I
Version 2020–2021
Table des matières
i
TABLE DES MATIÈRES
ii
Chapitre 1
1.1 Introduction
La résolution des systèmes linéaires de grandes tailles est l’un des plus importants
problèmes en analyse numérique. Le but de ce chapitre est d’étudier des méthodes de
résolution numérique d’un linéaire Ax = b, où A est une matrice carrée inversible.
Pour motivation, commençons par citer le problème mécanique classique suivant qui
conduit à la résolution d’un système linéaire.
La déformation x d’une corde élastique, fixée aux bords et soumise à un champ de
force f , peut se traduire par l’équation différentielle suivante
−x00 (t) = f (t),
t ∈ [0, 1]
(1.1)
x(0) = x(1) = 0,
pour f une fonction continue sur [0, 1]. En général, il n’est pas possible d’expliciter la
solution exacte de ce problème. L’idée donc est de chercher une solution approchée xh de
x en prenant une subdivision 0 = t0 ≤ t1 ≤ · · · ≤ tn+1 = 1, avec ti = ih, i = 0, . . . , n + 1
1
et h = . On se limitera à calculer xh (ti ) = xi ' x(ti ), pour i = 0, . . . , n + 1 et par
n+1
interpolation par exemple, on peut avoir xh sur tout l’intervalle [0, 1].
Si on suppose que notre solution x est de classe C 2 , alors on a les deux développement
de Taylor suivants :
h2
x(ti+1 ) = x(ti + h) = x(ti ) + x0 (ti )h + x00 (ti ) + O(h3 ),
2
et
h2
x(ti−1 ) = x(ti − h) = x(ti ) − x0 (ti )h + x00 (ti ) + O(h3 ).
2
Si on fait la somme de deux égalités on obtient
x(ti + h) − 2x(ti ) + x(ti − h)
x00 (ti ) = + O(h).
h2
1
Chapitre 1. Méthodes directes pour la résolution des systèmes linéaires
Si on néglige les termes d’ordre O(h) dans l’expression de la dérivée seconde, le problème
discrétisé pour résoudre notre équation devient
( x − 2x + x
i+1 i i−1
− = f (xi ), i = 1, . . . , n
h2 (1.2)
x0 = xn+1 = 0
La solution approchée est d’autant plus proche de la solution exacte x lorsque n est grand.
On rappele que la solution unique x = (x1 , . . . , xn ) d’un système Ax = b, pour
A = (aij )1≤i,j≤n une matrice inversible et b = (b1 , . . . , bn )T est donnée par les formules de
Cramer suivantes :
det Ai
xi = , i = 1, . . . , n,
det A
où det désigne le déterminant et Ai est la matrice d’ordre n obtenue à partir de A en
remplaçant sa colonne i par le vecteur de second membre b. Donc la résolution d’un
système linéaire d’ordre n, par les formules de Cramer fait intervenir le calcul de n +
1 déterminants dont chaque déterminant nécessite de l’ordre de n! multiplications. La
méthode de Cramer devient trop coûteuse même pour des matrices de tailles assez petites.
D’où l’idée de concevoir des méthodes qui en général donnent la solution à une valeur près,
mais avec un nombre raisonnable d’opérations.
On distinguera deux méthodes numériques pour résoudre un système linéaire. Les
méthodes directes, dont certaines font l’objet de ce chapitre et les méthodes itératives qui
seront développées dans les chapitres suivants.
2
1.2 Principe des méthodes directes
n
Pour n un entier naturel non nul fixé,
on note par R l’espace vectoriel des vecteurs
x1
..
colonnes à coefficients réels x = . . Le vecteur ligne xT = (x1 , . . . , xn ) désigne la
xn
transposée du vecteur x ∈ Rn .
Le produit scalaire dans Rn sera noté (·, ·) et est défini par
n
X
(x, y) = xi y i ,
i=1
n
!1
X 2 1
kxk2 = |xi |2 = (x, x) 2 .
i=1
3
Chapitre 1. Méthodes directes pour la résolution des systèmes linéaires
alors, le système (1.3) est équivalent à U x = b où b = (bi )1≤i≤n . On utilise la méthode de
remontée pour résoudre ce système dont l’algorithme est le suivant :
xn = bn /unn
Pour k = (n − 1), . . . , 1
n
!
X
xk = b k − uki xi /ukk
i=k+1
Fin de la boucle sur k
4
1.3 Factorisation LU
b1
x1 = l11
Pour k = 2, . . . , n
k−1
!
x = b − X 1
k k lki xi
lkk
i=1
Fin de la boucle sur k
1.3 Factorisation LU
1.3.1 Rappel sur la méthode de Gauss
Parmi les méthodes directes classiques pour résoudre un système linéaire Ax = b, pour
A une matrice carrée inversible d’ordre n, on cite la méthode d’élimination de Gauss dont
le principe est d’effectuer uu nombre fini d’opérations algébriques linéaires sur les lignes
de la matrice A et sur b, pour se ramener à un système triangulaire supérieur équivalent.
5
Chapitre 1. Méthodes directes pour la résolution des systèmes linéaires
2
Remarque 1.3.1 Si on note U = A(3) , alors on peut vérifier qu’on 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 inférieure dont les termes diagonaux valent 1 et dont le coeffi-
(k)
a (k)
cient lik de la matrice L sous la diagonale est exactement le terme ik , où aik désigne
αk
les coefficients de A(k) , matrice d’élimination de Gauss à l’étape k.
6
1.3 Factorisation LU
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.
n n
X n(n + 1) X n(n + 1)(2n + 1)
Si on utilise le fait que p= et que p2 = on tire que le
p=1
2 p=1
6
n(n − 1) n(n − 1)(2n − 1)
nombre d’opérations dans la méthode d’élimination de Gauss est +2
2 6
qui est de l’ordre de 23 n3 lorsque n est très grand.
Remarque 1.3.2 Le choix du pivot peut avoir une grande importance dans le calcul
comme le montrera l’exemple suivant.
Soit à résoudre le système
−p
10 1 x1 1
= ,
1 1 x2 0
1
− −p
dont la solution exacte est 1 −1 10 .
1 − 10−p
7
Chapitre 1. Méthodes directes pour la résolution des systèmes linéaires
10−p
1 x1 1
= .
0 1 − 10p x2 −10p
p p x1 0
Pour p tel que sur une machine 1 − 10 ' −10 on obtient ' qui n’est pas
x2 1
proche de la solution exacte.
Cet exemple montre l’effet des erreurs d’arrondi qui proviennent de la division par des
pivots trop petits. La stratégie de pivot partiel consiste à choisir comme pivot αk vérifiant
(k)
|αk | = max |aik | le coefficient de module maximum de la partie de la colonne k en dessous
k≤i≤n
de la diagonale.
Dans l’exemple (2.4), l’élimination de Gauss était faite sans stratégie de pivot. Avec
la stratégie de pivot partiel, et dans la première étape, on doit choisir le premier pivot
a31 = 2 au lieu de a11 = 1.
1.3.2 Factorisation LU
Dans cette partie on développe la technique de la factorisation LU qui permet aussi
de résoudre un système Ax = b en se ramenant à la résolution d’un système triangulaire
inférieur puis un système triangulaire supérieur.
Proposition 1.3.1 Soit A = (aij )1≤i,j≤n ∈ Mn (R) une matrice carrée d’ordre n telle
que toutes les n sous-matrices A(k) = (aij )1≤i,j≤k , pour k = 1, . . . , n, sont inversibles.
Alors, il existe une matrice triangulaire inférieure L dont les coefficients diagonaux
sont égaux à 1, et une matrice triangulaire supérieure U telle que A = LU . De plus cette
décomposition, dite décomposition ou factorisation LU de A, est unique.
min(i,j)
X
aij = lik ukj , pour tout 1 ≤ i, j ≤ n (1.4)
k=1
8
1.3 Factorisation LU
a b
Si n = 2, A = vérifiant a 6= 0 et det(A) = ad − bc 6= 0, alors A admet la
c d
factorisation ! !
1 0 a b
A= c ad − bc .
1 0
a a
Supposons que le résultat est vrai jusqu’à l’ordre n − 1. Soit A = (aij ) une matrice
d’ordre n telle que les sous-matrices A(k) , pour k = 1, . . . , n sont inversibles. D’après
l’hypothèse de récurrence la matrice A(n−1) qui est d’ordre n − 1 admet une factorisation
L̃Ũ , où L̃ = (lij )1≤i,j≤n−1 est une matrice triangulaire inférieure d’ordre n − 1 à diagonale
unité et Ũ = (uij )1≤i,j≤n−1 est une matrice triangulaire supérieure d’ordre n − 1 dont
les termes diagonaux sont tous non nuls (uii 6= 0 ∀ i = 1, . . . , n − 1). On détermine les
coefficients
u1n = a1n ,
u2n = a2n − l21 u2n ,
..
.
p−1
X
upn = apn − lpk ukn ,
k=1
..
.
n−1
X
unn = ann − lnk ukn ,
k=1
9
Chapitre 1. Méthodes directes pour la résolution des systèmes linéaires
On note que L est triangulaire inférieure à diagonale unité, U est triangulaire supérieure
avec coefficients diagonaux non nuls et on peut vérifier facilement que A = LU .
Algorithme de la factorisation LU
De (1.4) et pour p = 1, . . . , n, en lisant dans l’ordre les termes de la p-ième ligne
eu dessus de la diagonale de la matrice à factoriser A, on obtient la p-ième ligne de U ,
puis au fur et on mesure qu’on écrit les termes de la p-ième colonnes de A en dessus de
la diagonale, on déduit la p-ième colonne de L. Ceci peut se traduire par l’algorithme
suivant :
Pour
p = 1, . . . , n
Pour j = p, . . . , n
p−1
X
upj := apj − lpk ukj
k=1
Fin de la boucle sur j
Pour i = p + 1, . . . , n
p−1
!
X
lip := aip − lik ukp /upp
k=1
Fin de la boucle sur i
Fin de la boucle sur p
Nombre d’opérations
A chaque étape p, pour calculer upj , j = p, . . . , n il faut effectuer
• p − 1 multiplications,
• p − 1 additions,
donc 2(p − 1) opérations.
Le nombre total d’opérations pour déterminer la p-ième ligne de U est
n
X
2(p − 1) = 2(n − p + 1)(p − 1).
j=p
10
1.3 Factorisation LU
• 1 division,
• p − 1 multiplications,
• p − 1 additions.
Donc le calcul de la p-ième colonne de L nécessite
X n
(2(p − 1) + 1) = (n − p)(2p − 1).
i=p+1
Résolution de Ax = b pour A = LU
Le système Ax = b donne LU x = b. Si on pose y = U x, il suffit de résoudre le système
triangulaire inférieur Ly = b puis le système triangulaire supérieur U x = y, i.e.,
(
Résoudre Ly = b,
Résoudre Ax = b ⇔
puis résoudre U x = y.
Puisque la résolution d’un système triangulaire, nécessite n2 opérations, le nombre
d’opérations pour résoudre un système linéaire Ax = b, par la factorisation A = LU est
de l’ordre 32 n3 .
Remarques 1.3.1
1. On utilise la factorisation LU surtout d’une matrice A pour résoudre plusieurs
systèmes linéaires avec la même matrice A mais avec des seconds membres différents.
Si on a par exemple à résoudre p systèmes linéaires avec la même matrice A, le
coût est de l’ordre de 32 n3 + 2pn2 au lieu de p 32 n3 .
2. Puisque
Y n
det A = det L det U = uii ,
i=1
la factorisation LU permet aussi de calculer det A en seulement 23 n3 opérations
au lieu de (n! − 1)(n − 1) opérations si on utilise la formule de Leibniz
X n
Y
det A = (σ) aσ(i),i ,
σ∈Sn i=1
où Sn est l’ensemble des permutations des nombres {1, . . . , n} et (σ) est la si-
gnature de la permutation σ.
11
Chapitre 1. Méthodes directes pour la résolution des systèmes linéaires
Matrices bandes
Définition 1.3.1 Une matrice A = (aij )1≤i,j≤n ∈ Mn (C) est dite matrice bande s’il
existe nb ∈ N, tel que aij = 0 pour |i − j| > nb . Autrement dit les coefficients non nuls
de la matrice A sont situés dans une bande de longueur 2nb + 1, centrée sur la diagonale
principale. Pour nb = 1, la matrice est dite tridiagonale.
Preuve. On montre cette proprièté par récurrence sur les étapes de la factorisation de la
matrice A.
La matrice A étant bande, la proprièté est vraie à l’étape 0. Supposons que la pro-
priété est vraie jusqu’à l’étape p − 1 où on a donc lij = uij = 0 pour 1 ≤ i, j ≤ p − 1,
|i − j| > nb . A l’étape p on a
p−1
X
upj := apj − lpk ukj , pour j = p, . . . , n
k=1
et
p−1
X
aip − lik ukp
k=1
lip := , pour i = p + 1, . . . , n.
upp
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 supérieure.
Si p − j < −nb < 0, donc pour 1 ≤ k ≤ p − 1, on a k − j ≤ p − 1 − j < p − j < −nb .
D’après l’hypothèse de récurrence ukj = 0. Ainsi upj = 0 et la propriété est vérifiée pour
la matrice U à l’étape k. De même, si p est tel que |i − p| > nb , alors apj = 0.
Si i − p < −nb < 0 alors lip = 0, puisque L est triangulaire inférieure.
Si i − p > nb < 0, donc pour 1 ≤ k ≤ p − 1 < p, on a i − k ≤ i − p < −nb . D’après
l’hypothèse de récurrence lik = 0. Ainsi lip = 0 et la propriété est vérifiée aussi pour la
matrice L à l’étape k.
12
1.4 Factorisation de Cholesky des matrices symétriques définies positives
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 = (A−1 )T .
4. (Ax, y) = (x, AT y) pout tout x, y ∈ Rn .
Remarque 1.4.1 Si A ∈ Mn (R) est une matrice orthogonale, alors A est inversible et
A−1 = AT puisqu’on a AAT = AT A = In . De plus les vecteurs lignes ainsi que les vecteurs
colonnes forment une base orthonormée de Rn .
Conséquences 1.4.1
1. Toute matrice symétrique est diagonalisable.
2. Les valeurs propres d’une matrice symétrique sont toutes réelles.
Définition 1.4.4 Soit A ∈ Mn (R) une matrice symétrique. La matrice A est dite semi-
définie positive si
(Ax, x) ≥ 0 pour tout x ∈ Rn .
Si de plus A vérifie, (Ax, x) = 0 si et seulement si x = 0, alors A est dite définie positive.
13
Chapitre 1. Méthodes directes pour la résolution des systèmes linéaires
Preuve. Soit A ∈ Mn (R). On suppose que A est semi-définie positive (resp. définie
positive). Soit λ une valeur propre de A et x ∈ Rn (non nul) un vecteur propre associé à
la valeur propre λ. On a Ax = λx, donc
Comme A est semi-définie positive (resp. définie positive), donc (Ax, x) ≥ 0 (resp. > 0)
et par conséquent
λkxk22 ≥ 0 (resp. > 0)
ou λ ≥ 0 (resp. > 0).
Supposons que toutes les valeurs propres de A sont positives (resp. strictement po-
sitives) et montrons que A est semi-définie positive (resp. strictement positives). On sait
qu’il existe une base orthonormée (f1 , . . . , fn ) de vecteurs propres de A. Soit x ∈ Rn ,
(resp. x ∈ Rn \ {0},
X n
x= xi f i .
i=1
Donc
n
X
Ax = xi λ i f i ,
i=1
et n
X
(Ax, 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 symétrique d’ordre
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)
14
1.4 Factorisation de Cholesky des matrices symétriques définies positives
Preuve. Soit pour k = 1, . . . , n, A(k) = (aij )1≤i,j≤k ∈ A(k) (R). Montrons que la matrice
symétrique A(k) est inversible. En effet, pour tout x = (x1 , . . . , xk )T ∈ Rk \ {0}, on pose
x̃ = (x1 , . . . , xk , 0, . . . , 0) ∈ Rn . Alors x̃ 6= 0 et on a (A(k) x, x) = (Ax̃, x̃) > 0. La matrice
A(k) est par conséquent définie positive, donc inversible. La matrice A admet donc une
factorisation LU . Montrons que uii > 0. Posons la matrice diagonale
u11
D=
.. .
.
unn
Puisque
n
Y
det A = det L det U = uii 6= 0,
i=1
alors U = DS et
A = LDS = S T DLT .
La matrice S T est triangulaire inférieure à diagonale unité ((S T )ii = 1, i = 1, . . . , n) et
la matrice DLT est une matrice triangulaire supérieure. D’après l’unicité 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
donc la matrice diagonale symétrique D est définie positive, ses valeurs propres uii , i =
1, . . . , n sont donc strictement positives.
15
Chapitre 1. Méthodes directes pour la résolution des systèmes linéaires
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 .
L’unicité découle de celle de la factorisation LU .
Pour i =v1, . . . , n
u
Xi−1
u
bii := taij − b2ik
k=1
Pour j = i + 1, . . . , p − 1!
Xi−1
bij := aij − bik bkj /bii
k=1
Fin de la boucle sur j
Fin de la boucle sur i
16
1.4 Factorisation de Cholesky des matrices symétriques définies positives
3
Remarque 1.4.5 Clairement, le coût de la méthode de Cholesky est de l’ordre de n3
qui est la moitié de la factorisation LU , puisque ici le calcul de la matrice B donne
immédiatement sa matrice transposée B T .
17
Chapitre 1. Méthodes directes pour la résolution des systèmes linéaires
18
Chapitre 2
2.1 Introduction
Pour des systèmes linéaires de grande taille, les méthodes directes de factorisations (de
type LU ou de Cholesky) deviennent couteuses en temps de calcul ou en place mémoire.
L’idée alors de ne plus chercher à résoudre exactement le système linéaire, mais d’appro-
cher sa solution x par une suite de vecteurs (x(k) ) vérifiant
lim kx(k) − xk = 0.
k→+∞
Dans ce chapitre, la suite (x(k) ) est construite à l’aide d’une relation de récurrence simple
de type x(k+1) = F (x(k) ), pour une application affine F (x) = Bx + c.
Dans ce chapitre, on note par Mn (K) l’espace vectoriel des matrices carrées d’ordre
n à coefficients dans K où K = R ou C. On rappelle que pour x = (xi )1≤i≤n ∈ Kn on a
les normes vectorielles suivantes :
19
Chapitre 2. Méthodes itératives pour la résolution des systèmes linéaires
n
X 1
• kxkp = ( |xi |p ) p , pour p ∈ [1, +∞[ ; norme de Hölder d’indice p.
i=1
• kxk∞ = max |xi |, norme infinie.
1≤i≤n
k · k : Mn (C) → R+
A 7 → kAk
Exemple 2.2.1 La norme (dite de Frobenius) définie, pour A = (aij )1≤i,j≤n ∈ Mn (R),
par
n
X 1 1
kAk = ( a2ij ) 2 = (trace(AT A)) 2 ,
i,j=1
√
n’est pas subordonnée puisque kIn k = n 6= 1.
20
2.2 Rappels sur les normes matricielles
On a alors :
Proposition 2.2.1 Les normes matricielles subordonnées aux normes vectorielles k · k1 ,
k · k2 et k · k∞ sont
(pdonnées, pour une matrice A = (aij )1≤i,j≤n , par :
p
ρ(AT A) = ρ(AAT ) = kAT k2 si A est une matrice réelle,
— kAk2 = p p
ρ(A∗ A) = ρ(AA∗ ) = kA∗ k2 si A est une matrice complexe,
Xn
— kAk1 = max |aij |,
1≤j≤n
i=1
Xn
— kAk∞ = max |aij |.
1≤i≤n
j=1
n
X
et par conséquent kAk∞ ≤ max |aij |. D’autre part, si i0 est tel que
1≤i≤n
j=1
n
X n
X
|ai0 j | = max |aij |.
1≤i≤n
j=1 j=1
21
Chapitre 2. Méthodes itératives pour la résolution des systèmes linéaires
Comme A 6= 0, alors sa i0 -ème colonne est non nulle et il existe au moins j tel
que ai0 j 6= 0. Posons, pour j = 1, . . . , n,
āi0 j
si ai0 j 6= 0
xj = |ai0 j | .
0 sinon
Alors kxk∞ = 1 et
n n n
X āi0 j X X
|(Ax)i0 | = | ai 0 j |= |ai0 j | = max |aij |.
j=1
|ai0 j | j=1
1≤i≤n
j=1
n
X
Par suite kAk∞ = max |aij |.
1≤i≤n
j=1
Car les valeurs propres de A2 sont les carrées des valeurs propres de A lorsque cette
dernière est diagonalisable et donc
ρ(A2 ) = ρ(A)2 .
La relation (2.1) devient une inégalité pour une matrice quelconque et pour les autres
normes. Plus précisément :
Proposition 2.2.2 On a :
1. Pour toute matrice A et pour toute norme matricielle k · k subordonnée ou non
on a
ρ(A) ≤ kAk.
2. Pour tout > 0 et pour toute matrice A ∈ Mn (C), il existe une norme matricielle
subordonnée notée 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 associé à la valeur propre λ. Alors Ax = λx.
Si y ∈ Cn tel que la matrice xy T ne soit pas nulle, alors Axy T = λxy T et par suite
22
2.2 Rappels sur les normes matricielles
2. Soit A ∈ Mn (C), on sait que A est semblable à une matrice triangulaire supérieure
complexe, il existe donc (f1 , . . . , fn ) une base de Cn et une matrice triangulaire
supérieure (λij )1≤i,j≤n telles que
X
Afi = λij fj ,
j≥i
kAk ≤ ρ(A) + .
Donc X
Aẽi = η i−j λij ẽj .
1≤i≤j
n
X
Si x = αi ẽi , alors
i=1
n
X X n X
X n
i−j
Ax = αi η λij ẽj = ( η i−j λij αi )ẽj .
i=1 1≤i≤j j=1 i=j
n
" n
#
X X
kAxk = max | η i−j λij αi | ≤ max |λjj kαj | + η |λij kαi |
1≤j≤n 1≤j≤n
i=j i=1
n
X
≤ ρ(A)kxk + η max |λij |kxk.
1≤j≤n
i=1
23
Chapitre 2. Méthodes itératives pour la résolution des systèmes linéaires
Par conséquent
kAxk
≤ ρ(A) + ηkTA k1 ,
kxk
donc
kAk ≤ ρ(A) + ηkTA k1 .
Pour η ∈]0, 1[ tel que ηkTA k1 ≤ , on a bien
Proposition 2.2.3 Soit B une matrice carrée de Mn (C). Les conditions suivantes sont
équivalentes :
i) lim B k x = 0 pour tout vecteur x de Cn ,
k→+∞
Preuve.
i) ⇒ ii) Soit λ une valeur propre de B telle que ρ(B) = |λ| et soit x un vecteur
propre associé à la valeur propre λ de B. On a Bx = λx, donc B k x = λk x et par
conséquent 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 subordonnée k · k telle
2
que
1 − ρ(B) ρ(B) + 1
kBk ≤ ρ(B) + < ρ(B) + = < 1.
2 2
iii) ⇒ i) On a kB k xk ≤ kBkk kxk → 0 quand k → +∞.
24
2.3 Méthodes itératives
Remarques 2.3.1
1. On n’a 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) donnée.
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 méthode itérative correspondante est
convergente pour la résolution de (S).
3. Si on considère e(k) l’erreur à l’étape k, e(k) = x(k) − x, alors M x(k+1) = b + N x(k)
et M x = b + N x et par conséquent e(k+1) = M −1 N e(k) = · · · = (M −1 )k e(k) . La
matrice M −1 N = B est appelée matrice d’itération de la méthode. La suite
(x(k) ) vérifie donc x(k+1) = Bx(k) + c, pour c = M −1 b.
En général on a :
Preuve. La suite donnée 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
étant vrai si et seulement si ρ(B) < 1.
Remarque 2.3.1 Ainsi, pour montrer que la suite générée par la méthode itérative (2.2)
est convergente, il suffit de vérifier que le rayon spectral de sa matrice d’itération B est
plus petit que 1 ou encore que pour au moins une norme quelconque k · k, (subordonnée
ou non) kBk < 1.
(M T + N )T = M + N T = (A + N ) + N T = AT + N T + N = (A + N )T + N = M T + N.
ρ(M −1 N ) < 1.
25
Chapitre 2. Méthodes itératives pour la résolution des systèmes linéaires
26
2.3 Méthodes itératives
x(0) ∈ Rn donnée,
Pour k = 0, 1, 2, . . .
Dx(k+1) = (E + F )x(k) + b
(k+1)
Il est bien de noter que les composantes xi de x(k+1) sont calculées les uns indépendement
des autres ce qui peux s’effectuer en parallèle.
On montrera la convergence de cette méthode pour les matrices à diagonale stricte-
ment dominante :
Définition 2.3.1 Une matrice A = (aij )1≤i,j≤n ∈ Mn (C) est dite à diagonale strictement
dominante si elle vérifie
X
|aii | > |aij | ∀ i ∈ {1, . . . , n}.
j6=i
Proposition 2.3.3 Soit A une matrice à diagonale strictement dominante. Alors A est
inversible et la méthode de Jacobi converge vers la solution du système Ax = b.
Preuve. Montrons que A est inversible. Soit x = (xi )1≤i≤n ∈ Cn tel que Ax = 0. Alors,
pour tout i = 1, . . . , n,
Xn
aij xj = 0.
j=1
Ou encore n
X
aii xi = aij xj .
j6=i
Par conséquent
n
X
|aii kxi | ≤ |aij kxj |.
j6=i
27
Chapitre 2. Méthodes itératives pour la résolution des systèmes linéaires
Ainsi
X |xj | X
|ai0 i0 | ≤ |ai0 j | ≤ |ai0 j | < 1.
j6=i0
|xi0 | j6=i
0
− aa11 − aa1n
0 12
... 11
− a21 0 ... − aa2n
a2 22
J = . ..
..
.
an1 ann−1
− ann . . . − ann 0
qui vérifie
X |aij |
kJk∞ = max < 1.
1≤i≤n
j6=i
|aii |
Comme
ρ(J) < kJk∞ < 1,
et donc la méthode de Jacobi converge.
1 1−ω
M= D − E, N = M − A = D + F.
ω ω
La matrice d’itération est donc
Lω = ( ω1 D − E)−1 ( 1−ω
ω
D + F)
= ω(I − ωD−1 E)D−1 D ω1 ((1 − ω)In + ωD−1 F )
= (I − ωD−1 E)((1 − ω)In + ωD−1 F ).
28
2.3 Méthodes itératives
Preuve. On a
La matrice (In − ωD−1 E) est triangulaire inférieure dont les coefficients diagonaux sont
égaux à 1, donc (In − ωD−1 E)−1 est aussi triangulaire inférieure à coefficients diagonaux
sont aussi 1. La matrice (1 − ω)In + ωD−1 F est triangulaire supérieure 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 conséquent ρ(Lω ) > 1 et la
méthode de relaxation diverge.
Ainsi, la méthode de relaxation n’est intéressante que pour 0 < ω < 2.
Proposition 2.3.5 Soit A ∈ Mn (R) une matrice symétrique définie positive. Alors la
méthode de relaxation converge si et seulement ω ∈]0, 2[.
L1 = (D − E)−1 F,
x(0) ∈ Rn donnée,
Pour k = 0, 1, 2, . . .
(D − E)x(k+1) = F x(k) + b
29
Chapitre 2. Méthodes itératives pour la résolution des systèmes linéaires
(k+1)
La i-ème composante de x(k+1) est donnée en fonction des composantes xj ,j<i
(k)
de x(k+1) et des composantes xj , j > i de x(k) par
" #
(k+1) 1 X (k+1)
X (k)
xi = bi − aij xj − aij xj , i = 1, . . . , n.
aii j<i j>i
(k+1)
Il faut noter que le calcul des composantes xi de x(k+1) doit s’effectuer dans l’ordre
i = 1, . . . , n.
On sait déja que si A est une matrice symétrique définie positive, alors la méthode
de Gauss-Seidel est convergente (ω = 1 ∈]0, 2[). On montre aussi que
Preuve. Montrons que si A est à diagonale strictement dominante, alors ρ(L1 ) < 1.
Soit x = (xi )1≤i≤n 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.
Par conséquent
X X
λ(aii xi + aij xj ) = aij xj ∀i ∈ {1, . . . , n}.
j<i j>i
Ainsi
X |xj | X |xj |
|aij | |aij |
j>i
|xi | j>i
|xi |
|λ| ≤ X xj ≤ .
|aii + aij |
X |xj |
xi |aii | − |aij |
j<i |xi j<i
X |xj |
|ai0 j |
j>i0
|xi0 |
|λ| ≤ < 1.
X |xj |
|ai0 i0 | − |ai0 j |
j<i0
|xi0 |
30
2.3 Méthodes itératives
Vitesse de convergence
En pratique, il faut tenir compte de la vitesse de convergence. Autrement dit, entre
deux méthodes itératives convergentes, on choisit celle qui donne la solution plus rapide-
ment que l’autre. Un critère de mesure de cette vitesse est l’évolution de l’erreur kx(k) −xk
qui dépend du rayon spectral de la matrice d’itération. En effet, si on a une suite conver-
gente (x(k) ) définie par x(k+1) = Bx(k) + c, pour x(0) donné, sa limite est x vérifiant
x = Bx + c, et on a
x(k) − x = B(x(k−1) − x) = B k (x(0) − x)
et par conséquent
Ainsi, la suite (x(k) ) converge plus vite vers x d’autant que ρ(B) est plus petit. Ceci reste
encore vrai pour une norme matricielle quelconque et pour une matrice B quelconque et
on énonce le résultat de comparaison de deux méthodes itératives suivant :
Proposition 2.3.7 Pour la recherche d’une solution x d’un système Ax = b, une méthode
itérative de matrice d’itération B est dite plus rapide qu’une autre de matrice d’itération
B̃, si ρ(B) ≤ ρ(B̃).
En général, on ne peut rien dire sur la convergence d’une de deux méthodes de Jacobi
et de Gauss-seidel connaissant la nature de convergence de l’autre. Cependant, pour une
matrice tridiagonale on a :
Preuve. A = D − E − F , avec
a11 a12 a11
... ... ...
a
A = 21 . , D = ,
.. ... ...
an−1n
ann−1 ann ann
31
Chapitre 2. Méthodes itératives pour la résolution des systèmes linéaires
−a12
0 0
. .. ..
−a21 . . 0 . .
E= et F = .
.. .. .. ..
. . . . −an−1n
−ann−1 0 0
Montrons que pour tout α, µ ∈ C∗ , det(µD − E − F ) = det(µD − αE − α−1 F ). On pose
µa11 a12
.. ..
a
. .
Aµ := µD − E − F = 21 .
.. ..
. an−1n
ann−1 µann
et
µa11 α−1 a12
... ...
αa
Aα,µ := µD − αE − α−1 F = 21 .
.. .. −1
. . α an−1n
αann−1 µann
Soit la matrice diagonale
α
α2
P = .
...
αn
Alors P est inversible et
32
2.4 Conditionnement
kAx(k) − bk
≤ε
kbk
ou
kx(k) − x(k−1) k
≤ε
kx(k) k
pour les algorithmes de résolution des systèmes linéaires.
2.4 Conditionnement
La notion du conditionnent d’une matrice peut servir à établir des majorations des
erreurs d’arrondi dues au erreurs sur les données. En pratique, par exemple pour un
système linéaire Ax = b, les données A et b ne sont données qu’à une erreur près. Cette
perturbation des données peut engendrer une grande erreur de la solution. C’est le cas de
l’exemple suivant :
Soit le système linéaire Ax = b, pour
1 2 3
A= et b = .
2 4 + 10−6 6 + 10−6
33
Chapitre 2. Méthodes itératives pour la résolution des systèmes linéaires
1
Ce système admet une solution unique x = .
1
3
Si on change légèrement b par b̃, avec b̃ = , la solution du système Ax =
6 − 10−6
5
b̃ est x̃ = . Ainsi une petite perturbation de la donnée b implique une grande
−1
modification de la solution.
En général, si x est tel que Ax = b et x + δx vérifiant A(x + δx) = b + δb, alors Aδx = δb
ou encore δx = A−1 b. Par conséquent
Définition 2.4.1 On appelle conditionnement d’une matrice inversible A, pour une norme
matricielle subordonnée k · k, le réel positif, qu’on note Cond(A)
Cond(A) = kAkkA−1 k.
34
2.4 Conditionnement
kδxk kδbk
≤ Cond(A) .
kxk kbk
kδxk kδAk
≤ Cond(A)
kx + δxk kAk
Preuve.
1. Déja montré
2. Si Ax = b et (A + δA)(x + δx) = b, alors δA(x + δx) = −Aδx et donc δx =
−A−1 δA(x + δx) et on obtient ainsi
kδAk
kδxk ≤ kA−1 kkδAkkx + δxk = Cond(A) kx + δxk.
kAk
1
Il suffit de multiplier par kx+δxk
pour conclure le résultat désiré.
35
Chapitre 2. Méthodes itératives pour la résolution des systèmes linéaires
36
Chapitre 3
3.1 Introduction
On rappelle que tout minimum ou maximum x d’une fonction réelle dérivable f :
R → R satisfait f 0 (x) = 0. Ce résultat s’applique aussi pour les fonctions J : Rn → R
dérivables.
Ce chapitre vise dans sa première partie à rappeler quelques notions élémentaires
concernant les problèmes d’optimisation non contraints sur Rn . Ensuite, et dans la dernière
partie de ce chapitre, des méthodes de descente de type gradient seront développées pour
calculer numériquement un minimum x̄ d’une fonction J sur Rn .
Comme application on considère le problème de minimisation d’une fonction quadra-
tique dont la résolution est équivalente à la résolution d’un système linéaire Ax = b, où
A est une matrice symétrique définie positive.
37
Chapitre 3. Optimisation sans contraintes
Proposition 3.2.1
On suppose que J est continue et qu’elle vérifie
Preuve. Soit
α = infn J(x).
x∈R
lim J(x(k) ) = α.
p→∞
Alors la suite (x(k) ) est bornée. En effet, si la suite (x(k) ) est non bornée, elle vérifie, pour
une sous suite, (notée aussi (x(k) )), lim ||x(k) || = +∞ et comme lim J(x(k) ) = +∞,
k→+∞ kxk→+∞
donc α = +∞, ce qui est une contradiction.
Comme (x(k) ) est bornée, on peut en extraire une sous suite (x(k) ) convergente vers
x̄.
Comme J est continue, alors
38
3.2 Optimisation sur Rn
2. Une fonction J continue et minorée sur Rn , alors elle admet une borne inf, mais
pas de minimum si elle n’est pas infinie à l’infini, voici un contre exemple : La
fonction x 7→ exp(x) est positive, mais elle n’a pas de minimum sur R.
Remarque 3.2.1 Ce résultat donne l’existence d’un minimum mais il ne donne pas l’uni-
cité. On peut avoir des résultats d’unicité si on utilise la convexité.
Exemples 3.2.1
1. L’application x 7→ kxk22 est strictement convexe sur Rn .
2. Toute forme linéaire J(x) = (b, x) = bT x où b ∈ Rn est convexe mais non stricte-
ment convexe.
Preuve. Soit S l’ensemble des solutions optimales. Montrons que S est convexe. Soit
(x1 , x2 ) ∈ S × S, si t ∈ [0, 1], et comme J est convexe donc :
On en déduit que (1 − t)x1 + tx2 ∈ S, pour tout t ∈ [0, 1]. D’où la convexité de S.
Si de plus J est strictement convexe, on suppose qu’il existe deux solutions x1 et x2
x1 + x2
de (P ) tel que x1 6= x2 . Alors ∈ S et en vertu de la stricte convexité de J il vient
2
que,
x1 + x2
J( ) < 21 J(x1 ) + 12 J(x2 ) = J(x1 ).
2
Contradiction, ainsi x1 = x2 .
39
Chapitre 3. Optimisation sans contraintes
Le vecteur p s’il existe est appelé la différentielle (ou la dérivée) de J en x et il est noté
J 0 (x).
On dit que J est différentiable sur Rn si elle est différentiable en tout point de Rn .
∂J
∂x1 (x)
J 0 (x) = ∇J(x) =
..
(3.3)
.
∂J
(x)
∂xn
J 0 (x).h = (b, h) = bT h,
donc
J 0 (x) = ∇J(x) = b.
2. La fonctionnelle J : x 7→ J(x) = 21 a(x, x), où a est une forme bilinéaire symétrique
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 symétrique, alors J : x → (Ax, x) est
2
différentiable et on a :
40
3.2 Optimisation sur Rn
41
Chapitre 3. Optimisation sans contraintes
On rappelle que cette dernière propriété sur A est vérifiée si et seulement si A est définie
positive.
∇J(x̄) = 0. (3.6)
La condition (3.6) est connue sous le nom de l’équation d’Euler qui est sans la convexité
de J est en général une condition nécessaire mais non suffisante d’optimalité.
La fonction J : x 7→ x3 vérifie J 0 (0) = 0 mais 0 n’est ni um minimum ni un maximum
de J sur R.
42
3.2 Optimisation sur Rn
Ax̄ = b.
Preuve. La fonction J est continue, infinie à l’infini, puisqu’elle vérifie (1.6) puis d’après
l’inégalité de Cauchy-Schawrz,
λ1 λ1
J(x) ≥ kxk22 − (b, x) ≥ kxk22 − kbk2 kxk2 → ∞ .
2 2 kxk2 →+∞
De plus J est strictement convexe, donc J admet un minimum unique x̄ sur Rn vérifiant
∇J(x̄) = Ax̄ − b = 0.
Remarque 3.2.3 Pour chercher la solution de (3.7) et afin de pouvoir appliquer l’équation
d’Euler, on minimise la norme au carré de Ax−b au lieu de kAx−bk2 puisque l’application
norme n’est jamais différentiable en 0. Clairement, les deux problèmes sont équivalents.
Proposition 3.2.7 Le problème (3.7) admet au moins une solution. De plus toute solu-
tion x̄ de (3.7) est aussi solution de système
AT Ax = AT b.
Le problème (3.7) admet une solution unique si et seulement si la matrice A est injective.
Preuve.
La fonction objectif ici est
43
Chapitre 3. Optimisation sans contraintes
La matrice AT A est toujours symétrique semi définie positive puisque (AT Ax, x) =
kAxk22 ≥ 0 pour tout vecteur x de Rn . La fonction quadratique J est donc convexe.
Par conséquent, x̄ est solution de (3.7) si et seulement
∇J(x̄) = AT Ax̄ − AT b = 0.
Utilisant le résultat classique d’algèbre linéaire suivant : Im(AT ) = Im(AT A), puisque les
deux espaces sont de même dimension et Im(AT A) ⊂ Im(AT ), on déduit que le système
AT Ax = AT b admet au moins une solution, d’où l’existence d’au moins d’un minimum
de J sur Rn . L’unicité de minimum est assurée si et seulement si le système AT Ax = AT b
admet une solution unique, pour tout vecteur b, donc si et seulement si la matrice AT A
est bijective. Ceci étant vérifié si et seulement A est injective.
1
J(x̄) = minn (Ax, x) − (b, x), (3.8)
x∈R 2
Définition 3.3.1 Soit J une fonction de Rn à valeurs dans R. Soit x ∈ Rn . On dit que
d ∈ Rn , avec d 6= 0, est une direction de descente de J en x s’il existe α0 > 0 tel que
min J(x)
x∈Rn
44
3.4 Méthodes des gradients
Initialisation : x(0) ∈ Rn ,
Pour k ≥ 0 :
On cherche la direction de descente d(k) au point x(k) et on détermine le pas αk ,
Ensuite, on fait la mise à jour : x(k+1) = x(k) + αk d(k) .
Comme d est une direction de descente, on peut écrire, pour tout α ∈ [0, α0 ],
ϕ(α) ≤ ϕ(0),
45
Chapitre 3. Optimisation sans contraintes
1. On choisit x(0) ∈ Rn
2. Pour k ≥ 0, on calcule :
d(k) = −∇J(x(k) ) = b − Ax(k) ,
x(k+1) = x(k) + αd(k)
Preuve. On a, pour k ≥ 0,
Ainsi,
ρ(Bα ) = max(|1 − αλ1 |, |1 − αλn |)
Par conséquent, la méthode du gradient à pas fixe converge si et seulement ρ(Bα ) < 1.
Donc si et seulement si 0 < α < λ21 et 0 < α < λ21 . Cette dernière condition est bien
équivalente à
2
0<α< .
ρ(A)
46
3.4 Méthodes des gradients
Lemme 3.4.1 Si la matrice A est symétrique définie positive, alors (Q) admet une unique
solution donnée par
(Ax − b, d)
α=− .
(Ad, d)
On a
(Ax − b, d)
α=− .
(Ad, d)
Remarque 3.4.2 Pour un problème quadratique de type (3.8), une méthode de descente
à pas optimal αk donne une relation d’orthogonalité entre la direction de descente d(k) et
En effet
47
Chapitre 3. Optimisation sans contraintes
Proposition 3.4.2 Si A est une matrice symétrique définie positive, alors la méthode du
gradient à pas optimal converge.
Preuve. Par construction la suite (J(x(k )) est décroissante et on sait qu’elle est minorée
par J(x̄), donc elle est convergente. Par conséquent
lim J(x(k+1) ) − J(x(k) ) = 0.
k→+∞
Or
αk2
J(x(k+1) ) − J(x(k) ) = (Ad(k) , d(k) ) + αk (Ax(k) − b, d(k) ).
2
Sachant que
k d(k) k22
αk = et d(k) = −g (k) = −(Ax(k) − b)
hAd(k) , d(k) i
donc
kg (k) k42
J(x(k+1) ) − J(x(k) ) = − 21 .
(Ag (k) , g (k) )
48
3.4 Méthodes des gradients
De (1.6) on déduit
1 (k) 2
kg k2 ≤ J(x(k+1) ) − J(x(k) ) → 0 ,
λn k→+∞
min J(x),
x∈Rn
pour
J(x) = 12 (Ax, x) − (b, x) (P )
où A est une matrice symétrique définie positive.
Dans les algorithmes de deux méthodes de descentes précédentes, les termes de la
suite (x(k)) ) s’approchent de plus en plus vers la solution cherchée x̄ sans généralement
jamais l’atteindre. D’où l’idée de la méthode du gradient conjugué où, comme on le verra,
la suite (x(k) ) générée par l’algorithme de cette méthode est stationnaire, et elle vaut x̄
en moins de n itérations.
Définition 3.4.1 Soit A est une matrice symétrique définie positive de Mn (R).
1. Deux vecteurs non nuls d(1) , d(2) de Rn sont dits A−conjugués si (Ad(1) , d(2) ) = 0
2. Une famille (d(1) , d(2) , . . . , d(p) ) de p vecteurs non nuls de Rn est dite A−conjuguée
si
(Ad(i) , d(j) ) = 0 ∀ i, j ∈ {1, . . . , p}, i 6= j.
L’idée de la méthode du gradient conjugué, qui est aussi une méthode de descente à pas
optimal, est de construire la direction de descente en fonction du gradient et de la direction
précédente de descente.
On part de x(0) donné et d(0) = −∇J(x(0) ) = −Ax(0) + b = g (0) , Connaissant x(k) ,
d(k−1) et g (k) , et si g (k) 6= 0, on choisit la direction de descente
49
Chapitre 3. Optimisation sans contraintes
et
x(k+1) = x(k) + αk d(k) (3.11)
Donc le pas ici αk est optimal et on a la relation d’orthogonalité (voir lemme (3.4.1))
suivante
(d(k−1) , g (k) ) = 0. (3.12)
Il suffit donc de déterminer la direction de descente d(k) . Ceci revient à chercher βk−1 .
Sachant que cette dernière doit vérifier
∂f
(αk , βk−1 ) = αk (∇J(x(k) +αk d(k) ), d(k−1) ) = α(∇J(x(k) +αk (g (k) +βk−1 d(k−1) )), d(k−1) ) = 0.
∂β
(3.14)
et que ∇J(x) = Ax − b, on déduit d’abord puis que
(Ad(k−1) , g (k) )
βk−1 = ,
(Ad(k−1) , d(k−1) )
g (k) − g (k−1)
En remplaçant Ad(k−1) par , on déduit que
αk−1
50
3.4 Méthodes des gradients
kg (k) k22
α k = (k) , d(k) )
, x(k+1) = x(k) + αk d(k) ,
(k+1) (Ad (k+1)
g
= Ax − b = g (k) + αk Ad(k) ,
kg (k+1) k22
βk = , d(k+1) = −g (k+1) + βk d(k) .
kg (k) k22
On montre alors :
Proposition 3.4.3 Si A est symétrique définie positive, alors l’algorithme du gradient
conjugué converge en au plus n itérations vers le minimum de J(x) := 21 (Ax, x) − (b, x)
sur Rn .
Preuve.
Pour k = 0, si g (0) = 0, alors Ax(0) = b et x̄ = x(0) . Sinon,
(g (0) , d(0) )
α0 = − , x(1) = x(0) + α0 d(0) , g (1) = Ax(1) − b
(Ad(0) , d(0) )
vérifiant
(g (1) , g (0) ) = (g (1) , d(0) ) = (d(1) , Ad(0) ) = 0.
Supposons maintenant, pour 1 ≤ k < n, l’hypothèse de récurrence
(g (k+1) , d(k) ) = 0,
51
Chapitre 3. Optimisation sans contraintes
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
=0
f
On a
g (k) = −d(k) + βk−1 d(k−1)
donc, pour j ≤ k, on a
Remarque 3.4.4 Les directions de descentes sont telles que la base (d(0) , d(1) , . . . , d(n−1) )
est obtenue par le procédé d’orthogonalité de Gram-Shmidt, adapté au produit scalaire
(Ax, y), à partir de la base (−g (0) , . . . , −g (n−1)) ).
kx(k+1) − x̄k
lim = γ,
k→+∞ kx(k) − x̄kp
52
3.4 Méthodes des gradients
alors la convergence est dite exactement d’ordre p. La convergence est dite linéaire si
p = 1, quadratique si p = 2.
Les méthodes de descente du gradient à pas fixe et à pas optimal sont à convergence au
moins linéaire et on pourra montrer que
où k.k désigne la norme euclidienne pour la méthode du gradient à pas fixe et la norme
1
définie par kxk = kxkA = (Ax, x) 2 pour la méthode du gradient à pas optimal.
Pour la méthode du gradient conjugué, et tant que g (k) = Ax(k) − b 6= 0, on peut montrer
la majoration suivante :
p
(k+1) cond2 (A) − 1 k (0)
kx − x̄kA ≤ 2( p ) kx − x̄kA . (3.19)
cond2 (A) + 1
où P est une matrice inversible telle que la matrice à = P AP T soit bien conditionnée et
pour b̃ = P b. La nouvelle matrice à est aussi symétrique définie positive et la solution x̄
du système Ax = b est donnée par x̄ = P T ȳ, pour ȳ solution optimale de (Pc ).
53
Chapitre 3. Optimisation sans contraintes
54
Chapitre 4
55
Chapitre 4. Optimisation avec contraintes linéaires
Autrement dit K est une partie convexe si elle contient tout segment d’extrémités deux
quelconques de ses points.
Remarques 4.1.1
1. La notion de convexité et de stricte convexité d’une fonction J sur une partie
convexe K, ainsi que leurs caratérisation lorsque J est différentiable, sont iden-
tiques à celles données dans la définition (3.2.1) et dans les propositions (3.2.3)
et (3.2.4) qui s’appliquent pour tout x, y ∈ K au lieu de Rn .
2. Lorsque K est convexe et la fonction à minimiser J est convexe, le problème de
minimisation (P ) est dit convexe.
Proposition 4.1.2 Soit K une partie convexe fermée non vide de Rn et x un point de
Rn . Alors il existe un unique point de K, noté PK (x) tel que :
(
PK (x) ∈ K
(4.1)
kx − PK (x)k2 ≤ ky − xk2 , ∀ y ∈ K
56
4.1 Problèmes d’optimisations sous contraintes
57
Chapitre 4. Optimisation avec contraintes linéaires
Exercice 4.1.1 Montrer que la fonction projection sur le convexe fermé K est caractérisée
par
(x − PK (x), y − PK (x)) ≤ 0 ∀ y ∈ K. (4.5)
et qu’elle vérifie
kPK (x) − PK (y)k2 ≤ kx − yk2 ∀ x, y ∈ Rn . (4.6)
Proposition 4.1.4 On suppose que J est différentiable en x̄. Si le vecteur x̄ est solution
de (4.7), il existe alors λ̄ ∈ Rm tel que
∇J(x̄) + C T λ̄ = 0. (4.8)
Preuve. Il est clair que K est un convexe fermé de Rn . Comme J est différentiable en x̄
qui est un minimum de J sur K, d’après la condition d’optimalité (4.1.3), x̄ vérfie
(∇J(x̄), x − x̄) ≥ 0 ∀ x ∈ K
(∇J(x̄), y) ≥ 0 ∀ y ∈ ker C.
(∇J(x̄), y) = 0 ∀ y ∈ ker C.
Ceci est équivalent à ∇J(x̄) ∈ (ker C)⊥ . Or, on sait que (ker C)⊥ = ImC T , donc il existe
λ̄ ∈ Rm tel que
∇J(x̄) + C T λ̄ = 0.
L’unicité de ce multiplicateur λ̄ est évidente si C est surjective (de rang m) puisque cette
dernière propriété est équivalente à ker C T = 0.
58
4.1 Problèmes d’optimisations sous contraintes
m
X m
X
∇J(x̄) + λi Ci = ∇J(x̄) + λi ∇gi (x̄) = 0.
i=1 i=1
∀ µ = (µ1 , . . . , µp ) ∈ Rp , µ ≥ 0 si et seulement si µj ≥ 0, ∀j = 1, . . . , p.
59
Chapitre 4. Optimisation avec contraintes linéaires
(∇J(x̄), x − x̄) ≤ 0.
où
K := {x ∈ Rn tel que Cx = d et Bx ≤ c},
pour
C ∈ Mm,n (R), d ∈ Rm , B ∈ Mp,n (R), c ∈ Rp .
60
4.1 Problèmes d’optimisations sous contraintes
Proposition 4.1.7 Si A est symétrique semi définie positive, alors le problème (4.12)
admet une solution x̄ si et seulement si
Ax̄ = b.
Preuve.
La fonction J est continue, infinie à l’infini, puisqu’elle vérifie, d’après (1.6) puis l’inégalité
de Cauchy-Schawrz,
λ1 λ1
J(x) ≥ kxk22 − (b, x) ≥ kxk22 − kbk2 kxk2 →0 .
2 2 kxk2 →+∞
De plus J est strictement convexe, donc J admet un minimum unique x̄ sur Rn vérifiant
∇J(x̄) = Ax̄ − b = 0.
Proposition 4.1.8 Si A est symétrique définie positive, alors le problème (4.13) admet
une solution unique x̄ caractérisée par :
m A CT x̄ b
∃λ̄ ∈ R tel que = . (4.14)
C 0 λ̄ d
Preuve.
Il s’agit d’un problème de minimisation dont la fonction objectif est infinie à l’infini,
strictement convexe et différentiable, donc admettant un minimum unique x̄. Comme il
s’agit d’un problème de minimisation avec contraintes d’égalités linéaires et d’après (4.8),
alors il existe un multiplicateur de Lagrange λ̄ ∈ Rm tel que
∇J(x̄) + C T λ̄ = Ax̄ − b + C T λ̄ = 0.
61
Chapitre 4. Optimisation avec contraintes linéaires
Remarque 4.1.2 Si A est symétrique semi définie positive, alors le problème (4.13) peut
ne pas admettre de solution comme il peut avoir une ou plusieurs solutions. Comme il
s’agit d’un problème convexe, alors x̄ est une solution de (4.13) si et seulement si elle
vérifie (4.14).
pour
J(x) = 12 x21 + 12 x22 + 12 x23 − x1 x2 − x1 − 2x2 − x3
et
K = {(x1 , x2 , x3 )T ∈ Rn tel que x1 + x2 − x3 = 1, 2x3 + x2 = 2}.
La matrice
A
ici est semi-définie
positive, (ses valeurs propres sont 0, 1 et 2). Si on note
1 0
c1 = 1 et c2 = 1 les deux vecteurs représentant les deux lignes de la matrice
−1 2
C, alors
C T λ̄ = λ̄1 c1 + λ̄2 c2 .
x1
un vecteur x̄ = x2 est solution de ce problème si et seulement si il existe λ̄ =
x3
T 2
(λ1 , λ2 ) ∈ R tel que
x1 − x2 + λ1 =1
−x1 + x2 + λ1 + λ2 = 2
x3 − λ1 + 2λ2 = 1
x1 + x2 − x3 =2
x2 + 2x3 =1
1 1
1
Ce système admet comme solution x̄ = 1 et λ̄ = . Donc x̄ = 1 est
1
0 0
la solution cherchée.
62
4.2 Quelques algorithmes
Proposition 4.1.9 Si A est symétrique définie positive, alors le problème (4.16) admet
une solution unique x̄ si et seulement si
p A BT x̄ b
∃ µ̄ ∈ R µ̄ ≥ 0/ = et µ̄j (B x̄ − c)j = 0, pour tout 1 ≤ j ≤ p.
B 0 µ̄ c
Preuve.
Similaire au cas avec contraintes d’égalités où on utilise ici (4.1.5).
maxp L(x̄, λ)
λ∈R
λ≥0
où
L(x, λ) = 12 (Ax, x) − (b, x) + (Bx − c, λ)
est appelé le Lagrangien du problème quadratique (4.16).
63
Chapitre 4. Optimisation avec contraintes linéaires
Lorsque qu’on minimise sur une partie K supposée fermée convexe, on n’est pas sur qu’à
chaque étape k, l’itéré x(k) reste dans K même si on part d’un 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ù Pk désigne la projection sur le fermé convexe K. L’algorithme du
gradient projeté s’écrit :
1. On choisit x(0) ∈ K,
2. Pour k ≥ 0, on calcule
(k)
d = −∇J(x(k) ),
x(k+1) = PK (x(k) + αd(k) )
Proposition 4.2.1 Soit A une matrice symétrique définie positive et K est un convexe
2
fermé non vide de Rn . Si 0 < α < , alors la suite générée par la méthode du gradient
ρ(A)
projeté converge vers x̄ réalisant le minimum de J(x) = 12 (Ax, x) − (b, x) sur K.
Preuve.
Commençons par montrer que si x̄ est la solution unique du problème (P ), alors, pour
tout α > 0, on a
x̄ = PK (x̄ − α∇J(x̄)).
En effet, comme x̄ est solution du problème de minimisation convexe (P), alors d’après
l’inéquation d’Euler, on a pour tout x ∈ K,
(∇J(x̄), x − x̄) ≥ 0,
x̄ = PK (x̄ − α∇J(x̄)).
64
4.2 Quelques algorithmes
où
L(x, λ) = 12 (Ax, x) − (b, x) + (Bx − c, λ).
Comme x 7→ L(x, λ̄) est convexe et elle vérifie
∂L
(x̄, λ̄) = Ax̄ − b + B T λ̄ = 0,
∂x
donc x̄ est aussi solution de
min L(x, λ̄).
x∈Rn
Ainsi ∀x ∈ Rn , ∀λ ∈ Rp+ , on a
L(x̄, λ) ≤ L(x̄, λ̄) ≤ L(x, λ̄).
On dit que (x̄, λ̄) est un point selle de L.
Le principe de la méthode d’Uzawa consiste à calculer numériquement ce point selle.
On se donne (x(0) , λ(0) ), et si à l’itération k on connaı̂t (x(k) , λ(k) ), on commence par
calculer x(k+1) solution de minn L(x, λ(k) ) sur Rn solution donc de système Ax = b−B T λ(k) ,
x∈R
puis calculer
∂L (k+1) (k)
λ(k+1) = PRp+ (λ(k) + α (x , λ )) = max(0, λ(k) + α(Bx(k) − c)),
∂λ
itéré obtenu par la méthode du gradient projeté, de pas α, appliquée au problème dual
max L(x(k) , λ).
λ∈Λ
65
Chapitre 4. Optimisation avec contraintes linéaires
On peut utiliser une des méthodes numériques directes ou itératives pour déterminer
(k+1)
x
Proposition 4.2.2 Soit A une matrice symétrique définie positive et soit λ1 sa plus petite
2λ1
valeur propre. Alors si 0 < α < , la suite (x(k) ) générée par l’algorithme d’Uzawa
kBk22
converge vers x̄ solution du problème min 21 (Ax, x) − (b, x).
Bx≤c
Preuve. On a
Ax̄ − b + B T λ̄ = 0
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
(A(x(k+1) − x̄), x(k+1) − x̄) = −(B T (λ(k) − λ̄), x(k+1) − x̄) = −(λ(k) − λ̄, B(x(k+1) − x̄)).
Ainsi
λ1 kx(k+1) − x̄k22 + (λ(k) − λ̄, B(x(k+1) − x̄)) ≤ 0. (4.17)
Or
kλ(k+1) −λ̄k2 = kPRp+ (λ(k) +α(Bx(k+1) −c)−PRp+ (λ̄+α(B x̄−c)k2 ≤ kλ(k) −λ̄+αB(x(k+1) −x̄)k2 .
kλ(k+1) − λ̄k22 ≤ kλ(k) − λ̄k22 + 2α(λ(k) − λ̄, B(x(k+1) − x̄)) + α2 kB(x(k+1) − x̄)k22 .
D’après (4.17), on déduit que
kλ(k+1) − λ̄k22 ≤ kλ(k) − λ̄k22 − 2αλ1 kx(k+1) − x̄k22 + α2 kBk22 kx(k+1) − x̄k22 (4.18)
66
4.2 Quelques algorithmes
2λ1
Si on choisit α tel que 0 < α < , alors β = α(2λ1 − αkBk22 ) > 0 et
kBk22
Ainsi la suite (kλ(k) − λ̄k22 ) est décroissante, donc convergente et par conséquent (kx(k+1) −
x̄k22 ) converge vers 0 puisque
Exercice 4.2.1 Ecrire la méthode d’Uzawa pour un problème quadratique avec contraintes
d’égalités.
67
Chapitre 4. Optimisation avec contraintes linéaires
68
Références
69