18.5  Cones and Farkas’s Lemma

Chapter 3 answered one question about a linear system completely: Ax=b has a solution exactly when b lies in the column space of A (Theorem 3.1.1). Its applications section then hit a wall. Traffic flows cannot be negative, and once the unknowns are required to satisfy x≥0, the column space is the wrong set to look in. This section finds the right set, which is a cone, and answers the new question with the separation theorems of §03: either Ax=b has a nonnegative solution, or a single vector y certifies that it has none. That is Farkas’s lemma, and the next two sections run on it.

One step is harder than it looks. Separation needs a closed set, and nothing proved so far says that the relevant cone is closed. Most of the work goes into that step, and the last part of the section shows, with an explicit cone, that it can really fail.

Throughout, the field is R. Vectors in Rn are columns, ⟨x,y⟩=y⊤x is the standard inner product, and ‖⋅‖ is the Euclidean norm it induces, the norm that Theorem 18.3.1 uses. Convergence yk→y means ‖yk−y‖→0, and “closed” is meant in the sequential sense of Definition 18.1.6: a set S is closed when every limit of a convergent sequence of points of S again lies in S. Convergence in this norm is entrywise convergence, by the elementary bound

|yi| ≤ ‖y‖ ≤ |y1|+⋯+|yn|for y∈Rn and 1≤i≤n.
(18.5.1)

The left inequality holds because yi2≤y12+⋯+yn2, and the right one is the triangle inequality for y=y1e1+⋯+ynen. Applied to yk−y, with the algebra of limits of Chapter 16’s introduction on the right, it shows that ‖yk−y‖→0 exactly when every entry of yk−y tends to 0.

18.5.1. Convex cones

For a vector with real entries we write x≥0 when every entry of x is ≥0, and x>0 when every entry is >0. The set R≥0m={x∈Rm:x≥0} is the nonnegative orthant. The relation x≥0 is an entrywise statement about a vector, and it has nothing to do with the Loewner order A⪰O of Chapter 13, which is a statement about a matrix.

Here is the question. Let A∈Mm×n(R) have columns a1,…,an. By Theorem 0.9.3, Ax=x1a1+⋯+xnan, so {b∈Rm:Ax=b for some x≥0}={x1a1+⋯+xnan:every xj≥0}. Without the sign condition this set would be the span of the columns, a subspace. With it, the set is closed under addition and under multiplication by nonnegative scalars, but not under multiplication by −1. Such sets turn up whenever quantities cannot be negative, so they get a name.

A cone is a set you may stretch and add in, but never reflect.

Definition 18.5.1 (Convex Cone)

Let V be a vector space over R. A subset K⊆V is a convex cone if K is nonempty and au+bv∈Kfor all u,v∈K and all real a,b≥0.

In words: a convex cone contains every nonnegative combination of two of its members, and hence, by induction on the number of terms, every nonnegative combination of finitely many of its members. Three special cases unpack the single condition. Taking a=b=0 shows 0∈K, so every convex cone contains the origin. Taking b=0 shows that K is closed under multiplication by nonnegative scalars. Taking a=b=1 shows that it is closed under addition, and conversely a nonempty set with these two closure properties is a convex cone.

A convex cone is a convex set in the sense of Definition 18.1.1: take a=1−t and b=t with 0≤t≤1. The converse fails, and the next examples show how.

Examples. Each is checked against the one condition of the definition.

  • The orthant. If u,v≥0 and a,b≥0, then every entry of au+bv is a sum of products of nonnegative numbers, so au+bv≥0. Hence R≥0m is a convex cone.
  • A half-space through the origin. Fix a∈Rn and let H={x:⟨x,a⟩≥0}. If u,v∈H and a,b≥0, then ⟨au+bv,a⟩=a⟨u,a⟩+b⟨v,a⟩≥0. So H is a convex cone. When a≠0 it is one of the two closed half-spaces bounded by the hyperplane a⊥.
  • The ice-cream cone. In Rn+1, write vectors as (x,t) with x∈Rn and t∈R, and let L={(x,t):‖x‖2≤t}. If (x,t),(y,s)∈L and a,b≥0, the triangle inequality and homogeneity of the norm (Definition 16.1.1) give ‖ax+by‖2≤a‖x‖2+b‖y‖2≤at+bs. So L is a convex cone. In R3 it is the round solid cone that gives the family its name.
  • Positive semidefinite matrices. In the real vector space of real symmetric n×n matrices, the set of A⪰O is a convex cone. This is part (a) of Exercise (C2: The cone of positive matrices). Chapter 13 used the phrase there, and this is the definition it was using.
  • Degenerate cases. {0} and V are convex cones. More generally, every subspace is a convex cone, since it is closed under all linear combinations and in particular the nonnegative ones. A subspace is the extreme case of a cone that happens to be closed under reflection as well.

