Farkas' lemma

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found.

Farkas's lemma is a result in mathematics stating that a vector is either in a given convex cone or that there exists a (hyper)plane separating the vector from the cone—there are no other possibilities. It was originally proven by the Hungarian mathematician Gyula Farkas.[1] It is used amongst other things in the proof of the Karush–Kuhn–Tucker theorem in nonlinear programming.

Farkas's lemma is an example of a theorem of alternatives: a theorem stating that of two systems, one or the other has a solution, but not both nor none.

Statement of the lemma

Let A be a real m × n matrix and b an m-dimensional real vector. Then, exactly one of the following two statements is true:

  1. There exists an xRn such that Ax = b and x ≥ 0.
  2. There exists a yRm such that yTA ≥ 0 and yTb < 0.

Here, the notation x ≥ 0 means that all components of the vector x are nonnegative. If we write C(A) for the cone generated by the columns of A, then the vector x proves that b lies in C(A) while the vector y gives a linear functional that separates b from C(A).

There are a number of slightly different (but equivalent) formulations of the lemma in the literature. The one given here is due to Gale, Kuhn & Tucker (1951).

Geometric interpretation

Let a1, …, anRm denote the columns of A. In terms of these vectors, Farkas's lemma states that exactly one of the following two statements is true:

  1. There exist coefficients x1, …, xnR, x1, …, xn ≥ 0, such that b = x1a1 + ··· + xnan.
  2. There exists a vector yRm such that ai T · y ≥ 0 for i = 1, …, n and b · y < 0.

The vectors x1a1 + ··· + xnan with nonnegative coefficients constitute the convex cone of the set {a1, …, an} so the first statement says that b is in this cone.

The second statement says that there exists a vector y such that the angle of y with the vectors ai is at most 90° while the angle of y with the vector b is more than 90°. The hyperplane normal to this vector has the vectors ai on one side and the vector b on the other side. Hence, this hyperplane separates the vectors in the cone of {a1, …, an} and the vector b.

For example, let n,m=2 and a1 = (1,0)T and a2 = (1,1)T. The convex cone spanned by a1 and a2 can be seen as a wedge-shaped slice of the first quadrant in the x-y plane. Now, suppose b = (0,1). Certainly, b is not in the convex cone a1x1+a2x2. Hence, there must be a separating hyperplane. Let y = (1,−1)T. We can see that a1 · y = 1, a2 · y = 0, and b · y = −1. Hence, the hyperplane with normal y indeed separates the convex cone a1x1+a2x2 from b.

Farkas's lemma can thus be interpreted geometrically as follows: Given a convex cone and a vector, either the vector is in the cone or there is a hyperplane separating the vector from the cone, but not both.

Further implications

Farkas's lemma can be varied to many further theorems of alternative by simple modifications, such as Gordan's theorem: Either Ax < 0 has a solution x, or A^T y = 0 has a nonzero solution y with y ≥ 0.

Common applications of Farkas' lemma include proving the strong and weak duality theorem associated with linear programming, game theory at a basic level and the Kuhn–Tucker constraints. An extension of Farkas' lemma can be used to analyze the strong duality conditions for and construct the dual of a semidefinite program. It is sufficient to prove the existence of the Kuhn–Tucker constraints using the Fredholm alternative but for the condition to be necessary, one must apply the Von Neumann equilibrium theorem to show the equations derived by Cauchy are not violated.

A particularly suggestive and easy-to-remember version is the following: if a set of inequalities has no solution, then a contradiction can be produced from it by linear combination with nonnegative coefficients. In formulas: if Axb is unsolvable then y^T A = 0, y^T b = -1, y0 has a solution.[2] (Note that y^T A is a combination of the left hand sides, y^T b a combination of the right hand side of the inequalities. Since the positive combination produces a zero vector on the left and a −1 on the right, the contradiction is apparent.)

See also

Notes

  1. Farkas (1894, 1902)
  2. Lua error in package.lua at line 80: module 'strict' not found.

References

  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found.. reference from Schrijver's Combinatorial Optimization textbook
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.. See Lemma 1 on page 318.
  • Lua error in package.lua at line 80: module 'strict' not found.