Lemme de Farkas

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Le lemme de Farkas est un résultat d'analyse convexe (une branche des mathématiques) qui s'exprime et s'interprète de multiples manières. Sous une forme assez générale, il donne une expression duale de l'adhérence de l'image d'un cône convexe K par une application linéaire A (les notations sont précisées ci-dessous) :


\overline{A(K)} = \{y\in \mathbb{F} : A^*y\in K^+\}^+.

Lorsque A(K) est fermé, on obtient ainsi des conditions nécessaires et suffisantes pour qu'un système d'équations linéaires (ou affines) ait une solution dans K. Sous la forme ci-dessus, le lemme de Farkas généralise la relation bien connue d'algèbre linéaire reliant l'image \mathcal{R}(A) d'une application linéaire A entre deux espaces euclidiens et le noyau \mathcal{N}(A^*) de son adjointe A^*, à savoir


\mathcal{R}(A) = \mathcal{N}(A^*)^\perp.

Certaines versions du lemme sont connues sous le nom de « théorèmes de l'alternative » et s'obtiennent en prenant pour cône K l'orthant positif de \mathbb{R}^n. Ceux-ci expriment l'équivalence (ou l'incompatibilité) entre la satisfaction de différents systèmes d'inéquations linéaires (ou affines).

Du fait de sa généralité, le lemme de Farkas intervient dans de nombreux domaines, lorsque des questions de dualité sont en jeu. Citons l'optimisation non linéaire dans laquelle il permet d'obtenir une expression analytique de l'optimalité (les conditions de Karush, Kuhn et Tucker) à partir d'une expression géométrique de celle-ci et la théorie des jeux.

Historique[modifier | modifier le code]

Ce lemme a été historiquement démontré pour la première fois par Gyula Farkas (en) en 1902 avec une formulation différente[1]. La formulation matricielle est due à Albert William Tucker dans les années 1950.

La version du lemme en géométrie vectorielle[modifier | modifier le code]

Avant de donner l'énoncé du lemme de Farkas, commençons par rappeler un résultat sur les équations linéaires, suffisamment simple pour ne pas bénéficier d'une dénomination particulière, et dont le lemme de Farkas est la généralisation aux inégalités.

Proposition — Soient f1, ... , fk et g des formes linéaires sur un espace vectoriel E de dimension finie. Alors :

\{y\in E\,\mid\,f_1(y)=\cdots=f_k(y)=0\}\subset \{y\in E\,\mid\, g(y)=0\}

si et seulement si

g appartient à l'espace vectoriel formé des combinaisons linéaires de f1, ... , fk.

Dit autrement : étant donné un sous-espace vectoriel de E décrit par une liste d'équations cartésiennes, toute autre équation valable sur ce sous-espace s'obtient en combinant de façon immédiate les équations initialement fournies.

Le lemme de Farkas est le résultat analogue pour des systèmes d'inéquations :

Lemme de Farkas, version vectorielle — Soient f1, ... , fk et g des formes linéaires sur un espace vectoriel réel E de dimension finie. Alors :

\{y\in E\,\mid\,f_1(y)\geqslant 0,\ldots,f_k(y)\geqslant 0\}\subset \{y\in E\,\mid\, g(y)\geqslant 0\}

si et seulement si

g est une combinaison linéaire à coefficients positifs ou nuls de f1, ... , fk.

Une des preuves passe par l'étape suivante cruciale, qui est aussi parfois appelée lemme de Farkas :

Lemme de Farkas, version topologique — Soient s1, ... , sk des éléments d'un espace vectoriel réel E de dimension finie. L'ensemble des combinaisons linéaires à coefficients positifs ou nuls de s1, ... , sk est fermé dans E.

La version matricielle du lemme[modifier | modifier le code]

B étant une matrice de réels, on note ici B ≥ 0 lorsque tous les coefficients de B sont positifs ou nuls[2]. La notation tB désigne la matrice transposée de B.

La version matricielle du lemme est la suivante :

Lemme de Farkas, version matricielle — Soient A une matrice de réels de taille (n, k) et b un vecteur-colonne avec n entrées, alors un et un seul des systèmes linéaires suivants a une solution :

  • le système Ax = b pour x vecteur-colonne à k entrées vérifiant par ailleurs x ≥ 0 ;
  • le système tA y ≥ 0 pour y vecteur-colonne à n entrées vérifiant par ailleurs tb y < 0.

La vérification est sans difficulté aucune, une fois qu'on a passé l'obstacle de raccrocher les matrices de cet énoncé aux objets géométriques de l'énoncé précédent.

Le lemme de Farkas comme critère d'existence de solutions[modifier | modifier le code]

On dira qu'un système d'inéquations est contradictoire lorsqu'il n'a aucune solution[3]. Si on revient à la version du théorème pour les équations linéaires, dire que \{y\in E\,\mid\,f_1(y)\geqslant 0,\ldots,f_k(y)\geqslant 0\}\subset \{y\in E\,\mid\, g(y)\geqslant 0\} c'est la même chose que de dire que l'ensemble \{y\in E\,\mid\,g(y)<0, f_1(y)\geqslant 0,\ldots,f_k(y)\geqslant 0\} est vide : c'est un énoncé de contradiction. En notant h = - g , on a donc la variante suivante :

Lemme de Farkas, critère vectoriel de contradiction — Soient f1, ... , fk et h des formes linéaires sur un espace vectoriel réel E de dimension finie. Alors :

\{y\in E\,\mid\,h(y)> 0,f_1(y)\geqslant 0,f_2(y)\geqslant 0,\ldots,f_k(y)\geqslant 0\}=\varnothing

si et seulement si

( -h ) est une combinaison linéaire à coefficients positifs ou nuls de f1, ... , fk.

Par ce critère vectoriel de contradiction, on obtient facilement un critère de contradiction pour les systèmes affines directement apparenté, et d'aspect un peu plus simple :

Lemme de Farkas, critère affine de contradiction — Soient f1, ... , fk des formes affines sur un espace affine réel E de dimension finie. Alors :

\{y\in E\,\mid\,f_1(y)\geqslant 0,\ldots,f_k(y)\geqslant 0\}=\varnothing

si et seulement si

(-1) est une combinaison linéaire à coefficients positifs ou nuls de f1, ... , fk.

On voit de nouveau là très nettement l'idée sous-jacente à tous ces énoncés : un système inconsistant (au sens du calcul propositionnel) implique l'inéquation absurde - 1 ≥ 0 ; le lemme de Farkas assure dès lors qu'elle peut en être déduite non seulement par des raisonnements plus ou moins compliqués mais aussi tout simplement par combinaisons des équations du système.

Déduction d'inéquations en géométrie affine[modifier | modifier le code]

La simple reproduction du résultat écrit plus haut en géométrie vectorielle serait inexacte en géométrie affine. L'énoncé est en effet faux pour les systèmes d'inéquations inconsistants. Donnons tout de suite un exemple : dans R2 où on note (u,v) le point courant, soit le système formé des deux inéquations : u-1 ≥ 0 et -u ≥ 0. Ce système est inconsistant, faux en tout point, et implique donc (au sens précis de "implique" en calcul propositionnel) n'importe quelle inéquation, par exemple l'inéquation v-3 ≥ 0. Pourtant il n'est bien sûr pas question de produire celle-ci par des manipulations algébriques simples à partir du système initial.

Un énoncé général nécessite ainsi une hypothèse supplémentaire de consistance du système.

« Lemme de Farkas généralisé » — Soient f1, ... , fk et g des formes affines sur un espace vectoriel affine de dimension finie E. On suppose l'ensemble \{y\in E\,\mid\,f_1(y)\geqslant 0,\ldots,f_k(y)\geqslant 0\} non vide. Alors :

\{y\in E\,\mid\,f_1(y)\geqslant 0,\ldots,f_k(y)\geqslant 0\}\subset \{y\in E\,\mid\, g(y)\geqslant 0\}

si et seulement si

g est somme d'une combinaison linéaire à coefficients positifs ou nuls de f1, ... , fk et d'une constante positive ou nulle.

Généralisation[modifier | modifier le code]

On trouvera ci-dessous une version généralisée du lemme de Farkas, qui est utilisée en optimisation non linéaire pour obtenir une expression analytique de l'optimalité (e.g., les conditions de Karush, Kuhn et Tucker) à partir d'une expression géométrique de celle-ci. Les résultats précédents peuvent se voir comme des cas particuliers de ce résultat.

Commençons par rappeler certaines notions qui sont utilisées dans son énoncé. Si A:\mathbb{E}\to \mathbb{F} est une application linéaire entre deux espaces euclidiens \mathbb{E} et \mathbb{F} dont les produits scalaires sont tous les deux notés \langle\cdot,\cdot\rangle, son adjointe est l'application linéaire A^*:\mathbb{F}\to \mathbb{E} définie par la propriété


\forall\,(x,y)\in\mathbb{E}\times\mathbb{F}:\qquad\langle Ax,y\rangle=\langle x,A^* y\rangle.

Par ailleurs, une partie K d'un espace vectoriel \mathbb{E} est un cône si \mathbb{R}_{++}K\subset K, ce qui signifie que tx doit appartenir à K chaque fois que t est un réel strictement positif et x\in K. Ensuite, le cône dual (positif) d'une partie non vide P d'un espace euclidien \mathbb{E} est le cône convexe fermé non vide défini par


P^+:=\{x\in\mathbb{E}:\langle x,y\rangle\geqslant 0 pour tout y\in P\}.

Enfin, on note \operatorname{adh} P ou \overline{P} l'adhérence d'une partie P d'un espace topologique.

Lemme de Farkas généralisé — Soient \mathbb{E} et \mathbb{F} deux espaces euclidiens, A:\mathbb{E}\to \mathbb{F} une application linéaire, K un cône convexe non vide de \mathbb{E} et L un cône convexe non vide de \mathbb{F}. Alors


\{y\in L : A^*y\in K^+\}^+ = \overline{A(K)+L^+}.

On ne peut pas se passer de l'adhérence dans le membre de droite de l'identité car le cône convexe A(K)+L^+ n'est pas nécessairement fermé (même si K est un cône convexe fermé) alors que, en tant que cône dual, le cône du membre de droite est toujours fermé. Signalons toutefois que si K et L sont des cônes polyédriques (comme l'orthant positif d'un certain \mathbb{R}^p), alors A(K)+L^+ est aussi un cône polyédrique, donc un fermé ; dans ce cas, on peut ôter l'adhérence dans le membre de droite.

Lemme de Farkas généralisé

On retrouve le résultat énoncé au début de cet article lorsque L=\mathbb{F}, puisqu'alors L^+=\{0\}. Dans ce cas, le résultat peut s'interpréter géométriquement comme suit. Le vecteur b\notin\operatorname{adh}(A(K)) si et seulement si b\notin\{y\in \mathbb{F} : A^*y\in K^+\}^+, ce qui revient à dire qu'il existe un vecteur y_0\in\mathbb{F} tel que \langle y_0,b\rangle<0 et A^*y_0\in K^+ (forme compacte de l'expression \langle y_0,Ax\rangle\geqslant 0 pour tout x\in K). Cette propriété exprime donc le fait que l'hyperplan \{y\in\mathbb{F}:\langle y_0,y\rangle=0\} sépare strictement le singleton \{b\} de l'adhérence du cône convexe A(K). La démonstration de ce lemme généralisé peut d'ailleurs se faire par séparation stricte de ces deux derniers convexes (Hahn-Banach).