Nonexamples by minimal change. In R2, take the union of two opposite quadrants, Q={x:x1x2≥0}. It is closed under nonnegative scaling, since (ax1)(ax2)=a2x1x2. The clause that fails is addition: (1,0) and (0,−1) lie in Q, but their sum (1,−1) does not. Or keep convexity and lose the scaling: the closed unit disc is convex, but 2e1 is not in it. Or translate the orthant to 1+R≥02: it is convex and closed under addition, but it does not contain 0.

Why this definition. The scalars must be nonnegative. With all real scalars allowed, the definition becomes the definition of a subspace, and the sign information that started this section would be lost. The requirement 0∈K is a convention that some authors drop: they call {x:x>0} a cone as well. Including the origin costs nothing here and keeps the statements below free of exceptions.

Warning. A convex cone need not be closed. In R2 let C={(x,y):x>0}∪{(0,0)}. It is a convex cone. Let u,v∈C and a,b≥0. The first entry of au+bv is au1+bv1≥0. If it is positive, the vector lies in C. If it is zero, then au1=0 and bv1=0; since the only member of C with first entry 0 is 0, this forces au=0 and bv=0, and the sum is 0∈C. But (1/k,1)∈C for every k≥1, while the limit (0,1) is not in C. Separating a point from a cone needs the cone to be closed, so closedness must be proved. This particular cone comes back at the end of the section as the image of a closed cone.

The cones in the question at the start of this section are the simplest kind.

Definition 18.5.2 (Finitely Generated Cone)

Let a1,…,am be vectors in a real vector space V. The cone generated by them is cone(a1,…,am)={∑i=1mxiai:x1,…,xm≥0}. A cone of this form is finitely generated. For the empty list we set cone()={0}, the value of the empty sum. When V=Rn and A is the matrix with columns a1,…,am, this is {Ax:x∈R≥0m}, and we also write it cone(A).

It is a convex cone: a nonnegative combination of two nonnegative combinations of the ai is again one, with coefficients axi+bxi′≥0. It is also the smallest convex cone containing a1,…,am, since any convex cone containing the ai contains all their nonnegative combinations, by the remark after Definition 18.5.1. The orthant is cone(e1,…,em). A subspace with basis v1,…,vk is cone(v1,−v1,…,vk,−vk), since cvi is cvi or |c|(−vi) according to the sign of c. The ice-cream cone is not finitely generated, a fact we shall neither need nor prove.

Quick check. Is cone((1,0),(1,1),(0,1)) the same as cone((1,0),(0,1))? Is cone((1,0),(−1,0)) a line or a half-line?

Solution. Both cones are the quadrant R≥02. The second list’s cone is the quadrant because x1e1+x2e2=(x1,x2). The first contains the second, and every generator of the first lies in the quadrant, which is a convex cone, so the first is contained in the quadrant too. A redundant generator changes nothing. The cone of (1,0) and (−1,0) is the whole x-axis {(t,0):t∈R}, a line: for t≥0 use t(1,0), and for t<0 use |t|(−1,0).

18.5.2. The dual cone

A certificate that Ax=b has no nonnegative solution will be a vector y that makes a nonnegative inner product with every column of A but a negative one with b. Every nonnegative combination of the columns then also has a nonnegative inner product with y, so b cannot be such a combination. The set of vectors y that pass the first test deserves a name.

The dual cone of K is the set of directions that make an angle of at most 90∘ with everything in K.

Definition 18.5.3 (Dual Cone)

Let V be a finite-dimensional real inner product space and let S⊆V be any subset. The dual cone of S is S∗={y∈V:⟨x,y⟩≥0 for every x∈S}. We write S∗∗ for (S∗)∗.

In words: y∈S∗ when the linear functional ⟨⋅,y⟩ is nonnegative on the whole of S, that is, when S lies in the closed half-space {x:⟨x,y⟩≥0}. The inner product is what places S∗ inside V rather than in the dual space of Chapter 5 (Theorem 5.1.1 is the case V=Rn).

Warning. S∗ is not the dual space. The star here produces a subset of V itself, not a space of functionals, and it is defined for any subset, not only for a subspace. For a subspace U the dual cone is the orthogonal complement: if ⟨u,y⟩≥0 for every u∈U, then applying this to −u∈U gives ⟨u,y⟩≤0 as well, so ⟨u,y⟩=0, and the converse is immediate. So for a subspace we always write U⊥, never U∗.

The basic properties take one line each, and they explain why every dual cone is a good set to separate from.

Proposition 18.5.1 (Basic Properties of the Dual Cone)

Let V be a finite-dimensional real inner product space and let S,T⊆V.

  • (a) S∗ is a closed convex cone.
  • (b) If S⊆T, then T∗⊆S∗.
  • (c) S⊆S∗∗.
  • (d) cone(a1,…,am)∗={y:⟨ai,y⟩≥0 for i=1,…,m}. In Rn, with A the matrix of columns ai, this is {y:A⊤y≥0}.

