Vous êtes sur la page 1sur 150

Notes de cours d’analyse numérique

et d’optimisation continue.
TELECOM BRETAGNE
S1, MTS 435 et préparation Master SISEA (Rennes I)

Thierry CHONAVEL
thierry.chonavel@telecom-bretagne.eu

novembre 2014
Table des matières

1 Introduction 8

2 Un exemple introductif 13

I Analyse numérique matricielle 20

3 Rappels sur les matrices et les systèmes d’équations linéaires 21

3.1 Applications linéaires et matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.2 Changement de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.3 Quelques familles de matrices importantes . . . . . . . . . . . . . . . . . . . . . . 24

3.4 Déterminant et inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.4.1 Valeurs propres et vecteurs propres . . . . . . . . . . . . . . . . . . . . . . 26

3.4.2 Image et noyau d’une matrice . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.4.3 Changement de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.4.4 Factorisation de matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.5 Produits scalaires et normes vectorielles et matricielles . . . . . . . . . . . . . . . 28

3.5.1 Projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.6 Notions générales sur les algorithmes numériques . . . . . . . . . . . . . . . . . . 29

3.6.1 Complexité algorithmique . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

1
TABLE DES MATIÈRES 2

3.6.2 Conditionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4 Systèmes d’équations sur-déterminés et sous-déterminés 32

4.1 Systèmes sur-déterminés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.2 Systèmes sous-déterminés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.3 Cas général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.4 Matrices blocs et résolution partielle des systèmes linéaires . . . . . . . . . . . . . 35

5 Résolution directe des systèmes linéaires 36

5.1 Méthodes de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5.1.1 Principe général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5.1.2 Stabilité et pivot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

5.1.3 Coût de calcul, déterminant et inverse . . . . . . . . . . . . . . . . . . . . 38

5.1.4 Méthode de Cholesky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5.2 Triangularisation par orthonormalisation . . . . . . . . . . . . . . . . . . . . . . . 40

5.2.1 Méthode de Householder . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.2.2 Méthode des rotations de Givens . . . . . . . . . . . . . . . . . . . . . . . 41

5.2.3 Méthode de Gram-Schmidt . . . . . . . . . . . . . . . . . . . . . . . . . . 42

6 Résolution itérative des systèmes linéaires 43

7 Décompositions en valeurs propres et en valeurs singulières 45

7.1 Diagonalisation des matrices symétriques : la méthode de Jacobi . . . . . . . . . 46

7.2 Forme Hessenberg des matrices carrées . . . . . . . . . . . . . . . . . . . . . . . . 47

7.3 Décomposition en valeurs propres : le cas général . . . . . . . . . . . . . . . . . . 49

7.3.1 Aspects algorithmiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49


TABLE DES MATIÈRES 3

7.3.2 Lien avec la décomposition de Jordan . . . . . . . . . . . . . . . . . . . . 49

7.4 Décomposition en valeurs singulières . . . . . . . . . . . . . . . . . . . . . . . . . 50

7.4.1 Réalisation de la décomposition en valeurs singulières . . . . . . . . . . . 51

II Introduction
aux opérateurs linéaires 55

8 Introduction 56

9 Espaces de Hilbert 57

9.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

9.1.1 produit scalaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

9.1.2 Espace de Hilbert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

9.2 Théorème de projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

9.3 Bases orthonormées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

9.4 Séparabilité et isométrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

9.4.1 Séparabilité et bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

9.4.2 Projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

9.4.3 Isométrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

10 Opérateurs linéaires 63

10.1 Norme d’un opérateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

10.2 Représentation matricielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

III Interpolation et intégration 68

11 Interpolation et intégration 69
TABLE DES MATIÈRES 4

11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

11.2 Interpolation polynomiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

11.2.1 Interpolation de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

11.2.2 Le phénomène de Runge . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

11.3 Intégration de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

11.4 Méthode de Gauss-Legendre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

11.5 Méthode de Clenshaw-Curtis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

11.6 Calcul d’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

IV Optimisation 76

12 Introduction 77

13 Eléments de calcul différentiel 80

13.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