Si L=\mathbb{F} et A(K) est fermé, le lemme de Farkas peut être vu comme donnant des conditions nécessaires et suffisantes pour qu'un système linéaire ait une solution dans le cône convexe K, ce qui s'écrit :


\exists\,x\in K:\quad Ax=b.

Il assure en effet que ce système a une solution si et seulement si b est dans le dual du cône convexe fermé \{y\in \mathbb{F} : A^*y\in K^+\}, c'est-à-dire si et seulement si \langle b,y\rangle\geqslant 0 pour tout y\in \mathbb{F} tel que A^*y\in K^+. Lorsque A(K) n'est pas fermé, ces dernières conditions sont équivalentes au fait que l'on peut trouver une solution du même système avec une précision aussi bonne que l'on veut, dans le sens suivant


\forall\,\varepsilon>0,\quad\exists\,x_\varepsilon\in K:\quad \|Ax_\varepsilon-b\|\leqslant\varepsilon.

Par ailleurs, observons que \{y\in L : A^*y\in K^+\}=L\cap((A^*)^{-1}(K^+)) est l'intersection du cône convexe fermé L et de l'image réciproque par l'application linéaire (continue) A^* du cône convexe fermé K^+ ; il s'agit donc d'un cône convexe fermé, si bien qu'il est égal à son bidual. On rappelle également que le cône dual d'un ensemble et de son adhérence sont identiques. Dès lors, dans les conditions énoncées dans le lemme de Farkas généralisé, on a


(A(K)+L^+)^+ = \{y\in L : A^*y\in K^+\},

sans que l'on ait besoin ici de prendre d'adhérence. Cette dernière identité se démontre directement, sans théorème de séparation ; mais pour en déduire le lemme de Farkas généralisé il faut utiliser le fait que le bidual d'un cône convexe est égal à son adhérence.

Notes et références[modifier | modifier le code]

  1. (de) Julius Farkas, Theorie der einfachen Ungleichungen, Journal für die reine und angewandte Mathematik 124 (1902) p. 1-27
  2. Dans un autre contexte, cette même notation désigne la notion, différente, de matrice positive.
  3. Avec le vocabulaire de la logique, on dirait inconsistant.

L'article, à l'exception de l'introduction, de la section historique et de la section Généralisation, est une adaptation assez distanciée des pages 58-62 de Fundamentals of convex analysis, Jean-Baptiste Hiriart-Urruty et Claude Lemaréchal, coll. « Grundlehren Text Editions », Springer, 2001 (ISBN 3540422056), à la lumière de l'entrée du blog de Terence Tao du 30 novembre 2007, disponible en ligne.