Idea. S∗ is the intersection of the sets {y:⟨x,y⟩≥0}, one for each x∈S. Parts (a), (b) and (d) read off this description (more members of S mean more conditions, and for a cone the generators suffice), and (c) is the symmetry of the inner product.

Proof.

  • (a) 0∈S∗, so S∗ is nonempty. If y,z∈S∗ and a,b≥0, then ⟨x,ay+bz⟩=a⟨x,y⟩+b⟨x,z⟩≥0 for every x∈S, using linearity in the second slot, which holds because the field is R. Finally S∗=⋂x∈S{y:⟨x,y⟩≥0} is an intersection of closed half-spaces (all of V when x=0), closed by Proposition 18.1.6 (c) and (b), since ⟨x,⋅⟩ is a linear functional; if S=∅, then S∗=V, which is closed.

  • (b) A vector that is nonnegative against every member of T is in particular nonnegative against every member of S.

  • (c) If x∈S, then ⟨x,y⟩≥0 for every y∈S∗, by the definition of S∗. Since the inner product is symmetric over R, this says ⟨y,x⟩≥0 for every y∈S∗, which is x∈S∗∗.

  • (d) The generators lie in the cone, so (b) gives ⊆. Conversely, if ⟨ai,y⟩≥0 for every i, then ⟨∑xiai,y⟩=∑xi⟨ai,y⟩≥0 whenever every xi≥0. The matrix form follows because the i-th entry of A⊤y is ai⊤y=⟨ai,y⟩.

Part (a) holds for every set S, including one that is neither convex nor closed. Part (c) is only an inclusion, and the question of when it is an equality is really the question of this section.

Examples.

  • The orthant is its own dual. By (d), (R≥0m)∗=cone(e1,…,em)∗={y:⟨ei,y⟩=yi≥0 for all i}=R≥0m.
  • A single generator. cone(a)∗={y:⟨a,y⟩≥0}, a closed half-space when a≠0. A thin cone has a fat dual.
  • The degenerate cases. The dual cone of {0} is all of V, and the dual cone of V is {0}, because a y in it must satisfy ⟨−y,y⟩≥0, that is ‖y‖2≤0. As subspaces, by the warning, we write these as {0}⊥=V and V⊥={0}.
  • A wedge in the plane. For K=cone((1,0),(1,1)), part (d) gives K∗={y:y1≥0, y1+y2≥0}. This is the wedge between the directions (0,1) and (1,−1), each of which is perpendicular to one edge of K. Exercise (B3: A dual cone and its dual) finishes this computation.

18.5.3. Finitely generated cones are closed

Now the key step. We want to separate a point b from cone(A), and §03 separates points only from closed convex sets. So we must show that cone(A) is closed.

Here is why that is not obvious. Suppose Axk→b with every xk≥0. The obvious move is to take a limit of the xk, but they need not converge, or even be bounded. If the columns of A are dependent, then Axk can stay put while xk runs off along the null space. The cure has two parts. First, throw away the dependence, generator by generator, which is the “count, then drop a point” move of Theorem 18.2.2 adapted to cones. Second, once the columns are independent, prove that xk is recovered from Axk by a fixed linear map, so that the xk cannot escape.

Theorem 18.5.2 (Carathéodory’s Theorem for Cones)

Let V be a real vector space and let a1,…,am∈V. Every b∈cone(a1,…,am) lies in cone(ai:i∈S) for some set of indices S⊆{1,…,m} such that the list (ai)i∈S is linearly independent. In particular, if dim⁡V=n, then b is a nonnegative combination of at most n of the ai.

Idea. Take a representation of b that uses as few generators as possible. If those generators were dependent, a dependence relation could be added to the representation, with a scalar multiple chosen so that one coefficient reaches zero and none goes negative. That removes a generator, which contradicts minimality. It is the move of Theorem 18.2.2 with a linear dependence in place of an affine one, and that difference is why the bound is n rather than n+1.

Proof. By Definition 18.5.2, b=∑i=1mxiai with every xi≥0. Discarding the terms with xi=0, we can write b=∑i∈Sxiai with xi>0 for every i∈S, for some S⊆{1,…,m}. The empty set is allowed, when b=0. Among all such representations choose one with |S| as small as possible. We claim that (ai)i∈S is linearly independent.

Suppose not. Then there are reals ci, for i∈S, not all zero, with ∑i∈Sciai=0. Replacing every ci by −ci if necessary, we may assume that ci>0 for at least one i. Put t=min{xici:i∈S, ci>0}, a minimum over a nonempty finite set, so it exists. It is >0, and it is attained at some i0∈S. Then b=∑i∈Sxiai−t∑i∈Sciai=∑i∈S(xi−tci)ai. Every new coefficient is ≥0. If ci≤0, then xi−tci≥xi>0. If ci>0, then t≤xi/ci, so xi−tci≥0. Also xi0−tci0=0. Discarding the zero coefficients leaves a representation of b with positive coefficients on a subset of S∖{i0}, which contradicts the minimality of |S|. Hence (ai)i∈S is linearly independent, and b∈cone(ai:i∈S).