13.2 Rappels sur les espaces L(X, Y ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

13.3 Dérivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

13.3.1 Application dérivée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

13.3.2 Dérivation pour f définie sur des espaces produits . . . . . . . . . . . . . 81

13.3.3 Composition des applications dérivables . . . . . . . . . . . . . . . . . . . 82

13.4 Dérivée seconde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

13.5 Formules de Taylor et théorème des fonctions implicites . . . . . . . . . . . . . . 83

13.6 Accroissements finis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

13.7 Formules de taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

14 Optimisation sans contraintes : critères d’optimalité 85


TABLE DES MATIÈRES 5

14.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

14.1.1 Optimalité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

14.1.2 directions admissibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

14.2 Conditions nécessaires d’optimalité . . . . . . . . . . . . . . . . . . . . . . . . . . 86

14.3 Conditions suffisantes d’optimalité . . . . . . . . . . . . . . . . . . . . . . . . . . 88

14.4 Convexité et optimalité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

14.4.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

14.4.2 Caractérisations de la convexité . . . . . . . . . . . . . . . . . . . . . . . . 89

14.4.3 Exemples de fonctions convexes . . . . . . . . . . . . . . . . . . . . . . . . 90

14.4.4 Minima des fonctions convexes . . . . . . . . . . . . . . . . . . . . . . . . 90

14.5 Fonctions quadratiques et elliptiques . . . . . . . . . . . . . . . . . . . . . . . . . 91

15 Algorithmes d’optimisation sans contraintes 93

15.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

15.2 Méthode de relaxation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

15.3 Algorithme du gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

15.3.1 Choix du pas et convergence . . . . . . . . . . . . . . . . . . . . . . . . . 95

15.4 Méthode de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

15.4.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

15.4.2 Autre interprétation dans le cas scalaire . . . . . . . . . . . . . . . . . . . 97

15.4.3 Méthodes de type quasi-Newton . . . . . . . . . . . . . . . . . . . . . . . 98

15.4.4 Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

15.4.5 L’algorithme de Levenberg-Marquart . . . . . . . . . . . . . . . . . . . . . 99

15.5 L’algorithme du gradient conjugué . . . . . . . . . . . . . . . . . . . . . . . . . . 99


TABLE DES MATIÈRES 6

16 Optimisation sous contraintes : critères d’optimalité 101

16.1 Le théorème des fonctions implicites . . . . . . . . . . . . . . . . . . . . . . . . . 101

16.2 Points réguliers et espace tangent . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

16.2.1 Contraintes d’égalité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

16.2.2 Contraintes d’égalité et d’inégalité . . . . . . . . . . . . . . . . . . . . . . 103

16.3 conditions d’optimalité en présence de contraintes d’égalité . . . . . . . . . . . . 103

16.3.1 Condition nécessaire d’optimalité . . . . . . . . . . . . . . . . . . . . . . . 103

16.4 Conditions d’optimalité en présence de contraintes d’égalité et d’inégalité . . . . 107

16.4.1 Condition nécessaire du premier ordre . . . . . . . . . . . . . . . . . . . . 107

16.4.2 Conditions du second ordre . . . . . . . . . . . . . . . . . . . . . . . . . . 108

16.5 Lagrangien, points selles, et dualité . . . . . . . . . . . . . . . . . . . . . . . . . . 109

16.5.1 Points selles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

16.5.2 Problèmes primal et dual . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

16.6 Optimisation et calcul formel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

17 Optimisation sous contraintes : algorithmes 114

17.1 Extension des méthodes sans contraintes . . . . . . . . . . . . . . . . . . . . . . . 114

17.1.1 Méthode de relaxation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

17.1.2 Théorème de projection et gradient projeté . . . . . . . . . . . . . . . . . 114

17.1.3 Méthode de point intérieur . . . . . . . . . . . . . . . . . . . . . . . . . . 115

17.1.4 Méthode de pénalisation externe . . . . . . . . . . . . . . . . . . . . . . . 116

17.1.5 Méthode d’Uzawa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

18 Programmation linéaire 118

18.1 Le problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118


TABLE DES MATIÈRES 7

18.2 Bases réalisables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

18.2.1 Solutions de base réalisables optimales . . . . . . . . . . . . . . . . . . . . 119

18.3 Changement de base réalisable . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

18.4 algorithme du simplexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

18.5 Programmation linéaire et dualité . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

18.5.1 Problème primal et problème dual . . . . . . . . . . . . . . . . . . . . . . 121

18.6 Equivalence du problème primal et du problème dual . . . . . . . . . . . . . . . . 121

18.7 Théorème de dualité pour la programmation linéaire . . . . . . . . . . . . . . . . 122

A Master SISEA
Corrigé des examens
(printemps 2006 à 2011) 126
Chapitre 1

Introduction

La version actuelle de ces notes de cours résulte d’évolutions progressives du document depuis
une dizaine d’année.

L’analyse numérique et l’optimisation constituent deux aspects importants et souvent complémentaires


des mathématiques de l’ingénieur. Une connaissance de notions de base dans ces deux domaines
est indispensable pour une ingénierie de bon niveau. Les développements rapides de l’infor-
matique ont fait de ces branches des mathématiques des outils universellement utilisés dans
l’industrie et les services.

De nombreux logiciels utilisent divers algorithmes performants d’analyse numérique et d’opti-


misation, mais avant de pouvoir les utiliser, il faut déjà avoir conscience de leur existence, des
problèmes qu’ils peuvent résoudre, avec leurs performances et leurs limitations. Avant mme cela,
il faut savoir mettre en forme le problème étudié sous la forme mathématique appropriée à la
mise en oeuvre d’algorithmes.

Une fois la mise en forme d’un problme effectue et les techniques gnrales pour le rsoudre connues,
il peut tre utile, pour des implémentations spécifiques qui peuvent concerner par exemple la mise
en oeuvre sur des processeurs de traitement de signal ou pour des adaptations des algorithmes
dans le cadre d’activités de R&D, d’être capable de ’décortiquer’ le fonctionnement d’un algo-
rithme, ce qui suppose un minimum de familiarité avec les principes sur lesquels ils reposent.
Aussi, mme si l’essentiel des algorithmes n’est pas dtaill en cours ou n’est que rapidement test
lors des travaux pratiques, un certain nombre de mthodes standard est prcis dans le polycopi. Les
codes fournis visent en particulier montrer que souvent l’implmentation informatique conduit
un code simple et concis.

Ce cours vise d’abord à rappeler quelques notions élémentaires d’analyse numérique matricielle
et d’optimisation et à donner les grandes lignes de méthodes classiques importantes pour les
problèmes d’ingénierie courants. La partie relative aux matrices est complétée par une partie
d’introduction aux opérateurs linéaires qui étendent naturellement en dimension infinie les no-
tions de fonctions linéaires et de matrice. Cette dernière partie est encore incomplète et sera
développée dans les versions ultérieures du polycopié.

8
CHAPITRE 1. INTRODUCTION 9

On présente également ici quelques notions de base sur l’interpolation polynomiale des fonctions
et leur intégration numérique qui constituent des outils standards d’ingénierie. Pour l’analyse
numérique matricielle, on envisagera surtout les outils classiques de résolution des systèmes
d’équations linéaires et on donnera quelques indications sur la diagonalisation des matrices.
Pour ce qui concerne l’optimisation, on indiquera les méthodes de recherche d’optima à utiliser
selon les propriétés des critères à optimiser et la nature des contraintes.

Précisons maintenant un peu plus la nature des problèmes que l’on va envisager.

Commençons par reproduire ici la définition de l’analyse numérique fournie par l’encyclopédie
en ligne Wikipedia :
“l’analyse numérique est l’étude des algorithmes permettant de résoudre les problèmes de mathématiques
continues (distinguées des mathématiques discrètes). Cela signifie qu’elle s’occupe principale-
ment de répondre numériquement à des questions à variable réelle ou complexe comme l’algèbre
linéaire numérique sur les champs réels ou complexes, la recherche de solution numérique d’équations
différentielles et d’autres problèmes liés survenant dans les sciences physiques et l’ingénierie”.

Comme on l’a déjà indiqué plus haut, on se limite essentiellement ici à l’analyse numérique ma-
tricielle. Le premier but de ce cours est de mettre en évidence l’intérêt de la mise en forme matri-
cielle de problèmes classiques rencontrés en traitement statistique de l’information. L’étude de
la résolution exacte ou approchée des systèmes linéaires d’équations sera l’occasion de présenter
un certain nombre de résultats sur la décomposition des matrices, utiles à l’étude de nom-
breux problèmes. On distinguera, comme c’est généralement le cas dans ce genre d’exposé les
méthodes directes qui fournissent une solution au prix d’un nombre limité fixé d’opérations des
méthodes itératives qui fournissent une solution approchée à chaque itération, la solution exacte
n’étant généralement obtenue qu’asymptotiquement. On s’intéressera également au problème de
la décomposition en valeurs propres des matrices, qui n’a pas de solution numérique exacte en
général puisqu’il s’apparente au problème de recherche des racines d’un polynôme (en l’occurence
le polynôme caractéristique de la matrice).

Dans le domaine de l’intégration numérique, les techniques généralement envisagées visent à


construire des approximations des intégrales par l’intégration d’interpolants polynomiaux des
fonctions à intégrer. Cela conduit à des formules de quadrature de la forme
Z b n
X
f (x)dx ≈ wk f (xk )n, (1.1)
a k=1

où le choix des noeuds xk et les poids wk de la quadrature conditionnent la précision de la


quadrature. On présentera quelques solutions classiques à ce problme.

Dans le cadre de l’optimisation, on s’intéressera ici essentiellement à des problèmes d’optimisa-


tion continue, à variables réelles ou complexes et de forme générale

minx f (x)
(1.2)
fi (x) ≤ bi i = 1, . . . , m

qui consiste à rechercher les valeurs de x qui minimisent f (x) dans l’ensemble des contraintes
U = {x; fi (x) ≤ bi i = 1, . . . , m}.
CHAPITRE 1. INTRODUCTION 10

Notons ici que la recherche de la solution d’un problème d’optimisation d’un critère fonction
d’une variable vectorielle peut souvent faire appel aux outils de l’analyse numérique matri-
cielle. Considérons en effet l’exemple simple suivant : en l’absence de contrainte, un problème
d’optimisation quadratique du type f (x) =k Ax − b k, où k x k2 = xT x est la norme eu-
clidienne, le minimum du critère est donné par la résolution du système d’équations linéaires
(AT A)x = AT b. La recherche du vecteur x par ce critère fournit une approximation du vecteur
b sous la forme Ax et est connue sous le nom de méthode des moindres carrés.

Cependant, tous les problèmes d’optimisation ne se ramènent pas à des problèmes d’analyse
numérique matricielle et la théorie de l’optimisation mathématique recense des classes de problèmes
importants pour lesquels on sera en mesure de fournir des résultats théoriques en terme de condi-
tions ncessaires et/ou suffisantes sur l’existence de solutions ainsi que des algorithmes pratiques
performants permettant de les calculer.

Ces notes de cours, actualisées depuis 2006, sont essentiellement constituées de deux parties
qui traitent respectivement de d’analyse numérique matricielle (et plus particulièrement de la
résolution des systèmes d’équations linéaires) et d’optimisation, avec un accent particulier mis
sur l’optimisation convexe dont on a évoqué l’importance ci dessus. Pour ce qui concerne les
prérequis, ce cours suppose acquis un niveau de mathématiques générales bac+2. Par ailleurs,
des connaissances de bases en probabilités et en statistiques seront nécessaires pour appréhender
certains des exemples présentés.

Les résultats sont souvent justifiés de manière succinte et on pourra trouver des compléments
utiles dans la littérature et sur le WEB. Chacune des parties analyse numérique et optimisation
possède sa propre bibliographie. Aussi, les numéros de référence correspondent t’ils à la biblio-
graphie de la partie concernée. Pour ce qui concerne la partie relative à l’analyse numérique, la
référence [2] constitue une bonne référence en français dans laquelle les principaux algorithmes
d’analyse numérique matricielle sont expliqués. La référence [3] constitue un outil très utile pour
l’ingénieur qui doit implémenter des algorithmes. De nombreuses méthodes sont détaillées et les
implémentations en pseudo-code sont fournies. Notons que la référence [2] constitue une bonne
introduction à l’analyse numérique de même qu’à l’optimisation, tout comme la référence [1].
Tout comme pour l’analyse numérique, il existe de nombreux ouvrages généralistes et d’excel-
lente qualité sur l’optimisation, tels que [7], [8] ou [9]. Pour le cas important de l’optimisation
convexe, on pourra par exemple se référer à [3], [4] ou [5].
CHAPITRE 1. INTRODUCTION 11

Notations et Abréviations

|a|, |M| module d’un nombre complexe, déterminant d’une matrice

vT , MT transposé d’un vecteur, d’une matrice

a∗ , v∗ , M∗ valeur conjuguée d’un scalaire, d’un vecteur, ou d’une matrice

vH , MH valeur transposée et conjugué d’un vecteur ou d’une matrice

< x, y > produit scalaire de x et de y

T r(M) trace d’une matrice

sign(a) sign(x) = +1, −1, 0, selon que a est positif, négatif, nul

δa,b δa,b = 1 si a = b, et 0 sinon (symbôle de Kronecker)

[v]i , [M]ij élément d’indices i, ou (i, j), d’un vecteur ou d’une matrice

kMk norme de M (la norme choisie est définie par le contexte)

Re[z], Im[z] partie réelle, imaginaire, de z

a = b mod[p] a est le reste de la division de b par p

N, Z, R, C ensembles des nombres entiers, entiers relatifs, réels, et complexes

D disque unité ouvert

Ck ensemble des fonctions k fois dérivables, de dérivées continues

C ∞ (K) ensemble des fonctions infiniment dérivables,


de support compact et contenu dans K

L(X, Y ), L(X) ensembles des applications linéaires continues


de X dans Y , de X dans X

L(X, R) = X 0 espace dual de X

L2 (X, Y ) applications bilinéaires continues bijectives de X × X dans Y


CHAPITRE 1. INTRODUCTION 12

Isom(X, Y ) applications linéaires continues bijectives de X dans Y ,


et d’inverses continues (isométries de X dans Y )

ε(h) fonction telle que limkhk→0 ε(h) = 0

O ensemble ouvert

V espace vectoriel normé

Vx voisinage du point x

B(a, r) boule ouverte de centre a et de rayon r

B(Rn ) tribu borélienne de Rn

vect{(Xi )i∈I } espace vectoriel engendré par les combinaisons linéaires finies des Xi

vect{(Xi )i∈I } prolongement de vect{(Xi )i∈I } en un espace complet

1IA fonction indicatrice de l’ensemble A


Chapitre 2

Un exemple introductif

Dans ce chapitre, on présente un exemple introductif qui illustre un certain nombre de notions
sur lesquelles on reviendra dans les chapitres suivants. On y présente, sous la forme d’un exercice
un exemple d’application qui met en oeuvre un certain nombre de concepts d’analyse numérique
matricielle et d’optimisation dans le cadre du traitement déterministe ou statistiques de signaux.

On considère une équation de convolution de la forme y = h ∗ x, où h représente la réponse


impulsionnelle d’un filtre, x son entrée et y Rsa sortie. L’chantillonnage de l’quation intgrale
T
de convolution y = h ∗ x donne par y(t) = 0 h h(u)x(tP− u)du (Th est la dure de la rponse
impulsionnelle du filtre causal h) conduit l’criture yn = k=0,L hk xn−k , o xn = x(nT ) et hn =
T −1 h(nT ) sont obtenus par l’chantilonnage de l’quation de convolution avec un pas gal T .

On suppose dans un premier temps que le filtre h est connu mais que le signal x est inconnu.
On cherche à retrouver les valeurs de xn , . . . , xn+N à partir de l’observation de y sur le même
intervalle de temps, c’est à dire l’observation de yn , . . . , yn+N .

Question 1 Ecrivez la relation matricielle qui lie le vecteur observé y = [yn , . . . , yn+N ]T à
l’entrée x et vérifiez que du fait de l’étalement temporel introduit par le filtrage, elle fait intervenir
le vecteur [xn−L , . . . , xn , . . . , xn+N ]T . Cette relation matricielle est dite sous-déterminée car elle
fait intervenir plus d’inconnues que d’équations. Indiquez la forme générale de l’ensemble des
solutions pour x = [xn , . . . , xn+N ]T en montrant qu’on peut la paramétrer par xn−L , . . . , xn .
(Il s’agit d’un cas particulier d’un résultat plus général connu sous le nom de théorème des
fonctions implicites.)

Réponse Les relations de convolution s’écrivent


X
yn+k = hj xn+k−i ,
j=0,L

13
CHAPITRE 2. UN EXEMPLE INTRODUCTIF 14

pour k = 0, . . . , N . Mises sous forme matricielle, elles s’écrivent


     
yn hL hL−1 . . . h0 0 ... 0 xn−L
 yn+1   0 hL hL−1 . . . h0 0 . . .
 xn−L+1 
 
 ..  =  ..  ×  ..  . (2.1)
  
 .   . 0   . 
yn+N 0 ... 0 hL hL−1 . . . h0 xn+N

Notons maintenant que dans un système d’équations général de la forme y = Ax où A a l lignes
et c colonnes, on peut écrire A sous la forme A = [A1 |A2 ] où A1 et A2 sont de tailles respectives
l × c1 et l × c2 , avec c1 + c2 = c. De même x s’écrit comme xT = [xT1 |xT2 ], où les sous vecteurs
sont de tailles c1 et c2 . Il résulte de cette écriture que l’on peut représenter y sous la forme

y = A1 x1 + A2 x2 .

En appliquant ce principe à notre problème, on voit que


 
hL hL−1 . . . h1
  0 hL . . . h2 
yn
  
 .. .. 
xn−L

 yn+1  
 . . h L . . . 
  . 
 ..  =  0 0 hL   ×  .. 
 
 .  
 0 
xn−1
yn+N
 
 .. .. 
 . . 
0 ... 0
  (2.2)
h0 0 ... 0
 h1 h0 0 ... 0 
  
 .. 
xn

 . 
   . 
hL hL−1 . . . h0
+ 0 ... 0   ×  .. 
0 h h . . . h 0 . . .
L L−1 0 xn+N

 
 .. 
 . 0 
0 ... 0 hL hL−1 . . . h0

En reformulant cette égalité sous la forme plus compacte suivante,


 
xn−L
y = H0  ...  + Hx, (2.3)
 

xn−1

on voit que l’ensemble des vecteurs x recherché est de la forme


 
xn−L
x = H−1 [y − H0  ... ]. (2.4)
 

xn−1

x est bien paramétré par xn−L , . . . , xn−1 .

Question 2 Reformulez le problème dans le cas particulier où on suppose que xn−L = . . . =
xn−1 = 0.Vérifiez qu’alors x est obtenu par la résolution d’un système linéaire d’équations
CHAPITRE 2. UN EXEMPLE INTRODUCTIF 15

faisant intervenir une matrice triangulaire. Montrez que ce système se résoud simplement avec
un faible coût de calcul.

Réponse Lorsque xn−L = . . . = xn−1 = 0, la représentation (2.3) prend la forme plus simple
y = Hx, avec  
h0 0 ... 0
 h1 h0 0 ... 0 
 
 .. 
 . 
 
H = hL hL−1 . . . h0
 0 ... 0  
0 hL hL−1 . . . h0 0 . . .
 
 .. 
 . 0 
0 ... 0 hL hL−1 . . . h0
On voit alors que les système d’équations se résoud simplement de façon itérative puisqu’on a
alors
xn = yn /h0 ,
xn+1 = [yn+1 − h1 xn ]/h0 ,
.. (2.5)
.
Pmax{k,L}
xn+k = [yn+k − i=1 hi xn+k−i ]/h0 , pour k = 1, . . . , N.
On voit que le calcul de x réclame ici de l’ordre de 1 + 2 + 3 . . . + (N + 1) multiplications, soit
environ N 2 /2 opérations.

Question 3 Plus généralement, on verra dans le cours qu’une matrice carrée A inversible
peut s’écrire sous la forme A = LU, où L et U sont respectivement triangulaire inférieure et
triangulaire supérieure. Vérifiez que A est inversible si et seulement si les diagonales de L et de
U ne contiennent pas de termes nuls. Dans ce cas, si L et U sont connues, indiquez comment
on peut résoudre le système d’équations y = Ax et donnez un ordre de grandeur du nombre
d’opérations que requiert cette résolution. En fait, on verra que c’est la mise en forme LU de
A qui représente le coût de calcul prépondérant (de l’ordre de N 3 opérations).

De même, la matrice A peut s’écrire sous la forme A = QR, où Q et R sont respectivement
orthogonale (c’est à dire que QQT = I) et triangulaire supérieure. Là encore, si Q et R sont
connues, indiquez comment on peut résoudre le système d’équations y = Ax.

Réponse |A| = |L| × |U| = Πi=1,N Lii Uii . A est inversible si et seulement si |A| 6= 0, c’est à
dire si les termes diagonaux de L et de U sont non nuls.
Si y = Ax et A = LU, alors y = L(Ux) et on voit en posant z = Ux que x peut être calculé
en résolvant successivement les deux systèmes d’équations triangulaires y = Lz puis z = Ux, ce
qui demandera environ N 2 opérations (en ne comptant que les multiplications).

De même, si A = QR avec QQT = I, on voit que QT y = Rx et l’on est simplement amené à


calculer QT y, ce qui demande environ N 2 opérations, puis à résoudre le système triangulaire,
soit au total 3N 2 /2 opérations.

Question 4 Reprenons notre problème de départ et supposons que le signal x est constitué d’un
préambule, qui reproduit les derniers symboles de la séquence xn , . . . , xn+N , c’est à dire que l’on
CHAPITRE 2. UN EXEMPLE INTRODUCTIF 16

a
(xn−L , . . . , xn−1 ) = (xn+N −L+1 , . . . , xn+N ). (2.6)
Ce genre de technique est utilisée dans certaines méthodes de transmissions numériques, telle
l’OFDM (Orthogonal Frequency Division Multiplexing). Reformulez le problème sous forme ma-
tricielle et montrez que maintenant les inconnues xn , . . . , xn+N sont liées à y par une relation
qui fait intervenir une matrice circulante, c’est à dire que chaque ligne de la matrice se déduit
de la précédente par une permutation circulaire. Montrez que les vecteurs propres d’une matrice
circulante sont les vecteurs de la transformée de Fourier discrète, c’est à dire de la forme

Wk = [1, e2iπk/(N +1) , e2iπ2k/(N +1) , . . . , e2iπN k/(N +1) ]T /sqrtN + 1. (2.7)

Calculez les valeurs propres correspondantes et indiquez la forme de la décomposition en valeurs


propres d’une telle matrice. En déduire une technique simple pour calculer x. Montrez comment
ces résultats sont liés avec la formulation fréquentielle de l’opération de convolution.

Réponse On vérifie facilement que l’introduction du préambule a pour effet de conduire au


système d’équations y = Cx, avec
 
h0 0 ... 0 hL . . . h1
 .. 
 h1 h 0 0 . . . 0 . 
 ..
 
..
.

 . 
 
hL−1 . . . h0 0 ... 0 hL 
C= 
 hL hL−1 . . . h0 0 ... 0 
 
 0 hL hL−1 . . . h0 0 . . .
 
 .. . . 
 . . 
0 ... 0 hL hL−1 . . . h0

On observe que C est une matrice circulante : on passe d’une ligne à l’autre de la matrice par
permutation circulaire vers la droite de ses coefficients.

En remarquant que e2iπnk/(N +1) 2iπ(n−N −1)k/(N +1) , on vérifie facilement que la tème compo-
P =e
sante du vecteur CWk vaut [ p=0,L hp e−2iπpk/(N +1) ]e2iπtk/(N +1) . Finalement, on voit que
X
CWk = [ hp e−2iπpk/(N +1) ]Wk . (2.8)
p=0,L

Remarquons que p=0,L hp e−2iπpk/(N +1) est la kème composante de la transformée de Fourier
P

discrète du vecteur de taille N + 1 [h0 , h1 , . . . , hL , 0, . P . . , 0]T , qui est obtenu en complétant le


vecteur h avec N − L coefficients nuls. Notons ĥk = p=0,L hp e−2iπpk/(N +1) . Le vecteur ĥ =
[ĥ0 , ĥ1 , . . . , ĥN ] représente la réponse fréquentielle du filtre h échantillonnée sur N + 1 points sur
la bande d’échantillonnage.

Notons W = [W0 , . . . , WN ], la matrice de transformée de Fourier et diag(ĥ) la matrice diagonale


dont les termes diagonaux sont les composantes de ĥ. On voit que les relations (2.8) conduisent

CW = Wdiag(ĥ),
CHAPITRE 2. UN EXEMPLE INTRODUCTIF 17

et comme W est une matrice unitaire, c’est à dire que WWH = I,

C = Wdiag(ĥ)WH .

Mais alors, le système d’équations y = Cx s’écrit encore (WH y) = diag(ĥ)(WH x) et WH x et


WH y représentent respectivement les transformées de Fourier discrètes de x et de y que l’on
notera x̂ et ŷ. Finalement, on a ŷ = diag(ĥ)x̂, ce qui s’exprime composante par composante
comme
ŷk = ĥk x̂k k = 0, . . . , N. (2.9)
Ces relations ne font qu’exprimer le fait qu’en passant dans le domaine de Fourier l’opération
de convolution devient une simple multiplication.

Notons que partant du système d’équations y = Cx obtenu en circularisant l’opération de


convolution (c’est à dire en périodisant x), les opérations de transformées de Fourier discrètes de
y et de h requièrent chacune de l’ordre de N log2 N opérations par l’emploi de l’algorithme de
FFT (Fast Fourier Transform). Les relations (2.9) permettent alors de calculer x̂ directement. x
s’en déduit par transformée de Fourier inverse. Au total, on voit donc que la résolution du système
d’équations est seulement de l’ordre de 3N log2 N opérations, grâce au passage dans le domaine
de Fourier que l’on a justifié ici en passant par la décomposition en valeurs propres de la matrice
C. On voit sur cet exemple comment des notions d’analyse (la convolution et la transformée
de Fourier) et d’algèbres (la décomposition en valeurs propres des matrices circulantes) peuvent
s’éclairer mutuellemnt.

Question 5 Supposons maintenant que le signal x soit connu et que l’on observe
L
X
ym = hk xm−k + vm , m = n, n + 1, . . . , n + N, (2.10)
k=0

où les coefficients du filtre h sont maintenant inconnus, et v est un bruit d’observation. Exprimez
la relation matricielle qui lie l’observation y au vecteur h = [h0 , . . . , hL ]T sous la forme y =
Xh + v.

Réponse On a clairement
     
yn xn xn−1 . . . xn−L   vn
 yn+1   xn+1 h0
xn   ..   vn+1 
. . . xn+1−L   
 ..  =   ×  .  +  ..  , (2.11)
  
..
 .   .   . 
hL
yn+N xn+N −L xn+N −L+1 . . . xn+N vn+N

ce que l’on note simplement sous la forme y = Xh + v.

Question 6 Supposons que N > L. Le système comporte alors plus d’équations que d’inconnues ;
Il est dit sur-déterminé. Lorsque v est nul, il est clair que l’on obtient un système d’équations
redondantes mais il n’est cependant pas évident de savoir a priori pour un système sur-déterminé
quelles équations éliminer pour se ramener à un système carré inversible (en supposant que la
matrice intervenant dans la relation initiale soit de rang plein). De plus, lorsque v 6= 0, le
système y = Xh n’aura pas de solution en général du fait de la présence de bruit qui introduit
une erreur de modélisation dans la description de y comme un élément de l’espace image de
CHAPITRE 2. UN EXEMPLE INTRODUCTIF 18

la matrice X. A défaut d’une solution exacte, on cherche une solution approchée et un critère
naturel consiste à chercher la valeur de h pour laquelle le modèle y = Xh est, en un certain
sens, le moins erroné possible. Dans de nombreuses situations, on cherche à minimiser la norme
de l’erreur de modélisation, c’est à dire qu’on choisi pour h la grandeur

hM C = arg min k y − Xh k2 . (2.12)


h

Calculez hM C . La minimisation du critère k y − Xh k2 est appelée méthode des moindres


carrés.

Réponse Le critère à minimiser s’écrit

k y − Xh k2 = (y − Xh)T (y − Xh)

= yT y − hT XT y − yT Xh + hT XT Xh (2.13)

= hT (XT X)h − 2hT (XT y) + yT y.

Rappelons maintenant que la minimisation d’une fonction dérivable f d’une variable vectorielle
u ∈ Rn peut être envisagée en considérant la condition nécessaire fournie par l’annulation du
gradient de f au point où la fonction prend sa valeur minimale. Rappelons aussi que le gradient
de f est défini par
∂f ∂f T
∇f = [ ,..., ] .
∂u1 ∂up

En laissant de côté le terme constant yT y, la minimisation de k y − Xh k2 vis à vis de h est


équivalente à celle de J(h) = hT (XT X)h − 2hT (XT y) qui s’exprime encore comme
L
X L
X
J(h) = (XT X)ij hi hj − 2 (XT y)i hi .
i,j=0 i=0

Calculons les dérivées partielles de J. Pour k = 0, . . . , L,


∂J PL T
=2 i=0 (X X)kj hj − 2(XT y)k
∂hk
(2.14)
= [2( L T T
P
i=0 (X X)kj hj − 2(X y)k )]k

= [2(XT X)h − 2XT y]k .

Le gradient de J(h) prend donc la forme simple suivante :

∇J(h) = 2[(XT X)h − XT y]

La condition d’annulation du gradient de J(h) est donc donnée par (XT X)h − XT y = 0, soit

hM C = (XT X)−1 XT y. (2.15)

Les équations (XT X)h = XT y sont appelées les équations normales du critère des moindres
carrés k Xh − y k2 .
CHAPITRE 2. UN EXEMPLE INTRODUCTIF 19

Remarque Une façon plus directe d’aboutir au résultat consiste à utiliser le théorème de pro-
jection qui indique en particulier que dans Rn la différence entre un vecteur et sa projection
orthogonale sur un sous espace vectoriel quelconque est orthogonale à tous les éléments de
l’espace sur lequel la projection est effectuée. Ici, XhM C représente le vecteur de l’espace VX
engendré par les colonnes de la matrice X qui est le plus proche de y. En d’autres termes XhM C
est la projection orthogonale de y sur VX . L’orthogonalité de y − XhM C et de VX se traduit
par l’orthogonalité de y − XhM C et des colonnes de X, qui forment une base de VX . Cela se
traduit par
XT [y − XhM C ] = 0
et conduit directement à la relation (2.15).

Question 7 Supposons maintenant que v soit un vecteur de loi connue : v ∼ N (0, Σv ). Donnez
la loi du vecteur y et calculez l’estimateur du maximum de vraisemblance de h. Montrez l’intérêt
de cet estimateur par rapport à hM C dans le cas particulier où la matrice Σv est diagonale. Que
se passe t’il si Σv est proportionnelle à la matrice identité ? Déduisez en une interprétation
statistique de hM C .

Réponse
hM V = (XT Σ−1 −1 T −1
v X) X Σv y. (2.16)

Question 8 Supposons enfin que h n’est plus décrit comme un paramètre inconnu mais comme
une variable aléatoire de loi connue, appelée loi a priori. On se place donc ici dans le cadre des
méthodes dites d’estimation bayesienne. On suppose que h ∼ N (0, Σh ). Calculez, en utilisant
la formule de Bayes, la densité de probabilité p(h|y), appelée densité de probabilité de la loi a
posteriori, et donnez l’expression de l’estimateur du maximum de vraisemblance a posteriori
de h défini par
hM AP = arg max p(h|y). (2.17)
h

Réponse
−1 −1 T −1
hM V = (XT Σ−1
v X + Σh ) X Σv y. (2.18)
Première partie

Analyse numérique matricielle

20
Chapitre 3

Rappels sur les matrices et les


systèmes d’équations linéaires

Revenons rapidement sur les origines de la notion de matrice. On se limite ici au cas des espaces
vectoriels de type Rn , même si l’extension de la présentation à Cn est immédiate.

3.1 Applications linéaires et matrices

Soit f une application de Rm dans Rn . Soient (ei )i=1,m une base de Rm et (ki )i=1,n une base de
Rn . On suppose que f est linéaire, c’est à dire que pour tous x1 , x2 ∈ Rm et a1 , a2 ∈ R,

f (a1 x1 + a2 x2 ) = a1 f (x1 ) + a2 f (x2 ).

Soit x ∈ Rm et notons y = f (x). On souhaite exprimer les composantes de y dans la base


(ki )i=1,n en fonction des composantes de x dans la base (ei )i=1,m . On va montrer qu’une telle
expression s’obtient facilement en fonction des composantes des vecteurs (f (ei ))i=1,m dans la
base (ki )i=1,n .

Si on note X
f (ej ) = Aij ki ,
i=1,n

et que l’on représente les coefficients Aij dans un tableau noté A, de taille n × m et appelé
matrice, dont le terme qui se trouve à l’intersection de la ième ligne et de la jème colonne est
précisemment Aij , il apparaı̈t que la jème colonne de A contient les composantes du vecteur ej
exprimées dans la base (ki )i=1,n .

Considérons maintenant la relation y = f (x). Les expressions de x et de y dans les bases


respectives (ei )i=1,m et (ki )i=1,n sont données par
X X
x= xj ej et y = yi ki ,
j=1,m i=1,n

21
CHAPITRE 3. RAPPELS SUR LES MATRICES ET LES SYSTÈMES D’ÉQUATIONS LINÉAIRES22

et la linéarité de f permet d’écrire que


P
f (x) = f ( j=1,m xj ej )

P
= j=1,m xj f (ej )

P P (3.1)
= j=1,m xj [ i=1,n Aij ki ]

P P
= i=1,n [ j=1,m Aij xj ]ki .
P
Comme la représentation de y = f (x) sous la forme y = i=1,n yi ki est unique, la relation
X X X
y= yi ki = [ Aij xj ]ki
i=1,n i=1,n j=1,m

entraı̂ne que X
yi = Aij xj , pour i = 1, . . . , n. (3.2)
j=1,m

On voit que yi s’exprime comme le produit scalaire des vecteurs [Ai1 , Ai2 , . . . , Aim ]T et x, ce
qui s’exprime classiquement par l’écriture
 
x1
   x2 

yi = Ai1 Ai2 . . . Aim ×  .  . (3.3)

.
 . 
xm

En concaténant ces relations pour i = 1, . . . , n, on obtient l’expression des coordonnées de y


dans la base (ki )i=1,n :      
y1 A11 Ai2 . . . A1m x1
 y2   A21 A22 . . . A2m   x2 
 ..  =  ..  ×  ..  . (3.4)
     
.  .   . 
yn An1 An2 , . . . Anm xm
Il faut interpréter cette expression comme un résumé des relations (3.2).

Notons que souvent, lorsqu’il n’y a pas d’ambiguité sur les bases choisies on identifie les vecteurs
x et y avec leurs représentations    
x1 y1
 x2   y2 
 ..  et  ..  (3.5)
   
 .  .
xm yn
dans ces bases et on note la relation (3.4) sous la forme compacte

y = Ax. (3.6)
CHAPITRE 3. RAPPELS SUR LES MATRICES ET LES SYSTÈMES D’ÉQUATIONS LINÉAIRES23

3.2 Changement de base

On a vu que la matrice A caractérise une application linéaire f pour des bases fixées des espaces
de départ et d’arrivée. On peut se demander comment l’expression de A se trouve modifiée lors
d’un changement de base.

Limitons nous ici au cas d’une application f de Rn dans Rn et supposons que A représente la
matrice de A pour la base (ei )i=1,n de Rn . Considérons une autre base de Rn , notée (e0i )i=1,n et
notons A0 la représentation matricielle de f dans cette nouvelle base.

On va voir que la relation entre A et A0 peut être exprimée en fonction des relations de passage
de la base (ei )i=1,n à la base (e0i )i=1,n . Posons
X
e0j = Pij ei . (3.7)
i=1,n

Dans la matrice P, de terme général Pij , la jème colonne contient donc les coefficients du vecteur
e0j exprimé dans la base (ei )i=1,n .

Soit maintenant un vecteur u et v = f (u). On désignera par x et x0 les vecteurs de coordonnées


de u dans les bases respectives (ei )i=1,n et (e0i )i=1,n . De façon analogue, les composantes de v
dans ces bases seront notées y et y0 :

u = i=1,n xi ei = i=1,n x0i e0i


P P

(3.8)
v = i=1,n yi ei = i=1,n yi0 e0i .
P P

Considérons par exemple la première relation. D’après la relation (3.7),


0 0
P P
i=1,n xi ei = j=1,n xj ej

0
P P
= j=1,n xj [ i=1,n Pij ei ] (3.9)

0
P P
= i=1,n [ i=1,n Pij xj ]ei .

Ainsi, xi = i=1,n Pij x0j pour i = 1, . . . , n et donc x = Px0 . De façon tout à fait identique, on
P
peut établir que y = Py0 .

Les représentations matricielles de la relation v = f (u) dans les deux bases s’écrivent y = Ax
et y0 = A0 x0 . Mais la relation y = Ax associée aux relations x = Px0 et y = Py0 conduit à

Py0 = APx0 ,

soit y0 = (P−1 AP)x0 , ce qui montre clairement que

A0 = P−1 AP.

Dans le cadre de la résolution des systèmes d’équations linéaires, notons que le système d’équations
y0 = A0 x0 , où x0 est inconnue, peut être plus simple à résoudre que le système d’équations initial
CHAPITRE 3. RAPPELS SUR LES MATRICES ET LES SYSTÈMES D’ÉQUATIONS LINÉAIRES24

y = Ax. Comme on le verra plus loin, l’idée consistant à mettre en évidence une représentation
équivalente d’un système d’équations linéaires pour laquelle la matrice mise en jeu est simple (ty-
piquement triangulaire ou diagonale) est à la base de nombreuses méthodes d’analyse numérique
matricielle.

Exercice On considère l’application linéaire donnée dans la base canonique de R3 (repère or-
thonormé orienté dans le sens direct), notée (e1 , e2 , e3 ) par
 
1 2 0
A = 0 1 0 . (3.10)
2 3 1

On considère maintenant la nouvelle base de R3 définie par e01 = e3 , e02 = e1 et e03 = e2 . Calculez
la matrice de passage P de la première à la seconde base et vérifiez que dans la nouvelle base
on obtient une matrice A0 triangulaire. Déduisez en l’expression du vecteur x tel que Ax = y
pour y = [1, 1, 1]T .

3.3 Quelques familles de matrices importantes

Etant donnée une matrice A de coefficients réels ou complexes, de terme général d’indice (i, j)
noté Aij , on notera A = (Aij ). La transposée et conjuguée hermitienne ou transposée-
conjuguée de A sont définies respectivement par

AT = (Aji ), et AH = (A∗ji ). (3.11)

Pour une matrice carrée A, de taille n, rappelons maintenant la définition de quelques matrices
particulières importantes

matrice symétrique réelle AT = A


matrice hermitienne complexe AH = A
matrice orthogonale réelle AAT = AT A = I (3.12)
matrice unitaire complexe AAH = AH A = I
matrice normale AH A = AAH .

Les matrices hermitiennes et unitaires peuvent être vues comme les analogues à valeurs com-
plexe des matrices symétriques et orthogonales respectivement. Les matrices orthogonales (resp.
unitaires) sont celles dont les colonnes (ai )i=1,n forment une base orthonormée, c’est à dire que
aTi aj = δi,j (resp. aH
i aj = δi,j , où δi,j = 1 si i = j, et 0 sinon).

Notons que les matrices symétriques réelles et complexes hermitiennes constituent des cas par-
ticuliers de matrices normales. De plus, les matrices symétriques (resp. hermitiennes) jouent un
rôle important dans de nombreuses situations, en particulier en probabilité et en statistiques
puisque la matrice de covariance d’un vecteur aléatoire réel X (resp. complexe), définie par
RX = E[XXT ] − E[X]E[X]T (resp. RX = E[XXH ] − E[X]E[X]H ) est clairement symétrique
(resp. hermitienne).
CHAPITRE 3. RAPPELS SUR LES MATRICES ET LES SYSTÈMES D’ÉQUATIONS LINÉAIRES25

3.4 Déterminant et inverse

Rappelons que le déterminant de la matrice A de taille n est défini par


X
|A| = σ Aσ(1),1 × . . . × Aσ(n),n , (3.13)
σ∈Gn

où Gn représente l’ensemble des permutations de l’ensemble {1, . . . , n} dans lui même, et σ la si-
gnature de la permutation σ, qui vaut +1 ou -1 selon que le nombre de permutations élémentaires
de deux coefficients successifs qu’il faut réaliser pour passer du vecteur (1, 2, . . . , n) au vecteur
(σ(1), σ(2), . . . , σ(n)) est pair ou impair. Notons une propriété importante du déterminant :

|AB| = |A|.|B| (3.14)

Si (et seulement si) |A| = 6 0, alors, la matrice A est inversible pour la multiplication matricielle,
c’est à dire qu’il existe une matrice, notée A−1 , telle que

AA−1 = A−1 A = I, (3.15)

où I représente la matrice identité (ici de taille n). On sait que

A−1 = |A|−1 Com(A)T , (3.16)

où Com(A) est la comatrice de A : Com(A)ij est le déterminant de la matrice de taille n − 1


formée de A privée de sa ligne i et de sa colonne j, multiplié par (−1)i+j :

Com(A)ij = (−1)i+j |matrice A privée de la ligne i et de la colonne j| .

Arrétons nous un instant sur cette formule. Pour calculer A−1 , il faut multiplier n − 1 termes
pour chacune des (n − 1)! permutations de chacun des n2 termes de Com(A). Au total, on
obtient de l’ordre
√ de n2 n! multiplications. Rappelons de plus que d’après la formule de Stierling,
n! = n en −n 2πn(1+ε(n)), avec limn→∞ ε(n) = 0. On dit que la complexité algorithmique du
calcul de l’inverse est exponentielle, c’est à dire que le coût de calcul croı̈t exponentiellement avec
la taille n du problème. En pratique, cela signifie que pour des problèmes même de taille réduite
(pour n de l’ordre de quelques dizaines), un ordinateur puissant serait dans l’impossibilité de
calculer l’inverse d’une matrice en un temps raisonable. En fait, les algorithmes de complexité
exponentielle sont considérés comme irréalisables en pratique et on cherche généralement des
algorithmes de complexité polynomiale. On verra qu’il est possible de réaliser l’inversion
matricielle au moyen d’algorithmes dont la complexité est de l’ordre de n3 .

Exercice Vérifiez le lemme d’inversion matricielle : si les matrices B et D sont inversibles


et A = B + CDE, alors

A−1 = B−1 − B−1 C(D−1 + EB−1 C)−1 EB−1 . (3.17)

Appliquez cette formule au calcul itératif de l’inverse de la matrice N −1 n=1,N xn xTn qui
P
représente l’estimateur empirique de la matrice de covariance d’un vecteur aléatoire centré X,
associée à une séquence de vecteurs d’observation (xn )n=1,N . Si les xn sont des réalisations
indépendantes de la matrice de covariance d’un vecteur aléatoire X = au + B, où u est un
CHAPITRE 3. RAPPELS SUR LES MATRICES ET LES SYSTÈMES D’ÉQUATIONS LINÉAIRES26

vecteur connu, a une amplitude inconnue, et B un vecteur de bruit de matrice de covariance


2 I, calculez lorsque N varie la formule itérative de l’estimateur du maximum de vraisemblance
σB
de a, noté âN .

Un autre opérateur qui apparaı̈t souvent en calcul matriciel est l’opérateur de trace, défini par
X
T r(A) = Aii . (3.18)
i

On vérifie aisément que T r(AB) = T r(BA) et T r(A + B) = T r(A) + T r(B).

3.4.1 Valeurs propres et vecteurs propres

Les valeurs propres de la matrice A sont les racines du polynôme caractéristique de A défini
par P (A) = |A − λI|. L’ensemble des valeurs propres de A définit le spectre de la matrice
A, noté [
Sp(A) = {λi (A)} ⊂ C. (3.19)
i=1,n

3.4.2 Image et noyau d’une matrice

Etant donnée une application linéaire f : Cm → Cn et A = [A1 , . . . , Am ] la matrice de f pour


des bases fixées des espaces de départ et d’arrivée. L’espace image et le noyau de f , que l’on
définira aussi par extension comme l’espace image et le noyau de A sont définis respectivement
par
Im(f ) = Im(A) = {Au ∈ Cn ; u ∈ Cm } = vect{A1 , . . . , Am }
(3.20)
Ker(f ) = Ker(A) = {u ∈ Cm ; Au = 0}.
Rappelons le résultat suivant :

dim(Im(A)) + dim(Ker(A)) = m. (3.21)

Le rang de la matrice A est défini par

rang(A) = dim(Im(A)) (3.22)

On dira que la matrice A est de rang plein si rang(A) = min(m, n).

Notons qu’en anglais rang(A) s’exprime par rank(A) tandis que Im(A) s’écrit range(A) et
Ker(A) s’exprime par N ull(A).

3.4.3 Changement de base

Comme on l’a vu au paragraphe 3.2, si A est une matrice carrée de taille n, correspondant à
l’expression d’une application linéaire dans une base B∞ = (x1 , . . . , xn ) et si B2 = (y1 , . . . , yn )
CHAPITRE 3. RAPPELS SUR LES MATRICES ET LES SYSTÈMES D’ÉQUATIONS LINÉAIRES27

représente une autre base, avec [y1 , . . . , yn ] = P [x1 , . . . , xn ], alors, l’expression de la transforma-
tion linéaire dans la base B2 est A2 = P−1 AP. Le changement de base conduit donc à factoriser
la matrice A sous la forme A = PA2 P−1 .

En analyse numérique, il est souvent utile de factoriser une matrice A sous la forme d’un
produit de matrices afin d’obtenir des problèmes plus simples à résoudre. C’est en particulier
le cas, comme on le verra, pour la résolution des systèmes d’équations linéaires. Le paragraphe
suivant liste les principales factorisations de matrices utilisées pour la résolution des systèmes
d’équations linéaires, ou la décomposition en valeurs propres.

3.4.4 Factorisation de matrices

Le théorème de Schur montre que pour une matrice A il est toujours possible de trouver un
changement de base unitaire, c’est à dire pour lequel la matrice de changement de base P est
unitaire, tel que dans la nouvelle base la matrice soit triangulaire.

Notons déjà qu’un des avantages des changements de base unitaires est que le facteur P−1 qui
apparaı̂t dans la transformation se ramène simplement à P−1 = PH , ce qui fournit sans calcul
l’inverse de P.

Théorème 1 (théorème de Schur) Soit A une matrice carrée. Alors, il existe une matrice
unitaire U telle que UH AU soit une matrice triangulaire.

Corollaire 1 Soit A une matrice normale. Alors, il existe une matrice unitaire U telle que
UH AU soit une matrice diagonale.

Exercice Démontrer le théorème de Schur et le corrolaire.

Le corrolaire indique que les matrices normales, et en particulier les matrices symétriques réelles
et les matrices complexes hermitiennes, admettent une décomposition en valeurs propres et que
la base des vecteurs propres est une base orthonormée.

Lorsque A est une matrice non normale ou non carrée, on peut cependant toujours trouver
une factorisation de A avec des matrices unitaires et une matrice diagonale. Simplement les
facteurs unitaires de droite et de gauche ne sont plus conjugués l’un de l’autre. L’obtention
de cette décomposition, appelée décomposition en valeurs singulières, provient du fait
que les matrices AAH et AH A sont hermitiennes. Elles admettent donc respectivement des
décompositions en valeurs propres de la forme UDUH et VD0 VH et on peut établir que D = D0
et A = UDVH . Les termes diagonaux de D sont appelés valeurs singulières de la matrice A.

Donnons maintenant la liste des princiales décompositions matricielles :


— décomposition LU : A = LU (L, UT triangulaire inférieure)
— factorisation de Cholesky : A = LLT (A symétrique)
— décomposition QR : A = QR, QH Q = I, R triangulaire
CHAPITRE 3. RAPPELS SUR LES MATRICES ET LES SYSTÈMES D’ÉQUATIONS LINÉAIRES28

— décomposition en valeurs propres : A = MDM−1


— décomposition de Jordan : A = MJM−1 et J bi-diagonale
— décomposition en valeurs singulières : A = UDVH (A de dimensions quelconques !)
— forme Schur : QH AQ = T (T triangulaire supérieure)
— forme Hessenberg : QH AQ = T+ sous diagonale (T(i + k, i) = 0 pour k ≥ 2)
Notons que la forme Hessenberg constitue une forme particulière qui peut être obtenue par
un calcul direct et sert à l’initialisation des techniques itératives qui permettent de calculer la
décomposition de Schur. On reviendra au chapitre IV sur les décompositions LU , de Cholesky
et QR et sur les autres au chapitre VI.

3.5 Produits scalaires et normes vectorielles et matricielles

Dans Rn , on définit le produit scalaire des vecteurs x et y par


X
< x, y >= yT x = xk y k . (3.23)
k=1,n

Le produit scalaire des matrices A et B par

< A, B >= T r(ABH ). (3.24)

Dans le cas de vecteurs et de matrices complexes ces formules deviennent

< x, y >= yH x et < A, B >= T r(ABH ). (3.25)

A ces produits scalaires, on peut associer le normes scalaires quadratiques et de Frobénius


respectivement, définies par
√ q
k x k22 = xT x, et k A k2F = T r(AT A). (3.26)

Plus généralement, on définit la norme lp d’un vecteur x par


X
k u kp = ( |ui |p )1/p (0 < p < ∞). (3.27)

On pourra vérifier l’inégalité triangulaire pour la norme (encore appelée ici inégalité de Min-
kowski) à titre d’exercice. Rappelons également au passage l’inégalité de Hölder, qui généralise
l’inégalité de Cauchy Schwarz : si p−1 + q −1 = 1,

|yH x| ≤k x kp × k y kq . (3.28)

Pour les matrices, de taille n × m, où Rm (resp. Cm ) est muni de la norme la et Rn resp. Cn )
est muni de la norme lb on peut définir des normes matricielles sous la forme

k Ax k2b
k A kab = sup = sup k Ax k2b (3.29)
x k x k2a x,kxka =1
CHAPITRE 3. RAPPELS SUR LES MATRICES ET LES SYSTÈMES D’ÉQUATIONS LINÉAIRES29

On notera simplement la norme k . kaa par k . ka . Bien sûr, toutes ces normes sont équivalentes
puisqu’en dimension finie toutes les normes sont équivalentes (rappelons que deux normes
sont équivalentes si à un facteur près la première est toujours inférieure à la deuxième, et
réciproquement).

Pour des matrices carrées, k . k désignant une norme opérateur quelconque, on peut vérifier que

k AB ka ≤k A ka × k B ka . (3.30)

Indiquons maintenant la forme prise par quelques unes des normes matricielles.
P
k A k1 = maxj i |Aij |

k A k2 = [ρ(AH A)]1/2 =k AH k2 (3.31)


P
k A k∞ = maxi j |Aij |.

Exercice Vérifier les équations (3.30) et (3.31).

Notons enfin que la norme k . k2 est invariante par transformation orthogonale sur les matrices :
si U est une matrice unitaire, k UA k2 =k A k2 .

3.5.1 Projection

Etant donné un sous espace vectoriel de Cn dont une base est donnée par les vecteurs {A1 , . . . , Am },
la matrice de projection sur ce sous-espace s’exprime à partir de la matrice A = [A1 , . . . , Am ]
par
ΠA = A(AH A)−1 AH . (3.32)
I − ΠA représente clairement le projecteur sur l’espace orthogonal à celui engendré par les
colonnes de A, de sorte que tout vecteur x se décompose sous la forme x = xA + x⊥ A , avec
xA = ΠA x ∈ Im(A) et x⊥ A = (I − Π A )x ∈ Im(A) ⊥.

Exercice Vérifiez que


(Im(A))⊥ = Ker(AT ). (3.33)

3.6 Notions générales sur les algorithmes numériques

3.6.1 Complexité algorithmique

La complexité d’un algorithme s’exprime généralement en fonction du nombre d’opérations à


réaliser pour obtenir la solution du problème qu’il doit résoudre. En fait, si ce paramètre est
très important, dans certaines applications, la quantité de mémoire informatique nécessaire au
traitement peut également s’avérer cruciale pour le choix d’un algorithme.
CHAPITRE 3. RAPPELS SUR LES MATRICES ET LES SYSTÈMES D’ÉQUATIONS LINÉAIRES30

La complexité d’un algorithme est définie comme le terme dominant de la formule qui exprime
le nombre d’opérations à réaliser lorsque la dimension caractéristique (par exemple la taille de la
matrice) du problème croit. Pour un problème de dimension n, on pourra définir cette complexité
comme une grandeur Φ(n) telle que
nombre d’opérations en dimension n
lim = 1. (3.34)
n→∞ Φ(n)
Dans de nombreuses situations, on se contente d’un ordre de grandeur de la complexité algo-
rithmique. Rappelons que g(n) = O(Φ(n)) si limn→∞ (g(n)/Φ(n)) = C, où C est une constante
finie. Notons que souvent, on ne compte que le nombre de multiplications et de divisions, les
additions et les soustraction n’étant pas prises en compte.

Exercice Calculez la complexité algorithmique liée à la résolution d’un système d’équations


Ax = b lorsque A est une matrice triangulaire.

3.6.2 Conditionnement

Un autres aspect important lié à la résolution algorithmique réside dans la robustesse de la


solution du problème obtenue vis à vis d’erreurs sur la connaissance précise des valeurs des
paramètres du problème et sur la précision des calculs en machine.

Un problème sera dit bien conditionné lorsque sa solution variera peu lors d’une faible perturba-
tion de ses paramètres. Considérons plus particulièrement le cas simple et qui nous intéresse ici
des systèmes d’équations linéaires et prenons l’exemple des deux systèmes déquations suivants
 
2x1 + 6x2 = 8 2x1 + 6x2 = 8
− −5 et (3.35)
2x1 + (6 + 10 5)x2 = 8 + 10 2x1 + (6 − 10− 5)x2 = 8 + 2.10−5 .

On voit bien que la variation relative des paramètres entre ces deux systèmes est très faible
(inférieure à 10−5 ) et que malgrè cela les solutions obtenues sont très éloignées.

Exercice Expliquez géométriquement pourquoi les solutions des deux systèmes sont très différentes.

Pour quantifier la notion de robustesse d’un système linéaire d’équations Ax = b, on va chercher


à exprimer la variation relative de la norme de la solution lorsqu’on introduit une perturbation
des paramètres qui conduit à un nouveau système noté

(A + εF)x(ε) = b + εf . (3.36)

En notant x(ε) la solution de ce système, un développement limité de x autour de ε = 0 conduit



x(ε) = x + εx0 (0) + O(ε2 ) = x + εA−1 (f − Fx) + O(ε2 ) (3.37)
d’où il vient que  
k x(ε) − x k kf k kFk
≤ εK(A) + + O(ε2 ). (3.38)
kxk kbk kAk
On voit donc que la solution sera d’autant plus insensible aux erreurs relatives sur les paramètres
A et b que le paramètre K(A) =k A kk A−1 k appelé paramètre de conditionnement, ou
CHAPITRE 3. RAPPELS SUR LES MATRICES ET LES SYSTÈMES D’ÉQUATIONS LINÉAIRES31

simplement conditionnement du système sera faible. Notons que la valeur de K(A) dépend
de la norme choisie. Cependant, si on note K2 (A) la valeur du conditionnement obtenue pour
la norme k . k2 , on peut vérifier que l’on a toujours K(A) ≥ K2 (A) ≥ 1.

Lorsque K(A) est grand, on dit que le système est mal conditionné.

Exercice Vérifiez l’équation (3.38) et montrez que pour une matrice A hermitienne, K2 (A) =
λmax (A)/λmin (A).
Chapitre 4

Systèmes d’équations sur-déterminés


et sous-déterminés

Dans ce chapitre, on reviend rapidement sur les notions de systèmes d’équations sur-déterminés
et sous-déterminés, déjà envisagées au chapitre 2.

Par opposition à un système dit régulier d’équations linéaires Ax = b pour lequel la matrice
A est carrée et inversible, auquel cas on a clairement x = A−1 b, les systèmes sur-déterminés et
les systèmes sous-déterminés qui comportent plus de lignes que de colonnes ou au contraire plus
d’inconnues que d’équations ne permettent pas de trouver une solution exacte, ou au contraire
fournissent tout un sous espace vectoriel de solutions. On rappelle ici brièvement les approches
classiques retenues dans ce genre de stuation. On se limite ici au cas réel. Le cas complexe se
traite de façon analogue et pourra être envisagé à titre d’exercice.

Notons que la recherche des solutions envisagée ici met en oeuvre quelques notions d’optimi-
sation. Ces notions seront détaillées dans la seconde partie du cours. Pour l’instant, il suffit
de savoir qu’une condition d’optimalité nécessaire pour une fonction dérivable d’une variable
vectorielle f (x) est fournie par l’annulation de son gradient ∇f (x) aux points ou elle prend sa
valeur optimale. On pourra ici justifier du caractère suffisant du critère d’optimalité ∇f (x) = 0
en invoquant le théorème de projection qui assure qu’à tout vecteur v (resp. à tout point M ) de
Rn correspond un vecteur (resp. un point) unique de tout sous-espace vectoriel (resp. de tout
sous-espace affine) dont la distance à v (resp. à M ) est minimale parmi l’ensemble des points
du sous-espace.

4.1 Systèmes sur-déterminés

Lorsque A est inversible, on a clairement x = A−1 b, mais dans de nombreusesP situations on est
conduit à une suite d’observation (bi )i=1,m issues des combinaisons linéaires i=1,n Aij xj des
quantitées inconnues (xj )j=1,n et des coefficients supposés connus de la matrice A. Dans ce type
de situation, pour un nombre important d’observations, c’est à dire pour m > n la matrice A

32
CHAPITRE 4. SYSTÈMES D’ÉQUATIONS SUR-DÉTERMINÉS ET SOUS-DÉTERMINÉS33

est généralement de rang plein, c’est à dire ici de rang n. Compte tenu notament des erreurs de
mesures ou des imperfections du modèle linéaire utilisé il est rare que les équations du système
soient compatibles. En d’autres termes le système d’équations Ax = b n’admet pas de solution.

Afin d’accéder à une valeur approchée de x un critère naturel consiste à rechercher le vecteur x
tel que la norme de l’erreur de reconstruction de b sous la forme Ax soit la plus faible possible.
En général, on considère la norme l2 qui a l’avantage de pouvoir être interprétée physiquement
comme une énergie, mais surtout qui conduit à une solution qui se formule très simplement. En
effet la solution de
min k Ax − b k22 (4.1)
x

doit vérifier le système d’équations


AT Ax = AT b. (4.2)
Exercice Montrez ce résultat de deux manières différentes : en annulant le gradient du critère
et en utilisant le théorème de projection. Montrez de plus que comme m > n et que la matrice
est de rang plein la matrice AT A est inversible.

Finalement la solution fournie par la méthode des moindres carrés est donnée par

x = (AT A)−1 AT b. (4.3)

Notons que même lorsque les équations du système ne sont pas incompatibles, la recherche de la
solution des moindres carrés reste utile pour caractériser la solution du système lorsque m > n et
que A est de rang plein, car il n’est pas nécessaire ici de rechercher quelles équations redondantes
peuvent être éliminées du système pour se ramener à un système carré inversible.

Exercice Montrez que la solution des moindres carrés fournit l’estimateur du maximum de
vraisemblance de x pour un modèle d’observation de la forme b = Ax + w, où w est un
vecteur aléatoire gaussien dont les composantes sont décoréllées et de même variance.

4.2 Systèmes sous-déterminés

lorsque le système Ax = b comporte plus de colonnes que de de lignes (m < n) et est de


rang plein, l’ensemble des solutions du système constitue un espace affine de dimension n − m.
En effet, si on décompose (au besoin en permutant des colonnes) la matrice A sous la forme
A = [A1 |A2 ], où A1 est une matrice carrée inversible, et de façon correspondante le vecteur x
sous la forme x = [xT1 |xT2 ]T , l’équation Ax = b, se reformule comme

A1 x1 + A2 x2 = b, (4.4)

soit x1 = A−1 −1
1 b − A1 A2 x2 . on voit donc que l’ensemble des solutions est l’espace affine de
dimension n − m défini par
 −1  
−A−1
  
n A1 b 1 A2 n−m
E = u ∈ R |u = + y, y ∈ R . (4.5)
0 I
CHAPITRE 4. SYSTÈMES D’ÉQUATIONS SUR-DÉTERMINÉS ET SOUS-DÉTERMINÉS34

Parmi toutes ces solutions, on est souvent amené à choisir une solution particulière. On choisit
alors souvent de considérer la solution de norme minimale. On peut montrer que la solution du
système Ax = b dont la norme quadratique est minimale est donnée par

x = AT (AAT )−1 b, (4.6)

Notons que la solution (4.6) est celle du problème d’optimisation sous contraintes

minx xT x

(4.7)
Ax = b.

On verra en cours d’optimisation comment résoudre de façon systématique ce genre de problème


en utilisant les multiplicateurs de Lagrange. La caractérisation (4.5) de l’ensemble des so-
lutions de Ax = b peut cependant être utilisée pour obtenir de façon directe, bien qu’un peu
laborieuse, la solution de norme minimale.

Exercice En utilisant la carcatérisation (4.5) de l’ensemble des solutions du système Ax = b,


démontrez que la solution de norme minimale vaut x = AT (AAT )−1 b. (Indication : utiliser le
lemme d’inversion matricielle pour simplifier la formule obtenue).

4.3 Cas général

Dans le cas général la matrice A du système Ax = b n’est pas forcément de rang plein. On peut
se ramener à un système de rang plein de diverses façons. Ainsi, par exemple, la décomposition
en valeurs singulières de A s’écrit A = UDVH , où les matrices unitaires U et V sont de tailles
respectives m et n. Si A n’est pas de rang plein, certains des termes diagonaux de la matrice D
sont nuls. Considérons le système équivalent DVH x = UH b. La matrice D de taille m × n se
réécrit sous la forme
   
D1   D1 0
D = D1 , D = , D = D1 0 , ouD = , (4.8)
0 0 0

où D1 est une matrice diagonale inversible de taille p. La matrice A est de rang plein si p =
min{m, n} ce qui correspond aux trois premièrs cs de figure décrits par les relations (4.8). En
notant U1 et V1 les matrices constituées des p premières colonnes de U et de V respectivement,
on voit clairement que les solutions des moindres carrés vérifient

D1 V1H x = UH
1 b. (4.9)

Si n = p, x est défini de façon unique. Sinon, parmi les valeurs de x solutions de (4.9), on peut
montrer que l’approximation de norme minimale est donnée par

x = V1 D−1 H
1 U1 b. (4.10)

Exercice Vérifiez que la solution des moindres carrés de norme minimale est bien donnée par
(4.10).
CHAPITRE 4. SYSTÈMES D’ÉQUATIONS SUR-DÉTERMINÉS ET SOUS-DÉTERMINÉS35

4.4 Matrices blocs et résolution partielle des systèmes linéaires

On considère la matrice  
A11 A12
A= . (4.11)
A21 A22
avec A11 inversible. On vérifie facilement que

I A−1
   
I 0 A11 0 11 A12
A= . (4.12)
A21 A−1
11 I 0 A22 − A21 A−1
11 A12 0 In

Le coefficient A22 − A21 A−1


11 A12 est appeleé complément de Schur du bloc A11 de la matrice
A. Il est clair que A est une matrice symétrique positive si et seulement si le complément de
Schur est une matrice symétrique positive.

On suppose maintenant de plus que A22 est inversible. Le lemme d’inversion matricielle appliqué
au complément de Schur conduit à

(A22 − A21 A11 A12 )−1 = A−1 −1 −1 −1 −1


22 + A22 A21 (A11 − A12 A22 A21 ) A12 A22 (4.13)

D’après la relation (4.12), on peut alors vérifier que

I −A−1
 
A−1 = 11 A12
0 I

A−1
  
11 0 I 0
× .
0 A−1 −1 −1 −1 −1
22 + A22 A21 (A11 − A12 A22 A21 ) A12 A22 −A21 A−1
11 I
(4.14)
On peut également vérifier que Ces formules sont connues sous le nom de lemme d’inversion
matriciel.

Il peut arriver que dans un problème on cherche à résoudre partiellement un système d’équations
linéaires. Ainsi, si on considère le système d’équations
    
A11 A12 x1 b1
= , (4.15)
A21 A22 x2 b2

et que l’on cherche simplement la solution pour x1 . On vérifiera à titre d’exercice que

x1 = (A11 − A12 A−1 −1 −1


22 A21 ) (b1 − A12 A22 b2 ). (4.16)
Chapitre 5

Résolution directe des systèmes


linéaires

Considérons un système linéaire régulier d’équations Ax = b. Par opposition aux méthodes


itératives, les méthodes de résolution directe permettent d’obtenir la solution exacte d’un tel
système (aux erreurs numériques près) après un nombre d’opérations fixé, fonction de la taille
du système. Les méthodes directes assurent la résolution des systèmes d’équations linéaires de
taille n pour un coût de calcul de l’ordre de n3 opérations.

Les méthodes de résolution directe visent à ramener la résolution du système Ax = b à la


résolution d’un système d’équations triangulaire Tx = b0 , pour lequel la matrice T est triangu-
laire et la complexité de n2 opérations. Il apparaı̈t en fait que c’est la transformation du système
Ax = b en le système Tx = b0 qui sera la plus couteuse en termes de coût de calcul. Pour le
système triangulaire Tx = b0 , si on suppose par exemple que T est triangulaire supérieure, c’est
à dire que Tij = 0 pour i > j, on vérifie facilement que x est fourni par l’algorithme itératif
suivant, présenté en utilisant la syntaxe de Scilab [10] :

for k=n:-1:1,
x(k) = (b(k)-T(k,k+1:n)*x(k+1:n))/T(k,k);
end;

Dont la complexité est Φ(n) = n2 /2.

On distingue deux types de méthodes directes : celles qui conduisent à une factorisation de A
sous la forme A = LU, où les matrices L et U sont respectivement triangulaire inférieure et
triangulaire supérieure (de l’anglais L comme ’lower’ et U comme ’upper’), et celles de type
A = QR pour lesquelles la matrice Q est orthogonale (unitaire dans le cas complexe) et R est
triangulaire supérieure. On vérifie aisément qu’une telle écriture constitue une orthogonalisa-
tion de Gram-Schmidt des colonnes de A. En effet,

Dans la suite, on va détailler les algorithmes qui permettent d’obtenir les décompositions LU et

36
CHAPITRE 5. RÉSOLUTION DIRECTE DES SYSTÈMES LINÉAIRES 37

QR

5.1 Méthodes de Gauss

5.1.1 Principe général

La méthode de Gauss consiste à éliminer successivement pour k = 1, . . . , n − 1 les contributions


de la variable xk dans les équations k + 1, . . . , n du système, en les combinant avec la k ème
équation. Sous réserve que les divisions mises en jeux soient possibles (pas de division par 0),
on obtient finalement le schéma algorithmique suivant

for k=1:n-1,
for l=k+1:n,
A(l,k:n) = A(l,k:n) - (A(l,k)/A(k,k))*A(k,k:n);
b(l) = b(l) - (A(l,k)/A(k,k))*b(k);
end
end

A la fin de cet algorithme, la matrice A est devenue triangulaire grâce à la succession des
combinaisons de ses lignes.

Notons que la k ème boucle de l’algorithme revient à multiplier à gauche les deux membres du
système courant par la matrice Mk qui possède des 1 sur sa diagonale et des zéros partout
(k) (k)
ailleurs, sauf pour ses termes d’indice (k, l), lorsque l > k, pour lesquels [Mk ]kl = −Alk /Akk .
On construit ainsi la suite de matrices

A(1) = A, A(2) = M1 (1) A(1) , . . . , A(k+1) = Mk A(k) , . . . , (5.1)

et on obtient finalement le système

M1 ..Mn−1 Ax = Ux = M1 ..Mn−1 b = b0 . (5.2)

La résolution du système Ux = b0 est immédiate puisque U est triangulaire supérieure. Penchons


nous un instant sur l’égalité M1 . . . Mn−1 A = U. Notons que A = [M−1 −1
n−1 . . . M2 ]U. Une
−1
propriété remarquable de la matrice Mk est quel s’obtient simplement à partir de Mk par
un changement de signe des coefficients placés sous la diagonale, ce que l’on pourra vérifier
à titre d’exercice. De plus, on vérifie facilement en procédant par récurrence que le produit
L = [M−1 −1
n−1 . . . M2 ] est tel que la k
ème colonne de L coı̈ncide avec la k ème colonne de M au
k
signe près des termes sous-diagonaux. Finalement L est triangulaire inférieure, avec

 = 0 si k < l
Lkl = = 1 si k = l (5.3)
 (k) (k)
= Alk /Akk si k > l,
CHAPITRE 5. RÉSOLUTION DIRECTE DES SYSTÈMES LINÉAIRES 38

soit,  
1 0 0 ··· 0
 (1) (1) .. .. 
A21 /A11 1 . .
L= .. .. ..
 (5.4)
.
 
 . . 0
(1) (1) (2) (2)
An1 /A11 An2 /A22 · · · 1
On a donc bien réalisé la décomposition LU de la matrice A, avec L triangulaire inférieure et
U triangulaire supérieure.

5.1.2 Stabilité et pivot

Comme on l’a vu précédemment, la méthode de Gauss ne vaut que s’il n’y a pas de division par
(k)
0, c’est à dire si la séquence des coefficients (Akk )k=1,n−1 n’a pas de terme nul. En pratique, si
(k)
Akk a une valeur non nulle mais proche de 0, cela peut entraı̂ner des erreurs numériques qui
affectent de façon importante la solution obtenue.

La méthode du pivot de Gauss permet de remédier à ce problème de la façon suivante : à la


k ème itération de l’algorithme, on vient prélever le terme du bloc d’indices A(k) (k : n, k : n) de
plus grand module et on vient le placer en position (k, k) au moyen d’une permutation Pck sur
les colonnes k à n de A(k) et d’une permutation Plk sur les lignes k à n. Finalement, la suite
des transformations de la matrice A peut se résumer comme suit :

(Mn−1 Pln−1 . . . M1 Pl1 )A(Pc1 . . . Pcn−1 ) = U, (5.5)

où U est triangulaire supérieure. En fait, cette stratégie est appelée pivot total, par opposition
à une méthode plus simple, dite de pivot partiel, qui consiste simplement à permuter les
lignes k à n de la matrice pour venir remplacer la ligne k par la ligne j, avec j ≥ k, pour
(k)
laquelle le coefficient |Alk | est maximum. Cette stratégie moins performante vis à vis des erreurs
numériques est également moins coûteuse puisque le nombre de comparaisons entre coefficients
à effectuer est nettement plus faible.

5.1.3 Coût de calcul, déterminant et inverse

L’obtention de la suite des systèmes d’équations A(k) x = b(k) nécessite de l’ordre de k=1,n−1 (n−
P

k)2 multiplications, soit Φ(n) = n3 /3 pour la résolution du système, puisque l’inversion du


système triangulaire obtenu ne réclame qu’environ n2 /2 multiplications.

Notons maintenant que la connaissance de la décomposition LU de A fournit directement le


déterminant de A :
(k)
|A| = Πk=1,n Akk (5.6)
On peut également ainsi obtenir l’inverse de la matrice A puisque si on note A−1 = [Ã1 , . . . , Ãn ],
les colonnes de A−1 sont fournies par la résolution des n systèmes d’équations LUÃk = ek , qui
peuvent chacun se ramener à la résolution successive de deux systèmes triangulaires :
CHAPITRE 5. RÉSOLUTION DIRECTE DES SYSTÈMES LINÉAIRES 39

Lyk = ek → Φ(n) = n3 /6,


(5.7)
UÃk = yk → Φ(n) = n3 /2,
où les vecteurs ek sont les vecteurs de la base canonique ([ek ]i = δk,i ). Le premier système réclame
moins de calcul que le second du fait de la présence de 0 sur les k − 1 premières composantes
du vecteur ek . La résolution des équations matricielles (5.7) réclame donc un total de 2n3 /3
opérations. Mais comme la factorisation LU elle même requiert n3 /3 opérations, on obtient
Φ(n) = n3 multiplications pour le calcul de l’inverse de A.

5.1.4 Méthode de Cholesky

Dans le cas particulier où la matrice A est symétrique réelle (AT = A) positive , on peut
vérifier que A = LLT avec L triangulaire inférieure. L’adaptation de la méthode de Gauss à
cette situation conduit à l’algorithme suivant, connu sous le nom de factorisation de Cholesky.
On note que
 2
L11 L11 aT1 L11 aT1
    
L11 0 1 0
A= = . (5.8)
L11 a1 An−1 a1 I 0 An−1 − a1 aT1 0 I

On procéde de même sur la matrice positive An−1 − a1 aT1 et on itére la procédure.

Exercice Justifiez la formule (5.8) et la positivité de la matrice An−1 − a1 aT1 .

La construction de la matrice L de la factorisation de Cholesky peut finalement être résumée


par les relations ci dessous :
( q
Ljj = Ajj − i=1,j−1 L2ji
P
L= (5.9)
Lij = L−1
P
jj (Aij − k=1,j−1 Lik Ljk ) (i = j + 1, . . . , n),

procédure dont le coût de calcul est Φ(n) = n3 /6. Notons de plus que la positivité de la matrice
A assure la stabilité de la méthode.

En pratique, le code informatique correspondant pourra prendre la forme suivante :

L = zeros(n,n);
L(1,1) = sqrt(A(1,1));
for k=1:n-1,
L(k+1:n,k) = (A(k+1:n,k) - L(k+1:n,1:k-1)*(L(k,1:k-1))’)/L(k,k);
L(k+1,k+1) = sqrt(A(k+1,k+1)-L(k+1,1:k)*L(k+1,1:k)’);
end;

La factorisation LDLT relativement proche permet d’éviter la division par L2jj et les éventuels
problèmes de stabibilité associés à cette division. Elle s’écrit
L1 aT1 d1 aT1
     
d1 1 0 d1 0
A= = (5.10)
L1 a1 An−1 a1 I 0 An−1 − d1 a1 aT1 0 I
CHAPITRE 5. RÉSOLUTION DIRECTE DES SYSTÈMES LINÉAIRES 40

Notons que pour une matrice A hermitienne complexe (AH = A), on a un résultat analogue.
Il suffit alors de remplacer les transpositions par des transpositions-conjugaisons dans ce qui
précède, et A = LLH

5.2 Triangularisation par orthonormalisation

Rappelons que pour une matrice Q orthogonale (QQT = I) on a pour toute matrice A

K2 (QA) = K2 (A). (5.11)

Le conditionnement du système Ax = b n’est donc pas affecté par une transformation ortho-
gonale et il ne sera pas nécessaire de prendre de précautions telles que la méthode du pivot
vue dans le cadre de la factorisation LU lorsqu’on triangularise le système. On va maintenant
indiquer deux techniques importantes de triangularisation par orthonormalisation.

5.2.1 Méthode de Householder

Pour un vecteur normé u (k u k= 1), on définit la matrice de réflexion de Householder


associée par
Hu = I − 2uuT . (5.12)
Notons que Hu HTu = I et Hu x = x − 2u(xT u). Ainsi, pour u = λ(x± k x k e1 ),

Hu x = ∓ k x k e1 , (5.13)

où [ek ]i = δi,k et λ =k x± k x k e1 k−1

On peut appliquer cette méthode à la triangularisation de la matrice A de taille n en considérant


une séquence de n − 1 transformations de Householder. On pose A(1) = A et on construit
successivement des transformations Hk (k = 1, . . . , n−1) qui annulent les termes sous diagonaux
de la colonne k de A(k) = Hk−1 A(k−1) :

 
Ik−1 0
Hk = , (5.14)
0 H̃k
où Ik−1 est la matrice identité de taille k −1, et H̃k une matrice de Householder de taille n−k +1
qui annule les n − k derniers termes de la colonne k de la matrice A(k) . Ainsi,

(Hn−1 × . . . × H1 )A = QT A = R, (5.15)

avec QQT = In et R triangulaire supérieure. Ainsi, A = QR.

Pour ce qui est du coût de calcul, pour la construction de la k ème matrice et sa multiplication
par Ak , il faut compter de l’ordre de 2(n − k)2 + O(n − k)Popérations, soit au total, pour les
n − 1 itérations de la procédure, Φ(n) = 2n3 /3 opérations ( k 2(n − k)2 ).
CHAPITRE 5. RÉSOLUTION DIRECTE DES SYSTÈMES LINÉAIRES 41

5.2.2 Méthode des rotations de Givens

Au lieu d’essayer de construire des matrices qui éliminent une sous colonne d’une matrice comme
s’était le cas avec la méthode de Householder, on se limite ici à l’élimination d’un unique coef-
ficient de la matrice à chaque opération grâce à une rotation dans un sous espace de dimension
deux, appelée rotation de Givens. L’avantage de cette approche réside dans le fait que pour
des matrices A creuses, c’est à dire des matrices présentant un grand nombre de coefficients nuls,
le coût de calcul de la triangularisation de A peut devenir nettement plus faible que pour la
méthode de Householder. Pour un vecteur u de composantes (ui , uj ) dans le sous espace défini
par les indices i et j, on considère la rotation Gij (θ) qui agit dans ce sous espace et dont l’angle
θ est choisi de sorte à annuler la composante de u selon la direction j. Le vecteur transformé
v = Gij (θ)u est tel que

 vi = cui − suj
vj = Gij (θ)ui : vj = sui + cuj (5.16)
vk = xk k 6= i, j.

q
avec c = cos θ et s = sin θ. Pour tan θ = −uj /ui , on aura vi = u2i + u2j et vj = 0.

On peut appliquer cette méthode à la triangularisation de la matrice A de taille n en considérant


une séquence de (n−1)+(n−2)+. . .+1 = n(n−1)/2 rotations de Givens ; Ces rotations agissent
sur des sous espaces d’indices (i, i + 1) et vise à éliminer successivement les coefficients d’indices
(n, 1), (n − 1, 1), . . . (2, 1), puis (n, 2), (n − 1, 2), . . . (3, 2), . . ., (n, k), (n − 1, k), . . . (k + 1, k), . . .,
et enfin (n, n − 1) de la matrice A. On construit ainsi la matrice QT A = R, avec

QT = Gn−1,n (θn−1,n ) × Gn−2,n−1 (θn−2,n−1 )Gn−1,n (θn−1,n ) × . . .


(5.17)
. . . × G1,2 (θ1,2 ) . . . Gn−1,n (θn−1,n ).

Finalement, A = QR, avec QQT = In et R est triangulaire supérieure.

On peut vérifier facilement que la complexité de la méthode est de Φ(n) = 4n3 /3 ( k (n − k)2 ).
P

Voici une implémentation informatique de la factorisation QR d’une matrice carrée A au moyen


de rotations de Givens :

Q = eye(n,n);
R = A;

for k1=1:n-1,
for k2=n-1:-1:k1,
x = R(k2,k1);
y = R(k2+1,k1);
if y~=0 then
rho = sqrt(x^2+y^2);
Cos = x/rho;
Sin = y/rho;
R(k2,k1) = rho;
CHAPITRE 5. RÉSOLUTION DIRECTE DES SYSTÈMES LINÉAIRES 42

R(k2+1,k1) = 0.0;
for u=k1+1:n,
R_aux = Cos*R(k2,u) + Sin*R(k2+1,u);
R(k2+1,u) = -Sin*R(k2,u) + Cos*R(k2+1,u);
R(k2,u) = R_aux;
end;
for v=1:n,
Q_aux = Cos*Q(v,k2) + Sin*Q(v,k2+1);
Q(v,k2+1) = -Sin*Q(v,k2) + Cos*Q(v,k2+1);
Q(v,k2) = Q_aux;
end;
end;
end;
end;

Dans cette procédure, à chaque itération, on a A = QR avec la matrice R qui devient progres-
sivement triangulaire, les rotations à gauche appliquées à chaque étape à la matrice R étant
cmpensées par des rotations à droite en sens inverse appliquées à Q.

5.2.3 Méthode de Gram-Schmidt

On peut chercher à appliquer directement la procédure d’orthogonalisation de Gram-Schmidt


sur les colonnes de la matrice A pour obtenir la décomposition QR. On obtient alors une
procédure qui peut être résumée comme suit : Pour k = 1, . . . , n,

Rik = QTi AkP


, i = 1, . . . , k − 1
Zk = Ak − i=1,k−1 Rik Qi
(5.18)
Rkk =k Zk k
Qk = Zk /Rkk .
avec la notation M = [M1 , . . . , Mn ].

Pour comprendre cette procédure, notons que Zk = (I− i=1,k−1 Qi QH


P
i )Ak . On pourra aisément
H
P
vérifier que I − i=1,k−1 Qi Qi est la matrice de projection sur l’orthogonal de l’espace en-
gendré par {Q1 , . . . , Qk−1 }. Donc, comme vect{Q1 , . . . , Qk−1 } = vect{A1 , . . . , Ak−1 }, Zk ap-
paraı̂t comme la projection de Ak sur l’othogonal de vect{A1 , . . . , Ak−1 }. De plus, Qk est
simplement une version normalisée du vecteur Zk .

Notons pour finir que cette approche n’est pas très stable numériquement et on lui préfère
généralement une méthode de Gram-Schmidt modifiée [3].
Chapitre 6

Résolution itérative des systèmes


linéaires

Les méthodes de résolution itérative des systèmes d’équations linéaires consistent à représenter
le système d’équations sous la forme d’une équation matricielle récurrente qui permet, à partir
d’un vecteur initial fixé de construire une suite de vecteurs dont on espère qu’elle converge vers
la solution du système. Plus précisemment, pour le système linéaire d’équations Ax = b, si on
décompose A sous la forme A = M − N, il apparaı̂t que la solution x de Ax = b est également
solution de Mx = Nx + b. En d’autres termes, x est un point fixe de l’équation de récurrence

Mx(t) = Nx(t−1) + b, t = 1, 2, . . . , (6.1)

pour laquelle x(0) est une valeur initiale fixée quelconque. Bien sûr, pour trouver x(t) connaissant
x(t−1) , il serait souhaitable que l’inversion de M soit simple, ce qui conduit souvent à choisir M
égale à la partie diagonale ou à la partie triangulaire, par exemple inférieure, de A. Ces choix
conduisent respectivement aux méthodes de Jacobi et de Gauss-Siedel.

Notons que si l’algorithme converge, à la convergence on doit avoir Mx = Nx + b, et donc, par


différence avec l’équation (6.1)

(x(t) − x) = (M−1 N)t (x(0) − x). (6.2)

On voit donc que la convergence se traduit par le fait que les valeurs propres de la matrice
M−1 N sont de modules inférieurs à un. Cela permet d’obtenir les conditions de convergence
suivantes pour les algorithmes itératifs en général et les algorithmes de Jacobi et de Gauss
Siedel en particulier [2] :
— l’algorithme (6.1) converge vers la solution de Ax = b si et seulement si les valeurs
propres de M−1 N sont de modules inférieurs à un.
— Si k M−1 NP k< 1, alors l’algorithme (6.1) converge vers la solution de Ax = b.
— Si |Aii | > | j6=i |Aij |, ∀i, la méthode de Jacobi converge.
— Si A est symétrique définie positive (A = AT et A > 0), la méthode de Gauss-Siedel
converge.
En pratique, la méthode de Jacobi peut prendre la forme du code suivant :

43
CHAPITRE 6. RÉSOLUTION ITÉRATIVE DES SYSTÈMES LINÉAIRES 44

x = zeros(n,1);
dA = diag(A);
A_ = -A+diag(dA);
for nb=1:nb_iter,
x = (A_*x +b)./dA;
end;

La méthode de Gauss-Siedel, quant à elle, peut être programmée sous la forme suivante :

x = zeros(n,1);
for nb=1:nb_iter,
for k=1:nb_symb,
x(k) = x(k) + (-A(k,:)*x+b(k))/A(k,k);
end;
end;

Il est possible d’accélerer l’algorithme de Gauss-Siedel au moyen d’une technique dite de sur-
relaxation dont le fonctionnement général est décrit ci dessous :
(t+1) P (t+1) P (t)
x̃i =− j<i Aij xj − j>i Aij xj + bi
(t+1) (t+1) (t) (6.3)
xi = ωx̃i + (1 − ω)xi

On peut montrer que si A est symétrique définie positive la convergence est assurée pour 0 <
ω < 2 et que la vitesse de convergence est optimale pour une valeur de ω comprise en un et
deux.
Chapitre 7

Décompositions en valeurs propres


et en valeurs singulières

On s’intéresse ici au problème du calcul pratique des valeurs propres d’une matrice. On verra
que le problème de la décomposition en valeurs singulières est étroitement lié au précédent. Il
n’existe pas en général de formule qui permette de calculer de façon exacte les valeurs propres
d’une matrice puisque ce sont les racines de son polynôme caractéristique et que pour des
degrés supérieur à 4 les racines équations polynômiales n’admettent pas en général de forme
explicite. Il faut donc mettre en oeuvre des techniques itératives pour obtenir la décomposition
en valeurs propre des matrices. Notons ici qu’en général on ne cherche pas les racines du polynôme
caractéristique pour trouver les valeurs propres d’une matrice mais qu’on travaillera plutôt sur
la recherche d’un changement de base permettant d’obtenir une forme diagonale de la matrice,
ou du moins triangulaire (décomposition de Schur). Pour justifier de l’équivalence entre les
racines d’un polynôme et les valeurs propres d’une matrice, notons que les racines du polynôme
P (x) = a0 + a1 x + a2 x2 + . . . + an−1 xn−1 + xn coı̈ncident avec les valeurs propres de sa matrice
companion, définie par :  
−an−1 −an−2 . . . a0
 1 0 ... 0
 
 0 1 0 ... 0 
 . (7.1)
 . . 
 . 
0 ... 0 1 0

Exercice Vérifier que les valeurs propres de la matrice (7.1) coı̈ncident bien avec les racines de
P (x) = a0 + a1 x + a2 x2 + . . . + an−1 xn−1 + xn .

45
CHAPITRE 7. DÉCOMPOSITIONS EN VALEURS PROPRES ET EN VALEURS SINGULIÈRES46

7.1 Diagonalisation des matrices symétriques : la méthode de


Jacobi

On se limitera ci dessous au cas de matrices symétriques à valeurs rélles. L’extension au cas des
matrices hermitiennes suppose la prise en compte d’un terme exponentiel complexe supplémentaire
dans les matrices de rotation de Givens qui ne modifie pas le principe de la démarche.

La méthode repose sur l’emploi des rotations de Givens, déjà rencontrées dans le paragraphe sur
la décomposition QR des matrices. Commençons par considérer une matrice symétrique 2 × 2
 
A11 A12
A= . (7.2)
A21 A22

et, en appliquant les notations du paragraphe 5.2.2, appliquons la rotation G12 (θ) á gauche de
A et G12 (θ)T = G12 (−θ) à droite de A, on obtient, en prenant en compte la relation A12 = A21 ,

G12 (θ)AG12 (θ)T =

A11 − A22
 
2 2 (7.3)
A11 cos (θ) + A22 sin (θ) − A12 sin(2θ) A12 cos(2θ) +
2
sin(2θ) 
 A11 − A22 .
A12 cos(2θ) + sin(2θ) A11 sin2 (θ) + A22 cos2 (θ) + A12 sin(2θ)
2
On voit donc que la matrice obtenue est diagonale dès lors que
A22 − A11
cot(2θ) = . (7.4)
2A12

Exercice Afin de construire la matrice de rotation précédente, montrer que cos(θ) = (1+t2 )−1/2
et sin(θ) = t(1+t2 )−1/2 , où t est la racine de module inférieur ou égal à 1 de t2 +( A22A−A
12
11
)t−1 = 0.

Plus généralement, pour une matrice A de taille n on pourra appliquer successivement des rota-
tions à droite et à gauche dans les sous-espaces d’indice (i, j) afin d’annuler les termes d’indice
(i, j) de la matrice. On vérifie facilement que dans cette opération, la somme des carrés des
termes diagonaux est augmentée de deux fois le carré du terme précédemment situé en posi-
tion (i, j). Comme la norme de Frobenius de la matrice reste invariante par les transformations
orthogonales que sont les rotations de Givens, il apparaı̂t qu’á chaque itération l’énergie hors
diagonale dans la matrice décroit et que l’énergie de la diagonale croı̂t d’autant.

On peut soit à chaque itération chercher à annuler le terme hors diagonal le plus grand (méthode
de Jacobi classique), soit balayer successivement chaque composante hors diagonale (méthode
de jacobi cyclique), par exemple colonne par colonne. En pratique, on n’exécute la rotation que
si l’amplitude du terme diagonal considéré reste supérieure à un certain seuil. On peut établir
la convergence de la méthode de Jacobi [2].

Voici un exemple d’implémentation de la procédure de Jacobi sur une matrice A symétrique de


taille n qui annule à chaque itération le terme hors diagonale de plus grande amplitude.

V = eye(n,n); //initialisation de la matrice des vecteurs propres


CHAPITRE 7. DÉCOMPOSITIONS EN VALEURS PROPRES ET EN VALEURS SINGULIÈRES47

D = A; //initialisation de la matrice des valeurs propres


test = 2*seuil;

while test>seuil,
[test,ind] = max(abs(D-diag(diag(D))));
p = ind(1); // (p,q): indices du terme hors diagonal \‘a \’eliminer
q = ind(2);
coef = (D(q,q)-D(p,p))/(2*D(p,q));
t = - coef + sqrt(coef^2+1);
Cos = 1/sqrt(1+t^2);
Sin = t*Cos;
// rotation a gauche sur D
Daux = D(p,:);
D(p,:) = Cos*D(p,:) - Sin*D(q,:);
D(q,:) = Sin*Daux + Cos*D(q,:);
// rotation a droite sur D
Daux = D(:,p);
D(:,p) = Cos*D(:,p) - Sin*D(:,q);
D(:,q) = Sin*Daux + Cos*D(:,q);
// rotation a droite sur V
Vaux = V(:,p);
V(:,p) = Cos*V(:,p) - Sin*V(:,q);
V(:,q) = Sin*Vaux + Cos*V(:,q);
end;

7.2 Forme Hessenberg des matrices carrées

On va voir qu’il est particulièrement intéressant, pour calculer les valeurs propres d’une matrice
A de se ramener à la forme Hessenberg de la matrice qui consiste à appliquer un changement de
base orthonormée de telle sorte que la nouvelle matrice, notée H soit tridiagonale, c’est à dire
telle que [H]ij = 0 pour |i − j| > 1. La factorisation de Hessenberg est obtenue simplement
en appliquant une suite de rotations de Givens à droite et à gauche de la matrice A.

Cette décomposition s’applique aussi bien aux matrices symétriques qu’aux matrices carrées
quelconques. On obtient finalement une représentation de A sous la forme A = UTriVT , où
Tri est une matrice tridiagonale. Dans le cas où A est symétrique, cette représentation devient
simplement A = UTriUT .

Il est remarquable que la forme Hessenberg, à la différence de la forme diagonalisée de la matrice,


puisse être obtenue avec un nombre fini d’opérations. On peut y parvenir soit au moyen d’une
suite de n − 2 transformations de Householder, soit au moyen d’une suite de (n − 1)(n − 2)/2
rotations de Givens..

Voici un exemple de programme permettant d’obtenir la forme Hessenberg dans le cas d’une
matrice carrée quelconque par la méthode des rotations de Givens. Dans le cas symétrique, la
CHAPITRE 7. DÉCOMPOSITIONS EN VALEURS PROPRES ET EN VALEURS SINGULIÈRES48

procédure se simplifie du fait que U = V et la matrice Tri est également symétrique.

U = eye(n,n);
V = eye(n,n);
Tri = A;
for p=1:n-2
for q=n:-1:p+2
// traitement de la partie sous-diagonale
if abs(Tri(q,p))>0,
rho = sqrt(Tri(q-1,p)^2+Tri(q,p)^2);
Cos = Tri(q-1,p)/rho;
Sin = -Tri(q,p)/rho;
// rotation a gauche sur Tri
Taux = Tri(q-1,:);
Tri(q-1,:) = Cos*Tri(q-1,:) - Sin*Tri(q,:);
Tri(q,:) = Sin*Taux + Cos*Tri(q,:);
// rotation a droite sur U
Uaux = U(:,q-1);
U(:,q-1) = Cos*U(:,q-1) - Sin*U(:,q);
U(:,q) = Sin*Uaux + Cos*U(:,q);
end;
// traitement de la partie sur-diagonale
if abs(Tri(p,q))>0,
rho = sqrt(Tri(p,q-1)^2+Tri(p,q)^2);
Cos = Tri(p,q-1)/rho;
Sin = -Tri(p,q)/rho;
// rotation a droite sur Tri
Taux = Tri(:,q-1);
Tri(:,q-1) = Cos*Tri(:,q-1) - Sin*Tri(:,q);
Tri(:,q) = Sin*Taux + Cos*Tri(:,q);
// rotation a droite sur V (a gauche sur V’)
Vaux = V(:,q-1);
V(:,q-1) = Cos*V(:,q-1) - Sin*V(:,q);
V(:,q) = Sin*Vaux + Cos*V(:,q);
end;
end;
end;
Tri = Tri.*(abs(Tri)>1.0e-10);

Exercice Dans le cas où la matrice A est symétrique, Simplifier le programme scilab précédent.

Il existe plusieurs situations où il est utile d’exploiter la forme Hessenberg de la matrice A, en
particulier pour la réalisation des décompositionsen valeurs propres. Ainsi, pour une matrice
symétrique, la forme Hessenberg peut être exploitée pour calculer plus rapidement les valeurs
propres de la matrice A par la méthode de Jacobi. Dans le cas général, la forme Hessenberg
permet d’initialiser la méthode itérative basée sur la décomposition QR présentée ci dessous
pour le calcul de la décomposition de Schur de la matrice.
CHAPITRE 7. DÉCOMPOSITIONS EN VALEURS PROPRES ET EN VALEURS SINGULIÈRES49

7.3 Décomposition en valeurs propres : le cas général

7.3.1 Aspects algorithmiques

Soit A une matrice diagonalisable. La méthode des puissances permet de calculer un vecteur
propre associé à la valeur propre de module le plus élevé de façon itérative : à partir d’un vecteur
initial u0 , on construit itérativement la suite de vecteurs
Aun
un+1 = , (7.5)
k Aun k
qui converge vers un vecteur propre associé à la valeur propre de module le plus élevé. On peut
s’en convaincre en exprimant Aun en fonction de la décomposition en valeurs propres de A.

En fait, cette méthode peut se généraliser pour construire une matrice de vecteurs propres comme
limite asymptotique d’une suite de matrice. La procédure itérative est résumée ci dessous :

Zn+1 = AQn
(7.6)
Qn+1 Rn+1 = Zn+1 ( décomposition QR).

QHn AQn converge vers la décomposition de Schur de A. Cet algorithme nécessite de l’ordre de
n3 opérations par itération.

Cependant, ce coût de calcul peut être réduit en utilisant la forme Hessenberg H de la matrice A
décrite plus haut. Une fois la forme Hessenberg obtenue la complexité numérique des itérations
la décomposition de Schur se trouve réduite. La proccédure s’écrit ainsi

= QH

 H0 0 AQ0 (initialisation : forme Hessenberg )
Hk−1 − µI = Qk Rk (décomposition QR ) , (7.7)
Hk = Rk Qk + µI

(k)
où µ est un coefficient qui permet d’accélerer la vitesse de convergence. En effet, si on note λi
la ième valeur propre obtenue à l’itération k, alors on peut montrer que

λi+1 (−µ) k

|(λi )(k) − λi | ∼ . (7.8)
λi (−µ)

La suite des formes Hessenberg calculées converge vers la matrice triangulaire T de la forme
Schur. Le coût de calcul de chaque itération est maintenant de l’ordre de n2 opérations dans le
cas général et de seulement n opérations si A est symétrique ou hermitienne car alors H0 est
alors une matrice tridiagonale.

7.3.2 Lien avec la décomposition de Jordan

Pour une matrice carrée A, il existe une matrice orthogonale Q telle que QH AQ = T avec T
triangulaire supérieure. La représentation de A sous la forme QTQH est appelée décomposition
CHAPITRE 7. DÉCOMPOSITIONS EN VALEURS PROPRES ET EN VALEURS SINGULIÈRES50

de Schur de A. On peut montrer que la diagonale de T contient les valeurs propres de A. On a


vu précédemment qu’une telle représentation peut être obtenue comme lmimite d’une suite de
formes Hessenberg. T est alors simplement bi-diagonale : elle ne possède de termes non nuls
que sur la diagonale et la première parallèle à la diagonale, ici la parallèle supérieure, définie par
les termes d’indices (i, i + 1).

Exercice Montrez que la diagonale de T contient les valeurs propres de A.

La décomposition en valeurs propres d’une matrice carrée A peut ne pas exister (considérer
par exemple la matrice triangulaire supérieure 2 × 2 dont tous les termes non nuls sont égaux
à 1), mais que par contre il existe toujours une forme, dite de Jordan définie comme suit :
∀A ∈ Cn × Cn , ∃P, P−1 AP = J = diag(J1 , . . . , Jp ), avec
 
λi 1 0 ···
 .. .. 
Ji =  0 . .
. (7.9)
 
 λi 1 
λi

Une même valeur propre peut définir plusieurs matrices blocs Jk . Notons que le nombre d’oc-
curences d’une valeur propres dans J correspond à son degré comme solution du polynôme
caractéristique de A. Donc, si les valeurs propres sont distinctes A est diagonalisable puisque
les blocs dégénèrent alors en matrices de taille 1.

Exercice Montrez que si A est normale, alors elle est diagonalisable dans une base orthonormée.

7.4 Décomposition en valeurs singulières

Rappelons que pour la matrice A, il existe toujeours deux matrices unitaires, U et V telles
que la matrice UH AV soit diagonale et à valeurs positive. Les valeurs diagonales de A sont
appeleées valeurs singulières de A.

Notons que si A = UDVH , alors

AAH = UD2 UH et AH A = VD2 VH . (7.10)

On voit donc que les valeurs singulières de A sont les racines carrées des valeurs propres de
AAH (et de AH A). De plus, U et V sont les matrices de vecteurs propres de AAH et de AH A
respectivement.

Clairement, à la différence de la décomposition en valeurs propres, la décomposition en valeurs


singulières est définie même pour des matrices qui ne sont pas carrées. De plus, on voit faci-
lement que les colonnes de U associées aux valeurs singulières non nulles définissent une base
orthonormée de l’espace image de A, tandis que les colonnes de V associées à la valeur singulière
nulle définissent une base du noyau de A.

Ainsi, on peut par exemple décrire facilement le projecteur sur un espace vectoriel S = vect{x1 , ., xp }
CHAPITRE 7. DÉCOMPOSITIONS EN VALEURS PROPRES ET EN VALEURS SINGULIÈRES51

en considérant la matrice A = [x1 , . . . , xp ] = UDVH . Le projecteur est donné simplement par


PS = i,Dii 6=0 Ui UH
P
i .

Comme on l’a vu, on peut également formuler aisément la résolution des systèmes linéaires
d’équations sur-déterminés et sous-déterminés à partir de la décomposition en valeurs singulières
de la matrice A.

Autre intérêt de la décomposition en valeurs singulières, elle peut être employée pour approximer
une matrice par une matrice de rang plus faible. Ce type d’approximation peut être exploitée,
par exemple, en traitement d’images. Etant donnée une matrice A on cherche la matrice B de
rang r0 , inférieur au rang de A telle que k A − B k2F = T r[(A − B)(A − B)H ] soit minimale. La
solution est fournie par le résultat suivant :

Proposition 1 Si la décomposition en valeurs singulières de A sécrit UDVH , avec rang(A) =


r, pour r0 < r, minrang(B)=r0 k A − B k2F est obtenu pour B = UD0 VH , où D0 est obtenu en
forçant à 0 les r − r0 plus petites valeurs singulières non nulles de A dans D.

Exercice Démontrer la proposition précédente.

La décvomposition en valeurs singulières sert aussi à décrire la distance entre sous-espaces vecto-
riels : pour deux sous espaces S1 et S2 dont des bases orthonormées sont définies
q par les colonnes
des matrices U1 et U2 est définie comme suit : d(S1 , S2 ) =k PS1 − PS2 k= 1 − mini Σii (U1H U2 )

7.4.1 Réalisation de la décomposition en valeurs singulières

Matrices symétriques

Pour une matrice symétrique positive, la décomposition en valeurs singulières est équivalente
et pour une matrice symétrique non positive, on passe très facilement d’une forme à l’autre (le
vérifier à titre d’exercice). Dans le cas d’une matrice symétrique, on pourra chercher à accélerer
la vitesse de convergence de la méthode de Jacobi en commençant par se ramener à forme
Hessenberg et en exploitant les spécificités du cas symétrique dans la démarche présentée ci
dessous pour le cas de matrices carrées quelconques.

Matrices quelconques

Notons d’abord qu’on pourrait obtenir la décomposition en valeurs singulières d’une matrice A
quelconque en réalisant les décompositions en valeurs propres des matrices symétriques AAT et
AT A. On peut cependant procéder de façon plus directe, comme on va le voir.

En partant de la forme Hessenberg d’une matrice A = UTriVT quelconque, on peut faire la


remarque suivante : l’élimination de la première sous diagonale de A par une séquence de n − 1
CHAPITRE 7. DÉCOMPOSITIONS EN VALEURS PROPRES ET EN VALEURS SINGULIÈRES52

rotations de Givens transforme la matrice en une matrice triangulaire supérieure qui possède des
termes non nuls sur les deux premières sur-diagonales. On reviend à une matrice tridiagonale
en éliminant la deuxième sur-diagonale (termes d’indices (i, i + 2)) par une séquence de n − 2
rotations de Givens appliquées à droite. On applique alors de même une technique d’élimination
de la première sur-diagonale de A par une séquence de n − 1 rotations de Givens appliquées
à droite suivie de l’élimination des termes de la deuxième sous-diagonale au moyen de n − 2
rotations de Givens.

En partant de la forme Hessenberg A = UTriVT , cela peut se traduire par un code de la forme
suivante :

D = Tri;
while max(abs(D-diag(diag(D))))>1.0e-15,
// Reduction de la 1ere // sous-diagonale
for p=1:n-1,
if abs(D(p+1,p))>1.0e-15,
rho = sqrt(D(p,p)^2+D(p+1,p)^2);
Cos = D(p,p)/rho;
Sin = -D(p+1,p)/rho;
// rotation a gauche sur D
Daux = D(p,:);
D(p,:) = Cos*D(p,:) - Sin*D(p+1,:);
D(p+1,:) = Sin*Daux + Cos*D(p+1,:);
// rotation a droite sur U
Uaux = U(:,p);
U(:,p) = Cos*U(:,p) - Sin*U(:,p+1);
U(:,p+1) = Sin*Uaux + Cos*U(:,p+1);
end;
end;
// traitement de la 2eme // sur-diagonale
for p=1:n-2,
if abs(D(p,p+2))>1.0e-15,
rho = sqrt(D(p,p+1)^2+D(p,p+2)^2);
Cos = D(p,p+1)/rho;
Sin = -D(p,p+2)/rho;
// rotation a droite sur D
Daux = D(:,p+1);
D(:,p+1) = Cos*D(:,p+1) - Sin*D(:,p+2);
D(:,p+2) = Sin*Daux + Cos*D(:,p+2);
// rotation a droite sur V (a gauche sur V’)
Vaux = V(:,p+1);
V(:,p+1) = Cos*V(:,p+1) - Sin*V(:,p+2);
V(:,p+2) = Sin*Vaux + Cos*V(:,p+2);
end;
end;
// traitement de la 1ere // sur-diagonale
for p=1:n-1,
CHAPITRE 7. DÉCOMPOSITIONS EN VALEURS PROPRES ET EN VALEURS SINGULIÈRES53

if abs(D(p,p+1))>1.0e-15,
rho = sqrt(D(p,p)^2+D(p,p+1)^2);
Cos = D(p,p)/rho;
Sin = -D(p,p+1)/rho;
// rotation a droite sur D
Daux = D(:,p);
D(:,p) = Cos*D(:,p) - Sin*D(:,p+1);
D(:,p+1) = Sin*Daux + Cos*D(:,p+1);
// rotation a droite sur V (a gauche sur V’)
Vaux = V(:,p);
V(:,p) = Cos*V(:,p) - Sin*V(:,p+1);
V(:,p+1) = Sin*Vaux + Cos*V(:,p+1);
end;
end;
// traitement de la 2eme // sous-diagonale
for p=1:n-2,
if abs(D(p+2,p))>1.0e-15,
rho = sqrt(D(p+1,p)^2+D(p+2,p)^2);
Cos = D(p+1,p)/rho;
Sin = -D(p+2,p)/rho;
// rotation a gauche sur D
Daux = D(p+1,:);
D(p+1,:) = Cos*D(p+1,:) - Sin*D(p+2,:);
D(p+2,:) = Sin*Daux + Cos*D(p+2,:);
// rotation a droite sur U
Uaux = U(:,p+1);
U(:,p+1) = Cos*U(:,p+1) - Sin*U(:,p+2);
U(:,p+2) = Sin*Uaux + Cos*U(:,p+2);
end;
end;
end;
D = D.*(abs(D)>1.0e-15);

On pourrait bien sûr réduire la longueur de ce code en réalisant par exemple les rotations dans
une fonction spécifique, mais les appels à cette fonction peuvent réduire la vitesse d’execution.
Notons également qu’on a supposé ici que la matrice A est carrée. On peut toujours se ramener
à ce cas, au besoin en complétant la matrice A par des lignes ou des colonnes nulles, même si
d’un point de vue pratique, il vaut mieux affiner l’écriture de l’algorithme pour éviter d’alourdir
les calculs et de stockage entraı̂nés une telle complétion de la matrice A par des 0.
Bibliographie

[1] G. Allaire, Analyse numérique et optimisation, Éditions de l’École Polytechnique, 2005.


[2] P.G. Ciarlet, Introduction à l’Analyse Numérique Matricielle et à l’Optimisation, Masson,
1982.
[3] G.H. Golub, C.F. Van Loan, Matrix Computation, The John Hopkins University Press, 1989.
[4] S.A. Teulkoski,W.T. Vetterling,B.P. Flannery, Numerical Recipes in C : the Art of Scientific
Computing, W.H.Press, Cambridge University Press.
[5] http ://www.univ-lille1.fr/ eudil/jbeuneu/index.html (analyse numerique, cours et pro-
grammes C, en français)
[6] http ://www.indiana.edu/∼rac/hpc/numerics.html (site de ressources pour le calcul nume-
rique)
[7] http ://dmawww.epfl.ch/rappaz.mosaic/Support/support/ (cours d’analyse numérique de
l’EPFL)
[8] http ://www.netlib.org/lapack/lug/lapack lug.html (bibliothèque Fortran LAPACK ; gra-
tuit)
[9] http ://hpux.connect.org.uk/hppd/hpux/Maths/LinAlgebra/CLAPACK-1.0/
(téléchargement de la version C de LAPACK nommée CLAPACK ; gratuit)
[10] http ://www.scilab.org/ (Scilab langage homepage)

