# Lemme de Farkas

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$ :
${\overline {A(K)}}=[{A^{*}}^{-1}(K^{*})]^{*},$
où $A^{*}$ est l'adjointe de $A$ et $P^{*}$ désigne le cône dual d'une partie $P$. 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 d'algèbre linéaire reliant l'image d'une application linéaire $A$ entre deux espaces euclidiens et le noyau de $A^{*}$, à savoir
$\operatorname {Im} {(A)}={\operatorname {Ker} {(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

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

## La version du lemme en géométrie vectorielle

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 f$_1$, ... , f$_k$ 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 f$_1$, ... , f$_k$.
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 f$_1$, ... , f$_k$ et g des formes linéaires sur un espace vectoriel réel E de dimension finie. Alors :
    $\{y\in E\,\mid \,f_{1}(y)\geq 0,\ldots ,f_{k}(y)\geq 0\}\subset \{y\in E\,\mid \,g(y)\geq 0\}$
si et seulement si
    g est une combinaison linéaire à coefficients positifs ou nuls de f$_1$, ... , f$_k$.
Une des preuves passe par l'étape suivante cruciale, qui est aussi parfois appelée lemme de Farkas :
Lemme de Farkas, version topologique — Soient s$_1$, ... , s$_k$ des éléments d'un espace vectoriel réel E de dimension finie. L'ensemble des combinaisons linéaires à coefficients positifs ou nuls de s$_1$, ... , s$_k$ est fermé dans E.

## La version matricielle du lemme

B étant une matrice de réels et l'on note B ≥ 0 lorsque c'est une matrice à coefficients positifs. La notation $^t$B 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 $^t$A y ≥ 0 pour y vecteur-colonne à n entrées vérifiant par ailleurs $^t$b 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.
Pour chaque colonne C$_j$ de A (1 ≤ j ≤ k), notons f$_j$ la forme linéaire définie sur R$^n$ par $y\mapsto (^{\operatorname {t} }\!C_{j})y$ ; notons par ailleurs g la forme linéaire $y\mapsto (^{\operatorname {t} }\!b)y$.
L'existence d'une solution pour la première branche de l'alternative, c'est l'existence d'un k-uplet $(x_{1},\ldots ,x_{k})$ de nombres positifs ou nuls tels que $x_{1}C_{1}+\cdots +x_{k}C_{k}=b$, autrement dit c'est la possibilité d'écrire g comme combinaison linéaire à coefficients positifs des f$_j$.
L'existence d'une solution pour la deuxième branche de l'alternative, c'est l'existence d'un y qui soit dans $\{y\in E\,\mid \,f_{1}(y)\geq 0,\cdots ,f_{k}(y)\geq 0\}$ mais qui ne soit pas dans $\{y\in E\,\mid \,g(y)\geq 0\}$.
L'équivalence annoncée par le théorème de Farkas garantit donc précisément qu'un et un seul des deux systèmes a une solution.

## Le lemme de Farkas comme critère d'existence de solutions

On dira qu'un système d'inéquations est contradictoire lorsqu'il n'a aucune solution. Si l'on revient à la version du théorème pour les équations linéaires, dire que $\{y\in E\,\mid \,f_{1}(y)\geq 0,\ldots ,f_{k}(y)\geq 0\}\subset \{y\in E\,\mid \,g(y)\geq 0\}$ c'est la même chose que de dire que l'ensemble $\{y\in E\,\mid \,g(y)<0,f_{1}(y)\geq 0,\ldots ,f_{k}(y)\geq 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 f$_1$, ... , f$_k$ 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)\geq 0,f_{2}(y)\geq 0,\ldots ,f_{k}(y)\geq 0\}=\varnothing$
si et seulement si
    ( –h ) est une combinaison linéaire à coefficients positifs ou nuls de f$_1$, ... , f$_k$.
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 f$_1$, ... , f$_k$ des formes affines sur un espace affine réel E de dimension finie. Alors :
    $\{y\in E\,\mid \,f_{1}(y)\geq 0,\ldots ,f_{k}(y)\geq 0\}=\varnothing$
si et seulement si
    (–1) est une combinaison linéaire à coefficients positifs ou nuls de f$_1$, ... , f$_k$.
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.
L'implication montante est évidente, montrons l'autre. On suppose donc $\{y\in E\,\mid \,f_{1}(y)\geq 0,\ldots ,f_{k}(y)\geq 0\}$ vide.
Introduisons un espace vectoriel Ê dans lequel E est un sous-espace affine de codimension 1 ne passant pas par l'origine. Toute forme affine sur E se prolonge d'une façon unique en une forme linéaire sur Ê. Notons ${\hat {f}}_{j}$ le prolongement linéaire de $f_{j}$ (1 ≤ j ≤ k) et ${\hat {g}}$ le prolongement de la constante -1, de sorte que E a pour équation ${\hat {g}}(y)=-1$ dans Ê. L'hypothèse revient à dire que si un point y de Ê vérifie les conditions ${\hat {f}}_{1}(y)\geq 0,\cdots ,{\hat {f}}_{k}(y)\geq 0$, il ne vérifie pas la condition ${\hat {g}}(y)=-1$. En jouant avec les homothéties de rapport strictement positif, il est immédiat qu'il ne peut pas non plus vérifier ${\hat {g}}(y)=-c$ pour un autre niveau strictement négatif. En d'autres termes l'ensemble $\{y\in {\hat {E}}\,\mid \,{\hat {f}}_{1}(y)\geq 0,\cdots ,{\hat {f}}_{k}(y)\geq 0\}$ est inclus dans l'ensemble $\{y\in {\hat {E}}\,\mid \,{\hat {g}}(y)\geq 0\}$. On applique alors Farkas et on en déduit que ${\hat {g}}$ est une combinaison linéaire à coefficients positifs des ${\hat {f}}_{j}$. Il n'y a plus qu'à restreindre à E la relation obtenue.

## Déduction d'inéquations en géométrie affine

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 R$^2$ où l'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 f$_1$, ... , f$_k$ 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)\geq 0,\ldots ,f_{k}(y)\geq 0\}$ non vide. Alors :
    $\{y\in E\,\mid \,f_{1}(y)\geq 0,\ldots ,f_{k}(y)\geq 0\}\subset \{y\in E\,\mid \,g(y)\geq 0\}$
si et seulement si
    g est somme d'une combinaison linéaire à coefficients positifs ou nuls de f$_1$, ... , f$_k$ et d'une constante positive ou nulle.
Comme dans la démonstration précédente l'implication montante est évidente. On montre l'autre, en supposant tout d'abord que $\{y\in E\,\mid \,f_{1}(y)\geq 0,\ldots ,f_{k}(y)\geq 0\}\subset \{y\in E\,\mid \,g(y)\geq 0\}$. On note de nouveau Ê un espace vectoriel dont E est un sous-espace affine de codimension 1 ne passant pas par l'origine, ${\hat {f}}_{j}$ l'extension linéaire de $f_{j}$ à cet espace, et naturellement ${\hat {g}}$ l'extension linéaire de $g$ à cet espace. On note cette fois $h$ la forme affine valant constamment 1 sur E et ${\hat {h}}$ son extension linéaire à Ê. On vérifie ensuite que :
    $\{y\in {\hat {E}}\,\mid \,{\hat {f}}_{1}(y)\geq 0,\ldots ,{\hat {f}}_{k}(y)\geq 0,{\hat {h}}(y)\geq 0\}\subset \{y\in E\,\mid \,{\hat {g}}(y)\geq 0\}$ :
pour un point y de l'ensemble de gauche, on discute selon la valeur de ${\hat {h}}(y)$ qui est supposé positif ou nul :
* si ${\hat {h}}(y)=1$, c'est qu'on est dans E et l'appartenance à l'ensemble de droite est assurée par l'hypothèse ;
* plus généralement, si ${\hat {h}}(y)>0$, on se ramène au cas précédent par homothétie de rapport strictement positif ;
* si ${\hat {h}}(y)=0$, on a besoin de l'hypothèse de consistance du système initial. On prend un point auxiliaire $z\in E$ vérifiant ce système, et on se dirige de z vers y le long du segment [ z, y [ : tout au long du voyage, les ${\hat {f}}_{j}$ gardent toutes des valeurs positives ou nulles tandis que ${\hat {h}}$ reste à valeurs strictement positives ; le cas précédent assure donc que ${\hat {g}}$ est lui aussi à valeurs positives ou nulles sur le segment. On conclut alors que ${\hat {g}}(y)\geq 0$ par passage à la limite.
Il ne reste plus qu'à appliquer le lemme de Farkas dans sa version vectorielle pour conclure que ${\hat {g}}$ est une combinaison linéaire à coefficients positifs des ${\hat {f}}_{j}$ et de ${\hat {h}}$ ; on termine en restreignant cette conclusion à E.

## Généralisation

On trouvera dans l'article détaillé 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é (par exemple, 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.