If dim⁡V=n, a linearly independent list in V has length at most n by Theorem 1.6.3 (a), so |S|≤n. This proves the theorem.

The second part is a statement about one cone with independent generators.

Lemma 18.5.3 (Injective Images of the Orthant Are Closed)

Let B∈Mn×k(R) have linearly independent columns. Then cone(B)={Bx:x∈R≥0k} is a closed subset of Rn.

Idea. Independent columns make x↦Bx injective, and an injective matrix has a left inverse L with LB=Ik. So if Bxj converges, then xj=L(Bxj) converges too, because L is a fixed matrix. The limit is still ≥0, and it maps to the limit of the Bxj. The left inverse is what keeps the xj from running away, and injectivity is exactly what provides it.

Proof. If k=0, the cone is {0}, which is closed. Let k≥1. Since the columns of B are linearly independent, Corollary 11.4.4 ((b) ⇒ (c), with F=R, where B∗=B⊤) shows that B⊤B∈Mk(R) is invertible. Put L=(B⊤B)−1B⊤∈Mk×n(R), so that LB=Ik.

Let yj∈cone(B) with yj→y. Write yj=Bxj with xj≥0. Then xj=LBxj=Lyj. By Eq. 18.5.1, yj→y entrywise. Each entry of Lyj is a fixed linear combination of the entries of yj, so by the algebra of limits xj=Lyj→Ly entrywise. Put x=Ly.

Each entry of xj is ≥0, and a nonstrict inequality survives a limit, so x≥0. By the same reasoning with the fixed matrix B, we have yj=Bxj→Bx entrywise. A convergent sequence of real numbers has only one limit, so Bx=y. Hence y=Bx with x≥0, that is, y∈cone(B). This proves that the cone is closed.

The two pieces now fit together.

Theorem 18.5.4 (Finitely Generated Cones Are Closed)

Let a1,…,am∈Rn. Then cone(a1,…,am) is a closed convex cone.

Idea. By Theorem 18.5.2 the cone is the union of the cones of its independent sublists. There are finitely many of them, and each is closed by Lemma 18.5.3. A finite union of closed sets is closed, by Proposition 18.1.6 (b).

Proof. Write K=cone(a1,…,am), a convex cone by the remark after Definition 18.5.2. Let S be the set of those S⊆{1,…,m} for which (ai)i∈S is linearly independent, and for S∈S put KS=cone(ai:i∈S). The empty set is in S, and S is finite, with at most 2m members.

First, K=⋃S∈SKS. Each KS⊆K, because a nonnegative combination of some of the ai is a nonnegative combination of all of them with the remaining coefficients zero. And K⊆⋃SKS is Theorem 18.5.2.

Next, each KS is closed. If S=∅, then KS={0}. Otherwise KS=cone(BS), where BS is the matrix whose columns are the ai with i∈S. Those columns are linearly independent, so Lemma 18.5.3 applies.

Hence K is a finite union of closed sets, closed by Proposition 18.1.6 (b).

The proof uses no analysis beyond the algebra of limits of Chapter 16’s introduction, through Eq. 18.5.1 and the subsequence argument of Proposition 18.1.6 (b). In particular it never uses compactness, fact (A3) (the only compactness in the background would be the equivalence of norms, which fixing the Euclidean norm avoids); a finitely generated cone other than {0} is unbounded, so compactness had nothing to offer anyway. What the proof uses is finite generation, twice: for finitely many pieces, and for writing each piece as the image of an orthant under a matrix with a left inverse. The last part of the section shows that without it the conclusion can fail. In Farkas’s lemma below, compactness enters only through the existence half of Theorem 18.3.1.

18.5.4. Farkas’s lemma

We can now separate. Theorem 18.3.2 would give some hyperplane between b and the cone, but for a cone we want one through the origin, with a normal vector whose sign on the cone we control. Both come most cleanly from the nearest point of Theorem 18.3.1.

Lemma 18.5.5 (Separating a Point from a Closed Cone)

Let V be a finite-dimensional real inner product space, let K⊆V be a closed convex cone, and let b∈V with b∉K. Then there is y∈K∗ with ⟨b,y⟩<0.

Idea. Let p be the point of K nearest to b, and use y=p−b, the vector from b back to the cone. The inequality of Theorem 18.3.1 says that every point of K is seen from p at an angle of at least 90∘ from b. Because K is a cone, we may test it against 0 and 2p, which shows that the separating hyperplane passes through the origin.

Proof. K is nonempty, closed, and convex, so by Theorem 18.3.1 (a) there is a point p∈K nearest to b, and by part (b) of the same theorem

⟨b−p,z−p⟩≤0for every z∈K.
(18.5.2)