54
Deuxième partie

Introduction
aux opérateurs linéaires

55
Chapitre 8

Introduction

L’objectif de cette partie est d’étendre la notion de matrice au cas de transformations linéaires sur
des espaces de dimension infinie. Lorsqu’on considère des fonctions définies sur des espaces vec-
toriels de dimension infinie (c’est dire qui admettent des familles infinies de vecteurs linéairement
indépendants), on parle d’opérateur plutôt que de fonction, même s’il s’agit au fond de la même
chose ; simplement, il est un peu plus commode de parler d’un opérateur défini sur un espace de
fonctions que d’une fonction définie sur un espace de fonctions.

On se limite ici à une présentation des opérateurs sur des espaces de Hilbert. Les espaces
de Hilbert généralisent la notion d’espace hermitien, un espace hermitien étant un espace
vectoriel de dimension finie sur le corps des complexes muni d’un produit scalaire. Les espaces
hermitiens constituent eux même une généralisation au cas complexe des espaces euclidiens
qui eux sont définis sur le corps des réels. Un des intérêts des espaces de Hilbert réside dans le fait
que les propriétés géométriques usuelles des espaces euclidiens ou hermitiens s’y transposent, ce
qui contribue à faciliter la résolution de nombreux problèmes et à en fournir une interprétation
géométrique simple.

Dans le chapitre 9, on présente rapidement la notion d’espace de Hilbert et de base ortogonale


sur ces espaces. Le chapitre 10 fournit des notions de base importantes sur les opérateurs linéaires
des espaces de Hilbert.

56
Chapitre 9

Espaces de Hilbert

9.1 Définition

9.1.1 produit scalaire

Rappelons tout d’abord qu’un produit scalaire hermitien x, y →< x, y > sur un espace
vectoriel E sur le corps des nombres complexes est une application de E × E dans C caractrisée
par les propriétés suivantes qui généralisent celles du produit scalaire euclidien :
1. < x, x > ≥ 0, avec < x, x >= 0 ⇒ x = 0
2. < x, y >= < y, x >
3. < αx, y >= α < x, y >
4. < x + y, z >=< x, z > + < y, z >
Bien entendu, le produit scalaire hermitien induit une norme et une distance sur E :

d(x, y) =k x − y k= < x − y, x − y >. (9.1)

9.1.2 Espace de Hilbert

Un espace de Hilbert est un espace vectoriel normé H, complet et muni d’un produit scalaire
hermitien qui induit la norme de H. Rappelons ici que par définition H est complet si toute
suite de Cauchy (xn )n∈N de H, c’est dire telle que limm,n→∞ k xm − xn k= 0, est convergente.

Exemples
(i) L’espace l2 des suites x = (xk )k∈N telles que k∈N |xk |2 < ∞ est un espace de Hilbert pour
P
le produit scalaire hermitien défini par
X
< x, y >= xk yk∗ . (9.2)
k∈N

57
CHAPITRE 9. ESPACES DE HILBERT 58

Pour la démonstration du caractère complet de l2 , on pourra se référer à [3] (chap. I).


Rb
(ii) De même, l’espace L2 ([a, b]) des fonctions f de carré intégrable sur [a, b] ( a |f (t)|2 dt < ∞)
est un espace de Hilbert pour le produit scalaire hermitien défini par
Z b
< f, g >= f (t)g(t)∗ dt, (9.3)
a

dès lors que l’on identifie les fonctions égales presque partout par rapport à la mesure de Le-
besgue, c’est à dire égales partout sauf éventuellement sur un ensemble de mesure nulle par
rapport à la mesure de Lebesgue, car < f, f >= 0 ⇒ f = 0 p.p.

9.2 Théorème de projection

On retrouve pour le produit scalaire dans les espaces de Hilbert des propriétés analogues à
celles du produit scalaire classique. Ainsi, le théorème de projection se généralise aux espaces
de Hilbert :

Théorème 2 Si K est un sous ensemble convexe fermé d’un espace de Hilbert H, alors

∀x ∈ H, ∃!y ∈ K, k x − y k= inf k x − z k . (9.4)


z∈M

De plus, y est caractérisé par la relation suivante :

∀z ∈ K, < x − y, z − x >≤ 0. (9.5)

Si K est un sous-espace vectoriel fermé de H, l’inégalité (9.5) devient une égalité.

On pourra trouver la démonstration de ce résultat dans [2] (chap. V).

Exemple : Espérance conditionnelle Dans un espace probabilisé (Ω, A, P ), l’ensemble L2 (Ω, A, P )


des variables aléatoires X à valeurs complexes et telles que E[|X|2 ] < ∞ forme un espace de
Hilbert, muni du produit scalaire < X, Y >= E[XY ∗ ]. Par ailleurs, l’ensemble
 Z 
2 2
L (PY ) = h; h(Y ) ∈ (Ω, A, P ), |h(y)| PY (dy) < ∞ (9.6)

est un sous-espace fermé de L2 (Ω, A, P ), ce qui assure l’existence d’un unique optimum au
problème
min k X − h(Y ) k, (9.7)
h∈L2 (PY )
p
avec k Z k= E[|Z|2 ]. Cet optimum ĥ, qui est caractérisé par les relations (voir l’équation (9.5))

∀g ∈ L2 (PY ), E[(X − ĥ(Y )) g(Y )∗ ] = 0, (9.8)

définit l’espérance conditionnelle de X sachant Y : E[X|Y ] = ĥ(Y ). Concernant la justification


du caractère complet des espaces L2 (µ), où µ est une mesure bornée, on pourra se référer [5]
(chap. 3, p. 58). Concernant l’espérance conditionnelle dans L2 (Ω, A, P ), on pourra par exemple
se référer à [1] (chap. 4).
CHAPITRE 9. ESPACES DE HILBERT 59

9.3 Bases orthonormées

Dans toute la suite, H désigne un espace de Hilbert.

Définition 1 Une famille F = (φk )k∈K de H, avec K fini ou dénombrable, est dite libre si toute
sous famille de taille finie de F est une famille libre. F est une famille orthonormée de H si ses
éléments vérifient
< φk , φl >= δk,l . (9.9)

dans la suite, pour simplifier les notations, on prendra K = N∗ et simplement K = 1, 2, . . . , n


pour un espace de dimension finie.

Notons la propriété suivante : x ⊥ y ⇒ k x + y k=k x k + k y k, dont la démonstration est


immédiate. De plus, il est clair que l’inégalité de Cauchy-Schwarz | < x, y > | ≤k x k . k y k
s’applique aussi dans les espace de Hilbert. Indiquons également la propriété suivante :

Proposition 2 Dans un espace de Hilbert, si xn → x et yn → y, alors < xn , yn >→< x, y >.

Exercice Démontrer la propriété précédente.

Les résultats précédents permettent d’établir les propriétés suivantes des familles orthonormées :

Théorème 3 Si F = (φk )k∈K (K ⊂ N) est une famille orthonormée de H, alors pour tout
x ∈ H,
2
P
1. k | < x, φk > | ≤k x k (ingalité de Bessel)
P
2. k < x, φk > φk converge
2
P P
3. k ck φk converge si et seulement si k |ck | < ∞
P
4. Si x = k ck φk , alors ck =< x, φk >.

Exercice Démontrer les propriétés énonces dans le théorème.

On dit qu’une famille orthonormée F = (φk )k∈K deP H est une base orthonormée si tout
élément x de H peut se représenter sous la forme x = k ck φk . Notons que d’après le théorème
précèdent ck =< x, φk > (proprité 4).

Théorème 4 Si F = (φk )k∈K de H est une famille orthonormée de H, les propriétés suivantes
sont équivalentes
1. F est une base de H
2. (∀k, < x, φk >= 0) ⇒ x = 0
3. L’ensemble vect(F ) des combinaisons linéaires finies d’élèments de F est dense dans H
CHAPITRE 9. ESPACES DE HILBERT 60

4. ∀x ∈ H, k x k2 = | < x, φk > |2 (égalité de Parseval)


P
k
5. ∀x, y ∈ H, < x, y >= k < x, φk > < y, φk >∗
P

Preuve (1)⇒(5)P: Si x = ∞ et y = ∞
P P
k=1 xk φk k=1 yk φk , la continuité du produit scalaire donne,
en notant x̃n = nk=1 xk φk et ỹn = nk=1 yk φk :
P

n
X
< x, y >= lim < x̃n , ỹn >= lim x k yk , (9.10)
n→∞ n→∞
k=1

La conclusion vient du fait que xk =< x, φk > et yk =< y, φk >.

(5)⇒(4) : prendre x = y dans (5).

(4)⇒(3) : k x − nk=1 < x, φk > φk k=k x k − nk=1 | < x, φk > |2 et le terme de droite de
P P
l’égalité tend vers 0.
Pn Pn
(3)⇒(2) : k=1 < x, φk > φk → x et k=1 < x, φk > φk = 0, donc x = 0.
P P
(2)⇒(1) : ∀i, < x − k < x, φk > φk , φi >= 0 ⇒ x = k < x, φk > φk .

Exemple Les polynômes de Legendre (Ln )n∈N


r
2n + 1 1 dn 2
Ln (x) = (x − 1)n (9.11)
n 2n n! dxn
forment une base orthonormale de L2 ([−1, 1)]. Nous aurons l’occasion d’utiliser ces polynômes
dans le chapitre de ce document consacré l’intégration numérique. On pourra vérifier à titre
d’exercice que les polynômes de Legendre forment une base orthonormée de l’ensemble des
polynômes sur [−1, 1]. De plus, le théorème d’approximation de Weierstrass (voir paragraphe
11.2.2), l’ensemble des polynômes est dense dans l’ensemble des fonctions continues. Enfin,
l’ensemble des fonctions continues sur [−1, 1] est dense dans L2 ([−1, 1)] ([4], chap. I, p. 42). D’où,
d’aprés la relation (3) précédente, le fait que (Ln )n∈N est une base orthonormale de L2 ([−1, 1)].

Exercice Montrer que si (φn )n∈N∗ et (ψn )n∈N∗ sont des bases de L2 ([a, b]), alors les fonctions
(Φmn )m,n∈N∗ , avec Φmn = φm ψn forment une base de L2 ([a, b] × [a, b]).

9.4 Séparabilité et isométrie

9.4.1 Séparabilité et bases

Un espace de Hilbert H est dit séparable s’il possède une famille finie ou dénombrable d’éléments
qui est dense dans H.

Théorème 5 H contient une base orthonormée dénombrable si et seulement si il est séparable.


CHAPITRE 9. ESPACES DE HILBERT 61

Preuve Si H est séparable, on peut construire itérativement, par orthogonalisation de Schmidt,


une famille orthonormée de H qui engendre un espace dense dans H, ce qui établit que cette
famille orthonormale est une base de H d’après le théorème 4 (proprité 3). Réciproquement,
d’après ce même théorème, toute base orthonormée dénombrable engendre par combinaisons
linéaires finies un sous espace dénombrable dense de H.

Notons que tous les espaces de Hilbert ne sont pas séparables. Ainsi, les fonctions définies sur
R par t 7→ eiλt , avec λ ∈ R forment une famille orthonormée non dénombrable pour le produit
scalaire Z T
1
< f, g >= lim f (t)g(t)∗ dt (9.12)
T →∞ 2T −T

et engendrent donc un espace de Hilbert non séparable. Comme en général on s’intéresse cepen-
dant essentiellement aux espaces de Hilbert séparables, les bases mises en oeuvre seront finies
ou dénombrables.

9.4.2 Projection

D’après ce qui précède, un sous espace fermé séparable H0 de H possède une base orthonormale
dénombrable (ψk )k∈K . Si y ∈ H, il est aisé de vérifier d’après le théorème de projection que la
projection de y sur H0 , notée y|H0 , est donnée par
X
y|H0 = < y, ψk > ψk . (9.13)
k

9.4.3 Isométrie

Théorème 6 Deux espaces de Hilbert H1 et H2 de dimensions infinies et séparables sont


linéairement isométriques, c’est dire qu’il existe une application linéaire A : H1 → H2 , telle
que pour tout x de H1 , k Ax k=k x k.

Preuve (φk )k et (ψk )k désignant des bases de H1 et H2 respectivement, il suffit de prendre A


telle que X
Ax = < x, φk > ψk . (9.14)
k

L’inégalité de Parseval permet alors de conclure.

Notons en particulier que tout espace de Hilbert


P séparable de dimension infinie est isométrique
l2 : l’application A : H → l2 associe à x = ∞ k=1 < x, φk > φk la suite (< x, φk >)k∈N∗ de ses
coefficients. Notons que les coefficients < x, φk > sont appelés coefficients de Fourier de x
associés à la base (φk )k .

Remarque Parfois, on utilise plutôt l’isométrie de H avec l2 (Z), l’ensemble des suite indicées
par Z dont les carrés sont absolument sommables. Ceci est utile en particulier pour identifier les
CHAPITRE 9. ESPACES DE HILBERT 62


fonctions x de L2 ([−1/2, 1/2]) à la suite de leurs coefficients de Fourier xk = −π x(t)e−2iπkt dt,
avec k ∈ Z.
Chapitre 10

Opérateurs linéaires

On considère ici des opérateurs linéaires A : H1 → H2 , o H1 et H2 sont des espaces de Hilbert


sur le corps des complexes. La notion d’opérateur linéaire permet la généralisation de la notion
de matrice au cas de dimensions infinies.

10.1 Norme d’un opérateur

On définit la norme de A par

k Ax k
k A k= sup = sup k Ax k . (10.1)
kxk kxk kxk≤1

Notons que la norme d’un opérateur ainsi définie définit effectivement une norme sur l’espace
vectoriel L(H1 , H2 ) des opérateurs linéaires de H1 dans H2 .

Si k A k< ∞, l’opérateur est dit borné. Comme en dimension finie, la linéarité entraı̂ne une
équivalence entre le caractère borné d’un opérateur et son caractère continu :

Théorème 7 l’opérateur linéaire A : H1 → H2 est borné si et seulement si il est continu, sa


continuité étant elle même équivalente à sa continuité uniforme sur H1 .

On pourra démontrer l’équivalence des trois propriétés à titre d’exercice.

63
CHAPITRE 10. OPÉRATEURS LINÉAIRES 64

10.2 Représentation matricielle

Les espaces de Hilbert séparables de dimension infinie étant isométriques, on peut les identifier.
Considérons donc maintenant un opérateur borné A de H dans lui même. Comme
P
Ax = j < x, φj > Aφj
P P (10.2)
= j < x, φj > ( i < Aφj , φi > φi )
on a X
[Ax]i = < Aφj , φi >< x, φj > . (10.3)
j

On voit donc que l’opérateur A peut être représenté par la matrice de taille infinie de coefficient
général (i, j) égal à < Aφj , φi >. Notons que selon que la base est indicée par N∗ ou par Z, on
obtiendra respectivement une matrice ”infinie vers la droite et vers la gauche” ou ”doublement
infinie”.

Exemple On considère
Z b
Ax = k(t, s)x(s)ds, (10.4)
a

défini sur L2 ([a, b]). En utilisant l’ingalité de Cauchy Schwarz, il apparaı̂t que
Z
k A k≤ |k(t, s)|2 dsdt. (10.5)
[a,b]×[a,b]

A est donc borné dès lors que k ∈ L2 ([a, b]2 ). Dans ce cas, la matrice associée A est de terme
général Z
aij = |k(t, s)|2 φi (s)φj (t)∗ dsdt =< k, Φji >, (10.6)
[a,b]×[a,b]

où Φij (s, t) = φi (s)φj (t)∗ , est parfaitement définie. Comme (Φij )ij est une base de L2 ([a, b]2 ), il
est clair que les coefficients aij sont de carrés absolument sommables :
X X
|aij |2 = | < k, Φji > |2 =k k k2 < ∞ (10.7)
ij ij

Les notions d’image et de noyau d’un opérateur linéaire sont définies exactement comme en
dimension finie. Lorsque Im(A) est un espace de dimension n finie, on dit que A est de rang n.

Pn Si φ1 , . . . , φn et ψ1 , . . . , ψn sont des familles de H1 et de H2 respectivement, l’opérateur


Exemple
x 7→ k=1 < x, φk > ψk est de rang fini, au plus égal n. Réciproquement, on a le résultat suivant :

Théorème 8 Si un opérateur linéaire borné A : H1 → H2 est de rang fini n, il existe des


familles de vecteurs φ1 , . . . , φn et ψ1 , . . . , ψn , dans H1 et H2 respectivement, telles que
n
X
Ax = < x, φk > ψk . (10.8)
k=1
CHAPITRE 10. OPÉRATEURS LINÉAIRES 65

La preuve de ce théorème fait appel au théorème important de représentation de Riesz :

Théorème 9 (Riesz) Toute forme linéaire bornée ϕ : H → C est caractrisée par un unique
élément y ∈ H tel que
ϕ(x) =< x, y >, ∀x ∈ H (10.9)
De plus, k ϕ k=k y k.

Preuve Commençons par édmontrer le théorème de Riesz. Si ϕ = 0, alors y = 0. Supposons


donc que ϕ 6= 0. Kerϕ est clairement un sous espace vectoriel de H. De plus Kerϕ est fermé
d’après la continuité du produit scalaire. Il existe v 6= 0 dans (Kerϕ)⊥ . En effet, il existe un
vecteur u ∈ H qui n’appartient pas à Kerϕ (sinon, on aurait ϕ = 0). Notons û la projection
orthogonale de u sur Kerϕ. D’après le théorème de projection, le vecteur v = u − û appartient
à (Kerϕ)⊥ et est non nul car u ∈ / Kerϕ. Notons y = vϕ(v)∗ / k v k2 . Pour tout x ∈ H, notons
que
ϕ(x) ϕ(x)
x=y + (x − y ), (10.10)
ϕ(y) ϕ(y)
où le deuxième terme de la somme appartient à Kerϕ et est donc orthogonal à y. On a donc

ϕ(x) ϕ(x) ϕ(x) ϕ(x)


< x, y >=< y + (x − y ), y >=< y , y >=k y k2 = ϕ(x), (10.11)
ϕ(y) ϕ(y) ϕ(y) ϕ(y)

car la relation y = vϕ(v)∗ / k v k2 entraı̂ne que ϕ(y) =k y k2 . L’unicité de y provient du fait que
si y 0 vérifie également ϕ(x) =< x, y 0 > pour tout x, alors < x, y − y 0 >= 0 en particulier pour
x = y − y 0 . Par suite k y − y 0 k= 0 et y = y 0 . Enfin, k ϕ k=k y k d’après l’ingalité de Cauchy
Schwarz, ce qui achève la démonstration du théorème de représentation de Riesz.

Démontrons maintenant le théorème 8 Prenons pour ψ1 , . . . , ψn une base ortonormée de ImA.


Comme Ax ∈ ImA,
Xn
Ax = < Ax, ψk > ψk . (10.12)
k=1

Comme ϕk : x 7→< Ax, ψk > est une forme linéaire bornée, on peut encore écrire d’après le
théorème de représentation de Riesz que ϕk (x) =< x, φk > pour un certain élément φk de H1 ,
d’où le résultat.

Exemple : filtrage Le théorème de représentation de Riesz montre en particulier que toute


forme linéaire borne A : L2 (R) → CR se représente pour toute fonction x ∈ L( R) de de façon
unique sous la forme intégrale Ax = R x(s)g(s)∗ ds, o g ∈ L2 (R). Ainsi, il apparaı̂t qu’un filtre,
qui à un instant t associe à un signal d’entrée x d’énergie finie une valeur en sortie y(t), peut
être mis sous la forme Z
y(t) = x(s)gt (s)∗ ds. (10.13)
R
Un filtre étant un dispositif linéaire et de plus invariant par translation temporelle, l’expression
Z
z(t) = x(s − τ )gt (s)∗ ds (10.14)
R
CHAPITRE 10. OPÉRATEURS LINÉAIRES 66

impose que z(t) = y(t − τ ), soit


Z
y(t − τ ) = x(s)gt (s + τ )∗ ds. (10.15)
R

En posant t − τ = u et h(v) = gt (t − v)∗ , comme gt (s + τ )∗ = gt (t − (u − s))∗ = h(u − s), on


obtient finalement Z
y(u) = x(s)h(u − s)ds, (10.16)
R
et on retrouve le résultat bien connu de l’expression du filtrage comme une convolution.
Bibliographie

[1] M. Benam, N. El Karoui, Promenade aléatoire - chaı̂nes de Markov et simulations, martin-


gales et stratégies, Ed. Ecole Polytechnique, 2004.
[2] H. Brezis, Analyse fonctionnelle, masson, 1992.
[3] I. Gohberg, S. Golberg, M. A. Kaashoek, Basic classes of linear operators, Birkhäuser, 2003.
[4] V. Trenoguine, Analyse fonctionnelle, Ed. MIR, Moscou, 1980.
[5] M. Willem, Analyse harmonique réelle, Hermann, 1995.
[6] K. Yosida, Functional analysis, Springer Verlag, 1980.

67
Troisième partie

Interpolation et intégration

68
Chapitre 11

Interpolation et intégration

11.1 Introduction

En général, l’intégrale sur un intervalle [a, b] d’une fonction g(x) est approchée en considérant
l’intégration exacte d’un approximant polynomial de cette fonction. Aussi, nous allons envisager
ici quelques aspects classiques de l’interpolation polynomiale et de l’intégration. Notons qu’en
posant f (x) = g( a+b b−a
2 + 2 x), avec x ∈ [−1, 1] on transfert le problème de l’interpolation ou de
l’intégration sur [a, b] en un problème analogue sur l’intervalle [−1, 1]. Ainsi, dans la suite, on se
restreindra sans perte de généralités à des fonctions définies sur [−1, 1].

11.2 Interpolation polynomiale

Les formules de quadrature classiques sont connues pour assurer l’intégration exacte des fonctions
polynomiales jusqu’ un degré au moins égal ‘à n − 1, où n représente le nombre de points,
ou noeuds, de la quadrature. Nous allons montrer qu’en d’autres termes cela signifie que la
quadrature
Z Xn
f (x)dx ≈ wk f (xk ) (11.1)
[−1,1] k=1

est définie de sorte à assurer l’intégration exacte de l’interpolant de Lagrange de f aux points
xk .

11.2.1 Interpolation de Lagrange

Afin de préciser les choses, commençons par rappeler ici la notion d’interpolant polynomial de
Lagrange d’une fonction. Etant donnés n points xk (k = 1, . . . , n) on définit les polynômes

69
CHAPITRE 11. INTERPOLATION ET INTÉGRATION 70

suivants :
w(x) = Πk=1,n (x − xk )

wk (x) = Πj=1,n (x − xj ) (11.2)


j6=k

wk (x)
lk (x) = wk (xk )
Il est clair que lk (xk ) = 1 et lk (xj ) = 0 pour xj 6= xk : lk (xj ) = δk,j .

Etant donnée une fonction f (x) définie sur [−1, 1] il est alors clair que le polynôme de degré n
qui passe par les points (xk , f (xk ))k=1,n est donné par
n
X
fn (x) = lk (x)f (xk ). (11.3)
k=1

fn (x) est appelé polynôme d’interpolation de Lagrange de f (x) aux points x1 , . . . , xn .

11.2.2 Le phénomène de Runge

Malheureusement, lorsqu’on calcule un interpolant de Lagrange pour des points xk régulièrement


espacés dans [−1, 1], on observe que son comportement tend se dégrader du fait de l’apparition
d’oscillations vers les extrémités de l’intervalle, qui tendent croı̂tre avec le degré n de l’interpo-
lation. Ce phénomène est connu sous le nom de phénomène de Runge [?, ?]. En pratique, ce
phénomène devient três marqué pour des valeurs de n de l’ordre de 10, même pour des fonctions
infiniment dérivables variant lentement, telle la fonction f (x) = (1 + 16x2 )−1 considérée par
Runge pour mettre en évidence le phénomène.

Dans ces conditions, il apparaı̂t que l’emploi d’un interpolant polynomial de Lagrange calculé
sur des points régulièrement espacés pour approcher l’intégrale d’une fonction f via l’intégration
de cet interpolant ne conduit pas à de bons résultats.

Cela ne signifie cependant pas qu’on ne puisse pas utiliser d’approximant polynomial pour
intégrer une fonction de façon précise. En effet, le théorème de Weierstrass indique que
pour toute fonction f continue sur [−1, 1], si Pn représente l’ensemble des polynômes de degré
inférieur ou égal à n, alors il existe une séquence (qn )n∈N , avec qn ∈ Pn , telle que [?]
lim sup |f (x) − pn (x)| = 0. (11.4)
n→∞ p ∈P , |x|≤1
n n

Une façon d’obtenir une telle suite de polynômes consiste à considérer des interpolants de La-
grange de f (x) définis en des points xk irrégulièrement espacés. Plus précisemment, si on choisit
(n)
pour n fixé des points (xk )k=1,n tels que lorsque n augmente ces points soient asymptotique-
ment distribués dans [−1, 1] selon la densité suivante [?]
1
ρ(x) = √ , (11.5)
π 1 − x2
alors, la suite correspondante des interpolants de Lagrange converge uniformément vers f sur
[−1, 1].
CHAPITRE 11. INTERPOLATION ET INTÉGRATION 71

11.3 Intégration de Newton-Cotes

L’intégration de Newton-Cotes consiste à remplacer l’intégration de la fonction f par celle


de son interpolant polynomial de Lagrange Pn calculé pour des points xk régulièrement espacés.
L’interpolant est donné par fn (x) = k=1 lk (x)f (xk ) de l’équation (11.3), avec par exemple
xk = (2k − n − 1)/n, et k = 1, . . . , n.

La formule de quadrature pour f (x) est donc donnée par


Z 1 Z 1 n Z
X 1 
f (x)dx ≈ fn (x)dx = lk (x)dx fn (xk ). (11.6)
−1 −1 k=1 −1

Comme fn (xk ) = f (xk ), les poids de la quadrature nk=1 wk f (xk ) qui assurent une quadrature
P
exacte de l’interpolant de Lagrange sont donnés par
Z 1
wk = lk (x)dx. (11.7)
−1

En particulier, les polynômes 1, x, x2 , . . . , xn−1 sont égaux à leurs interpolants de Lagrange


obtenus sur n points. Donc les poids définis par (11.7) vérifient également les équations linéaires
Z 1 n
X
xm dx = wk xm
k , m = 0, . . . , n − 1, (11.8)
−1 k=1

soit
    
1 1 ... 1 w1 a1
 x1 x2 ... xn  w2   a2 
= , (11.9)
    
 .. .. ..  .. ..
 . . .  .   . 
xn−1
1 xn−1
2 ... xnn−1 wn an
avec
1
1 − (−1)k
Z
ak = xk−1 dx = . (11.10)
−1 k
On vérifie que pour des points xk régulièrement espacés la matrice précédente est mal condi-
tionnée et que l’amplitude des coefficients wk est très fluctuante. L’amplitude des oscillations
des coefficients wk augmente d’ailleurs exponentiellement avec n [?]. Ce mauvais comportement
numérique limite l’ordre de quadrature envisageable pour la méthode de Newton-Cotes et en pra-
tique, on la met souvent en oeuvre en découpant l’intervalle [−1, 1] en plusieurs sous-intervalles
et en appliquant la quadrature de Newton Cotes avec un petit nombre de noeuds sur chacun
d’eux. De plus, compte tenu de la mauvaise qualité de l’approximation fournie par l’interpola-
tion polynomiale pour un échantillonnage régulier (phénomène de Runge), on comprend que la
quadrature de Newton-Cotes qui est basée sur cette approximation fournisse des résultats assez
médiocres. On donne ci dessous un programme Matlab simple pour réaliser la quadrature de
Newton-Cotes. On pourra y vérifier l’influence de la valeur de n sur les poids

f = @(t) cos(pi*t); % fonction a intégrer


n = 20; % nombre de noeuds de quadrature
CHAPITRE 11. INTERPOLATION ET INTÉGRATION 72

x = linspace(-1,1,n); % noeuds
M = flipud(vander(x)’); % matrice de VanderMonde de calcul des poids
w = inv(M)*((1-(-1).^(1:n))./(1:n))’; % poids
I = f(x)*w % calcul de l’intégrale par la méthode
% de Newton Cotes

11.4 Méthode de Gauss-Legendre

On peut chercher corriger les effets du phénomène de Runge associé au choix de noeuds régulièrement
espacés pour le polynôme d’interpolation de Lagrange d’une fonction en considérant une répartition
irrégulière des noeuds xk . Les méthodes de Gauss, basées sur le choix de noeuds de quadrature
égaux aux zéros de polynômes orthogonaux constituent un choix approprié. On se limitera ici
au cas des polynômes orthonormés sur [−1, 1] définis par
Z 1
pn (x)pm (x)dx = δm,n , (11.11)
−1
avec pn de degré n, et qui définissent les polynômes de Legendre. Ceux ci se caractérisent de
diverses manières [?]. On peut en particulier définir les versions non normalisés de ces polynômes
au moyen de la récurrence à trois termes suivante :

p0 (x) =1

p1 (x) =x (11.12)

(n + 1)Pn+1 (x) = (2n + 1)xPn (x) − nPn−1 (x).


R1
La normalisation peut ensuite être obtenue en notant que −1 p2n (x)dx = 2/(2n+1). Considérons
maintenant la quadrature dont les noeuds sont définis par les zéros de pn (x) et dont les poids
correspondants sont solution des quations (11.9). Ces paramètres définissent la quadrature de
Gauss-Legendre sur n points. On a alors la propriété remarquable suivante :

Théorème 10 La quadrature de Gauss-Legendre sur n points est une formule de quadrature


exacte pour tous les polynômes de degré inférieur ou égal 2n − 1.

Preuve Comme les paramètres de la quadrature satisfont aux équations (11.9), il apparaı̂t
qu’elle est exacte pour tout polynôme de degré inférieur ou égal à n − 1. Maintenant, tout
polynôme q(x) de degré inférieur ou égal à 2n − 1 pourra s’écrire
X X
q(x) = ak xk + pn (x)( bl xk ). (11.13)
k=0,n−1 l=0,n−1

La relation (11.13) provient simplement de la division euclidienne de q(x) par pn (x) et de la


contrainte de degré sur q(x). Donc
Z 1 Z 1 X Z 1 X
k
q(x)dx = ( ak x )dx + pn (x)( bk xk )dx. (11.14)
−1 −1 k=0,n−1 −1 k=0,n−1
CHAPITRE 11. INTERPOLATION ET INTÉGRATION 73

La quadrature de Gauss-Legendre de la première intégrale du terme de droite de l’égalité (11.14)


est exacte car le polynôme intgré est de degré inférieur ou égal à n − 1. Notons maintenant que
le polynôme pn est orthogonal aux polynômes p0 , p1 , . . . , pn−1R. Or, ces P derniers engendrent le
1
même espace vectoriel que les polynômes 1, x, . . . , xn−1 . Donc −1 pn (x)( k=0,n−1 bk xk )dx = 0.
De plus,  
X X
wj pn (xj )  ak xkj  = 0, (11.15)
j=1,n k=0,n−1

puisque les xj sont les zéros de pn . Donc, la quadrature de Gauss-Legendre est encore exacte
pour la seconde intégrale du terme de droite de l’égalité (11.14), ce qui termine la démonstration.

En pratique, on observe un excellent comportement pour la quadrature de Gauss-Legendre.


Notons également que la quadrature de Gauss correspond bien à l’intégration de l’interpolant
polynomial de Lagrange associé aux zéros de pn (x) puisque les poids satisfont aux équations
(11.9) et donc aux équations (11.7). On peut de plus montrer [?] que les zéros de pn (x) sont
asymptotiquement distribués suivant la densité donnée par l’équation (11.5), ce qui confirme la
capacité de la méthode à échapper au phénomène de Runge.

Indiquons ici qu’une évaluation approchée des poids peut être obtenue à partir de la formule
suivante ([?] p.89)
 
4(n − k) − 1 n−1 4(n − k) − 1 1
xk = cos π+ cot( π) + o( ) , k = 1, . . . , n. (11.16)
4n + 2 8n3 4n + 2 n4
Ces valeurs des noeuds peuvent éventuellement être améliorées par un algorithme de Newton de
recherche des zéros de pn (x) et initialisé successivement par chacune des valeurs xk de la relation
(11.16).

Le programme suivant utilise l’approximation précédente et pourra être employé pour mettre
en évidence le meileur comportement de la méthode de Gauss-Legendre comparé à la mthode
de Newton-Cotes.

f = @(t) cos(pi*t); % fonction a intégrer


n = 20; % nombre de noeuds de quadrature
x = pi*(4*(n:-1:1)-1)/(4*n+2);
x = cos(x+((n-1)/(8*n^3))*cot(x)); % noeuds approchés
M = flipud(vander(x)’); % matrice de VanderMonde
w = inv(M)*((1-(-1).^(1:n))./(1:n))’; % poids
I = f(x)*w % calcul de l’intégrale par la méthode
% de Gauss-Legendre approchée

Il s’agit cependant ici d’une écriture sous-optimale du programme à objectif purement pédagogique.
Ainsi, on vérifiera que lorsque n augmente, le conditionnement de la matrice M se dégrade, ce
que l’on peut tester avec la commande Matlab ’cond(M)’.

Il est établi dans la littérature que la ércurrence (11.12) permet d’obtenir les noeuds et les poids
comme solution d’un probèlme de valeurs propres d’une matrice tridiagonale [?], pour un coût
CHAPITRE 11. INTERPOLATION ET INTÉGRATION 74

de calcul de l’ordre de O(n2 ) opérations. Sans entrer dans le détail de cet algorithme, indiquons
que sa mise en oeuvre conduit au code suivant proposé dans [?] et dont on pourra comparer la
bonne robustesse à celle du programme précédent :

f = @(t) cos(pi*t); % fonction a intégrer


n = 100; % nombre de noeuds de quadrature
m = n-1;
T = diag(0.5./sqrt(1-(2*(1:m)).^(-2)),1);
T = T + T’; % matrice de Jacobi
[V,D] = eig(T); % diagonalisation
x = diag(D);
[x,a] = sort(x); % noeuds classés par ordre croissant
w = 2*V(1,a).^2; % poids
I = w*f(x) % calcul de l’intégrale par la méthode
% de Gauss-Legendre

On pourra vérifier qu’à la différence de ce que l’on observe avec la méthode de Newton-Cotes la
dispersion des valeurs des poids croı̂t lentement avec n. Avec ce code, on vérifie que l’erreur de
quadrature décroit rapidement vers le bruit de calcul lorsque n augmente.

Notons enfin que la méthode de Gauss Legendre se généralise pour des intégrales sur des in-
tervalles semi-infinis au moyen des polynômes de Laguerre et pour des intégrales sur R au
moyen des polynômes d’Hermite [?].

11.5 Méthode de Clenshaw-Curtis

Nous terminons cet exposé en évoquant la méthode de quadrature de Clenshaw-Curtis,


introduite en 1960 [?] et qui est devenue très populaire ces dernières années compte tenu de sa
facilité de mise en oeuvre. Cette méthode, pour n noeuds de quadrature, n’est exacte que pour
les polyonmes de degré au plus égal à n − 1, mais le calcul de ses noeuds et de ses poids est
extrèmement simple. De plus, pour l’intégration de nombreuses fonctions standard, il apparaı̂t
que son comportement diffère três peu de celui de la quadrature de Gauss-Legendre [?]. Cela
tient en particulier au fait qu’ici, comme pour la méthode de Gauss-Legendre, la distribution
asymptotique des noeuds dans [−1, 1] satisfait l’équation 11.5.

Pour la méthode de Clenshaw-Curtis, les poids sont simplement choisis de la forme


n−k
xk = cos( π), k = 1, . . . , n. (11.17)
n−1
On notera, pour n grand, la ressemblance des poids de Gauss-Legendre (Eq. (11.16)) avec ceux
de Clenshaw-Curtis. Gentleman [?] a montré que les poids peuvent être obtenus par transformée
de Fourier rapide, et donc avec un coût de calcul de O(n.log2 (n)), contre O(n2 ) opérations pour
calculer les paramètres de Gauss-Legendre [?]. Ceci explique l’intérêt porté à la méthode de
Clenshaw-Curtis qui fournit donc pour un coût de calcul nettement moindre une quadrature de
CHAPITRE 11. INTERPOLATION ET INTÉGRATION 75

précision souvent comparable à celle de Gauss-Legendre. Le code Matlab suivant, propoés dans
[?] implémente la méthode de calcul des poids de [?].

f = @(t) cos(pi*t); % fonction a intégrer


n = 100; % nombre de noeuds de quadrature
m = n-1;
x = cos(pi*(0:m)’/(m)); % poids
fx = f(x)/(2*m);
g = real(fft(fx([1:m+1 m:-1:2]))) % transforme de Fourier rapide
a = [g(1); g(2:m)+g(2*m:-1:m+2) ;g(m+1)]; % coefficients de Chebychev
w = 0*a’; w(1:2:end) = 2./(1-(0:2:m).^2); % poids
I = w*a % calcul de l’intégrale par la méthode
% de Clenshaw-Curtis