Put y=p−b, which is nonzero since p∈K and b∉K. The points z=0 and z=2p lie in K, since K is a cone. Substituting them into Eq. 18.5.2 gives ⟨b−p,p⟩≥0 and ⟨b−p,p⟩≤0, so ⟨y,p⟩=0. Now Eq. 18.5.2 reads ⟨b−p,z⟩≤0, that is ⟨z,y⟩≥0, for every z∈K. So y∈K∗. Finally, ⟨b,y⟩=⟨p−y,y⟩=⟨p,y⟩−⟨y,y⟩=−‖y‖2<0, since y≠0. This proves the lemma.

With K=cone(A), the lemma becomes the theorem this section is named after. It is stated for a matrix, since that is how it will be used.

Theorem 18.5.6 (Farkas’s Lemma)

Let A∈Mm×n(R) and b∈Rm. Exactly one of the following has a solution:

  • (F1) Ax=b with x∈Rn, x≥0;
  • (F2) A⊤y≥0 and b⊤y<0, with y∈Rm.

Idea. The two systems cannot both be solvable, which is one line of algebra: pair Ax=b with y. That at least one is solvable is geometry. If (F1) fails, then b lies outside the cone of the columns, the cone is closed by Theorem 18.5.4, and Lemma 18.5.5 produces y.

Proof. Not both. Suppose Ax=b with x≥0, and A⊤y≥0. Then b⊤y=(Ax)⊤y=x⊤(A⊤y)≥0, since it is a sum of products of the nonnegative entries of x and A⊤y. So b⊤y<0 is impossible.

At least one. Suppose (F1) has no solution. Let K=cone(A). By Definition 18.5.2, (F1) says exactly that b∈K, so b∉K. By Theorem 18.5.4, K is a closed convex cone, so Lemma 18.5.5 gives y∈K∗ with ⟨b,y⟩=b⊤y<0. By Proposition 18.5.1 (d), y∈K∗ means A⊤y≥0. So y solves (F2). This proves the theorem.

The geometric reading. Either b lies in the cone spanned by the columns of A, or there is a hyperplane through the origin, {z:⟨z,y⟩=0}, with every column on one side (⟨aj,y⟩≥0) and b strictly on the other (⟨b,y⟩<0). The vector y is a certificate of infeasibility: anyone can check (F2) by multiplying out, and the “not both” computation then proves that (F1) has no solution.

Diagram. Labels: mathbf a_1, mathbf a_2, mathbf b, mathbf p, mathbf y, K, mathbf b lies outside K = operatorname cone(mathbf a_1, mathbf a_2), and mathbf p is the point\\ of K nearest to it. The vector mathbf y points along mathbf p - mathbf b. The dashed\\ line langle mathbf z, mathbf yrangle = 0 passes through mathbf 0, with K on the side\\ langle mathbf z, mathbf y rangle ge 0 and mathbf b strictly on the other
Example (Deciding a system both ways)

Let A=(120011),b=(32),b′=(−11). Decide, for b and for b′, which alternative of Theorem 18.5.6 holds, and exhibit the solution.

Solution. The columns are a1=e1, a2=(2,1), and a3=e2, all in the closed first quadrant. So cone(A)⊆R≥02, and in fact the two are equal, since e1 and e2 are among the generators.

For b=(3,2) we expect (F1). The system x1+2x2=3, x2+x3=2 has, for example, the solution x=(3,0,2)≥0, and also x=(1,1,1). Nonnegative solutions need not be unique.

For b′=(−1,1) we expect (F2), since b′ has a negative first entry. Try y=e1: then A⊤y=(1,2,0)≥0 and b′⊤y=−1<0. So y=e1 is a certificate, and by the “not both” half of Theorem 18.5.6 the system Ax=b′, x≥0 has no solution. The certificate encodes a one-line argument: the first equation reads x1+2x2=−1, and its left side is ≥0 whenever x≥0.

Linear programming, in the next section, meets systems of inequalities, Ax≤b with x≥0. Farkas’s lemma handles them after one standard move: add a slack variable to turn each inequality into an equation.

Corollary 18.5.7 (Farkas’s Lemma for Inequalities)

Let M∈Mm×n(R) and d∈Rm. Exactly one of the following has a solution:

  • (i) Mz≤d with z∈Rn, z≥0;
  • (ii) w≥0, M⊤w≥0, and d⊤w<0, with w∈Rm.

Idea. A slack vector s=d−Mz≥0 turns the inequalities into equations with matrix (MIm), and in Theorem 18.5.6 the identity block becomes the extra condition w≥0.

Proof. Here Mz≤d means d−Mz≥0. So (i) has a solution if and only if there are z≥0 and s≥0 in Rm with Mz+s=d: given z, take s=d−Mz, and given z and s, drop s. In block form this reads (MIm)(zs)=d,(zs)≥0. Apply Theorem 18.5.6 to the m×(n+m) matrix (MIm) and to d. Exactly one of the system above and the following is solvable: (MIm)⊤w≥0 and d⊤w<0. The transpose has the blocks M⊤ and Im stacked, so the first condition says M⊤w≥0 and w≥0. That is (ii).

18.5.5. The dual of the dual