11.6 Calcul d’erreur

Indiquons pour terminer que pour les méthodes précédentes il est possible d’exprimer de façon
précise l’erreur liée à la quadrature. Pour une quadrature sur n points qui est exacte pour les
polynômes de degré inférieur ou égal à M et une fonction f , au moins m fois continuement
dérivable, avec m ≤ M , on peut montrer que la fonction d’erreur de quadrature, notée E(f ),
est donnée par ([?], p. 218)
R1 Pn
E(f ) = −1 f (x)dx − k=1 wk f (xk )
(11.18)
R1 (m+1) (x)K (x)dx,
= −1 f m

où Km (x) est le noyau de Peano, défini par


n
(1 − x)m X (max(xk − x, 0))m−1
Km (x) = − wk . (11.19)
m! (m − 1)!
k=1

Exercice Démontrer la formule d’erreur précédente (indication : utiliser la formule de Taylor


avec reste intégrale).
Quatrième partie

Optimisation

76
Chapitre 12

Introduction

Lorsqu’on cherche à résoudre un problème de la forme inf v∈Uad f (v), on parlera de problème
d’optimisation contraint lorsque U est un sous ensemble particulier inclu dans le domaine
de définition de f . Si Uad coı̈ncide avec le plus grand domaine sur lequel on peut définir f on
parlera de problème d’optimisation non contraint.

On s’intéresse dans cette partie à des problèmes d’optimisation continue, à variables réelles ou
complexes, de forme générale

minx f (x)
(12.1)
fi (x) ≤ 0 i = 1, . . . , m.

Le problème (12.1) consiste à rechercher les valeurs de x qui minimisent f (x) dans l’ensemble
des contraintes U = {x; fi (x) ≤ 0 i = 1, . . . , m}. Notons qu’une contrainte d’égalité de la forme
fi (x) = bi peut toujours se reformuler dans ce contexte par les inégalités fi (x) − bi ≤ 0 et
−fi (x) + bi ≤ 0. Dans la suite, on sera cependant souvent amené à distinguer les situations de
contraintes de type inégalité et de type égalité.

On a déjà rencontré un problème de ce type dans le cours d’analyse numérique matricielle,


pésenté en première partie, lors de la recherche de la solution de norme minimale d’un système
sous-déterminé, problème qui s’écrit
minx xT x

(12.2)
Ax = b.
Plus généralement, les problèmes de la forme

 minx 21 xT Qx + xT r

Ax = b (12.3)
Gx ≤ h

où Q est une matrice symétrique positive et u ≤ v signifie que uk ≤ vk pour chaque composante
des vecteurs u et v, sont appelés programmes quadratiques. En présence de contraintes
d’inégalité, l’obtention de la solution est généralement moins directe qu’avec les seules contraintes
d’égalité. Dans ce dernier cas on dispose d’une forme analytique directe du problème tandis que
dans le premier il faut faire appel à des algorithmes itératifs d’optimisation.

77
CHAPITRE 12. INTRODUCTION 78

Lorsque les fonctions f et (fi )i=1,m sont linéaires, le problème est appelé problème de program-
mation linéaire. Il existe des algorithmes performants pour résoudre ce genre de problème,
même si le nombre d’opérations à réaliser n’est pas bien maı̂trisé en général. Notons également
qu’il peut être un peu plus délicat d’identifier un problème de programmation linéaire qu’un
problème d’optimisation quadratique.
P Ainsi, la minimization de la norme l1 de Ax − b, définie
par f (x) =k Ax − b k1 = i |Ai x − bi |, où Ai représente ici la i-ème ligne de la matrice A peut
se reformuler sous la forme du programme linéaire suivant :
 P

 mint i ti
−ti ≤ 0 i = 1, . . . , m

(12.4)
A x − bi − ti ≤ 0 i = 1, . . . , m
 i


−Ai x + bi − ti ≤ 0 i = 1, . . . , m.

Pour un problème pour lequel le critère f ou certaines des contraintes (fi )i=1,m ne sont pas
linéaires, on parlera d’un problème de programmation non linéaire. Une difficulté essentielle
du problème d’optimisation (12.1) dans le cas non linéaire réside dans fait que des conditions
nécessaires bien connues d’optimalité telles que l’annulation de la dérivée (du gradient dans le
cas d’une fonction de plusieurs variables) ne permettent généralement que d’établir l’optimalité
locale d’une solution.

Il existe une exception remarquable à ce fait qui est celui de l’optimisation convexe pour
lequel les fonction f et (fi )i=1,m sont convexes. Dans ce cas, non seulement on est en mesure
de caractériser la nature globale d’optima locaux, mais de plus, il existe des algorithmes per-
formants de recherche de telles solutions. En particulier, les méthodes de point intérieur,
également utilisées en programmation linéaire, ou les méthodes de plans sécants, offrent
une solution performante pour l’optimisation de problèmes d’optimisation convexe. En fait, la
difficulté essentielle des problèmes d’optimisation convexe réside souvent dans la difficulté que
l’on peut avoir à identifier le problème étudié comme un problème convexe.

Si, comme on l’a indiqué, pour un problème d’optimisation non convexe il est souvent facile de
caractériser des optima locaux dès lors que l’on dispose d’hypothèses de régularité, telle que la
différentiabilité, sur les fonctions mises en jeux, on ne pourra pas en général trouver d’algorithme
qui assure la convergence vers un optimum global. On verra cependant que l’utilisation des
résultats de l’optimisation convexe peuvent être utilisés pour fournir des approximations souvent
intéressantes de la solution.

Pour le problème minu∈U f (u) Les conditions d’optimalité dépendent de la nature de U . Pour
les conditions nécessaires, on peut citer les conditions suivantes qui seront développées dans les
chapitres suivants :
— équations d’Euler : f 0 (u) = 0
— inéquations d’Euler : f 0 (u)(v − u) ≥ 0
— multiplicateurs de Lagrange lorsque U = {v; fk (v) = 0, k = 1, m}
— conditions de Kuhn et Tucker lorsque U = {v; fk (v) ≤ 0, k = 1, m}.
Les conditions suffisantes font souvent appel à la convexité de f pour l’optimalité globale et plus
simplement au comportement de la dérivée seconde de f au voisinage de u pour l’optimalité
locale.

Outre l’étude des conditions d’optimalité on se penchera sur les aspects algorithmiques de la
CHAPITRE 12. INTRODUCTION 79

recherche d’optima. Pour les problèmes sans contraintes, on considérera en particulier les algo-
rithmes de relaxation, de Newton, du gradient ou du gradient conjugué. Pour les problèmes avec
contraintes, on envisagera la possibilité d’extension des méthodes sans contraintes ainsi que des
algorithmes généralistes tels que les méthodes d’Uzawa, les méthodes de plans sécants ou encore
les méthodes de points intérieurs. L’algorithme du simplexe important pour le cas particulier de
la programmation linéaire sera également présenté.

Le chapitre 9 présente quelques rappels de calcul différentiel sur lesquels reposent les conditions
d’optimalité développées par la suite. Le chapitre 10 traite des conditions d’optimalité pour les
problèmes non contraints et le chapitre 11 des algorithmes classiques pour traiter ce type de
problèmes. Le chapitre 12 traite des conditions d’optimalité pour les problèmes contraints et le
chapitre 13 des algorithmes correspondants. Le cas particulier de la programmation linéaire est
abordé au chapitre 14.

Les version antérieures de ces notes de cours s’inspiraient en particulier de [6] où l’optimisation
est abordée sous un angle très général. Pour l’optimisation avec contraintes, la version actuelle
emprunte plus à la présentation de [8] qui traite de façon allégée, quoi que rigoureuse, la théorie
pour des problèmes dans les espaces de type Rn . Pour les algorithmes, [9] et [4] constituent
également des références intéressantes. Les autres références indiquées constituent également
des sources d’information enrichissantes. Les notes de cours [5] ou le livre [10] constituent des
références plus approfondies sur la notion de convexité.
Chapitre 13

Eléments de calcul différentiel

13.1 Introduction

Les conditions d’existence d’optima locaux pour les problèmes contraints ou non contraints font
intervenir les dérivées d’ordres un et deux de la fonction à optimiser. Ainsi, la condition de
dérivée nulle est à la base d’une méthode importante, la méthode de Newton, qui sera étudiée
plus loin.

On fait ici quelques rappels concernant la dérivation dans des espaces généraux car la variable
vis à vis de laquelle on effectue l’optimisation peut être une fonction. C’est le cas par exemple
lorsqu’on cherche la surface d’aire minimale qui s’appuye sur un contour fixé de R3 , auquel
cas la variable recherchée est la fonction qui décrit cette surface. Dans ce chapitre, on va donc
développer un formalisme général pour la notion de dérivation. Pour fixer les idées, le lecteur
pourra considérer le cas particulier d’espaces X et Y tels que X = Rn et Y = Rm . On se limitera
d’ailleurs à ce cadre dans les chapitres suivants.

13.2 Rappels sur les espaces L(X, Y )

Soient X et Y deux espaces vectoriels normés, de normes notées respectivement k kX et k kY .


L’ensemble L(X, Y ) des applications linéaires continues de X dans Y , noté simplement L(X) si
X = Y , est normé par
k Ax kY
∀A ∈ L(X, Y ), k A k= sup = sup k Ax kY . (13.1)
x∈X k x kX x∈X, kxkX ≤1

L(X, Y ) est complet si Y est complet. Dans l’ensemble L2 (X, Y ) des applications bilinéaires
continues de X × X dans Y , la norme est définie par
k A(x1 , x2 ) kY
∀A ∈ L2 (X, Y ), k A k= sup . (13.2)
x1 ,x2 ∈X k x1 kX × k x2 kX

80
CHAPITRE 13. ELÉMENTS DE CALCUL DIFFÉRENTIEL 81

13.3 Dérivation

Soit O un ensemble ouvert et


f : O ⊂ X → Y, (13.3)
Soit a ∈ O. La dérivée en a, lorsqu’elle existe, est définie par f 0 (a) ∈ L(X, Y ) telle que

f (a + h) = f (a) + f 0 (a)h+ k h k ε(h). (13.4)

Si f 0 (a) existe, elle est unique. Remarquons que f 0 (a)h est une notation simplifiée pour f 0 (a)(h),
c’est à dire la valeur prise par l’application linéaire f 0 (a) en h.

13.3.1 Application dérivée

L’application dérivée de f est définie par

f 0 : O → L(X, Y ); x 7→ f 0 (x). (13.5)

Exercices.
1) Si f (x) = B(x, x), où B est bilinéaire et continue, monrer que

f 0 (x)h = B(x, h) + B(h, x). (13.6)

2) Calculez le gradient de f définie sur Rn par f (x) = xT Ax. Que devient cette formule lorsque
A est symétrique ?

13.3.2 Dérivation pour f définie sur des espaces produits

Si
f : O ⊂ X → Y = Y1 × . . . × Ym ; x 7→ f (x) = [f1 (x), . . . , fm (x)]T , (13.7)
f est dérivable en a ∈ O si et seulement si fk0 (a) existe pour k = 1, m.

f 0 (a) = f10 (a), . . . , fm


0 (a) (fk0 (a) ∈ L(X, Yi )).
 
(13.8)

Le vecteur ∇f (a) = [f 0 (a)]T est appelé gradient de f au point a. Si maintenant

f : O ⊂ X = X1 × . . . × Xn → Y ; x 7→ f (x) (13.9)

avec O = O1 × . . . × On , produit d’ouverts, on définit les applications partielles par

f k : Ok ⊂ Xk → Y ; u 7→ f (x1 , . . . , xk−1 , u, xk+1 , . . . , xn ) (13.10)

Si f est dérivable en a, les applications partielles le sont et


X
f 0 (a)h = ∂k f (a)hk , (13.11)
k=1,n
CHAPITRE 13. ELÉMENTS DE CALCUL DIFFÉRENTIEL 82

où h = [h1 , . . . , hn ]T et ∂k f (a) est la dérivée de la k ème application partielle (∂k f (a) ∈ L(Xk , Y )).
La réciproque est fausse ; Ainsi, pour f (x1 , x2 ) = 1 − δ0,x1 x2 , ∂1 f (0, 0) = ∂2 f (0, 0) = 0, mais f
n’est pas dérivable en 0.

Plus généralement, soit

f : O ⊂ X = X1 × . . . × Xn → Y = Y1 × . . . × Ym , ; x 7→ f (x) = [f1 (x), . . . , fm (x)]T , (13.12)

avec O = O1 × . . . × On et notons k = f 0 (a)h. Les coordonnées de h et de k sont liées par les


relations X
ki = ∂j fi (a)hj , i = 1, m j = 1, n. (13.13)
j=1,n

Ainsi, si f : Rn → Rm est de classe C 1 , de X = Rn dans Y = Rm , k = Mf h, où Mf est la


matrice des dérivées partielles de f en a :
∂fi (a)
[Mf ]ij = = ∂j fi (a). (13.14)
∂xj

On note alors Mf = [∇f ]T . ∇f est la matrice jacobienne, définie par


 
∂1 f1 (a) . . . ∂1 fm (a)
∇f (a) =  ..
. (13.15)
 
.
∂n f1 (a) . . . ∂n fm (a)

Notons également que dans le cas où m = n, le déterminant |∇f | de la matrice jacobienne est
appelé jacobien.

13.3.3 Composition des applications dérivables

Soit f : O ⊂ X → Y , dérivable en a et g : O0 ⊂ Y → Z, avec f (O) ⊂ O0 , dérivable en b = f (a).


Alors h(x) = g(f (x)) = (gof )(x) est dérivable en a et

h0 (a) = g 0 (b)f 0 (a). (13.16)

Dans le cas réel, X = Rn , Y = Rm , et Z = Rl . On a alors Mh = Mg Mf , soit


X
∂j hi (a) = ∂k gi (b)∂j fk (a) i = 1, m j = 1, n, (13.17)
k=1,m

ou encore ∇h = ∇f × ∇g.

13.4 Dérivée seconde

On définit, si elle existe, l’application dérivée seconde par

f 00 (a) = (f 0 (a))0 ∈ L(X, L(X, Y )). (13.18)


CHAPITRE 13. ELÉMENTS DE CALCUL DIFFÉRENTIEL 83

Notons que les espaces L(X, L(X, Y )) et L(X × X, Y ), encore noté L2 (X, Y ), sont isomorphes,
c’est à dire que l’on peut passer de l’un à l’autre au moyen d’une transformation linéaire bijective.
f 00 (a) définit donc une application bilinéaire continue de X × X dans Y . On montre de plus que
cette application bilinéaire est symétrique, c’est à dire que f 00 (a)(k, h) = f 00 (a)(h, k). Pour
le calcul pratique des dérivées secondes, remarquons que f 00 (a)(h, k) est la dérivée en a de
x → f 0 (x)k, appliquée au point h.

Exemples. Si f (x) = B(x, x) + C(x) + d, où B est bilinéaire, et C linéaire,

f 0 (x)k = B(x, k) + B(k, x) + C(k)


(13.19)
f 00 (x)(k, h) = B(h, k) + B(k, h).

Dans le cas réel, si X = Rn , et Y = R, on obtient

f 00 (a)(h, k) = ni,j=1 hi kj f 00 (a)(ei , ej )


P

Pn (13.20)
= i,j=1 hi kj ∂i,j f (a).

Les vecteurs ei de la base canonique sont définis par [ei ]k = δi,k . La matrice ∇2 f , de terme
général [∇2 f (a)]ij = ∂ij f (a) est appelée matrice hessienne, ou hessien de f au point a.
Ainsi,
f 00 (a)(h, k) = kT ∇2 f (a)h. (13.21)

13.5 Formules de Taylor et théorème des fonctions implicites

Les formules de Taylor qui permettent d’obtenir des approximations polynomiales locales des
fonctions exprimées à partir de leurs dérivées successives et sont utiles pour justifier certaines
conditions d’optimalité présentées au chapitre suivant. Même si les preuves des conditions d’op-
timalité ne seront pas développées pour la plupart il est intéressant de comprendre les notions
auxquelles elles se rattachent, ce qui motive ce paragraphe. On pourra par exemple trouver la
démonstration des formules de Taylor dans [2, 6]

13.6 Accroissements finis

Soit f : R → R, continue et dérivable sur ]a, b[.

∃c ∈]a, b[, f (b) − f (a) = f 0 (c)(b − a). (13.22)

La généralisation aux dimensions supérieures n’est pas directe. Pour s’en convaincre on peut par
exemple considérer la fonctionf (t) = [cos t, sin t]T , sur [0, 2π].
CHAPITRE 13. ELÉMENTS DE CALCUL DIFFÉRENTIEL 84

13.7 Formules de taylor

Soit
f : O ⊂ X → Y , avec [a, a + h] ⊂ O. (13.23)

Théorème 11 (dérivée première)


1) Si f est dérivable en a, f (a + h) = f (a) + f 0 (a)h+ k h k ε(h).
2) Accroissements finis. Si f est continue sur O et dérivable sur ]a, a + h[,

k f (a + h) − f (a) k≤ sup k f 0 (x) kk h k . (13.24)


x∈]a,a+h[

3) Taylor-Mac Lauri. Si f est continue sur O, dérivable sur ]a, a + h[ et Y = R,

f (a + h) = f (a) + f 0 (a + θh)h 0 < θ < 1. (13.25)

4) Taylor avec reste intégrale. Si f ∈ C 1 (O) et Y complet,


Z
f (a + h) = f (a) + (f 0 (a + th)h)dt. (13.26)
[0,1]

Théorème 12 (dérivée seconde).

— Taylor-Young. Si f est dérivable dans O et deux fois en a,