Farkas’s lemma has a coordinate-free form, which says that nothing is lost by passing to the dual cone twice, provided the cone is closed.

Theorem 18.5.8 (The Bidual of a Closed Cone)

Let V be a finite-dimensional real inner product space and let K⊆V be a closed convex cone. Then K∗∗=K.

Proof. K⊆K∗∗ is Proposition 18.5.1 (c). Conversely, let b∉K. By Lemma 18.5.5 there is y∈K∗ with ⟨b,y⟩<0. That single y shows b∉K∗∗. Hence K∗∗⊆K, and the two are equal.

For K=cone(A), which is closed by Theorem 18.5.4, the theorem is Farkas’s lemma. By Proposition 18.5.1 (d), K∗={y:A⊤y≥0}, so “b∈K∗∗” says that every y with A⊤y≥0 has b⊤y≥0, that is, (F2) has no solution. And “b∈K” is (F1). This is the “dualize” move in its purest form: a question about a cone (is b in it?) is traded for one about its dual (does every member of the dual approve of b?), and the trade is exact when the cone is closed.

Remark. For the wedge K=cone((1,0),(1,1)), whose dual is cone((0,1),(1,−1)) by Exercise (B3: A dual cone and its dual), the theorem and Proposition 18.5.1 (d) say that K={x:⟨x,(0,1)⟩≥0, ⟨x,(1,−1)⟩≥0}, one inequality for each generator of K∗. In general the theorem describes a closed convex cone from outside, as an intersection of half-spaces through the origin; for a finitely generated cone finitely many suffice, which is one half of the Minkowski–Weyl theorem of Section 9.

18.5.6. When the cone is not finitely generated

The system “Ax=b, x≥0” asks whether b lies in the image of the orthant under x↦Ax. Replace the orthant by a closed convex cone K⊆Rk and A by a matrix P∈Mm×k(R), and ask whether b∈P(K). The “not both” half of the proof of Theorem 18.5.6 survives unchanged. The “at least one” half needs P(K) to be closed, and the next example shows that this can fail.

Example (A closed cone with a nonclosed shadow)

In R3, with coordinates (x,y,z), let K={(x,y,z):xs2+2yst+zt2≥0 for all s,t∈R}, the set of triples for which the symmetric matrix (xyyz) is positive semidefinite (Definition 13.1.1). Let P=(100010), so that P(x,y,z)=(x,y) is the projection onto the first two coordinates, and write P(K)={Pk:k∈K}. Show that K is a closed convex cone, but that P(K)={(x,y):x>0}∪{(0,0)}, the cone of the earlier warning, which is not closed. Then show that for b=(0,1) neither of the two alternatives holds:

  • (i) Pk=b for some k∈K;
  • (ii) ⟨Pk,y⟩≥0 for every k∈K, and ⟨b,y⟩<0, for some y∈R2.

Solution. K is a closed convex cone. Write qk(s,t)=xs2+2yst+zt2 for k=(x,y,z). It is linear in k: qak+bk′=aqk+bqk′. So if k,k′∈K and a,b≥0, then qak+bk′(s,t)≥0 for all s,t, and K is a convex cone that contains 0. If kj→k with kj∈K, then for fixed s,t the number qkj(s,t) is a fixed linear combination of the entries of kj. So it converges to qk(s,t), and qk(s,t)≥0 because a nonstrict inequality survives a limit. Hence K is closed.

Membership. By Theorem 13.1.4 (a) ⇔ (e), (x,y,z)∈K exactly when the principal minors x, z, and xz−y2 are all ≥0.

The image. (0,0)=P(0)∈P(K). If x>0 and y is arbitrary, put z=y2/x. Then x≥0, z≥0, and xz−y2=0, so (x,y,z)∈K and (x,y)∈P(K). Conversely, if (x,y,z)∈K, then x≥0, and if x=0 then 0=xz≥y2 forces y=0. So P(K) is exactly the displayed set. It is not closed: (1/k,1)∈P(K) converges to (0,1)∉P(K).

Neither alternative holds for b=(0,1). Alternative (i) fails because b∉P(K). For (ii), suppose y=(y1,y2) has ⟨Pk,y⟩≥0 for every k∈K. Since (1,t)∈P(K) for every real t, we get y1+ty2≥0 for all t. A nonconstant affine function of t takes negative values, so y2=0. But then ⟨b,y⟩=y2=0, which is not <0. So (ii) fails too.

It is worth seeing exactly where the proof of Theorem 18.5.6 breaks. The vectors kj=(1/j,1,j) lie in K, their images (1/j,1) converge to b, and the kj themselves run off to infinity in the third coordinate. This is the escape that the left inverse in Lemma 18.5.3 prevented. There is no nearest point of P(K) to b: the distance is 0, but b is not in the set, so Lemma 18.5.5 has nothing to start from. What fails is closedness, which is why the finitely generated case needed its own theorem.

The dual cone cannot see the difference either: P(K)∗∗ is the closed half-plane {x≥0}, strictly larger than P(K), as Exercise (C3: The bidual sees only the closure) shows.

18.5.7. Exercises

A. Check your understanding

Exercise (A1)
  • (a) Define a convex cone and the dual cone of a subset S of Rn.
  • (b) State Farkas’s lemma, and say in one sentence what the vector y in the second alternative certifies.
  • (c) Determine whether the following is correct, and justify your answer: every convex cone in R2 is closed.
  • (d) Determine whether the following is correct, and justify your answer: the union of two convex cones in R2 is a convex cone.
  • (e) In Theorem 18.5.2 the bound is n generators, while Theorem 18.2.2 allows n+1 points. Which feature of the proof accounts for the difference?

Solution.

  • (a) A convex cone is a nonempty K⊆Rn with au+bv∈K for all u,v∈K and all real a,b≥0. The dual cone of S is S∗={y:⟨x,y⟩≥0 for every x∈S}.

  • (b) For A∈Mm×n(R) and b∈Rm, exactly one of the following is solvable: Ax=b with x≥0, or A⊤y≥0 with b⊤y<0. Such a y certifies that the first system has no solution, since any solution x would give 0>b⊤y=x⊤A⊤y≥0.

  • (c) Incorrect. The cone {(x,y):x>0}∪{0} of the warning in this section is a convex cone, but (1/k,1)→(0,1) leaves it.

  • (d) Incorrect. The two quadrants R≥02 and −R≥02 are convex cones, and their union contains (1,0) and (0,−1) but not their sum (1,−1).

  • (e) For cones the dependence to be removed is a linear dependence ∑ciai=0, and a linearly independent list in an n-dimensional space has at most n members. For convex hulls it is an affine dependence (coefficients also summing to 0), and an affinely independent list can have n+1 members.

B. Practice

Exercise (B1: Recognizing cones)

Determine which of the following subsets of R2 or R3 are convex cones. Justify your answers.

  • (a) {x∈R2:x1≥|x2|}.
  • (b) {x∈R3:x1+x2+x3=0}.
  • (c) {x∈R2:x1≥1}.
  • (d) {x∈R2:x2≥x12}.
  • (e) {x∈R3:x1≥0, x2≥0, x3≤x1+x2}.

Solution.

  • (a) A convex cone. It is nonempty, containing 0. If x1≥|x2|, y1≥|y2|, and a,b≥0, then by the triangle inequality for real numbers (Theorem 0.6.4) |ax2+by2|≤a|x2|+b|y2|≤ax1+by1. It is cone((1,1),(1,−1)), a quarter-plane turned by 45∘.

  • (b) A convex cone. It is a subspace, being the null space of (111), and every subspace is a convex cone.

  • (c) Not a convex cone: it does not contain 0, which taking a=b=0 in the definition would force into it. It is convex and closed under addition; what fails is scaling by 0≤a<1, for instance 12(1,0)=(12,0) is not in it.

  • (d) Not a convex cone. It is convex, but it is not closed under nonnegative scaling: (1,1) is in it, and 2(1,1)=(2,2) is not, since 2<4.

  • (e) A convex cone. Each of the three conditions is a homogeneous linear inequality ⟨x,a⟩≥0, with a=e1, e2, and (1,1,−1), so the set is an intersection of three half-spaces through the origin. Each is a convex cone by the examples of this section, and an intersection of convex cones is a convex cone: it contains 0, and each member cone contains every nonnegative combination of points of the intersection.

Exercise (B2: A certificate either way)

Let A=(11−1012). For each of b=(0,3) and b=(−1,1), decide which alternative of Theorem 18.5.6 holds, and exhibit a solution of that alternative.

Solution. The columns are a1=(1,0), a2=(1,1), and a3=(−1,2).

For b=(0,3), try x=(0,x2,x3): the equations x2−x3=0 and x2+2x3=3 give x2=x3=1. So x=(0,1,1)≥0 solves Ax=b, and (F1) holds.

For b=(−1,1), look for y perpendicular to the “outermost” generator a3 and nonnegative on the others. The vector y=(2,1) gives A⊤y=(2,3,0)≥0 and b⊤y=−2+1=−1<0. So (F2) holds, and by Theorem 18.5.6 the system Ax=(−1,1), x≥0 has no solution. As a direct check, adding twice the first equation to the second gives 2x1+3x2=−1, whose left side is ≥0 for x≥0.

Exercise (B3: A dual cone and its dual)

Let K=cone((1,0),(1,1))⊆R2.

  • (a) Show that K∗=cone((0,1),(1,−1)).
  • (b) Compute K∗∗ and check that it equals K, as Theorem 18.5.8 predicts.