1
f (a + h) = f (a) + f 0 (a)h + f 00 (a)(h, h)+ k h k2 ε(h). (13.27)
2
— Accroissements finis généralisés. Si f ∈ C 1 (O) et deux fois dérivable sur ]a, a + h[,
!
0 1 00
k f (a + h) − f (a) − f (a)h k≤ sup k f (x) kL2 (X,Y ) k h k2 . (13.28)
2 x∈]a,a+h[

— Taylor-Mac Laurin. Si f ∈ C 1 (O), deux fois dérivable sur ]a, a + h[ et Y = R,


1
f (a + h) = f (a) + f 0 (a)h + f 00 (a + θh)(h, h) 0 < θ < 1. (13.29)
2
— Taylor avec reste intégral. Si f ∈ C 2 (O) et Y complet,
Z
0
f (a + h) = f (a) + f (a)h + (1 − t)(f 00 (a + th)(h, h))dt. (13.30)
[0,1]
Chapitre 14

Optimisation sans contraintes :


critères d’optimalité

Des critères portant sur les dérivées première et seconde ou la convexité de f permettent d’obtenir
des conditions nécessaires mais aussi des conditions suffisantes d’optimalité et de préciser le
caractère minimum ou maximum d’un extremum, voir même de préciser si c’est un optimum
global. Les conditions portant sur la dérivée première sont classiquement appelées conditions
du premier ordre et celles portant sur les dérivées secondes conditions du second ordre.

14.1 Définitions

14.1.1 Optimalité

Soit f : U ⊂ Rn → R. On dit que u est un minimum local de f , s’il existe un voisinage de u


Vu ⊂ U tel que f (u) ≤ f (v) (resp. f (u) ≥ f (v)), ∀v ∈ Vu . On définit de même un maximum
local par la relation f (u) ≥ f (v), ∀v ⊂ Vu ∈ U . Bien sûr, on dira de même que u représente un
maximum local de f si −f possède un minimum local en u.

Si ∀v ∈ U , f (u) ≤ f (v), on parlera alors de minimum global. Un extremum local est encore
appelé extremum relatif et un extremum global est encore appelé extremum strict.

Lorsque sur un voisinage pointé Vu − {u} de u on a f (u) < f (v), ∀v ∈ Vu − {u}, on dit que u
est un minimum local strict de f .

85
CHAPITRE 14. OPTIMISATION SANS CONTRAINTES : CRITÈRES D’OPTIMALITÉ 86

14.1.2 directions admissibles

On dit que d est une direction admissible de f en u si

∃α > 0, ∀v ∈ [u, u + αd[, v ∈ U. (14.1)

On dira de plus que d est une direction de descente de f en u si

∃γ < α, ∀t ∈ [0, γ], f (u + td) ≤ f (u). (14.2)

14.2 Conditions nécessaires d’optimalité

Fonctions continues

Considérons d’abord le cas d’une fonction continue. Le théorème de Weierstrass fournit le


résultat suivant :

Théorème 13 (Weierstrass) étant donnée une fonction continue f : K ⊂ Rn → R, où K est


compact (respectivement connexe). L’image de K par f est un ensemble compact (respectivement
connexe) de R. En particulier, il existe um , uM ∈ K tels que inf K f (u) = f (um ) et supK f (u) =
f (uM ). Si de plus K est connexe, alors f (K) = [um , uM ].

Pour des fonctions dont la valeur tend vers l’infini lorsque k u k→ ∞, et définies sur Rn tout
entier on a un résultat analogue :

Définition 2 On dit que la fonction f : U ⊂ Rn → R est coercive si

lim f (u) = +∞. (14.3)


kuk→∞; u∈U

Corollaire 2 Soit une fonction f continue et coercive f : Rn → R. Il existe un minimum u∗ de


f (u) sur Rn .

Fonctions dérivables

Pour les fonctions dérivables, on peut préciser une condition nécessaire pour qu’un point donné
de U soit un optimum local.

Théorème 14 (condition nécessaire du premier ordre) Soit f : O ⊂ Rn → R, avec O un


ensemble ouvert. Si f a un extremum local en u et est dérivable en u, f 0 (u) = 0. Cette égalité
est appelée équation d’Euler.
CHAPITRE 14. OPTIMISATION SANS CONTRAINTES : CRITÈRES D’OPTIMALITÉ 87

Démonstration Supposons par exemple que f est un minimum en un point u. Soit h un vecteur
fixé et g(t) = f (u + th). g doit être minimale en 0. Donc, pour t > 0, (g(t) − g(0))/t > 0 et
g(t) − g(0)
lim = g 0 (0) > 0, (14.4)
t→0 h
et de même, pour t < 0, (g(t) − g(0))/t < 0 et
g(t) − g(0)
lim = g 0 (0) < 0. (14.5)
t←0 h
Donc finalement, f 0 (u)h = g 0 (0) = 0. Cette relation étant vérifiée pour tout h fixé, on a f 0 (u) =
0.

Dans le cas où le domaine de définition de f n’est pas forcément un ouvert, on a une condition
nécessaire d’optimalité plus générale :

Théorème 15 (condition nécessaire du premier ordre) Si u∗ est minimum local de f :


U ⊂ Rn → R, pour toute direction admissible d en u∗ ,

[∇f (u∗ )]T d ≥ 0. (14.6)

Cette inégalité est appelée inégalité d’Euler.

Démonstration La démonstration de ce résultat est assez directe ; Il suffit de considérer le


développement de Taylor du premier ordre de f . En changeant le signe de l’inégalité d’Euler, on
vérifie facilement que si u∗ est un point intérieur de U , alors toutes les directions sont admissibles
et par suite le théorème conduit à la condition nécessaire bien connue d’optimalité en un point
d’un ensemble ouvert, donnée par ∇f (u∗ ) = 0, présentée dans le théorème 14.

Fonctions deux fois dérivables

De la même façon que le développement de Taylor au premier ordre permet d’exprimer une condi-
tion nécessaire d’optimalité, le développement de Taylor au second ordre permet de compléter
ce résultat pour les fonctions deux fois dérivables, en précisant le caractère minimal ou maximal
de l’optimum considéré.

Théorème 16 (condition nécessaire du second ordre) Si u∗ est minimum local de f :


U ⊂ Rn → R, pour toute direction admissible d en u∗ , une des deux conditions suivantes est
nécéssairement vérifiée
1. [∇f (u∗ )]T d ≥ 0,

2. [∇f (u∗ )]T d = 0 et dT ∇2 f (u∗ )d ≥ 0.

Notons que la condition nécessaire du théorème 16 n’est pas suffisante, comme on peut le voir
par exemple pour la fonction f : R → R, f (v) = v 3 au point v = 0.
CHAPITRE 14. OPTIMISATION SANS CONTRAINTES : CRITÈRES D’OPTIMALITÉ 88

14.3 Conditions suffisantes d’optimalité

On a vu que si f : U ⊂ Rn → R est deux fois dérivable en u ∈ U et si u est un minimum


relatif de f , alors pour toute direction admissible d, dT ∇2 f (u)d ≥ 0. On peut montrer que
l’existence de dérivées secondes permet d’obtenir des conditions non seulement nécessaires mais
encore suffisantes :

Théorème 17 (conditions suffisantes du second ordre) Soit f : O ⊂ Rn → R, dérivable


dans l’ensemble ouvert O, et u ∈ O tel que ∇f (u) = 0. Alors,
— si f est deux fois dérivable en u et si

∃α > 0, ∀d ⊂ Rn , dT [∇2 f (u)]d ≥ α k d k2 , (14.7)

alors f admet un minimum local strict en u.

— Si f est deux fois dérivable sur une boule B(u, r) ⊂ O, avec

∀d ⊂ Rn , dT [∇2 f (v)]d ≥ 0, (14.8)

alors f admet un minimum local en u.

Remarque On voit que la deuxième partie de l’énoncé est rendue nécessaire car la condition
(14.7) n’est plus valable pour α = 0. En effet, il suffit pour s’en convaincre de considérer la
fonction f : R → R, f (v) = v 4 en 0.

14.4 Convexité et optimalité

L’objectif est ici de rappeler les définitions et propriétés de base associées à la convexité et
montrer qu’elles permettent de préciser le caractère global d’un optimum. Ce caractère glo-
bal d’optimaux locaux constitue probablement la propriété la plus remarquable des fonctions
convexes.

14.4.1 Définitions

Commençons par quelques définitions.

Définition 3 On dit qu’un ensemble U est convexe si pour x, y ∈ U le segment [x, y] est dans
U , c’est à dire que
∀ x, y ∈ U, ∀α ∈ [0, 1], αx + (1 − α)y ∈ U. (14.9)

Les sous espaces vectoriels et les boules ouvertes ou fermées sont des exemples d’ensembles
convexes.
CHAPITRE 14. OPTIMISATION SANS CONTRAINTES : CRITÈRES D’OPTIMALITÉ 89

Définition 4 Une fonction f est convexe sur l’ensemble convexe U si

∀u, v ∈ U, ∀θ ∈ [0, 1], f (θu + (1 − θ)v) ≤ θf (u) + (1 − θ)f (v). (14.10)

Notons que la définition de la convexité d’une fonction est généralement associée (comme s’est
ici le cas pour notre définition) à la convexité de son ensemble de définition. C’est en effet dans
ce cadre que les propriétés des fonctions convexes sont les plus riches.

On dit que f est strictement convexe si

∀ u, v ∈ U, u 6= v, ∀θ ∈]0, 1[, f (θu + (1 − θ)v) < θf (u) + (1 − θ)f (v). (14.11)

On dit que f est concave si −f est convexe. Les résultats suivants permettent de caractériser la
convexité pour des fonctions une ou deux fois dérivables.

14.4.2 Caractérisations de la convexité

Les théorèmes suivant permettent de caractériser la convexité des fonctions à partir de propriétés
de leurs dérivées première et seconde.

Théorème 18 (Convexité et dérivées premières) Soit f : U ⊂ Rn ⇒ R, dérivable, avec U


convexe.
— f convexe ⇔ ∀u, v ∈ U, f (v) ≥ f (u) + f 0 (u)(v − u)

— f strictement convexe ⇔ ∀u, v ∈ U, u 6= v f (v) > f (u) + f 0 (u)(v − u).

Ce théorème indique que le graphe d’une fonction convexe se trouve au dessus des tangeantes
en chacun de ses points.

Théorème 19 (convexité et dérivées secondes) Soit f : U ⊂ Rn ⇒ R, deux fois dérivable,


avec U convexe.

— f convexe ⇔ ∀u, v ∈ U, (v − u)T [∇2 (f )(u)](v − u) ≥ 0,

— f strictement convexe ⇐ ∀u, v ∈ U, u 6= v (v − u)T [∇2 f (u)](v − u) > 0.

Notons que la réciproque de la dernière implication est fauss, comme on l’a vu dans l’exemple
de la remarque à la fin du paragraphe 14.3 (prendre par exemple f : R → R, f (v) = v4 , en
v = 0).

Pour un point u intérieur à U , il apparaı̈t donc que la convexité correspond à la positivité de la


matrice ∇2 f (u).
CHAPITRE 14. OPTIMISATION SANS CONTRAINTES : CRITÈRES D’OPTIMALITÉ 90

Exemple f (v) = (1/2)vT Av − vT b. f est convexe si et seulement si A ≥ 0 et strictement


convexe si et seulement si A > 0.

Soit f : U ⊂ Rn → R, avec U convexe. On notrera que l’ensemble des directions admissibles en


un point u de U est donné par les vecteurs v − u, avec v ∈ U .

14.4.3 Exemples de fonctions convexes

Les diverses propriétes des fonctions convexes énoncées plus haut permettent de vérifier la
convexité d’une fonction donnée. Notons qu’il n’est pas toujours aisé de vérifier qu’une fonc-
tion est effectivement convexe. On pourra démontrer la convexité des fonctions suivantes à titre
d’exercice.

Les fonctions suivantes f : R → R sont convexes :

f (x) = ax + b, x log x. (14.12)

Les fonctions suivantes f : Rn , → R sont convexes :


X
f (x) = Ax + b avec A ≥ 0, k x k, max xi , log( xi ), −(Πi=1,n xi ). (14.13)
i=1,n
i=1,n

La fonction matricielle suivante f : S++ n , → R, f (m) = log |M |, où S n


++ est l’ensemble des
matrices définies positives de taille n, est convexe.

14.4.4 Minima des fonctions convexes

Dans le cas des fonctions convexes, l’inégalité d’Euler f 0 (u)d ≥ 0, pour toute direction admissible
d devient simplement
f 0 (u)(v − u) ≥ 0, ∀v ∈ U. (14.14)
De plus, le théorème suivant montre le fait remarquable que dans le cas convexe le caractère
nécessaire de cette condition d’optimalité est également suffisant. Le caractère suffisant ne
nécessite pas ici de faire intervenir explicitement de condition du second ordre. Cela est bien
compréhensible car les conditions suffisantes d’optimalité du second ordre décrites au pagraphe
14.3 sont implicitement satisfaites par la convexité de la fonction f d’après le théorème (19).
Le caractère global des optima locaux dans le cas convexe est également mis en évidence par le
théorème suivant :

Théorème 20 (Condition nécessaire et suffisante d’optimalité des fonctions convexes)


Soit f : U ⊂ Rn → R, avec U et f convexes.
— Un minimum relatif de f sur U est un minimum global.
CHAPITRE 14. OPTIMISATION SANS CONTRAINTES : CRITÈRES D’OPTIMALITÉ 91

— Si f est strictement convexe, elle admet un minimum au plus, et c’est alors un minimum
strict.

— Si f est dérivable en u ∈ U , f est minimum en u par rapport à U si et seulement si


∀v ∈ U , f 0 (u)(v − u) ≥ 0.

— Si U est un ouvert, la condition 3) est équivalente à l’équation d’Euler f 0 (u) = 0.

Exemple Si u ∈ Rn , c ∈ Rm , avec m ≥ n, et f (u) =k Bu − c k2 . f est convexe, f 0 (u) =


BT Bu − BT c, et tout optimum global vérifie BT Bu = BT c. Si B est de rang n, il s’agit d’un
optimum strict, et il est égal à u∗ = (BT B)−1 BT c. Ce résultat confirme l’optimalité globale de
u∗ comme minimum du critère des moindre carrés étudié dans le cadre de l’analyse numérique
matricielle.

14.5 Fonctions quadratiques et elliptiques

On va maintenant s’intéresser à des fonctions convexes particulières que sont les fonctions qua-
dratiques coercive et leurs extensions que constituent les fonctions elliptiques. Les fonctions
elliptiques présentent l’avantage de pouvoir être optimisées aux moyens d’algorithmes d’optimi-
sation itératifs généraux qui seront décrits au chapitre suivant.

Fonctions quadratiques

Soit f (v) = (1/2)vT Av − vT b, avec A est définie positive, c ’est à dire que ∃α > 0, A ≥ αI.
Alors, il est clair que f est strictement convexe puisque ∇2 f = A > 0. f admet donc un minimum
global unique.

Fonctions elliptiques

Définition 5 Une fonction f : U → R, avec U convexe, est dite elliptique si f est continuement
dérivable
∃α > 0, ∀u, v ∈ U, (∇f (v) − ∇f (u))T (v − u) ≥ α k v − u k2 . (14.15)

Bien entendu, la fonction quadratique f (v) = (1/2)vT Av − vT b, avec A > 0 est elliptique.
Notons que parfois cette définition ne suppose pas la convexité de U , que l’on rajoute alors
comme hypothèse dans le théorème suivant qui montre que l’ellipticité est une propriété très
forte, impliquant en particulier la convexité :

Théorème 21 1. Si f est elliptique, elle est strictement convexe et coercive, avec de plus
α
∃α, ∀u, v ∈ U, f (v) ≥ f (u) + ∇f (u)T (v − u) + k v − u k2 . (14.16)
2
CHAPITRE 14. OPTIMISATION SANS CONTRAINTES : CRITÈRES D’OPTIMALITÉ 92

2. Si U est non vide et fermé, et f elliptique, le problème f admet une solution unique.
3. f , deux fois dérivable, est elliptique si et seulement si

∀u, v ∈ U, (v − u)T [∇2 f (u)](v − u) ≥ α k v − u k2 . (14.17)

Bien entendu, du fait de sa convexité une fonction elliptique bébéficie en particulier de toutes
les propriétés dévellopées au paragraphe 14.4. Notons de plus que la propriété (14.16) est une
propriété équivalente à la propriété de convexité forte[5] qui est définie par
α
∃α, ∀u, v ∈ U, ∀θ ∈ [0, 1] f (θu+(1−θ)v) ≤ θf (u)+(1−θ)f (v)+ θ(1−θ) k v−u k2 . (14.18)
2
Chapitre 15

Algorithmes d’optimisation sans


contraintes

15.1 Introduction

En l’absence de contraintes sur le support de la fonction f , on s’intéresse à des algorithmes de


recherche de racines de l’équation d’Euler f 0 (u) = 0. L’algorithme de Newton et ses variantes
(appelées algorithmes quasi-Newton) permettent d’atteindre un tel point. Parmi ces variantes,
l’algorithme du gradient est réputé pour sa simplicité de mise en oeuvre. De façon générale, les
algorithmes abordés ici visent à construire une suite de points (uk )k≥0 , tels que

uk+1 = uk + αk dk , (15.1)

où dk est une direction de descente de l’algorithme.

Direction de descente et choix du pas

Les différents algorithmes présentés ci dessous seront essentiellement caractérisés par leur direc-
tion de descente.

Le choix du pas αk de l’algorithme de descente constitue le deuxième élément à prendre en


compte pour la construction d’un algorithme de descente. Ainsi, au point uk , pour une direction
de descente dk , le choix particulier d’un pas optimum conduit à prendre

αk = arg min f (uk + ρdk ). (15.2)


ρ

Ce choix est intéressant du point de vue de la vitesse de convergence en terme de nombre


d’itérations de l’algorithme à effectuer sur l’indice k, mais exige à chaque fois la résolution d’un
problème de minimisation scalaire, pouvant lui même être résolu de façon itérative. Par suite,
cette stratégie peut s’avérer moins rapide

93
CHAPITRE 15. ALGORITHMES D’OPTIMISATION SANS CONTRAINTES 94

15.2 Méthode de relaxation

Face au problème du choix d’une direction de descente, une stratégie simple consiste à considérer
itérativement chaque axe de coordonnées comme direction de déplacement. On cherche alors à
minimiser la fonction vis à vis de chacune de ses composantes itérativement puis à répéter la
procédure jusqu’à la convergence de l’algorithme qui est obtenue lorsque la valeur du critère f
n’évolue plus.

Ainsi, à l’itération k, partant d’un point courant uk = (uk,1 , . . . , uk,n ), on calcul successi-
vement uk+1,1 = arg minv f (v, u0,2 , . . . , u0,n ), uk+1,2 = arg minv f (uk+1,1 v, u0,3 , . . . , u0,n ),. . . ,
uk+1,n = arg minv f (uk+1,1 , . . . , uk+1,n−1 , v). On réitère ensuite l’opération en partant de uk+1 =
(uk+1,1 , . . . , uk+1,n ).

En l’absence de contraintes de support sur f le comportement de la méthode de relaxation est


satisfaisant comme l’indique le théorème suivant :

Théorème 22 Si f : Rn → R est elliptique, la méthode de relaxation converge.

On verra dans le cadre de l’optimisation sous contraintes que si U 6= Rn , ce résultat n’est plus
vrai en général.

Dans le cas d’un critère f quadratique la méthode de relaxation conduit simplement à la


résolution d’un système linéaire par la méthode de Gauss-Seidel, présentée dans le cadre
de la résolution des systèmes d’équations linéaires. Aussi, la méthode de relaxation est encore
parfois appelée méthode de Gauss-Seidel, même quand f n’est pas une fonction quadratique.

15.3 Algorithme du gradient

On suppose ici que f est dérivable. Le développement au premier ordre de f conduit donc à

f (uk + w) = f (uk ) + ∇f (uk )T w+ k w k ε(w), (15.3)

avec limw→0 ε(w) = 0. Il apparaı̂t donc qu’en posant w = −αk ∇f (uk ), avec k w k suffisamment
petit et αk > 0, on a f (uk + w) ≤ f (uk ), et −∇f (uk ) est bien une direction de descente. Ainsi,
on obtient la forme générale de l’algorithme du gradient qui s’écrit :

uk+1 = uk − αk ∇f (uk ). (15.4)


CHAPITRE 15. ALGORITHMES D’OPTIMISATION SANS CONTRAINTES 95

15.3.1 Choix du pas et convergence

Pas optimal

L’optimisation du pas αk conduit à la méthode du gradient à pas optimal :

αk = arg min f (uk − ρ∇f (uk )). (15.5)


ρ

Théorème 23 Si f : Rn → R est elliptique, la méthode de gradient à pas optimal converge.

Exercice Considérons la fonction quadratique elliptique f (v) = (1/2)vT Av − bT v. Vérifiez que


le pas optimum est donné par

k Auk − b k2
αk = . (15.6)
(Auk − b)T A(Auk − b)

Quel peut être l’intérêt de l’algorithme du gadient par rapport à une inversion directe des
équations normales ?

Pas constant et pas décroissant

D’autres stratégies, moins couteuses, mais conduisant généralement à un plus grand nombre
d’itérations, consistent à choisir un pas constant ou un pas décroissant.

Pas décroissant et gradient normalisé

Lorsqu’on norme le gradient à chaque itération, on dispose d’un résultat de convergence intéressant
(voir par exemple [9]) :

Théorème 24 Pour un algorithme du gradient dont la suite des pas αk décroit vers 0, avec
X
lim αk = 0, et αk = +∞, (15.7)
k→∞
k=0,∞

l’algorithme du gradient défini par

∇f (uk )
uk+1 = uk − αk (15.8)
k ∇f (uk ) k

converge vers un minimum local de f .


CHAPITRE 15. ALGORITHMES D’OPTIMISATION SANS CONTRAINTES 96

Convergence

Pour des fonctions elliptiques, on obtient le résultat de convergence suivant :

Théorème 25 . Si f : Rn → R est dérivable et si ∃α, M > 0 tels que ∀u, v ∈ Rn


(∇f (v) − ∇f (v))T (v − u) ≥ α k v − u k2
(15.9)
k ∇f (v) − ∇f (v) k2 ≤ M k v − u k2 ,
et a, b > 0 tels que 0 < a ≤ αk ≤ b < (2α/M 2 ), la méthode du gradient converge et
∃β < 1, k uk − u k≤ β k k u0 − u k . (15.10)

Notons que la première condition n’est autre que la condition d’ellipticité, tandis que la seconde
énonce la caractère Lipshtzien 1 du gradient ∇f qui indique que le gradient ne doit pas varier
trop rapidement.

Voici le code d’un exemple simple où on cherche le minimum de la fonction de RosenBroeck
2 2 2
√ f (x, y) = 50 ∗ (y − x ) + (1 − x) par la méthode du gradient pour un pas décroissant
définie par
αk = 1/ k. Pour ce choix, la convergence est obtenue au bout de 5000 itérations

f = @(x,y) 50*(y-x^2)^2+(1-x)^2;
grad_f = @(x,y)[-200*x*(y-x^2)-2*(1-x); 100*(y-x^2)];
pt = [-2; 9]; % initialisation
pt_min = [1; 1]; % point où le critère est minimum
nb_iter = 1000;
err = norm(pt-pt_min);
for k=1:10000,
x = pt(1);
y = pt(2);
g = [-200*x*(y-x^2)-2*(1-x); 100*(y-x^2)]; % gradient du critère
pas = 1/k^0.5;
pt = pt - pas*g/(norm(g)+eps);
err = [err norm(pt-pt_min)];
end;
plot(err)

15.4 Méthode de Newton

15.4.1 Principe

La mise en oeuvre de la méthode de Newton suppose que f ∈ C 2 et consiste à considérer en


chaque point uk l’approximation quadratique de f fournie par son développement de Taylor à
1. une fonction g est dite Lipschitzienne de rapport M si ∀u, v, k g(u) − g(v) k2 ≤ M k u − v k2 .
CHAPITRE 15. ALGORITHMES D’OPTIMISATION SANS CONTRAINTES 97

l’ordre 2 au voisinage de uk . Ainsi, si


1
f (v) = f (u) + ∇f (u)T (v − u) + (v − u)T [∇2 f (u)]T (v − u)+ k v − u k2 ε(v − u), (15.11)
2
avec limw→0 ε(w) = 0, l’approximation quadratique
1
f˜(v) = f (u) + ∇f (u)T (v − u) + (v − u)T [∇2 f (u)]T (v − u), (15.12)
2

sera optimale au point v tel que ∇f˜(v) = 0, c’est à dire pour ∇f (u) + ∇2 f (u)T (v − u) = 0. En
posant uk = u et uk+1 = v, on obtient l’expression de l’algorithme de Ne wton :

uk+1 = uk − [∇2 f (u)]−1 ∇f (u). (15.13)

Pour rester dans les conditions de validité de l’approximation quadratique, c’est à dire pour
assurer que k uk+1 − uk k reste petit, on utilise souvent l’algorithme sous la forme uk+1 = uk −
αk [∇2 f (u)]−1 ∇f (u), avec 0 < αk < 1. Notons que pour pouvoir mettre en oeuvre l’algorithme
de Newton, il faut que f soit deux fois dérivable et que ∇2 f (u) soit inversible.

Nous reprenons la fonction de Rosenbroeck, f (x, y) = 50 ∗ (y − x2 )2 + (1 − x)2 , dont on cherche


maintenant à calculer le minimum par la méthode de Newton. On voit que la convergence est
maintenant obtenue après quelques itérations.

f = @(x,y) 50*(y-x.^2).^2+(1-x).^2;
grad_f = @(x,y)[-200*x*(y-x^2)-2*(1-x); 100*(y-x^2)];
hess_f = @(x,y)[-200*(y-x^2)+400*x^2+2 -200*x; -200*x 100];
pt = [-2; 9]; % initialisation
pt_min = [1; 1]; % point o le critre est minimum
err = norm(pt-pt_min);
nb_iter = 10;
for k=1:nb_iter,
x = pt(1);
y = pt(2);
pt = pt - inv(hess_f(x,y))*grad_f(x,y);
err = [err norm(pt-pt_min)];
end;
plot(err)

15.4.2 Autre interprétation dans le cas scalaire

Supposons que Rn = R et posons g(u) = f 0 (u). L’algorithme de Newton s’écrit alors uk+1 =
uk − [g 0 (u)]−1 g(u). Un simple graphique montre clairement que uk+1 représente l’intersection
avec l’axe des x de la tangente au graphe de g au point (uk , g(uk )).L’algorithme de Newton
permet donc la recherche itérative d’une racine de l’équation g(u) = 0. C’est pourquoi les
algorithmes de Newton sont présentés soit comme des algorithmes de recherche de la solution
d’une équation, soit comme des algorithmes de recherche du minimum d’une fonction.
CHAPITRE 15. ALGORITHMES D’OPTIMISATION SANS CONTRAINTES 98

15.4.3 Méthodes de type quasi-Newton

L’inversibilité de ∇2 f et la complexité du calcul de cette inverse sont deux contraintes fortes de


l’algorithme de Newton. Aussi, on peut envisager des simplifications numériques de l’algorithme,
consistant par exemple à garder la même matrice ∇2 f (xk ) pendant plusieurs itérations ou à
prendre toujours la même matrice. Finalement, on obtient une famille d’algorithmes de forme
générale
xk+1 = xk − A−1 k ∇f (xk ) (15.14)
Ainsi, pour Ak = αk I, on retrouve un algorithme du gradient. En prenant Ak = I et en posant
∇f (xk ) = g(xk ), l’algorithme xk+1 = xk −g(xk ) qui cherche itérativement un zéro de la fonction
g est appelé méthode des approximations successives.

Exemple [6] Pour g(x) = x2 −1/4, la convergence de la méthode des approximations successives
n’est assurée que pour x0 ∈ [−1/2, 3/2]. Plus précisémment, ] − 1/2, 3/2[ représente le bassin
d’attraction de la racine 1/2 et {−1/2, 3/2} le domaine d’attraction de la racine −1/2.

Des conditions de convergence de l’algorithme (15.14) portant sur la séquence des matrices
(Ak )k≥0 pourront être trouvées par exemple dans [6].

15.4.4 Convergence

Pour décrire la convergence les diverses variantes de la méthode de newton dans un même
formalisme, on considére des algorithmes de la forme

xk+1 = xk − [Ak (xk0 )]−1 ∇f (xk ), et 0 ≤ k 0 ≤ k. (15.15)

avec Ak (x) inversible ∀x ∈ O. On indique ici des conditions suffisantes de convergence d’un tel
algorithme.

Théorème 26 Soit f : O ⊂ Rn → R. On suppose que f ∈ C 2 (O). S’il existe r, M, β, tels que


B(x0 , r) ⊂ O (r > 0), β < 1 et
1. supk≥0 supx∈B(x0 ,r) k A−1
k (x) k≤ M
β
2. supk≥0 supx,x0 ∈B(x0 ,r) k ∇2 f (x) − Ak (x0 ) k≤ ,
M
r
3. k ∇f (x0 ) k≤ M (1 − β),
alors, la suite (xk )k≥0 est dans B(x0 , r), et converge vers un zéro de ∇f qui est le seul zéro de
∇f dans B(x0 , r), noté a. La convergence est géométrique :

βk
k xk − a k≤ k x1 − x 0 k . (15.16)
1−β

Dans le cas où Ak (x) ne dépend pas de x, on a le résultat suivant


CHAPITRE 15. ALGORITHMES D’OPTIMISATION SANS CONTRAINTES 99

Théorème 27 Si f ∈ C 2 (O), avec ∇f (a) = 0, A = ∇2 f (a) inversible et

(1/2)
sup k Ak − A k< , (15.17)
k≥0 k A−1 k

alors, il existe r > 0 tel que ∀x0 ∈ B(a, r) la suite

xk+1 = xk − A−1
k ∇f (xk ) (15.18)

soit contenue dans B(a, r) et converge vers a. De plus, a est la seule racine de ∇f = 0 dans
B(a, r). La convergence est géométrique :

∃β < 1, k xk − a k≤ β k k x0 − a k . (15.19)

Remarque L’utilisation de ce dernier théorème suppose la connaissance préalable du point a.

15.4.5 L’algorithme de Levenberg-Marquart

Pour les algorithmes généraux de la forme xk+1 = xk − A−1


k ∇f (xk ), le développement de f au
voisinage de xk conduit à

f (xk+1 ) = f (xk ) − ∇T f (xk )[Ak (xk0 )]−1 ∇f (xk )+ k xk+1 − xk k ε(xk+1 − xk ), (15.20)

avec limx→0 ε(x) = 0. On voit donc que si on peut négliger les termes du second ordre, −[Ak ]−1 ×
∇f (xk ) est une direction de descente dès lors que ∇T f (xk )[Ak ]−1 ∇f (xk ) > 0. Il suffit pour cela
que la matrice Ak soit positive. Or, outre le coût de calcul de ∇2 f , la matrice hessienne peut,
dans le cas général, ne pas être positive à chaque itération. Une façon pratique de corriger ce
problème consiste à remplacer ∇2 f (xk ) par ∇2 f (xk )+k I, avec k > 0 tel que ∇2 f (xk )+k I > 0.
Pour tester la positivité de la matrice Ak = ∇2 f (xk ) + k I, on peut augmenter k tant que la
factorisation de Choleski ne peut pas être calculée. On a vu en effet dans la première partie,
consacrée à l’analyse numérique, que cette factorisatin n’était définie que pour des matrices
positives. De plus, la connaissance de la factorisation ∇2 f (xk ) + k I = LLT , avec L triangulaire
permet le calcul aisé de la direction de descente dk = −[Ak ]−1 ∇f (xk ), car il suffit alors de
résoudre le double système triangulaire d’équations linéaires LLT dk = −∇f (xk ).

15.5 L’algorithme du gradient conjugué

On considère pour terminer ce chapitre une technique populaire de minimisation qui consiste à
utiliser plus d’information sur f pour calculer la direction de descente qu’avec la méthode du
gradient, sans pour autant être conduit au coût élevé de la méthode de Newton, qui nécessite
le calcul du hessien et son inversion. A partir du point courant uk , on cherche ici uk+1 tel que
f (uk+1 ) = minv∈Gk f (uk + v), avec
X
Gk = { αi ∇f (ui ); α1 , . . . , αk ∈ R}. (15.21)
i=1,k
CHAPITRE 15. ALGORITHMES D’OPTIMISATION SANS CONTRAINTES 100

Pour une fonction quadratique elliptique f (v) = (1/2)vT Av − bT v, on peut vérifier que uk+1 =
uk − ρk dk , avec
dT ∇f (uk )
ρk = k T
dk Adk
(15.22)
k ∇f (uk ) k2
et dk = ∇f (uk ) + dk−1 .
k ∇f (uk−1 ) k2

Théorème 28 Si f : Rn → R est quadratique et elliptique la méthode de gradient conjugué


converge en n itérations au plus.

Dans le cas général, pour une fonction f non nécesairement quadratique, on préfère souvent
utiliser la méthode de gradient conjugué de Polak et Ribière pour laquelle

[∇f (uk )]T (∇f (uk ) − ∇f (uk−1 ))


dk = ∇f (uk ) + dk−1 . (15.23)
k ∇f (uk−1 ) k2
Chapitre 16

Optimisation sous contraintes :


critères d’optimalité

16.1 Le théorème des fonctions implicites

Le théorème des fonctions implicites [2, 6] joue un rôle important dans la justification
de l’introduction du Lagrangien qui sera présenté un peu plus loin et constitue un outil de
base pour l’étude des conditions nécessaires et suffisantes des problèmes d’optimisation sous
contraintes d’égalité ou d’inégalité.

Soit g : Rn → Rm . On cherche ici à savoir si étant donné un point a = (a1 , a2 ), avec f (a1 , a2 ) =
b, il existe un voisinage Va1 × Va2 de ce point tel que la courbe de niveau g(x1 , x2 ) = b sur ce
voisinage soit paramétrée par une fonction h telle que x2 = h(x1 ) ; C’est à dire que pour tous
les couples (x1 , x2 ) de ce voisinage tels que g(x1 , x2 ) = b, on ait x2 = h(x1 ).

Théorème 29 Soit g : O ⊂ Rn−m × Rm → Rm , (x1 , x2 ) 7→ g(x1 , x2 ) de classe C 1 . Supposons


que g(a1 , a2 ) = b, et que la matrice jacobienne ∇x2 g(a1 , a2 ), de taille m × m, soit inversible.
Alors, il existe un voisinage ouvert O1 × O2 de (a1 , a2 ) et une fonction h : Rn−m → Rm continue
appelée fonction implicite, telle que
{(x1 , x2 ) ∈ O1 × O2 ; g(x1 , x2 ) = b} = {(x, h(x)); x ∈ O1 } . (16.1)
De plus, h est dérivable et
h0 (a1 ) = −[∇x2 g(a1 , a2 )]−1 [∇x1 g(a1 , a2 )]T . (16.2)

16.2 Points réguliers et espace tangent

On considère dans la suite deux ensembles de fonctions dérivables {f1 , . . . , fm } et {fm+1 , . . . , fm+p }
et on notera f e = (f1 , . . . , fm )T et f i = (fm+1 , . . . , fm+p )T les vecteurs de fonctions associés res-

101
CHAPITRE 16. OPTIMISATION SOUS CONTRAINTES : CRITÈRES D’OPTIMALITÉ102

pectivement à des contraintes d’égalité et d’inégalité. On va maintenant préciser la notion de


régularité d’un point satisfaisant un ensemble de contraintes de type égalité ou inégalité.

16.2.1 Contraintes d’égalité

L’ensemble V = {x; f1 (x) = 0, . . . , fm (x) = 0}, où les fonctions fk sont de classe C 1 est appelé
variété différentielle. et on définira la notion de point régulier comme suit

Définition 6 On dira qu’un point u ∈ V de V = {x; f1 (x) = 0, . . . , fm (x) = 0} est un point


régulier si les vecteurs ∇f1 (u), . . . , ∇fm (u) forment une famille libre.

Définition 7 L’espace tangent à V au point u est l’espace engendré par les tangentes en u aux
courbes dérivables de V passant par u.

On a le résultat suivant important pour la suite :

Théorème 30 L’espace tangent à V = {x; f e (x) = 0} en un point régulier u coı̈ncide avec


l’ensemble

Ker((f e )0 (u)) = {v; [∇fk (u)]T v = 0, k = 1, . . . , m} = {v; (f e )0 (u)v = 0}. (16.3)

Preuve Soit v un vecteur du plan tangent au point u. Il existe une courbe x(t), t ∈ R telle que
x(0) = u et x0 (0) = v. Comme f e (x(t)) = 0, [f e (x(t))]0 = (f e )0 (x(t))x0 (t) = 0. En particulier,
pour t = 0, on obtient (f e )0 (u)v = 0, soit v ∈ Ker((f e )0 (u)).
Réciproquement, soit v ∈ Ker((f e )0 (u)). Montrons que v appartient au plan tangent à V en u.
Soit
g : R × Rm → Rm ; t × w 7→ g(t, w) = f e (u + tv + ∇f e (u)w). (16.4)
Notons que g(0, 0) = f e (u) et que ∇w g(t, w)|(t,w)=(0,0) = [∇f e (u)]T ∇f e (u). Comme u est un
point régulier, la matrice [∇f e (u)]T ∇f e (u) est inversible. On peut donc appliquer le théorème
des fonctions implicites : il existe une fonction w(t) définie sur un voisinage de 0, sur lequel on
a g(t, w(t)) = g(0, 0) = 0.

Posons maintenant
u(t) = u + tv + ∇f e (u)w(t). (16.5)
Comme g(t, w(t)) = f e (u(t)) = 0,

d e
f (u(t))|t=0 = [∇f e (u)]T [v + ∇f e (u)ẇ(0)] = 0. (16.6)
dt
Donc, ẇ(0) = [(∇f e (u))T ∇f e (u)]−1 [∇f e (u)]T v. Mais, comme v ∈ Ker((f e )0 (u)), [∇f e (u)]T v =
0 et donc ẇ(0) = 0. Par suite, u̇(t)(0) = v, ce qui montre que v appartient au plan tangent à
V en u puisque u(t) est une courbe de V dérivable sur un voisinage de u(0) = u.
CHAPITRE 16. OPTIMISATION SOUS CONTRAINTES : CRITÈRES D’OPTIMALITÉ103

16.2.2 Contraintes d’égalité et d’inégalité

Dans le cas où on est en présence de contraintes d’égalité f e (x) = 0 et d’inégalité f i (x) ≤ 0, la
notion de point régulier est définie de façon plus générale que précédemment. En effet, pour les
contraintes de la forme f i (x) ≤ 0, en un point u fixé l’égalité peut être atteinte pour certaines
des composantes de f i , auquel cas on dira que les contraintes sont actives, ou encore saturées,
et on aura une inégalité stricte pour les autres équations de contrainte de f i (x). Dans ce dernier
cas, on voit que le point u apparaı̂t comme un point intérieur vis à vis des contraintes inactives
en ce point, ce qui conduira a prendre en compte cette particularité dans la description des
conditions d’optimalité, en particulier en modifiant la définition de la régularité en présence de
contraintes d’inégalité.

En un point x on définit l’ensemble

A(x) = {i; fi (x) = 0, i = m + 1, . . . , m + p} . (16.7)

des indices des contraintes d’inégalité actives. La régularité d’un point est alors définie comme
suit

Définition 8 On dira qu’un point u ∈ {x; f e (x) = 0, f i (x) ≤ 0} est un point régulier si
l’ensemble des vecteurs {∇fi (u); i ∈ {1, . . . , m} ∪ A(u)} est une famille libre.

16.3 conditions d’optimalité en présence de contraintes d’égalité

On considère le problème suivant 


min f (x)
(16.8)
f e (x) = 0,
où f e : Rn → Rm ; u 7→ f e (x) = (f1 (x), . . . , fm (x))T .

16.3.1 Condition nécessaire d’optimalité

Condition nécessaire du premier ordre

Un résultat important réside dans le fait que si un point u estune solution du problème (16.8),
alors le gradient de f en ce point doit être orthogonal au plan tangent. Cela ce traduit par le
théorème suivant :

Théorème 31 (Condition nécessaire du premier ordre) Si u est un point régulier et un


optimum local pour le problème (16.8), alors

∃λ ∈ Rm , ∇f (u) + ∇f e (u)λ = 0. (16.9)


CHAPITRE 16. OPTIMISATION SOUS CONTRAINTES : CRITÈRES D’OPTIMALITÉ104

Dans la suite, on considérera classiquement le lagrangien du problème (16.8), défini par :


L(x, λ) = f (x) + f e (x)λ. (16.10)
Il est clair que la condition du premier ordre (16.9) précédente associée aux contraintes du
problème (16.8) s’exprime comme l’annulation du gradient du Lagrangien vis à vis de u et de λ
respectivement :
∇v L(u, λ) = 0,
(16.11)
∇λ L(u, λ) = 0.
Les coefficients (λi (u))i=1,m introduit ci dessus sont appelés multiplicateurs de Lagrange associés
à l’extremum u.

Une démonstration du théorème faisant appel à la notion de dualité en programmation linéaire


sera présentée dans le chapitre sur la programmation linéaire. Une démonstration plus directe
est fournie ici.

Preuve Considérons le plan tangent à V au point régulier u. Pour tout vecteur v de cet hyper-
plan, on peut construire sur V une courbe y(t) de tangente v au point u. La condition d’opti-
d
malité dt f (y(t))|t=0 = ∇f (u)T v = 0 montre que ∇f (u) est orthogonal à l’hyperplan tangent,
et donc appartient à l’espace engendré par les vecteurs colonnes de ∇f e (u), d’après le théorème
30. Puisque ∇f (u) est dans l’espace image de la matrice ∇f e (u), il existe une vecteur d ∈ Rm
tel que ∇f (u) = ∇f e (u)d et en posant λ = −d, on obtient finalement ∇f (u) + ∇f e (u)λ = 0.

Exemple On peut vérifier que pour le problème


 f (v) = 12 vT Av − vT b

(16.12)
U = {v ∈ Rn ; Cv = d},

où A est une matrice symétrique (AT = A), la condition nécessaire d’optimalité (16.9) s’écrit
A CT
    
u b
   =  . (16.13)
C 0 λ d

Exercice Montrez que si A est inversible et si C, de taille m × n est de rang m, la matrice de


l’équation (16.13) est inversible. Exprimer la solution u en fonction de A,b,C et d.

Conditions du second ordre

Si f, f e ∈ C 2 , les conditions nécessaires et suffisantes du second ordre établies dans le cadre


de l’optimisation sans constraintes se généralise en des condidtions analogues portant ici sur la
restriction de la dérivée seconde du lagrangien à l’espace tangent.

Rappelons que le lagrangien et ses dérivées sur u sont donnés par


L(u, λ) = f (u) + λT f e (u),
∇u L(u, λ) = ∇f (u) + ∇f e
P (u)λ, (16.14)
∇u L(u, λ) = ∇ f (u) + i=1,m λi ∇2 fi (u).
2 2
CHAPITRE 16. OPTIMISATION SOUS CONTRAINTES : CRITÈRES D’OPTIMALITÉ105

Théorème 32 (Conditions nécessaires du second ordre) Si u est un minimum local


régulier du problème (16.8), alors

∃λ ⊂ Rm , ∇u L(u, λ) = 0
(16.15)
∀v ∈ Ker((f e )0 (u)), vT [∇2u L(u, λ)]v ≥ 0.

Preuve Soit x(t) une courbe de V = {v; f e (v) = 0}, avec x(0) = u et = ẋ(0) = v. La condition
nécessaire du second ordre pour l’optimisation sans contrainte montre que l’on doit avoir

d2 d
2
[f (x(t))]t=0 = [(ẋ(t))T ∇f (x(t))]t=0 = vT ∇2 f (u)v + [ẍ(0)]T ∇f (u) ≥ 0. (16.16)
dt dt
En dérivant par ailleurs deux fois la relation λT f e (x(t)) en 0, on obtient

d2 T e d dx X
2
[λ f (x(t))]t=0 = [( )T ∇f e (x(t))λ]t=0 = vT λi ∇2 fi (u) + [ẍ(0)]T ∇f e (u)λ ≥ 0.
dt dt dt
i=1,m
(16.17)
En additionnant les relations (16.16) et (16.17) et en prenant en compte la relation ∇u L(u, λ) =
0, déjà établie dans le théorème 31, on obtient directement la relation vT [∇2u L(u, λ)]v ≥ 0.

Comme pour le cas non contraint, la condition nécessaire de positivité de la matrice hessienne
devient là encore une condition suffisante dès lors qu’on peut en assurer la positivité stricte. Ici
comme pour la condition nécessaire ce dessus il s’agit de la positivité du hessien du lagrangien
restreinte au sous espace tangent.

Théorème 33 (Conditions sufisantes du second ordre) Si u est un point régulier de f e


et si
∃λ ⊂ Rm , ∇u L(u, λ) = 0
(16.18)
∀v ∈ Ker((f e )0 (u)), vT [∇2u L(u, λ)]v > 0,
alors, u est un minimum local strict du problème (16.8).

Preuve On va faire une démonstration par l’absurde. Si u satisfait aux hypothèses du théorème
mais n’est pas un minimum local strict, il existe une suite (uk )k≥1 de V qui converge vers u et
telle que f (uk ) ≤ f (u). On pose uk = u + ρk dk , avec k dk k= 1. La suite (dk )k≥1 étant bornée,
elle admet une sous suite convergente. Pour simplifier les écritures et sans perte de généralité,
on pourra supposer ici que la suite (dk )k≥1 est elle même convergente vers une certaine valeur,
notée d. On considère ici les formules de Taylor du second ordre appliquées aux fonctions f et
(fi )i=1,m et données par

ρ2k T 2
0 = fi (uk ) − fi (u) = ρk ∇fi (u)T dk + d [∇ fi (u)]dk + ρ2k εi (ρk )
2 k
(16.19)
ρ2k
0 ≥ f (uk ) − f (u) = ρk ∇f (u)T dk + dTk [∇2 f (u)]dk + ρ2k ε(ρk )
2
CHAPITRE 16. OPTIMISATION SOUS CONTRAINTES : CRITÈRES D’OPTIMALITÉ106

avec limρ→0 εi (ρ) pour i = 0, 1, . . . , m. En multipliant les premières relations par les coefficients
λi correspondants, en les additionnant à la dernière relation, et en prenant enP compte la relation
∇u L(u, λ) = 0, il vient que dTk ∇2u L(u, λ)dk + ε(ρk ) ≤ 0, avec ε(ρ) = ε0 (ρ) + i=1,m λi εi (ρ). En
passant à la limite, il vient que limk→∞ dTk ∇2u L(u, λ)dk + ε(ρk ) = dT ∇2u L(u, λ)d ≤ 0.

Notons maintenant que [fi (uk ) − fi (u)]/ρk = ∇fi (u)T dk + α(ρk ) = 0, avec limk→∞ ρk = 0 et
limρ→0 α(ρ) = 0. Il apparaı̂t donc en passant à la limite que limk→∞ ∇fi (u)T dk = ∇fi (u)T d = 0.
Donc d ∈ Ker((f e )0 (u)) et dT ∇2u L(u, λ)d ≤ 0, ce qui contradictoire avec les hypothèses du
théorème, CQFD.

Remarque En pratique, la propriété ∀v ∈ Ker((f e )0 (u)), vT [∇2u L(u, λ)]v > 0 peut être vérifiée
en considérant une base {v1 , . . . , vn−m } de l’espace tangent à V au point u et en construisant la
matrice V = [v1 , . . . , vn−m ] puis la matrice VT ∇2u L(u, λ)V dont il suffit alors de tester la positi-
vité des valeurs propres. En effet, l’espace tangent s’écrit encore {Vα; α ∈ Rn−m } et la positivité
de la restriction de ∇2u L(u, λ) à cet espace s’écrit donc ∀α ∈ Rn−m −{0}, αVT ∇2u L(u, λ)Vα > 0,
soit VT ∇2u L(u, λ)V > 0.
De plus, soit il est facile de construire de façon directe une telle base V de l’orthogonal de
l’espace engendré par {∇f1 (u), . . . ∇fm (u)}, soit on peut en construire une par un procédé
systématique par exemple à partir de la matrice de projection sur Ker((f e )0 (u)). Rappelons ici
que la matrice de projection sur l’espace engendré par les colonnes d’une certaine matrice M
s’écrit M(MT M)−1 MT (voir Eq. (3.32) de la première partie de ce document). par suite, la ma-
−1 e 0
trice de projection sur Ker((f e )0 (u)) est I − (f e )0 (u) [(f e )0 (u)]T (f e )0 (u) [(f ) (u)]T . On peut
en déduire une base de Ker((f e )0 (u)) en extrayant par exemple une famille libre de dimension
maximale (n − m) de la famille des vecteurs
 −1 e 0 
vk = I − (f e )0 (u) [(f e )0 (u)]T (f e )0 (u) [(f ) (u)]T ek
−1 (16.20)
= ek − (f e )0 (u) [(f e )0 (u)]T (f e )0 (u) ∇fke (u),

où ek = (0, . . . , 0, 1, 0, . . . , 0)T est le k ème vecteur de la base canonique.

Exemple

Résoudre le problème d’optimisation suivant :

min(x,y) x2 + y 2 − xy

(16.21)
x2 + y 2 − 4x − 4y + 6 = 0

Le lagrangien s’écrit L(x, y, λ) = x2 + y 2 − xy + λ(x2 + y 2 − 4x − 4y + 6) et


 
2(1 + λ)x − y − 4λ
∇(x,y) L(x, y, λ) = = 0. (16.22)
2(1 + λ)y − x − 4λ

En additionnant et en soustrayant les deux équations précédentes, on trouve que (2λ+1)(x+y) =


8λ et (2λ + 3)(x − y) = 0. De la deuxième équation, on déduit que x = y ou λ = −3/2. Si x = y,
la contrainte se réécrit x2 −4x+3 = (x−1)(x−3) = 0 et on en déduit que (x, y, λ) = (1, 1, −1/2)
ou (x, y, λ) = (3, 3, −1/2). Si λ = −3/2, y = −x + 8λ/(2λ + 1) = 6 − x et la contrainte se réécrit
x2 − 6x + 9 = (x − 3)2 = 0, soit (x, y, λ) = (3, −3, −3/2).
CHAPITRE 16. OPTIMISATION SOUS CONTRAINTES : CRITÈRES D’OPTIMALITÉ107

Les solutions des conditions du premier ordre sont donc (x, y, λ) = (1, 1, −1/2), (x, y, λ) =
(3, 3, −1/2) et (x, y, λ) = (3, −3, −3/2). La matrice hessienne s’écrit pour λ = −1/2
   
2 2(1 + λ) −1 1 −1
∇(x,y) L(x, y, λ) = = (16.23)
−1 2(1 + λ) −1 1
qui est positive, les valeurs propres valant 0 et 2. Le gradient de la fonction de contrainte vaut
(2x − 4, 2y − 4)T . Il est donc colinéaire à (1, 1)T pour x = y et l’espace tangent est engendré
par le vecteur (1, −1)T .Comme (1, −1)T est le vecteur propre associé à la valeur propre nulle,
la condition suffisante du second ordre n’est pas vérifiée ici. De même, pour λ = −3/2, la
matrice hessienne a tous ses termes égaux à -1 et ses valeurs propres sont 0 et -2 ; Les conditions
suffisantes du second ordre ne sont donc pas vérifiées ici non plus.
Finalement, il apparaı̂t que les conditions nécessaires du premier ordre sont satisfaites pour (x, y)
égal à (1, 1), (3, 3) ou (3, −3). Pour ces trois couples, le critère à optimiser vaut respectivement
1, 9 et 27. Donc seul le point (1, 1) peut représenter le minimum global du problème. (1, 1) est
effectivement la solution du problème d’après le théorème de Weierstrass (le critère est continu
et la contrainte qui est une ellipse est bien un ensemble compact).

16.4 Conditions d’optimalité en présence de contraintes d’égalité


et d’inégalité

On considère mintenant le problème suivant



 min f (x)
f e (x) = 0, (16.24)
 i
f (x) ≤ 0,

où f e : Rn → Rm ; x 7→ f e (x) = (f1 (x), . . . , fm (x))T , et f i : Rn → Rm ; u 7→ f i (x) =


(fm+1 (x), . . . , fm+p (x))T . On se limitera ici à l’étude de l’optimalité en des points réguliers
au sens de la définition 8, qui permet une définition simple mais couvre un grand nombre de
situations.

16.4.1 Condition nécessaire du premier ordre

Théorème 34 (conditions de Khun et Tucker) Si u est point régulier et un optimum local


du problème (16.24), alors,
∃λ ∈ Rm , ∃µ ∈ Rp+ , ∇f (u) + ∇f e (u)λ + ∇f i (u)µ = 0,
(16.25)
f i (u)µ = 0.

Notons que la condition f i (u)µ = 0 associée à la positivité de µ et à la négativité de f i (u), se


réécrit en fait ∀k = 1, . . . , p, µk fki (u) = 0. Rappelons également que A(u) représente l’ensemble
des indices des contraintes d’inégalité actives en u, c’est à dire les valeurs de k ∈ {m+1, . . . , m+
p} telles que fk (u) = 0, les contraintes d’égalité étant quant-à elles bien entendu toujours actives
en un point réalisable.
CHAPITRE 16. OPTIMISATION SOUS CONTRAINTES : CRITÈRES D’OPTIMALITÉ108

Preuve Pour les contraintes inactives, on a fk (u) < 0 et on fixe µk = 0. Ainsi, on a bien
f i (u)µ = 0. D’après le théorème 31, on a alors également
∃λ ∈ Rm , ∃µ ∈ Rp , ∇f (u) + ∇f e (u)λ + ∇f i (u)µ = 0. (16.26)
Il reste à vérifier la positivité des composantes de µk pour k ∈ A(u). Effectuons une démonstration
par l’absurde en supposant qu’il existe k ∈ A(u) tel que µk < 0, Notons V−k (u) = {v; f e (v) =
0, j ∈ A(u) − {k} ⇒ fji (v) = 0}. Comme u est un point régulier, ∇fk (u) n’appartient pas à l’es-
pace normal au plan tangent au point u à la variété V−k (u), défini par {v; [∇fj (u)]T v = 0, j ∈
{1, . . . , m} ∪ (A(u) − {k})}. Il existe donc un vecteur v de ce plan tangent tel que ∇fk (u)T v < 0.
Comme ∇fj (u)T v = 0 pour j ∈ {1, . . . , m} ∪ (A(u) − {k}) et µj = 0 pour j ∈ / A(u), on trouve
que
[∇f (u) + ∇f e (u)λ + ∇f i (u)µ]T v = ∇f (u)T v + µk ∇fk (u)T v = 0. (16.27)
Mais, puisque ∇fk (u)T v < 0 et µk < 0, on doit alors avoir ∇f (u)T v < 0. En utilisant le
théorème des fonctions implicites, on peut alors construire une courbe x(t) de V−k (u), et donc
de l’ensemble des contraintes, avec t ≥ 0, telle que x(0) = u et ẋ(0) = v. On aurait alors
d
l’inégalité dt f (x(t)) = ∇f (u)T v < 0, qui est contraire à l’hypothèse de minimalité locale de u,
CQFD.

16.4.2 Conditions du second ordre

Condition nécessaire

D’après le paragraphe précédent, il est clair que le théorème de condition nécessaire du second
ordre présenté dans le cas de contraintes d’égalité s’étend directement au cas de contraintes
d’inégalité en intégrant à la condition les contraintes d’inégalité actives, ce qui conduit au
théorème suivant :

Théorème 35 (Conditions nécessaires du second ordre) Si u est un minimum local


régulier du problème (16.24), alors
∃λ ∈ Rm , ∃µ ∈ Rp+ , ∇f (u) + ∇f e (u)λ + ∇f i (u)µ = 0,

f i (u)µ = 0.

∀v ∈ x ∇fk (u)T x = 0, k ∈ {1, . . . , m} ∪ A(u) , vT ∇2u L(u, λ, µ)v ≥ 0.




(16.28)

Ici, le lagrangien L(u, λ, µ) est défini par L(u, λ, µ) = f (u) + f e (u)T λ + f i (u)T µ, et son hessien
est donné par
X X
∇2u L(u, λ, µ) = ∇2u f (u) + λk ∇2u fke (u) + µk ∇2u fki (u). (16.29)
k=1,m k=1,p

Remarques
i) Il se peut que pour une solution (u, λ, µ) des conditions de Khun et Tucker une contrainte
CHAPITRE 16. OPTIMISATION SOUS CONTRAINTES : CRITÈRES D’OPTIMALITÉ109

d’inégalité fk (u) ≤ 0 soit active, c’est à dire que fk (u) = 0, et que simultanément on ait µk = 0.
2
ii)
 Pour traduire