Solution.

  • (a) By Proposition 18.5.1 (d), K∗={y:y1≥0, y1+y2≥0}. Given such a y, write y=(y1+y2)(0,1)+y1(1,−1): indeed the right side is (y1,y1+y2−y1)=(y1,y2), and both coefficients are ≥0. So y∈cone((0,1),(1,−1)). Conversely, both generators satisfy the two inequalities, and the set defined by the inequalities is a convex cone, so it contains the cone they generate.

  • (b) Applying Proposition 18.5.1 (d) to the generators found in (a), K∗∗={x:x2≥0, x1−x2≥0}. The same decomposition argument, now with x=(x1−x2)(1,0)+x2(1,1), shows this set is cone((1,0),(1,1))=K.

C. Going deeper

Exercise (C1: Gordan’s alternative)

Let A∈Mm×n(R).

  • (a) Prove that exactly one of the following has a solution: Ax=0 with x≥0 and x≠0; or A⊤y>0 with y∈Rm.
  • (b) Deduce that if the columns of A are (1,0), (0,1), and (−1,−1), then some nontrivial nonnegative combination of them is 0, and find one.

Hint for (a): scale x so that its entries sum to 1, and apply Theorem 18.5.6 to A with an extra row of ones.

Solution.

  • (a) Not both. If Ax=0 with x≥0, x≠0, and A⊤y>0, then 0=y⊤Ax=∑jxj(A⊤y)j. Every term is ≥0, and the term for an index with xj>0 is >0. That is a contradiction.

    At least one. Suppose the first system has no solution. If Ax=0, x≥0, and 1⊤x=1, then x≠0 would solve it. So the system (A1⊤)x=(01),x≥0, has no solution. By Theorem 18.5.6 there is (y,s)∈Rm×R with A⊤y+s1≥0 and 0⊤y+1⋅s<0, that is, s<0. Then A⊤y≥−s1>0, so y solves the second system.

  • (b) Here A=(10−101−1). The second system is impossible: A⊤y=(y1,y2,−y1−y2), and its entries sum to 0, so they cannot all be positive. By (a) the first system is solvable. Indeed x=(1,1,1) gives Ax=(1−1,1−1)=0.
Exercise (C2: The ice-cream cone is its own dual)

Let L={(x,t)∈Rn×R:‖x‖2≤t}, with the inner product ⟨(x,t),(y,s)⟩=y⊤x+ts on Rn+1.

  • (a) Prove that L⊆L∗.
  • (b) Prove that L∗⊆L.
  • (c) Deduce that L is closed.

Hint for (b): test (y,s)∈L∗ against the member (−y,‖y‖2) of L.

Solution.

  • (a) Let (x,t),(y,s)∈L. By Theorem 11.1.5, |y⊤x|≤‖x‖2‖y‖2≤ts, where the last step multiplies the inequalities 0≤‖x‖2≤t and 0≤‖y‖2≤s. Hence y⊤x+ts≥ts−|y⊤x|≥0. Fix (y,s)∈L: we have shown that its inner product with every (x,t)∈L is ≥0, so (y,s)∈L∗. Hence L⊆L∗.

  • (b) Let (y,s)∈L∗. The point (−y,‖y‖2) lies in L, so 0≤⟨(−y,‖y‖2),(y,s)⟩=−‖y‖22+s‖y‖2=‖y‖2(s−‖y‖2). If y≠0, dividing by ‖y‖2>0 gives s≥‖y‖2. If y=0, test against (0,1)∈L instead: s≥0=‖y‖2. Either way (y,s)∈L.

  • (c) By (a) and (b), L=L∗, and every dual cone is closed by Proposition 18.5.1 (a).

Exercise (C3: The bidual sees only the closure)

Let C={(x,y):x>0}∪{(0,0)}⊆R2, the image cone of Example (A closed cone with a nonclosed shadow).

  • (a) Prove that C∗={(y1,0):y1≥0}.
  • (b) Prove that C∗∗={(x,y):x≥0}.
  • (c) Explain why this does not contradict Theorem 18.5.8, and show that C∗∗ is the set of all limits of convergent sequences of points of C.

Solution.

  • (a) If (y1,y2)∈C∗, then testing against (1,t)∈C gives y1+ty2≥0 for every real t. This forces y2=0, as in the example, and then t=0 gives y1≥0. Conversely, if y2=0 and y1≥0, then ⟨(x,y),(y1,0)⟩=xy1≥0 for every (x,y)∈C, since x≥0 on C.

  • (b) By (a), C∗=cone((1,0)), so by Proposition 18.5.1 (d), C∗∗={(x,y):⟨(x,y),(1,0)⟩≥0}={(x,y):x≥0}.

  • (c) Theorem 18.5.8 assumes the cone is closed, and C is not. Every point of C∗∗ is such a limit: if x>0 or (x,y)=0, use the constant sequence; if x=0, use (1/k,y)∈C, which tends to (0,y). Conversely, a limit of points of C⊆C∗∗ lies in C∗∗, because C∗∗ is closed by Proposition 18.5.1 (a). So C∗∗ is exactly the set of limits of sequences in C.

Found a typo or a mistake? Report it, or read this page’s source

The text of this book is licensed under CC BY-NC-SA 4.0.