T
la positivité de la matrice ∇u L(u, λ, µ) pour les vecteurs de l’espace E(u) =
v ∇fk (u) v = 0, k ∈ {1, . . . , m} ∪ A(u) , il suffit de définir une base {v1 , . . . , vl } de cet es-
pace et la matrice V dont les colonnes sont constituées de ces vecteurs : V = [v1 . . . vl ].
On pourra alors montrer à titre d’exercice que la positivité (resp. la positivité stricte) de
∇2u L(u, λ, µ) restreinte à E(u) est équivalente à la positivité (resp. la positivité stricte) de la
matrice VT [∇2u L(u, λ, µ)]V. Cette propriété est utile en pratique pour vérifier la condition suf-
fisante énoncée ci dessous.

Condition suffisante

Théorème 36 (Conditions suffisantes du second ordre) Si u est un point régulier du


problème (16.24), avec f, (fk )k=1,...,m+p ∈ C 2 , et si

∃λ ∈ Rm , ∃µ ∈ Rp+ , ∇f (u) + ∇f e (u)λ + ∇f i (u)µ = 0,

f i (u)µ = 0.

∀v ∈ x ∇fk (u)T x = 0, k ∈ {1, . . . , m} ∪ {k; µk > 0} , vT ∇2u L(u, λ, µ)v > 0.




(16.30)
alors u est un minimum local strict du problème (16.24).

Preuve On pourra faire la démonstration à titre d’exercice en reprenant, avec des notations
analogues, la démonstration par l’absurde du théorème 33.

16.5 Lagrangien, points selles, et dualité

16.5.1 Points selles

Considérons le problème 
min f (x)
(P ) (16.31)
f i (x) ≤ 0.
Le lagrangien L(u, µ) est une fonction de Rn × Rp dans R. On dit que (u, µ) est un point selle
de L si v → L(v, µ) a un minimum en u et si ν → L(u, ν) a un maximum en µ.

Théorème 37 . Si (u, µ) est un point selle,

supν inf v L(v, ν) = inf v supν L(v, ν)


(16.32)
= L(u, µ).
CHAPITRE 16. OPTIMISATION SOUS CONTRAINTES : CRITÈRES D’OPTIMALITÉ110

16.5.2 Problèmes primal et dual

Théorème 38 (problèmes primal et dual)


1. Soit L(v, µ) = f (v) + i=1,p νk fki (v). Si (u, µ) ∈ Rn × Rp est un point selle de L,alors
P

u appartient à l’ensemble U = {v; fki (v) ≤ 0} et représente une solution du problème


(16.31).

2. Si f et (fki )i=1,p sont convexes et dérivables en un point régulier u qui est un minimum
local du problème (16.31), alors ∃µ ∈ Rp+ , (u, µ) est un point selle de L.

L(v, µ) est appelé lagrangien associé au problème (P ).


Si on connait la valeur de µ associée à un point selle, on est ramené au problème sans contraintes
de la recherche d’un vecteur uµ tel que

(Pµ ) L(uµ , µ) = inf L(v, µ). (16.33)


v

Pour trouver ce µ, il aura fallu résoudre

(D) ν ∈ Rp+ , G(µ) = sup G(ν), avec G(µ) = inf L(v, ν). (16.34)
ν∈Rp+ v

(P ) et (D) sont respectivement appelés problème primal et problème dual.

Théorème 39 (lien entre les problèmes primal et dual)


1) Si les (fkk )i=1,p sont continues et que ∀ν ∈ Rm + (Pν ) admet une unique solution uν , avec
ν → uµ continue, alors à une solution µ de (D) correspond une solution uµ qui est solution de
(P ).
2) Si u est un point régulier solution de (P ), que f et les (fki )i=1,p sont convexes et dérivables
en u, (D) admet au moins une solution.
Ainsi, avec les hypothèses précédentes,
— (u, µ) est point selle de L ⇒ µ est solution de (D)
— µ est solution de (D) ⇒ (uµ , µ) est point selle de L.

1 T
Exemple. f (v) = 2 v Av − vT b, et U = {v; Cv ≤ d}, C ∈ Rm × Rn . On a les relations
suivantes
L(v, µ) = 21 vT Av − vT (b − CT µ) − µT d

uµ = A−1 (b − CT µ)
(16.35)
G(µ) = − 12 (b − CT µ)A−1 (b − CT µ) − µT d

CA−1 CT ≥ 0.
Donc −G(µ) admet un minimum, unique si C est de rang p, qui annule

∇G(µ) = −CA−1 CT µ + (CA−1 b − d). (16.36)


CHAPITRE 16. OPTIMISATION SOUS CONTRAINTES : CRITÈRES D’OPTIMALITÉ111

16.6 Optimisation et calcul formel

On envisagera dans le prochain chapitre quelques techniques numériques d’optimisation sous


contraintes. Pour des problèmes d’écoles simples admettant une solution analytique, on peut
envisager l’emploi d’outils de calcul formel qui permet d’obtenir la solution au prix de quelques
lignes de code.

Dans ce paragraphe, on montre avec deux exemples simples comment on peut obtenir une
solution avec le language Sage (http ://www.sagemath.org/) qui au travers d’une interface de
programmation basée sur le langage Python (http ://www.python.org) permet d’accéder à de
très nombreuses librairies de calcul mathématiques. Le but de Sage est de fournir les possibilités
de langages payants de calcul formels tels que Mathematica ou Mapple, ou de calcul algébrique
tels que Matlab, avec l’accès au code source des fonctions qui permet la vérification approfondie
des codes employés.

Notons que pour les exemples ci dessous, on pourrait aussi utiliser la librairie sympy libre-
ment disponible sous python (www.sympy.org) qui fait partie de la pile logicielle scipy (voir
www.scipy.org) et constitue un ensemble de ressources intéressantes pour le calcul scientifique

Optimisation avec contrainte d’égalité

# optimiser f(x,y) = xy
# sous la contrainte h(x,y)=(x/a)^2 + (y/b)^2-1=0
#----------------------------------------
# Déclaration des paramètres et fonctions
#----------------------------------------
a, b, x, y, lam = var(’a, b, x, y, lam’)
assume(a>=0,b>=0,x>= 0)
f(x,y) = x*y
h(x,y) = x^2/a^2 + y^2/b^2-1
# Résolution
#-----------
L(x,y) = f(x,y) + h(x,y) * lam
DL = L(x,y).gradient([x, y])
sol = solve([DL[k] == 0 for k in range(len(DL))]+[ h == 0],x, y, lam,
solution_dict=True)
# visualisation des solutions
html.table([["$\lambda$","$x$", "$y$", "$f(x, y)$"]] + [(sol[j]
[lam],sol[j][x], sol[j][y],f(x=sol[j][x], y=sol[j][y])) for j in
range(4)], header = True)
CHAPITRE 16. OPTIMISATION SOUS CONTRAINTES : CRITÈRES D’OPTIMALITÉ112

Figure 16.1 – minx,y xy sous la contrainte (x/a)2 + (y/b)2 = 1.

Optimisation avec contrainte d’inégalité

# optimiser f(x,y) = (x/a)^2 + (y/b)^2


# sous g(x,y) = -b*x - a*y +a*b <= 0
#----------------------------------------
# Déclaration des paramètres et fonctions
#----------------------------------------
a, b, x, y, mu1,mu2 = var(’a, b, x, y, mu1, mu2’)
assume(a>=0,b>=0,mu1>=0,mu2>=0)
f = x^2+y^2
g1 = x^2/a^2 + y^2/b^2-1
g2 = -b*x - a*y +a*b
# Résolution
#-----------
L
= f + g1*mu1 + g2*mu2
DL = L.gradient([x, y])
sol = solve([DL[k] == 0 for k in range(len(DL))]+[ mu1*g1 == 0]+[
mu2*g2 == 0],x, y, mu1,mu2, solution_dict=True)
# visualisation
html.table([["$\mu_1$", "$\mu_2$","$x$", "$y$", "$f(x, y)$"]] \
+ [(sol[j][mu1],sol[j][mu2],sol[j][x],sol[j][y],f(x=sol[j][x],
y=sol[j][y])) for j in range(len(sol)) if (sol[j][mu1]>=0 and sol[j]
[mu2]>=0)],header = True)
CHAPITRE 16. OPTIMISATION SOUS CONTRAINTES : CRITÈRES D’OPTIMALITÉ113

Figure 16.2 – minx,y x2 + y 2 , avec (x/a)2 + (y/b)2 ≤ 1 et −bx − ay + ab ≤ 0.


Chapitre 17

Optimisation sous contraintes :


algorithmes

Ce chapitre, en cours de rédaction, présente quelques techniques d’optimisation pour les problèmes
contraints.

17.1 Extension des méthodes sans contraintes

Une première idée consiste, pour les problèmes contraints, à chercher à généraliser les techniques
développées pour les problèmes non contraints.

17.1.1 Méthode de relaxation

Théorème 40 Soit f : Rn → R elliptique. Si l’ensemble U des contraintes est de la forme


Πk=1,n [ai , bi ] (ai , bi ∈ R), la méthode de relaxation converge.

L’extension du théorème à des ensembles plus généraux n’est pas immédiate (considérer par
exemple le cas où f (v) = v12 + v22 , et U = {(v1 , v2 ); v1 + v2 ≥ 2}).

17.1.2 Théorème de projection et gradient projeté

Le théorème de projection est un outil d’usage courant pour l’optimisation dans les espaces de
Hilbert. Rappelons qu’un espace de Hilbert H est un espace vectoriel normé complet (c’est à
dire tel que toute suite de Cauchy y est convergente) muni d’un produit scalaire. Dans un tel
espace, on a le résultat fondamental suivant appelé théorème de projection. On en donne ici
un énonc{e retreint à Rn .

114
CHAPITRE 17. OPTIMISATION SOUS CONTRAINTES : ALGORITHMES 115

Théorème 41 Soit U ⊂ Rn un ensemble convexe fermé et non vide. Alors

∀x ∈ Rn , ∃!xP ∈ U, et k x − xP k= inf k x − y k . (17.1)


y∈U

xP est l’unique élément z de U tel que ∀y ∈ U , (z − x)T (y − z) ≥ 0.


L’application P : x → xP est telle que

∀x1 , x2 ∈ Rn , k x1P − x2P k≤k x1 − x2 k . (17.2)

P est linéaire si et seulement si U est un sous espace vectoriel de Rn , auquel cas

∀y ∈ U, yT (xP x) = 0. (17.3)

Théorème 42 (Convergence de la méthode de gradient projeté). Soit f : Rn → R, et U ⊂ Rn


est un ensemble convexe non vide. Si ∃α, M > 0, tels que ∀x, y ∈ Rn

(∇f (y) − ∇f (x))T (y − x) ≥ α k y − x k2


(17.4)
k ∇f (y) − ∇f (x) k ≤ M k y − x k,

et a, b > 0 tels que 0 < a < ρk ≤ b < (2α/M 2 ), la méthode du gradient projeté converge et

∃β < 1, k uk − u k≤ β k k u0 − u k . (17.5)

Notons cependant que la construction de l’opérateur de projection PU est parfois difficile.

17.1.3 Méthode de point intérieur

Les méthodes de point intérieur visent à remplacer les contraintes du critère par un terme additif
qui tend vers l’infini à la frontière du domaine des contraintes lorsqu’on augmente un paramètre
de réglage d’adéquation aux contraintes que l’on notera ici t. Ainsi, au problème

 minx f (x)
(17.6)
 i
f (x) ≤ 0, i = 1, . . . , p,

on pourra associer le critère non contraint suivant


1 X
f (x) + ψ(−f i (x)), (17.7)
t
i=1,p

où ψ(z) est une fonction décroissante sur R+ qui présente une divergence en 0. En pratique,
on cherchera à minimiser itérativement cette fonction tout en faisasnt croı̂tre la valeur de t.
Typiquement, on prendra ψ(z) = log z.

La méthode de point intérieur constitue une technique de pénalisation interne qui conduit à
des algorithmes itératifs qui doivent être initialisés à l’intérieur du domaine des contraintes.
CHAPITRE 17. OPTIMISATION SOUS CONTRAINTES : ALGORITHMES 116

17.1.4 Méthode de pénalisation externe

On peut aussi envisager des méthodes de pénalisation externe qui consistent à remplacer
les contraintes d’inégalité par une fonction nulle dans le domaine des contraintes et strictement
positive à l’extérieur. Indiquons ici un résultat de convergence pour une telle méthode.

Théorème 43 Soit f : Rn → R, coercive et strictement convexe, U ∈ Rn un ensemble non


vide, convexe et fermé, et ψ : Rn → R, continue, convexe et telle que ∀y ∈ Rn , ψ(y) ≥ 0, et
ψ(y) = 0 ⇔ y ∈ U . Alors,
1
∀ε > 0, ∃!ut ∈ Rn , f (ut ) = infn [f (x) + ψ(x)], (17.8)
x∈R ε
et lorsque ε → 0, ut tend vers arg inf y∈U f (y).

Notons qu’à la différences des méthodes de points intérieur, la construction pratique de la fonc-
tion ψ peut s’avérer délicate pour une pénalisation externe.

17.1.5 Méthode d’Uzawa

Considérons de nouveau le problème



 minx f (x)
(17.9)
f i (x) ≤ 0, i = 1, . . . , p.

Notons P+ la projection sur Rm+ : [P+ µ]i = max{µi , 0}. Le problème dual (D) peut être résolu
par la méthode du gradient projeté :

µk+1 = P+ (µk + ρ∇G(µk )), (17.10)

où ∇G(µ) = [f 1 (µ), . . . , f p (µ)]T .

Notons uµ = arg minv [f (v)+ i=1,p µi f i (v)]. La méthode d’Uzawa consiste à calculer itérativement,
P
à partir de µ0 fixé, uk = uµk , puis µk+1 par la relation (17.10). On remplace ainsi le problème
contraint par une suite de problèmes non contraints.

Théorème 44 (convergence de la méthode d’Uzawa) Soit f : Rn → R, elliptique, et U = {v ∈


Rn ; Cv ≤ d} = 6 ∅ (C ∈ Rp × Rn ). Si 0 < ρ < 2α k C k−2 , où alpha satisfait la relation (14.15),
la suite (uk )k∈N converge vers l’unique solution de (P ). Si de plus C est de rang p, la suite
(µk )k∈N converge vers l’unique solution du problème dual (D).
CHAPITRE 17. OPTIMISATION SOUS CONTRAINTES : ALGORITHMES 117

Exemple f (v) = 12 vTAv − vT b, et U = {v; Cv ≤ d}, C ∈ Rp × Rn . L’algorithme sécrit

uk = A−1 (b − CT µk )

µk+1 = P+ (µk + ρ∇G(µk ))


(17.11)
= P+ (µk + ρ(CA−1 (b − f C T µk ) − d))

= P+ (µk + ρ(Cuk − d)).


Chapitre 18

Programmation linéaire

18.1 Le problème

On cherche à résoudre le problème d’estimation d’une fonction linéaire sous des contraintes
linéaires de type égalité ou inégalité :
 P  P
 Pmax j=1,n cj xj  max j=1,n+m cj xj
P
(I) j=1,n A ij x j ≤ b i , i = 1, m ⇔ j=1,n+m Aij xj = bi , i = 1, m
≥ 0 i = 1, n xi ≥ 0 i = 1, n + m
 
x i
 (18.1)
 max z = cx 
maxx∈U z = cx
⇔ Ax = b ⇔
U = {x ∈ Rm+n ; Ax = b, x ≥ 0}
x≥0

où on a posé, pour j > 0 Aij = δi,n+i . U est un polytope convexe, c’est à dire un sous ensemble
convexe de Rm+n dont la frontière est définie par un nombre fini d’hyperplans. U a un nombre
fini de points extrèmes, c’est à dire de points qui ne se trouvent pas sur un segment ]a, b[ où a
et b appartiennent à U .

Théorème 45 Si U est non vide et borné, minx∈U cx est atteint en au moins un point extrème
de U . Si le minimum est atteint en plusieurs points extrèmes, le convexe qu’ils engendrent est
un ensemble de solutions du problème.

18.2 Bases réalisables

On peut supposer que A est de rang m (sinon le système Ax = b n’a pas de solution ou est
redondant, auquel cas on peut éliminer les équations redondantes). On appelle base une sous ma-
trice AB de de taille m extraite de A et inversible. On note xB les composantes correspondantes
de x. On a alors
z = cB xB + cB xB et Ax = AB xB + AB xB = b (18.2)

118
CHAPITRE 18. PROGRAMMATION LINÉAIRE 119

On appelle solution de base AB le vecteur x défini par xB = A−1


B b et xB = 0. Une solution de
base est dite réalisable si xB ≥ 0.

Théorème 46 L’ensemble des points extrèmes de U correspond à l’ensemble des solutions de


base réalisables

18.2.1 Solutions de base réalisables optimales

Le problème (I) se ramène donc à celui de la recherche des solutions de base réalisables optimales.
Notons A = [AB AB ] = [A1 , . . . , Am , Am+1 , . . . , Am+n ].

xB + (A−1 −1
B AB )xB = AB b, (18.3)

donc
z = cB [A−1 −1
B b − (AB AB )xB ] + cB xB
(18.4)
cB A−1 −1
P
= B b − j∈B [cB AB Aj − cj ]xj .

Notons αj = cB A−1
B Aj . On a alors le résultat suivant :

Théorème 47
A−1
 
[∀i ∈ B, αj − cj ≥ 0] ⇒ B b est une solution optimale. (18.5)
0

18.3 Changement de base réalisable

B étant une base réalisable, on cherche à la transformer en une nouvelle base : B → B 0 =


B − {s} + {r} où s et r correspondent aux indices des colonnes AS et AR de A qui sortent et
entrent dans la base respectivement.

Proposition 3 B 0 est une base si et seulement si [A−1


B Ar ]s 6= 0.

Preuve Cela provient du fait que


X X
λi Ai + λr Ar = 0 ⇔ λi ei + λr A−1
B Ar = 0. (18.6)
i∈B,i6=s i∈B,i6=s

Cherchons à quelle condition la nouvelle base est réalisable.


 0 
  x
AB Ar × B0 = b. (18.7)
xr
CHAPITRE 18. PROGRAMMATION LINÉAIRE 120

avec x0s = 0. Donc,


x0B
 
A−1 × 0 = A−1 0 −1 0 −1
 
I B Ar xr B b ⇒ xs + [(AB Ar )s xr ] = (AB b)s (18.8)

Comme la base B est réalisable et que x0s = 0 est nulle pour la nouvelle solution de base,
x0r = (A−1 −1 −1
B Ar )s (AB b)s . (18.9)
Comme la base B est réalisable, (A−1 −1
B b)s ≥ 0 et il faut que (AB Ar )s soit positif pour que xr
0

le soit. De plus, dans la nouvelle base,


X
x0i ei + (A−1 0 −1
B Ar )i xr = AB b. (18.10)
i∈B,i6=s

Donc,
x0i = (A−1 −1 0
B b)i − (AB Ar )i xr , i 6= r. (18.11)
r étant fixé, on choisit s tel que x0r = (A−1 −1 −1
B Ar )s (AB b)s soit minimal. comme d’après les
relations (18.9) et (18.11) on a
 !−1 
(A−1
B b)i
x0i = (A−1  0
B b)i 1 − xr −1
 (18.12)
(AB Ar )i

et il apparaı̂t que le facteur de droite de légalité précédente est positif. De plus, xi = (A−1
B b)i ≥ 0.
POur le choix de s retenu, on assure bien la positivité de du vecteur de base x . 0

18.4 algorithme du simplexe

Pour la valeur de s fixée comme précédemment, cherchons r telle que B 0 soit meilleure que B.
B 0 est meilleure que B si αr − cr > 0 (αr = cB (A−1
B Ar )). En effet, d’aprés (18.4), la solution x
0

dans la nouvelle base vérifie


cx = = cB A−1 −1 0
P
B b− j∈B 0 [cB AB Aj − cj ]xj
(18.13)
−1
= cB AB b − (αr − cr )xr ,
c’est à dire que z(x0 ) = z(x) − (αr − cr )xr . On voit donc que la décroissance du crtère est
assurée si αr − cr > 0. Afin de favoriser une d{ecroissance forte du critère, on cherchera une
valeur positive minimale de αr − cr .

L’algorithme du simplexe implémente cette stratégie de façon itérative :

tant que ∃i ∈ B, αi − ci > 0,


chercher r tel que |αr − cr | = max(αi −ci )>0 |αi − ci |
prendre s tel que x0r = (A−1 −1 −1
B Ar )s [(AB b)s ]
−1 soit minimal,
−1
avec (AB Ar )s > 0

Notons que tous les xi de la solution de base sont alors positifs à chaque itération.
CHAPITRE 18. PROGRAMMATION LINÉAIRE 121

18.5 Programmation linéaire et dualité

18.5.1 Problème primal et problème dual

Considérons le programme
 min cT x

Ax = b (18.14)
x≥0

Le Lagrangien associé à ce problème s’écrit

L(x, λ, µ) = cT x + λT (Ax − b) + µT x = (cT − λT A + µT )x − λT b, (18.15)

avec µ ⊂ Rn+ et µi xi = 0 pur i = 1, . . . , n. La minimisation sur x du lagrangien L(x, λ, µ) admet


une solution si et seulement si (cT − λT A)i ≥ 0.

On voit que l’existence d’un point selle (x, λ) se traduit par le fait que pour xi > 0 on doit avoir
(cT − λT A)i ≥ 0, car sinon l’augmentation de xi se traduirait par la diminution du critère ce
qui est incompatible avec la définition du point selle.

Finalement, pour le problème primal (18.14) on obtient un problème dual de la forme

 max bT x

AT λ ≤ c (18.16)
x≥0

Dans la suite, on va établir les propriétés de dualité pour les progralmes linéaires qui ont servi
à la démonstration du théorème (31). Mais auparavant, on va indiquer les liens existants entre
problème primal et problème dual.

18.6 Equivalence du problème primal et du problème dual

Considérons le problème primal (P ) et son dual (D) :

 min cT x

max bT x

(P ) : Ax = b (D) : (18.17)
AT λ ≤ c
x≥0

Le Lagrangien associé à ce problème s’écrit

L(xλ, µ) = cT x + λT (Ax − b) + µT x = (cT − λT A + µT )x − λT b, (18.18)

Proposition 4 L’ensemble des problèmes primaux coı̈ncide avec l’ensemble des problèmes duaux
CHAPITRE 18. PROGRAMMATION LINÉAIRE 122

Preuve Considérons le problème (P ), et notons que Ax = b peut se reformular comme les deux
inégalités Ax ≤ b et −Ax ≤ −b. Donc (P ) se reformule comme le programme dual suivant :
T

  −c
 max  x  
A b

−A x ≤ −b (18.19)


I 0

Inversemmment, en posant λ = λ1 − λ2 , avec λ1 ≥ 0 et λ2 ≥ 0 on peut réécrire (D) sous la


forme primale ; Pour cela, introduisons un vecteur y ≥ 0 supplémentaire tel que AT λ + y = c
et notons λ̃ = [λT1 λT2 yT ]T . Les composantes de y sont appelées variables d’écart. Il apparaı̂t
finalement que (D) se réécrit :
  T T

 T −b T b  0 λ̃
 min
A −A I λ̃ = c (18.20)
x ≥ 0,

qui est bien la forme d’un programme primal. Donc l’ensemble des programmes primaux coı̈ncide
avec l’ensemble des programmes duaux.

Montrons enfin que le dual du programme (D) est le programme (P ). Le dual du programme
dual (D) réécrit sous la forme (18.20) est
T

 max
  c u  
A −b

−A u ≤  b  . (18.21)


I 0

En posant x = −u et en ramplaçant les relations Au ≤ −b et −Au ≤ b par Ax = b, on


retrouve bien le programme primal (P )

18.7 Théorème de dualité pour la programmation linéaire

Notons maintenant que si x et λ sont des valeurs réalisables (c’est à dire satisfaisant qux
contraintes) pour les problèmes (P ) et (D) respectivement, alors les conditions Ax = b, AT λ ≤ c
et x ≥ 0 conduisent aux relations

λT b = λT Ax ≤ cT x. (18.22)

La relation λT b ≤ cT x est connue sous le nom de propriété de dualité faible et conduit à


l’énoncé suivant :

Proposition 5 L’ensemble des points réalisables du dual conduit à des valeurs du critère dual
inférieures à l’ensemble des valeurs prises par le critère primal pour ses points réalisables. En
termes mathématiques, on a donc :

∀α ∈ {bT λ; AT λ ≤ c}, ∀β ∈ {cT x; Ax = bx ≥ 0}, α≤β (18.23)


CHAPITRE 18. PROGRAMMATION LINÉAIRE 123

Cette propritété permet d’étabir le théorème suivant qui montre l’équivalence des problèmes (P )
et (D).

Théorème 48 Si l’un des problèmes (P ) ou (D) admet une solution, il en est de même pour
l’autre et les valeurs de l’optimum sont identiques. Inversement (P ) n’est pas borné inférieurement
ou (D) n’est pas borné supérieurement, alors l’autre problème n’admet pas de valeur réalisable.

Démonstration Comme on a vu au paragraphe précédant que tout problème primal pouvait


prendre la forme équivalente d’un problème dual et que le dual du dual d’un problème donné
correspond au problème primal de départ, on pourra se contenter de démontrer le résultat en
considérant exclusivement les hypothèses énoncées pour le problème primal (P ).

Supposons donc que le problème primal admet une solution et notons z la valeur de l’optimum.
L’existence d’une valeur réalisable optimale pour le problème dual (D) qui conduirait à un
optimum égal à z peut se reformuler sous la forme

∃λ ∈ Rm , ∀x ⊂ Rn+ , ∀t ⊂ R+ , (cT − λT A)x + t(λT b − z) ≥ 0. (18.24)

En effet, on sait que pour λ une valeur réalisable de (D) on a nécessairement λT b − z ≤ 0 ;


La propriété (18.24) imposera donc pour être vérifiée d’avoir λT b − z = 0 (prendre x = 0 et t
arbitraierement grand).

Pour montrer (18.24), notons que cette propriété se réécrit encore comme

∃λ ∈ Rm , ∀x ⊂ Rn+ , ∀t ⊂ R+ , −(tz − cT x) + λT (tb − Ax) ≥ 0. (18.25)

Pour établir cette dernière relation, on considère le cône convexe fermé

C = (r, w); r = tz − cT x, w = tb − Ax, t ≥ 0, x ≥ 0 .



(18.26)

Si on parvient à démontrer que (1, 0) ∈/ C, le théorème de séparation de Han-Banach 1


permet d’établir l’existence d’un couple (s, : λ) tel que l’hyperplan d’équation

H = (α, β) ⊂ Rm+1 ; sα + λT β = 0

(18.27)

sépare C et (1, 0), avec


∀(r, w) ∈ C, s1 + λT 0 < 0 ≤ sr + λT w. (18.28)

Sans perte de généralité, on pourra choisir s = −1 et, compte tenu de la définition de C,


l’inégalité de droite de (18.28) correspond alors précisemment à la relation (18.25) que l’on
cherche à établir. Il nous reste donc à vérifier que (1, 0) ∈
/ C.

Si on avait (1, 0) ∈ C, il devrait exister t ≥ 0 et x ≥ 0 tels que Ax = tb et tz − cT x > 0. Pour


t > 0, en notant x0 = x/t, on aurait Ax0 = b et cT x0 > z, ce qui est impossible puisque z est
1. Théorème de séparation de Han-Banach : étant donné deux ensembles convexes fermés, C1 et C2 , il existe un
hyperplan qui sépare strictement C1 et C2 , c’est à dire que C1 et C2 se trouvent de part et d’autre de cet hyperplan
(séparation) et que l’un au plus de ces ensembles admet des points communs avec l’hyperplan (séparation stricte).
De plus, lorsque comme ici un des deux convexes est un cône, on peut choisir un hyperplan passant par l’origine
CHAPITRE 18. PROGRAMMATION LINÉAIRE 124

la valeur minimale prise par le critère (P ). Pour t = 0, on aurait Ax = 0 et −cT x > 0 et donc,
pour tout vecteur y ≥ 0 tel que Ay = b, on aurait
∀α ≥ 0, y + αx ≥ 0, A(y + αx) = b, et lim cT (y + αx) = −∞, (18.29)
α→ ∞

ce qui est contradictoire avec la valeur optimale finie z de (P ). On a donc bien (1, 0) ∈
/ C.

Si maintenant le problème (P ) n’est pas inférieurement, la propriété de dualité faible indique


que si x et λ sont des valeurs réalisables pour les problèmes (P ) et (D) respectivement, alors
λT b ≤ cT x. Comme x peut être choisi tel que cT x soit arbitrairement petit on devra avoir
λT b = −∞, ce qui est impossible. Donc le problème dual n’admet pas de valeur réalisable.

Exemple d’application A titre d’illustration de l’emploi possible du théorème de dualité, on


va proposer ici une démonstration de la condition nécessaire d’optimalité du premier ordreen
programmation non linéaire sous contrainte d’égalité basée sur son emploi. Rappelons ici l’énoncé
de ce théorème :

Si u est un point régulier et un optimum local pour le problème



min f (x)
, (18.30)
f e (x) = 0,
alors
∃λ ∈ Rm , ∇f (u) + ∇f e (u)λ = 0. (18.31)

Voici la démonstration faisant appel à la notion de dualité en programmation linéaire

Preuve Soit u un point régulier du problème (18.30). Considérons le problème de programma-


tion linéaire suivant :
max ∇f (u)T v

(P L) (18.32)
∇f e (u)T v = 0,
On va tout d’abord montrer que pour un point régulier optimal u de (18.32), [∇f e ]T (u)v =
0 ⇒ [∇f (u)]T v = 0 ce qui établit l’existence d’un optimum du problème primal et donc,
d’après le théorème de dualité 48, l’existence de solutions réalisables pour le problème dual,
dont on montrera que l’ensemble de contrainte sur λ est précisémment décrit par la relation
∇f (u) + ∇f e (u)λ = 0.

Commençons donc par établir que [∇f e (u)]T v = 0 ⇒ ∇f (u)T v = 0. Si [∇f e (u)]T v = 0, v
appartient au plan tangent à la variété f eT (x) = 0 au point x = v. Il existe donc une courbe
t → y(t) de V = {x; f e (x) = 0}, avec y(0) = u et ẏ(0) = v. L’optimalité de u pour le problème
(18.32) entraine en particulier l’optimalité de f (y(t)) en t = 0. Donc ẏ(0) = [∇f (u)]T v =
0. Le problème (P L) admet donc une solution et la valeur optimale du critère vaut donc 0.
Comme indiqué plus haut, le problème dual admet donc au moins une valeur λ qui satisfait aux
contraintes. Pour écrire ce programme dual, commençons par remttre le problème (P L) sous
une forme standard équivalente en posant v = v1 − v2 , avec v1 ≥ 0 et v2 ≥ 0, et x = [v1T v2T ]T .
On obtient ainsi la forme
  
 min −∇f (u) ∇f (u) x 
(∇f e (u))T (−∇f e (u))T x = 0

(P L) : (18.33)
x≥0

CHAPITRE 18. PROGRAMMATION LINÉAIRE 125

dont la forme duale est


T

 max
 0e λ   
(DL) : ∇f (u) −∇f (u) (18.34)
λ≤ .
−∇f e (u) ∇f (u)

Il apparaı̂t donc, en considérant les contraintes de ce problème, qu’il existe λ ∈ Rm tel que

∇f (u) + ∇f e (u)λ = 0. (18.35)


Annexe A

Master SISEA
Corrigé des examens
(printemps 2006 à 2011)

126
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 127

Janvier 2010

I On veut construire une boite rectangulaire ouverte avec une surface de 192cm2 de carton.

i) Si la base doit être carrée, quelles dimensions donnent le plus grand volume ?

En notant a le coté de la base et h la hauteur, le problème s’écrit alors

max V = a2 h




(A.1)

 a2 + 4ah = 192cm2
a ≥ 0, h ≥ 0

Les contraintes d’ingalité devront bien sûr être√inactives. Sinon on obtiendrait V = 0 qui est le
minimum du problème (obtenu pour (a, h) = ( 192, 0)).

Le lagrangien s’écrit L(a, h, λ) = a2 h + λ(a2 + 4ah − 192) et son gradient


 
2ah + λ(2a + 4h)
∇(a,h) L(a, h, λ) = = 0. (A.2)
a2 + 4λa
La dernière équation conduit à a = 0 ou λ = −a/4. Comme a 6= 0 du fait que a2 + 4ah = 192,
on doit avoir λ = −a/4. La première équation se réécrit alors √
4h − (a + 2h) = 0, soit h = a/2.
2 2
La contrainte a + 4ah = 192 donne alors 3a = 192, soit a = 64 = 8cm. On a ainsi h = 4cm
et V = 256cm3 .

Les conditions nécessaires du premier ordre conduisent donc à la solution (a, h, λ) = (8, 4, −2).
Cette condition est suffisante car on cherche ici maximiser V = a2 h qui est une fonction continue
et coercive sur la courbe de de contrainte fermée {(a, h); a2 + 4ah = 192, a ≥ 0, h ≥ 0}.
D’après le théorème de Weierstrass le problème admet donc une solution qui ne peut donc être
que (a, h) = (8, 4).

ii) Même question si la base peut être rectangulaire.

Dans ce cas, en notant b le second côté du rectangle, on obtient




 max V = abh

(A.3)

 ab + 2(a + b)h = 192
a, b, h ≥ 0

Là encore le maximum est atteint lorsque les contraintes d’inégalité sont inactives. Le lagrangien
s’écrit L(a, h, λ) = abh + λ(ab + 2(a + b)h − 192) et son gradient
 
bh + λ(b + 2h)
∇(a,h) L(a, h, λ) = = 0. (A.4)
ah + λ(a + 2h)ab + 2λ(a + b)
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 128

la différence des deux premières équations donne (b − a)(h + λ) = 0. Si λ = −h, bh + λ(b + 2h) =
0 = −2h2 et le volume serait nulle. Donc a = b et le problème est équivalent à celui de la question
précédente. La solution est encore (a, b, h) = (8, 8, 4)cm.

II Montrez qu’on peut écarter la dernière contrainte du problème suivant :


1 2

 minx,y 2 x + y




2x + y ≥ 2 (A.5)
 x−y ≤1



x≥0

Les deux premières contraintes se réécrivent x ≥ 1 − y/2 et y ≥ x − 1. Donc, x ≥ 1 − (x − 1)/2,


soit x ≥ 1. La dernière contrainte est donc redondante avec les deux premières et peut être
écartée.

ii) Trouver la solution.

Le lagrangien s’écrit
1
L(x, y, µ) = x2 + y 2 + µ1 (2 − 2x − y) + µ2 (x − y − 1)
2
avec µi ≥ 0 (i = 1, 2), et les conditions de Khun et Tucker sont données par
  
x − 2µ1 + µ2
=0


2y − µ1 − µ2

(A.6)
µ (2 − 2x − y) =0
 1


µ2 (x − y − 1) =0

Si µ1 et µ2 sont non nuls, (x, y) = (1, 0) et le critère vaut 1/2.

Si µ1 = 0 et µ2 6= 0, y = x − 1 et en additionnant les deux équations de ∇L = 0, on trouve


x + 2y = 0. Donc (x, y) = (2/3, −1/3). Mais alors µ2 = −2/3, ce qui est impossible.

Si µ1 6= 0 et µ2 = 0, y = 2 − 2x et la condition ∇L = 0 conduit x = 4y. Finalement, (x, y) =


(8/9, 2/9), µ1 = 4/9 > 0 et le critère vaut 4/9.

Le point (x, y) = (8/9, 2/9) est donc le point qui parmi ceux qui assurent les conditions
nécessaires de Khun et Tucker conduit à la valeur minimale du critêre. La condition nécessaire
est ici suffisante car en tout point
 
2 1 0
∇ L= > 0. (A.7)
0 2

III Trouvez l’optimum du problème suivant en passant par les conditions de Khun et Tucker :
miny ni=1 yi
 P



(A.8)
Πn y = 1
 i=1 i


yi ≥ 0 i = 1, . . . , n.
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 129

Notons que les contraintes yi ≥ 0 ne peuvent pas être actives puisqu’on doit avoir Πni=1 yi = 1.
On va donc chercher simplement à résoudre le problème sans les contraintes d’ingalité en se
restreignant ensuite aux solutions positives. Le lagrangien s’écrit alors

L(y, λ) = yT 1I + λ(Πni=1 yi − 1) (A.9)

et son gradient est


∇y L = 1I + λ(Πni=1 yi )diag(1/y1 , . . . , 1/yn )1I = 0. (A.10)
Il apparaı̂t donc que l’on doit avoir tous les yi égaux à −λΠni=1 yi . La contrainte Πni=1 yi = yin = 1
donne alors yi = 1, ∀i ∈ {1, . . . , n}, compte tenu de la contrainte de positivité. Par suite, λ = −1.
Notons de plus que la matrice hessienne du lagrangien vaut alors

∇2y L = (Πni=1 yi ) diag(1/y12 , . . . , 1/yn2 ) − [1/y1 , . . . , 1/yn ]T [1/y1 , . . . , 1/yn ] = I − 1I1IT (A.11)


Le gradient de Πni=1 yi −1 au point (1, . . . , 1) est le vecteur 1I et tout vecteur v de l’espace tangent
à la contrainte en ce point vérifie donc vT 1I = 0. Il en résulte que vT (∇2y L)v = vT (I − 1I1IT )v =k
v k2 . La restriction du hessien du lagrangien au point (1, . . . , 1) est donc strictement positive,
ce qui établit que la condition nécessaire d’annulation Pn du lagrangien en ce point est également
suffisante. Finalement, la valeur du minimum est i=1 = n.

ii) En déduire que


n
1X
xi ≥ (Πni=1 xi )n , ∀xi ≥ 0, i = 1, . . . , n. (A.12)
n
i=1

L’inégalité est clairement vérifiée si un des xi est nul. Maintenant, si tous les xi sont non nuls,
en posant n 1/n n
Pn yi = xi /(Πj=1 xj ) , comme Πi=1 yi = 1, il est clair d’après la question précédente
que i=1 yi ≥ n, ce qui conduit immédiatement au résultat désiré.

IV Pour a, b et c trois constantes strictement positives fixes, on veut minimiser la somme de


trois nombres positifs x, y et z sous la contrainte :
a b c
+ + = 1. (A.13)
x y z

i) Montrez qu’à l’optimum les inconnues sont strictement positives.

La contrainte d’égalité ne pourrait pas être satisfaite si un des nombres x, y ou z était nul.
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 130

ii) Trouver la solution en passant par la méthode des multiplicateurs de Lagrange et justifiez
votre réponse.

Puisque les contraintes de positivité ne sont pas actives, le problème se résume à la recherche
des solutions positives parmi les solutions du problème d’optimisation sous la seule contrainte
d’égalité. Le lagrangien s’écrit alors
a b c
L(x, y, z, λ) = x + y + z + λ ( + + − 1) (A.14)
x y z
et son gradient est
∇xyz L(x, y, z, λ) = 1I − λ [a/x2 , b/y 2 , c/z 2 ]T . (A.15)
En considérant
p les conditions nécessaires du premier ordre ∇L = 0, on trouve donc que λ > 0 et
√ √ √
(x, y,√z) = (λ)(√ a, b, c). En réinjectant ces valeurs dans l’équation de contrainte, on trouve
√ √
que λ = a + b + c. La matrice hessienne en ce point vaut

∇2xyz L(x, y, z, λ) = 2λdiag(a/x3 , b/y 3 , c/z 3 ) > 0. (A.16)

La condition suffisante est donc également satisfaite et la solution du problème est obtenue en
√ √ √ √ √ √
(x, y, z) = ( a + b + c)( a, b, c) (A.17)
√ √ √
et en ce point, le critêre vaut x + y + z = ( a + b + c)2 .
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 131

Janvier 2009

I Trouver la solution de
 min (x + y − z − 1)2 + (x + y)2 + 5x2

(A.18)
2x + z = 0

en se ramenant un problème non contraint.

Comme z = −2x, il suffit de minimiser

f (x, y) = (3x + y − 1)2 + (x + y)2 + 5x2 (A.19)

Le gradient de f est  
15x + 4y − 3
∇f (x, y) = 2 . (A.20)
4x + 2y − 1
L’annulation du gradient conduit à (x, y) = (1/7, 3/14). De plus, la matrice hessienne de f vaut
 
2 15 4
∇ f (x, y) = 2 . (A.21)
4 2
La trace et le déterminant de cette matrice valent respectivement 17 et 14 et correspondent à la
somme et au produit de ses valeurs propres, qui sont donc positives. Donc la matrice ∇2 f (x, y)
est positive en tout point (x, y) et f est convexe. (x, y) = (1/7, 3/14) réalise donc le minimum
(global strict) de f . On en déduit z = −2x = −2/7.

ii) En passant par le lagrangien (justifiez vos réponses)

Le lagrangien s’écrit

L(x, y, z, λ) = (x + y − z − 1)2 + (x + y)2 + 5x2 + λ(2x + z). (A.22)

Son gradient est  


2(7x + 2y − z − 1 + λ)
∇xyz L(x, y, z, λ) =  2(2x + 2y − z − 1)  . (A.23)
−2(x + y − z − 1) + λ
L’annulation du gradient conduit à x = −λ/5 (différence des deux premières lignes du gradient)
et z = −λ−1 (combinaison des deux dernières lignes). En remplaçant ces valeurs dans l’équation
de contrainte, on trouve −2λ/5 − λ − 1 = 0, soit λ = −5/7 et (x, y, z) = (1/7, 3/14, −2/7).

La matrice hessienne du lagrangien est


 
7 2 −1
∇2xyz L(x, y, z, λ) = 2  2 2 −1 . (A.24)
−1 −1 1
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 132

En tout point, le gradient de 2x + z est u = [2, 0, 1]T . Donc l’espace tangent à la contrainte
est engendré par les vecteurs v = [0, 1, 0]T et w = [1, 0, −2]T . Pour vérifier que la restiction de
∇2xyz L(x, y, z, λ) l’espace tangent la contrainte est positive, il est équivalent de montrer que la
matrice
   
  7 2 −1 0 1  
0 1 0  2 4
[v w]T ∇2xyz L(x, y, z, λ)[v w] = 2 2 −1 . 1 0  = (A.25)
1 0 −2 4 15
−1 −1 1 0 −2

est positive, ce qui est le cas d’après la question précédente (trace=17, déterminant=14). Le
minimum est donc atteint (x, y, z) = (1/7, 3/14, −2/7) et c’est un minimum global strict.

II Soit la fonction f : R3 → R, avec f (x, y, z) = x2 + y 2 + z 2 − 2xyz.

i) Montrer que f n’est bornée ni inférieurement ni supérieurement.

En effet, on a par exemple limx→∞ f (x, x, x) = limx→∞ 3x2 − x3 = −∞ et limx→−∞ f (x, x, x) =


∞.

ii) Montrer que (0, 0, 0) et (1, 1, 1) sont des points stationnaires de f et indiquer pour chacun
d’eux s’il s’agit d’un minimum local, d’un maximum local ou ni l’un ni l’autre.
 
x − yz
∇f (x, y, z) = 2 y − xz  (A.26)
z − xy
∇f est nul en (0, 0, 0) et (1, 1, 1). Ce sont donc des points stationnaires.
 
0 z y
∇2 f (x, y, z) = 2(I − z 0 x) (A.27)
y x 0

En (0, 0, 0), ∇2 f = 2I. Donc (0, 0, 0) est un minimum local de f . En (1, 1, 1), le développement
au second ordre de f s’écrit
f (1 + δx , 1 + δy , 1 + δz ) − f (1, 1, 1) = [δx δy δz ]∇2 f (1, 1, 1)[δx δy δz ]T + o(k δ k2 )

= δx2 + δy2 + δz2 − 2(δx δy + δx δz + δy δz ) + o(k δ k2 ).


(A.28)
2
notons que pour δx > 0 et suffisamment petit, f (1 + δx , 1 + δx , 1 + δx ) = −3δx + o(δx ) < 0 et2

f (1 + δx , 1, 1) = δx2 + o(δx2 ) > 0. Donc, le point (1, 1, 1) n’est ni un minimum ni un maximum


local.

III Résoudre le problème suivant :

 min x2 + y 2

(A.29)
(x − 1)3 − y2 =0

i) Dessiner la courbe de la contrainte .


ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 133

C’est la courbe en rouge ci dessous. Le point(1,0) n’est pas régulier car la courbe de contrainte
n’y est pas dérivable (point de rebroussement).

ii) Montrer qu’aucun point ne satisfait les conditions nécessaires du premier ordre.

Le lagrangien s’crit
L(x, y, λ) = x2 + y 2 + λ((x − 1)3 − y 2 ) (A.30)
et son gradient vaut
3(x − 1)2
   
x
∇xy L(x, y, λ) = 2 +λ . (A.31)
y −2y
Le gradient s’annule pour (1 − λ)y = 0. La condition λ = 1 est impossible car alors, le premier
terme du gradient vaut 2x + 3(x − 1)2 et est strictement positif sur la courbe de contrainte
(x ≥ 1) ; Donc y = 0. Mais la contrainte impose alors x = 1, valeur pour laquelle le premier
terme du gradient est non nul. Donc le gradient du lagrangien ne s’annule pas sur le domaine
de contrainte et aucun point ne satisfait les conditions nécessaires du premier ordre.

iii) Quel est le point qui réalise le minimum, conclure.

En tout point de la courbe de contrainte x ≥ 1, donc x2 + y 2 ≥ 1. L’égalité n’est satisfaite qu’en


(x, y) = (1, 0) qui réalise donc le minimum (global stricte) du problème. On vérifie ici que les
conditions nécessaires du premier ordre ne sont nécessaires que pour les points réguliers et que
les points irréguliers doivent être considérés séparément.

IV Soit le problème d’optimisation suivant :


max x2 + 4xy + y 2







x+y ≤8

(A.32)

 −x + 2y ≤ 4
x≥0




y≥0

i) Déterminer graphiquement l’ensemble des points admissibles.

L’ensemble des points admissibles est le polyhèdre indiqué en rouge.


ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 134

ii) Trouver le (les) point qui satisfait les conditions nécessaires du premier ordre. En reformulant
le problème comme un problème de minimisation de −(x2 + 4xy + y 2 ) le lagrangien s’écrit

L(x, y, µ) = −(x2 + 4xy + y 2 ) + µ1 (x + y − 8) + µ2 (−x + 2y − 4) − µ3 x − µ4 y (A.33)

avec µi ≥ 0, i = 1, 2, 3, 4.

Les conditions de Khun et Tucker du premier ordre sont donnes par


  
−2x − 4y + µ1 − µ2 − µ3

 ∇xy L(x, y, µ) = =0



 −4x − 2y + µ1 + 2µ2 − µ4
µ1 (x + y − 8) =0

(A.34)

 µ 2 (−x + 2y − 4) =0
µ3 x =0





µ4 y = 0.

Considérons les différents cas possibles concernant les contraintes actives, directement obser-
vables sur la figure :
1. µ3 > 0, µ4 > 0 et µ1 = µ2 = 0 : x = y = 0 et en fait on doit aussi avoir µ3 = µ4 = 0.
En (x, y) = (0, 0) le critêre vaut 0. C’est clairement un minimum global de x2 + 4xy + y 2
puisque sur R+ ×R+ ce critêre est toujours positif (c’est même un minimum global strict).
2. µ4 > 0 et µ1 = µ2 = µ3 = 0 : y = 0 et −4x − 2y = 0. On retrouve (x, y) = (0, 0)
3. µ4 > 0, µ1 > 0 et µ2 = µ3 = 0 : (x, y) = (8, 0) mais l’annulation du premier terme du
gradient donne µ1 = −16, ce qui est impossible.
4. µ1 > 0 et µ2 = µ3 = µ4 = 0 : −2x − 4y + µ1 = 0,−4x − 2y + µ1 = 0 et x + y − 8 = 0 d’où
on déduit que (x, y, µ1 ) = (4, 4, 24) et les conditions nécessaires sont satisfaites.
5. µ1 > 0, µ2 > 0 et µ3 = µ4 = 0 : −2x − 4y + µ1 − µ2 = 0, −4x − 2y + µ1 + 2µ2 , x + y − 8 = 0
et −x + 2y − 4 = 0. On trouve (x, y, µ1 , µ2 ) = (4, 4, 24, 0) comme précédemment.
6. µ2 > 0 et µ1 = µ3 = µ4 = 0 : −2x − 4y − µ2 = 0, −4x − 2y + 2µ2 = 0 et −x + 2y − 4 = 0.
On trouve (x, y, µ2 ) = (−20/13, 16/13, −24/13), ce qui est impossible.
7. µ2 > 0, µ3 > 0 et µ1 = µ4 = 0 : −2x−4y −µ2 −µ3 = 0, −4x−2y +2µ2 = 0 −x+2y −4 = 0
et x = 0. Alors (x, y, µ2 , µ4 ) = (0, 2, 2, −10), ce qui est impossible.
8. µ3 > 0 et µ1 = µ1 = µ4 = 0 : 2x + 4y − µ3 = 0, 4x + 2y = 0 et x = 0. Donc
(x, y, µ3 ) = (0, 0, 0).
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 135

Finalement, (x, y, z, µ1 , µ2 , µ3 , µ4 ) = 0 et (x, y, z, µ1 , µ2 , µ3 , µ4 ) = (4, 4, 24, 0, 0, 0) satisfont aux


conditions nécessaires du premier ordre et le premier point correspond à un minimum du
problème.

iii) Le point retenu satisfait-il les conditions suffisantes du second ordre ? Conclure.

Comme on optimise ici une fonction continue sur un fermé borné le problème admet un point qui
réalise le minimum et un point qui réalise le maximum. Les conditions nécessaires d’optimalité
sont donc ici également des conditions suffisantes, le minimum tant ralisé en (0, 0) où le critère
vaut 0 et le maximum en (4, 4) où le critère vaut 96.
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 136

Janvier 2008

I Résoudre le problème suivant :


 max y 2 − x

(A.35)
x2 + y 2 ≤ 1.

en justifiant votre réponse.

Le lagrangien s’écrit :
L(x, y, µ) = y 2 − x + µ(x2 + y 2 − 1). (A.36)
Les conditions de Khun et Tucker sont données par


  
−1 + 2µx


∇(x,y) L(x, y, µ) = =0

2(µ + 1)y (A.37)




µ(x2 + y 2 − 1) = 0, et µ ≤ 0

Comme −1 + 2µx = 0, il est clair que µ < 0 et donc que x2 + y 2 = 1.

- Si µ = −1, x = −1/2 et le problème se ramène à la recherche√du maximum de y 2 sous


la contrainte y 2 = 1 − x2 = 3/4. Les point (x, y, µ) = (−1/2, ± 3/2, 1) satisfont donc les
conditions nécessaires du premier ordre. Pour µ = −1, la matrice hessienne de L est donnée par
   
2 µ 0 −2 0
∇ L=2 = . (A.38)
0 µ+1 0 0

La normale au cercle unité en (x,


√ y) est donnée par le vecteur
√ [x y]T et sa tangente
√ par le
vecteur [y − x] T T T
√ et vaut v = [ 3/2 1/2] 2
en P1 = (−1/2, 3/2) et v = √ [− 3/2 1/2] en
P2 = (−1/2, − 3/2). La restriction de ∇ L à l’espace tangent en (−1/2, ± 3/2) est négative :
pour les deux points, vT [∇2 L]v = 1/2 < 0. Donc ces deux points représentent des maxima
locaux du critère.

- Si y = 0, x = ±1 et µ = ∓1/2. Comme µ ≤ 0, µ = −1/2 et x = −1.


 
2 −1 0
∇ L= (A.39)
0 1

L’espace tangent la contrainte est engendré par le vecteur v = [0 1]T . vT [∇2 L]v = 1. ¿Donc
P3 = (−1, 0) ne représente pas un maximum.

Finalement, P1 et P2 représentent les maxima (globaux) du problème.


ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 137

II Montrer que tous les points du domaine caractrisé par les 3 contraintes
 2

 x + y2 ≤ 1

(A.40)

 y ≤ 1/2
y ≥ −1/2

sont des points réguliers.

Les points intérieurs au domaine (en marron sur la figure) sont réguliers. De plus, les gradients
pour les trois contraintes sont respectivement engendrés par v1 = [y − x]T , v2 = [1 0]T et
v3 = [1 0]T . Notons que si une seule contrainte est active on obtient un vecteur non nul (en
particulier v1 6= 0 car x2 + y 2 = 1 lorsque la première contrainte est active). Lorsque deux
contraintes sont actives ce sont soit la première et la seconde, soit la première et la troisième, √
car les frontières des contraintes 1 et 3 n’ont pas de point commun. Comme |y| = 1/2 |x| = 3/2
dans ces deux situations, il est alors clair que (v1 , v2 ) et (v1 , v3 ) forment des familles libres et les
points pour lesquels deux contraintes sont satisfaites sont réguliers. Enfin, comme on l’a vu les
trois contraintes ne peuvent pas être satisfaites simultanément. Donc, tous les points du domaine
sont réguliers.

III Soit le problème d’optimisation suivant




 min |x − 2| + |y − 2|

(A.41)

 x2 + y 2 = 1
x − y2 ≥ 0

ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 138

1) Déterminer graphiquement l’ensemble des points admissibles.

L’ensemble des points admissibles est donné par la courbe en marron.

2) En déduire l’expression explicite de la fonction minimiser.

Dans le domaine des contraintes, |x − 2| + |y − 2| = 4 − x − y et le problème se réécrit




 min 4 − x − y

(A.42)

 x2 + y 2 = 1
x − y2 ≥ 0

3) Trouver le minimum en justifiant votre réponse.

Si seule
√ la√première contrainte est active, les conditions de Khun et Tucker conduisent à (x, y) =
(1/ 2, 1/ 2) et si les deux contraintes sont actives, x = y 2 et x2 + y 2 = 1 soit x2 + x − 1 = 0

2
√ q √
et, comme x = y > 0, (x, y) = ((−1 + 5)/2, ± (−1 + 5)/2). De ces trois points, le point
√ √
(x, y) = (1/ 2, 1/ 2) réalise le minimum. C’est donc nécessairement le minimum du problème.

IV Un importateur dispose de Q unités d’un produit qu’il propose de vendre dans n magasins.
Chaque
P magasin i propose d’acheter di unités à un prix pi . L’importateur maximise son revenu
p x P la quantité xi qu’il vend au magasin i, avec 0 ≤ xi ≤ di . On suppose que
j j j en jouant sur
∀i, di > 0, pi > 0, di > Q et pour simplifier que p1 > p2 > . . . > pn−1 > pn .

1) Décrire la procédure qui permet d’obtenir les quantités optimales x∗i pour i = 1, 2, 3, . . .

Intuitivement, le gain de l’importateur est optimisé en vendant un maximum de produit au


premier acheteur, puis un maximum de la quantité restante au second, et ainsi de suite jusqu’à
épuisement du produit disponible. Cela se traduit par la procédure suivante :

x∗1 = min(d1 , Q)
x∗2 = min(d2 , Q − x∗1 )
.. (A.43)
.
x∗n = min(dn , Q − n−1 ∗
P
k=1 xk ).
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 139

2) Démontrer que la procédure précédente est optimale en indiquant les valeurs à donner aux
3n + 1 inconnues Px∗i , λi , µi , pour i = 1, . . . , n, et λ0 , où λi est associé la contrainte xi ≥ 0, µi
xi − di ≤ 0 et λ0 xi = Q, dans les conditions nécessaires et suffisantes d’optimalité.

On cherche P maximiser une


Pfonction linéaire sur un ensemble convexe borné non vide (puisque
l’hyperplan xi = Q < di a une intersection non vide avec le pavé Πi [0, di ]). Le problème
admet donc une solution (théorème de Weierstrass) et comme on a un problème équivalent
un problème de programmation convexe, les conditions de Khun et Tucker sont nécessaires et
suffisantes.

Le lagrangien du problème s’écrit


X X X X
L= p i xi + λ 0 ( xi − Q) − λi xi + µi (xi − di ) (A.44)

Notons p = [p1 , . . . , pn ]T , λ = [λ1 , . . . , λn ]T ,µ = [µ1 , . . . , µn ]T et 1It le vecteur de taille t de


composantes toutes égales 1. Les conditions de Khun et Tucker s’écrivent

∇x L = p + λ0 1In − λ + µ = 0
λ i xi =0
µi xi = µi di (A.45)
λi ≥0
µi ≥0

Les relations µi xi = µi di indiquent que µi = 0 ou xi = di .


P P
Notons k la valeur telle que i<k di ≤ Q et i=1,k di > Q. Les conditions de Khun et Tucker
sont satisfaites pour

= [d1 , . . . , dk−1 , Q − i=1,k−1 di , 0, . . . , 0]T


P
x
λ = [p1 − pk , . . . , pk − 1 − pk , 0, . . . , 0]T
(A.46)
µ = [0, . . . , 0, pk − pk−1 , . . . , pk − pn ]T
λ0 = −pk

qui correspond à la solution fournie par la procédure décrite dans la question précédente.

De plus, on notera que le problème étudié consiste à minimiser une fonction linéaire sur un
ensemble convexe (c’est même un problème de programmation linéaire) qui de plus est fermé,
ce qui établit que les conditions nécessaires du premier ordre sont également suffisantes.
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 140

janvier 2007

I On considère le problème 
 opt 2xy
(A.47)
x2 + y 2 = 1.

1) Chercher les solutions des conditions du premier ordre

Le lagrangien s’écrit :
L(x, y, λ) = 2xy + λ(x2 + y 2 − 1). (A.48)
Les conditions nécessaires du premier ordre s’écrivent :
   
2y + 2λx 0
∇(x,y) L = = (A.49)
2x + 2λy 0

(A.49)⇒ (y = −λx x = −λy)⇒ y = λ2 y. Donc λ ∈ {−1, 1}.

Il apparaı̂t finalement que les conditions (A.49) se traduisent par λ = ∓1 et x = ±y. En


adjoignant la condition x2 + y 2 = 1, on trouve finalement comme solutions des conditions du
premier ordre
 
1 1 −1 −1 1 −1 −1 1
(x, y, λ) ∈ ( √ , √ , −1), ( √ , √ , −1), ( √ , √ , 1), ( √ , √ , 1) . (A.50)
2 2 2 2 2 2 2 2

2) Avec les conditions du second ordre, trouver la nature des points précédents.
 
λ 1
∇2(x,y) L = 2 (A.51)
1 λ

Si λ = −1, comme l’espace tangent au domaine des contraintes aux points ±( √12 , √12 ) est en-
gendré par t = (1, −1), la restriction de la matrice hessienne à cet espace tangent en ces points
est donnée par   
 λ 1 1
2 1 −1 = 4(λ − 1) = −8 < 0.
1 λ −1
Donc en (− √12 , − √12 ) et en ( √12 , √12 ) le problème possède un maximum local (qui est global
puisque ces maxima locaux ont la même valeur).

Si λ = 1, comme l’espace tangent au domaine des contraintes aux points ±( √12 , − √12 ) est en-
gendré par t = (1, 1), la restriction de la matrice hessienne à cet espace tangent en ces points
est donnée par   
 λ 1 1
2 1 1 = 4(λ + 1) = 8 > 0.
1 λ 1
Donc en (− √12 , √12 ) et en ( √12 , − √12 ) le problème possède un minimum local (qui est global
puisque ces minima locaux ont la même valeur).
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 141

II Trouver le rectangle de périmètre donné de surface maximale. Justifier la réponse

On note C le périmètre, et x et y la longueur des côtés du rectangle. Le problème s’écrit encore




 max xy



2(x + y) = C (A.52)
x ≥ 0




y ≥ 0.

Notons que les contraintes x ≥ 0 et y ≥ 0 sont nécessairement inactives puisque sinon xy = 0.


Or, la surface maximale ne peut pas valoir 0 puisque xy > 0 dès lors que x > 0 et y > 0 et
que par exemple x = y = C/4 définit un point admissible pour lequel xy > 0. Il suffit donc de
résoudre le problème 
 max xy
(A.53)
2(x + y) = C

et de se restreindre aux solutions de composantes positives. Pour ce dernier problème,

∇L(x, y, λ) = (y + 2λ, x + 2λ)T = (0, 0)T ,

soit x = y = −2λ. La contrainte 2(x + y) = C et la positivité de x et de y conduisent alors


à x = y = C/4. La seule solution possible est donc un carré de côté C/4. Cette condition
nécessaire est également suffisante d’après le théorème de Weierstrass puisque l’ensemble des
contraintes (2(x + y) = C, x ≥ 0, y ≥ 0) est un fermé borné (segment fermé borné) et que la
fonction (x, y) → xy est continue.

III On considère le problème d’optimisation

min(x − 94 )2 + (y − 2)2







x+y ≤6

(A.54)

 y − x2 ≥ 0
x≥0




y ≥ 0.

1) Montrer que les conditions de Khun et Tucker sont vérifiées en (3/2,9/4).


ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 142

Les conditions de Khun et Tucker s’écrivent


∇(x,y) L(x, y, (µi )i=1,4 ) = ∇(x,y) (x − 49 )2 + (y − 2)2 + µ1 (x + y − 6) + µ2 (x2 − y) − µ3 x − µ4 y


µ1 (x + y − 6) = µ2 (x2 − y) = µ3 x = µ4 y = 0.
µi ≥ 0, i = 1, . . . , 4.

En (3/2, 9/4), on trouve que µ1 = µ3 = µ4 = 0 et x2 − y = 0. On obtient ainsi les conditions


nécessaires suivantes :
2(x − 94 ) + 2xµ2
   
0
∇(x,y) L(x, y, (0, µ2 , 0, 0)) = = .
2(y − 2) − µ2 0

Pour (x, y, µ1 , µ2 , µ3 , µ4 ) = ( 32 , 49 , 0, 12 , 0, 0), les conditions nécessaires du premier ordre sont


effectivement satisfaites.

2) Interpréter graphiquement les conditions de Khun et Tucker

Graphiquement, on voit qu’au point (3/2, 9/4) la courbe y = x2 est tangente à la courbe de
niveau à la fonction (x, y) → (x − 94 )2 + (y − 2)2 qui passe par ce point, c’est à dire au cercle
centré sur ( 49 , 2) qui passe par (3/2, 9/4). En d’autre termes, (3/2, 9/4) est la projection de ( 49 , 2)
sur l’ensemble convexe fermé défini par les contraintes. On sait que cette projection existe et est
unique. Enfin, le problème étudié est celui de la minimisation d’une fonction strictement convexe
sur un ensemble de contraintes convexes, ce qui établit ici le caractère suffisant de la solution
trouvée à partir des conditions nécessaires.

3) Vérifier les CNS du second ordre en ce point.

Pour µ2 = 1/2,  
1 + 2µ2 0
∇2(x,y) L(x, y, (µi )i=1,4 ) = = 2I > 0,
0 2
donc la condition suffisante du second ordre est également vérifiée en (3/2, 9/4).

4) Démontrez que ce point est l’unique minimum

Cet aspect a été justifié à la fin de la réponse à la question 2.


ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 143

IV Soit le problème
max(1/3) i=1,n x3i
 P



P (A.55)
xi = 0
 Pi=1,n 2


i=1,n xi = n

On note λ et µ les multiplicateurs de Lagrange respectifs.

1) Cherchez la valeur de λ et exprimez le critère et les inconnues en fonction de µ.

On a
x21
 

∇Lx (x, λ, µ) =  ...  + λ1I + 2µx


 

x2n
avec 1I = (1, . . . , 1)T . Comme i=1,n xi = 0, on en déduit que 1IT ∇Lx (x, λ, µ) = n + nλ = 0,
P

soit λ = −1. De plus, xT ∇Lx (x, λ, µ) = i=1,n x3i + 2µn = 0, donc i=1,n x3i = −2µn.
P P

2) Réécrire les contraintes en fonction de µ et déduire du critère en fonction de µ le choix des


xi qui optimise le critère, à une permutation près.

La condition ∇Lx (x, λ, µ) = 0, se réécrit

x2i + 2µxi − 1 = 0.
p
On trouve xiP= −µ + εi µ2 + 1, avec ε = ±1. Comme les xi ainsi définis vérifient i x2i = n
P
dès lors que i=1,n xi = 0, le problème se réécrit finalement


 min µ p
xi = −µ + εi µ2 + 1

(A.56)
 εi = ±1
 P
i=1,n xi = 0

p
1 + µ2 )−1pqui peut prendre les valeurs entières
P
Les contraintes conduisent à i ε i = nµ(
−n, −nP+ 2, −np+ 4, . . .P
, n. Comme la fonction µ → nµ( 1 P + µ2 )−1 est croissante et que µ vaut
2 2
µ = ±( i εi )/ n − ( i εi ) et n’est donc défini
p que pour i εi ∈ {−n+2, −n+4, . . . , √ n−2}, le
2 −1
minimum possible pour µ est atteint pour nµ( 1 + µ ) = −n+2, soit µ = −(n−2)/(2 n − 1).
p √
2 + 1 = −µ − (nµ)/(2 − n) = −1/ n − 1
Alors, n − 1 des coefficients xi sont égaux
p à −µ − √µ
et le coefficient restant est égal à −µ + µ2 + 1 = n − 1.

3) Confirmer la solution en vérifiant les conditions suffisantes du second ordre.

La pmatrice hessienne du lagrangien est une matrice diagonale D de i-ème terme diagnal 2xi +2µ =
2εi µ2 + 1. Pour fixer les idées on supposera sans perte de généralité que ε1 = . . . = εn−1 = −1
et εn = 1. L’espace tangent aux contraintes est défini par la normale aux gradients des fonctions
de contrainte. Ces derniers valent respectivement 1I et x et définissent l’espace orthogonal à
l’espace tangent aux surfaces de contrainte. Comme le n-ème vecteur de la base canonique en
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 144
p 1
est le vecteur propre associé à la valeur propre positive −2 µ2 + 1 et que en ∝ √n−1 1I + x, il est
clair que l’espace tangent aux contraintes réside dans l’espace engendré par les valeurs propres
négatives de la matrice et donc que la restriction de la matrice hessienne du Lagrangien aux
vecteurs de l’espace tangent aux contraintes est une matrice strictement négative. Il en résulte
que l’on a bien trouvé un maximum du problème posé.
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 145

janvier 2006

I Diviser le nombre 8 en deux réels positifs x et y de façon à maximiser xy(x − y).

Le problème s’écrit encore



 max xy(x − y)



x+y =8 (A.57)
x ≥0




y≥0

Notons que, par exemple, (x, y) = (5, 3) est un point admissible pour lequel xy(x − y) > 0. Donc
à l’optimum les contraintes d’inégalité ne sont pas actives (on aurait sinon xy(x − y) = 0). Il
suffit donc d’étudier les conditions nécessaires du premier ordre sans les contraintes de positivité.
Dans ces conditions, le lagrangien s’écrit,

L(x, y, λ) = xy(x − y) + λ(x + y − 8) (A.58)

et les conditions nécessaires du premier ordre s’écrivent

2xy − y 2 + λ
 
∇xy L(x, y, λ) = = 0. (A.59)
x2 − 2xy + λ
√ √ √
La solution pour laquelle x > 0 et y > 0 est (x, y, λ) = (4(1 + 1/ 3), 4(1 − 1/ 3), −32/ 3).

Le domaine des contraintes {x + y = 8, x ≥ 0 y ≥ 0} est compact et le critêre xy(x − y)


est√continu ce qui
√ assure l’existence d’une solution (théorème de Weierstrass). (x, y) = (4(1 +
1/ 3), 4(1 − 1/ 3)) est donc la solution du problème.

II Soit le domaine de points admissibles de R2 défini par les trois contraintes


 
2 2 2 2 2 2 2
D = (x, y) ∈ R |x + y ≤ 4, x + 3(y − 1) ≤ 3, x ≥ ( y − 1) − 1 (A.60)
3

Etudier la régularité des points suivants : X1 = (0, 0), X2 = (0, 1), X3 = (0, 2)
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 146

En X1 les contraintes 2 et 3 sont actives et les gradients à ces contraintes valent


       
2x 0 −1 −1
= et = . (A.61)
6(y − 1) −6 (4/3)(2y − 1) −4/3

Ces deux vecteurs forment une famille libre donc le point est régulier.

X2 est un point intérieur du domaine des contraintes où toutes les contraintes sont inactives.
Donc X2 est un point régulier.

En X3 les contraintes 1 et 2 sont actives et les gradients à ces contraintes valent


       
2x 0 −2x 0
= et = . (A.62)
2y 4 6(y − 1) 6

Ces deux vecteurs forment une famille liée, donc le point n’est pas régulier.

III Soit le problème d’optimisation suivant :



 max y



(3 − x)3 − (y − 2) ≥ 0 (A.63)
3x + y ≥ 9




2x − 3y ≥ 0

1) Résolvez le problème graphiquement.

Graphiquement on trouve comme solution (x, y) = (3, 2)

Ecrivez les conditions de Khun et Tucker et trouvez le point qui les satisfait en faisant le bon
choix des contraintes actives et inactives

Le lagrangien s’écrit

L(x, y, µ) = y + µ1 ((3 − x)3 − (y − 2)) + µ2 (3x + y − 9) + µ3 (2x − 3y) (A.64)

avec µi ≥ 0 (i = 1, 2, 3).
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 147

L’étude graphique conduit à choisir les contraintes 1 et 3 actives et la deuxième inactive. Les
conditions de Khun et Tucker s’écrivent alors
−3µ1 (3 − x)2 + 3µ3
  

 ∇xy L(x, y, µ) = =0
1 − µ1 − 3µ3



(3 − x)3 − (y − 2) = 0 (A.65)
µ = 0

2



2x − 3y = 0

La solution des conditions nécessaires du premier ordre est donnée par (x, y, µ) = (3, 2, 1, 0, 0).

Le domaine des contraintes étant compact et le critêre continu, on sait que le problème admet une
solution. De plus, en posant y = x−3 les contraintes 1 et 3 deviennent respectivement y ≤ 2+u3
et y ≤ 2 − (2/3)u. On notera que la première condition entraı̂ne y ≤ 2 pour u ≤ 0 et la seconde
y ≤ 2 pour u ≥ 0. On a donc nécessairement y ≤ 2 dans tout le domaine des contraintes, ce qui
établit que (x, y) = (3, 2) fournit bien la valeur maximale de y dans le domaine des contraintes.

3) Répétez l’analyse en enlevant la dernière contrainte. Cherchez explicitement tous les points
satisfaisant les conditions nécessaires du premier ordre. Commentez.

Ici le domaine n’est pas borné. Ainsi, par exemple, les points de coordonnées (x = 3 − y/3, y)
appartiennent tous au domaine pour y > 3 (il est alors clair que (3−x)3 −(y−2) ≥ (y/3)3 −y+2 >
0). Donc le critêre n’est pas supérieurement borné et le problème n’a pas de solution finie.

Le lagrangien s’écrit
L(x, y, µ) = y + µ1 ((3 − x)3 − (y − 2)) + µ2 (3x + y − 9) (A.66)
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 148

avec µi ≥ 0 (i = 1, 2) et les conditions de Khun et Tucker s’écrivent

−3µ1 (3 − x)2 + 3µ2


  
 ∇xy L(x, y, µ) = =0


1 − µ1 + µ2
(A.67)
µ ((3 − x)3 − (y − 2)) = 0
 1


µ2 (3x + y − 9) = 0

Les deux contraintes sont simultanément actives en (x, y, µ1 , µ2 ) = (5, −6, 1/5, 6/5). Ce point
représente le minimum global du critêre. En (x, y, µ1 , µ2 ) = (3, 2, 1, 0) seule la première contrainte
est active On ne peut pas avoir une seule contrainte active en un autre point car alors les
équations ∇xy L(x, y, µ) = 0 sont incompatibles entre elles. Le point (x, y) = (2, 3) est singulier
mais ne correspond pas une solution du problème comme on l’a vu. Les points intérieurs du
domaine ne satisfont pas aux conditions de Khun et Tucker.

IV Soit
1
C(x, h) = (ax − b)2 + h|x|, h≥0 (A.68)
2
o a et b sont des réels positifs. On demande de trouver x∗ (h) le minimum de C(x, h) en fonction
de h

Pour x 6= 0,
d
C 0 (x, h) = C(x, h) = a(ax − b) + hsign(x). (A.69)
dx
Sur R− on a toujours
C 0 (x, h) = a(ax − b) − h < 0. (A.70)
Sur R+ , C 0 (x, h) = 0 pour
ab − h
x∗ (h) = , si ab > h, (A.71)
a2
sinon, on a toujours C 0 (x, h) > 0.

Comme C(x, h) est continue, il apparaı̂t donc que le minimum est obtenu en 0 si ab < h et en
x = ab−h
a2
si ab > h.
Bibliographie

[1] G. Allaire, Analyse numérique et optimisation, Editions de l’Ecole Polytechnique, 2005.


[2] J.M. Arnaudies, H. Fraysse, Cours de Mathématiques ; T2 : analyse, T3 : Compléments
d’analyse, Dunod, 1989.
[3] D.P. Bertsekas, Nonlinear programming, Athena Scientific, 2nd nedition, 2003.
[4] S. Boyd, L. Vandenberghe, Convex Optimization, Cambridge University Press, 2004.
[5] G. Cohen, Convexité et optimisation, polycopié de cours ENPC-INRIA, 2000-2006. www-
rocq.inria.fr/metalau/cohen/documents/Ponts-cours-A4-NB.pdf
[6] P.G. Ciarlet, Introduction à l’Analyse Numérique Matricielle et à l’Optimisation, Masson,
1982.
[7] J.C. Culioli, Introduction à l’optimisation, 2ème Ed., Ellipses, 2012.
[8] D.G. Luenberger, Linear and nonlinear programming, 2nd edition, Kluwer, 2003.
[9] M. Minoux, Programmation Mathématique, Théorie et Algorithmes, Tome 1, Dunod, 1983.
[10] R. Rockafellar Convex Analysis, Princeton Univ. Press, 1972.

149

Vous aimerez peut-être aussi