ELEG 594: Introduction To Convex Geometry: Khaled M Al-Wahedi
ELEG 594: Introduction To Convex Geometry: Khaled M Al-Wahedi
ELEG 594: Introduction To Convex Geometry: Khaled M Al-Wahedi
Khaled M Al-Wahedi
September 13, 2013
Table of Contents
Table of Contents 1
1 Anity & Convextiy 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Ane Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Convex Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Convex Cones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5 Dimensionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6 Convex Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2 Polytopes & Polyhedra 17
2.1 Convex Polytopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.1 Faces and Extreme Points . . . . . . . . . . . . . . . . . . . . 19
2.2 Convex Polyhedra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.1 Faces and Supporting Hyperplanes . . . . . . . . . . . . . . . 26
2.3 Redundant Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4 The Dimension of a Polytope: V-representation . . . . . . . . . . . . 32
2.4.1 The Choice of y . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.5 The Dimension of a Polytope: H-representation . . . . . . . . . . . . 36
2.6 Polar Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.6.1 Dual Polytopes . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.6.2 Polar Convex Cones . . . . . . . . . . . . . . . . . . . . . . . 45
Bibliography 47
Chapter 1
Anity & Convextiy
1.1 Introduction
Convex geometry is the branch of geometry concerned with the study of convex sets.
Convex sets, along with convex functions, are important in the study of extremum
problems, which itself is an important part of optimization theory in general. In this
chapter, we provide their denitions, and study their properties. Also in this chapter,
we present a series of denitions, theorems, and results summarizing the topics of
convex geometry relating to this course.
1.2 Ane Sets
Denition 1.2.1 ([Roc70], p. 3). A set M R
n
is called an ane set if the innite
line connecting every two points in the set is also in the set.
If x and y are points in R
n
, the set of points of the form x + (1 )y, R
is called the line through x and y (see gure 1.1). Therefore, the set M R
n
is an
ane set if and only if
x + (1 )y M, x M, y M, R. (1.2.1)
Khaled Al-Wahedi 1
= 1
0 < < 1
< 0
= 0
> 1
x
y
Figure 1.1: An ane line through points x and y.
Khaled Al-Wahedi 2
The empty set and the space R
n
are extreme examples of ane sets. A set
consisting of a single point also conforms to the denition of the ane set, and hence
it is considered an ane set. The solution to any linear system of equations of the
form Ax = b is also an ane set as the following theorem states:
Theorem 1.2.1. The set
M= {x R
n
: Ax = b} , b R
m
is an ane set in R
n
.
Proof. Let x
1
M, x
2
M, R, then if z = x
1
+ (1 )x
2
, we have
Az = Ax
1
+ (1 )Ax
2
= b + (1 )b = (1 + )b = b.
So, z M, and therefore, M is ane.
Denition 1.2.2 ([Gr u67], p. 2). An ane combination of the points x
1
, x
2
, ..., x
m
R
n
is dened as
1
x
1
+
2
x
2
+ ... +
m
x
m
,
i
R,
m
i1
i
= 1. (1.2.2)
Lemma 1.2.2. If the point z is an ane combination of the points x
1
and x
2
, then
x
1
is an ane combination of x
2
and z, and x
2
is an ane combination of x
1
and z.
Proof. If = 0, then z is equal to either x
1
or x
2
. Otherwise:
z = x
1
+ (1 )x
2
= x
1
=
1
z
1
x
2
=
1
z + (1
1
)x
2
= z + (1 )x
2
,
and,
z = x
1
+ (1 )x
2
= x
2
=
1
1
z
1
x
1
=
1
z
1
x
1
=
1
z + (1
1
)x
1
= z + (1 )x
1
.
Khaled Al-Wahedi 3
This lemma can be generalized as follows:
Lemma 1.2.3. If z is an ane combination of the points x
1
, x
2
, ..., x
m
, then any x
i
of these points is an ane combination of x
1
, x
2
, ..., x
i1
, x
i+1
, .., x
m
, z.
Proof. According to denition 1.2.2,
z =
1
x
1
+
2
x
2
+ ... +
i
x
i
+ ... +
m
x
m
,
j
R,
m
j=1
j
= 1.
We assume that all the terms with
j
= 0 have been removed, then we have
x
i
=
1
i
z
1
i
x
1
i
x
2
...
i1
i
x
i1
i+1
i
x
i+1
...
m
i
x
m
.
We now need to show that the sum of the coecients is 1:
1
i
...
i1
i+1
i
...
m
i
=
i
i
= 1.
Lemma 1.2.4. Any ane combination of m points can be converted into an ane
combination of two points.
Proof.
z =
1
x
1
+
2
x
2
+ ... +
m
x
m
,
i
R,
m
i=1
i
= 1,
i
= 1.
=z =
1
y
1
+ (1
1
)y
2
,
where y
1
= x
1
, and y
2
=
1
1
1
(
2
x
2
+ ... +
m
x
m
).
Theorem 1.2.5. The set of all ane combinations of points x
1
, x
2
, ..., x
m
R
n
is
an ane set.
Proof. According to denition 1.2.1, a set M is ane if it contains the innite line
connecting every two points in it. From lemma 1.2.4, any ane combination z of
x
1
, x
2
, ..., x
m
is an ane combination of the two points y
1
and y
2
, including y
1
and
y
2
themselves. Therefore, the set of all ane combinations of points x
1
, x
2
, ..., x
m
is
equal to the set of all ane combinations of the two points y
1
and y
2
. We can then
say: for every two points y
1
and y
2
in M, the innite line connecting them is also in
M, and hence M is an ane set.
Khaled Al-Wahedi 4
This ane set is called the ane hull of x
1
, x
2
, ..., x
m
or a ({x
1
, x
2
, ..., x
m
}). In
R
2
, the ane hull of any three non-collinear points is the whole of R
2
, and in R
3
,
it is the unique plane passing through the three points. Another way to dene the
ane hull is that it is the smallest ane set containing the points x
1
, x
2
, ..., x
m
, or
that it is the intersection of all ane sets containing the points x
1
, x
2
, ..., x
m
. This
latter denition leads us to the following theorem:
Theorem 1.2.6. If M
1
and M
2
are two ane sets, then M
1
M
2
is an ane set.
Proof. If the intersection set is empty or it contains a single point, then it is ane.
Otherwise, let x
1
, x
2
M
1
M
2
. Since both x
1
and x
2
belong to M
1
, and since
M
1
is ane, any ane combination of the two points belongs to M
1
. Similarly, any
ane combination of x
1
and x
2
belongs to M
2
as well. Thus, the ane combination
belongs to M
1
M
2
. Hence, M
1
M
2
is ane.
This theorem can be generalized as follows:
Theorem 1.2.7. The intersection of any number of ane sets is an ane set.
Proof. Let the intersection of n ane sets be given by
M=
n
i=1
M
i
, n .
Then
x, y M=x, y M
i
, i
=x + (1 )y M
i
, i,
=x + (1 )y M,
=M is ane.
1.3 Convex Sets
Denition 1.3.1 ([Roc70], p. 10). A set X R
n
is called a convex set if the line
segment between any two points in the set is also in the set (see gure 1.2).
Khaled Al-Wahedi 5
a b c
Figure 1.2: Sets a and b are convex, set c is non-convex.
Mathematically, X R
n
is a convex set if and only if
x + (1 )y X, x X, y X, : 0 1. (1.3.1)
We see, from both denitions of the ane set and the convex set, that the denition
of the convex set is included in the denition of the ane set, and hence, every ane
set is a convex set, but not the other way around.
Denition 1.3.2 ([Roc70], p. 11). A convex combination of the points x
1
, x
2
, ..., x
m
R
n
is dened as
1
x
1
+
2
x
2
+ ... +
m
x
m
,
i
0,
m
i=1
i
= 1. (1.3.2)
Khaled Al-Wahedi 6
In the convex domain, there is no equivalent to lemmas 1.2.2 and 1.2.3; however,
lemma 1.2.4, and theorem 1.2.5 can be repeated here as follows:
Lemma 1.3.1. Any convex combination of m points can be converted into a convex
combination of two points.
Theorem 1.3.2. The set of all convex combinations of points x
1
, x
2
, ..., x
m
R
n
is
a convex set.
Similar to the ane hull, the set of all convex combinations of x
1
, x
2
, ..., x
m
R
n
is called the convex hull of x
1
, x
2
, ..., x
m
, and is denoted by conv({x
1
, x
2
, ..., x
m
}).
Another way to dene the convex hull is that it is the smallest convex set containing
the points x
1
, x
2
, ..., x
m
, or that it is the intersection of all convex sets containing the
points x
1
, x
2
, ..., x
m
.
This latter denition leads us to the following theorems:
Theorem 1.3.3. If X
1
and X
2
are two convex sets, then X
1
X
2
is a convex set.
Theorem 1.3.4. The intersection of any number of convex sets is a convex set.
Denition 1.3.3 ([Roc70], p. 16). The sum of two convex sets X
1
and X
2
is dened
as
X
1
+X
2
:= {x
1
+ x
2
: x
1
X
1
, x
2
X
2
} . (1.3.3)
Theorem 1.3.5 ([Roc70], Theorem 3.1). If X
1
and X
2
are convex set in R
n
, then so
is their sum X
1
+X
2
.
Just like the solution to a system of linear equalities Ax = b is an ane set, the
solution to a system of linear inequalities is a convex set as the following theorem
states:
Theorem 1.3.6. The set
X =
_
x R
n
: Ax b, A R
mn
, b R
m
_
is a convex set in R
n
.
Khaled Al-Wahedi 7
Proof. Let x
1
X, x
2
X, then
Ax
1
b,
Ax
2
b.
Consider
1
0, and
2
0, such that
1
+
2
= 1. Then,
1
Ax
1
1
b,
2
Ax
2
2
b
=A(
1
x
1
+
2
x
2
) (
1
+
2
)b = b.
Thus,
1
x
1
+
2
x
2
X, and X is convex.
1.4 Convex Cones
Denition 1.4.1 ([Sch86], p. 7). A convex cone is a non-empty set of vectors C
satisfying:
if x, y C and
1
,
2
0, then
1
x +
2
y C.
Denition 1.4.2 ([Sch86], p. 7). A conic combination of points x
1
, x
2
, ..., x
m
R
n
is any point of the form
x =
1
x
1
+
2
x
2
+ ... +
m
x
m
(1.4.1)
with
1
0,
2
0, ...,
m
0.
Theorem 1.4.1. The set of all conic combinations of points x
1
, x
2
, ..., x
m
R
n
is a
convex cone.
Theorem 1.4.2. If C
1
and C
2
are two convex cones, then C
1
C
2
is a convex cone.
Theorem 1.4.3. The intersection of any number of convex cones is a convex cone.
Theorem 1.4.4. The set
C =
_
x R
n
: Ax 0, A R
mn
_
is a convex cone in R
n
.
Similar to the ane and convex hulls, the set of all conic combinations of the
points x
1
, x
2
, ..., x
m
R
n
is the smallest convex cone containing these points. It is
called the conic hull of the points x
1
, x
2
, ..., x
m
(see gure 1.3), and it is denoted
by conic({x
1
, x
2
, ..., x
m
}). Another way to dene the conic hull is that it is the
intersection of all convex cones containing the points x
1
, x
2
, ..., x
m
.
Khaled Al-Wahedi 8
x
1
x
2
x
1
x
3
x
4
(a) (b)
x
2
0
0
Figure 1.3: (a) A convex cone that is the conic hull of two points in R
2
, (b) A convex
cone that is the conic hull of four points in R
3
. The arrows show the directions in
which the convex cones extend.
1.5 Dimensionality
Later on we will need to compute the dimension of a convex set, so it would be
appropriate rst to dene what we mean by dimension. We present here a series of
denitions to establish the notion of dimension as it relates to ane and convex sets.
In order to complement our discussion of this topic, we also present three famous
theorems connecting convexity and dimensionality.
Denition 1.5.1 ([SW70], p. 33). A set Z R
n
is called linearly independent if it
is empty or if there exists no nite subset {z
1
, ..., z
m
} of Z such that
w
1
z
1
+ ... + w
m
z
m
= 0, w
i
R, w
i
= 0. (1.5.1)
Khaled Al-Wahedi 9
Denition 1.5.2 ([SW70], p. 33). A set Z R
n
is called a spanning set of the
linear subspace L R
n
, or is said to span L if every l L can be written as
l = w
1
z
1
+ ... + w
m
z
m
, {z
1
, ..., z
m
} Z, w
i
R. (1.5.2)
Denition 1.5.3 ([SW70], p. 34). A set Z R
n
is called a basis of the linear
subspace L R
n
if it spans L and it is linearly independent.
Denition 1.5.4 ([SW70] , p. 34). The dimension of a linear subspace L R
n
is
dened as the cardinality (number of elements) of any of its bases, and all of its bases
have the same nite cardinality, called dim(L).
Denition 1.5.5 ([Roc70], p. 4). For an ane set M R
n
and a vector a R
n
,
the translate of M by a is dened to be the set
M+ a := {x + a : x M} , (1.5.3)
and it is another ane set.
Denition 1.5.6 ([Roc70], p. 4). The dimension of any non-empty ane set M R
n
is dened as the dimension of the unique subspace L parallel to M. This subspace is
given by
L := MM= {x y : x M, y M} . (1.5.4)
The notion of parallelism here is more restrictive than the one we normally use.
Here, a plane can only be parallel to another plane, and it cannot be parallel, for
example, to a line. We can think, however, of the line being parallel to another line
within that plane.
Denition 1.5.7 ([Roc70], p. 6). A set of m + 1 points {x
0
, x
1
, ..., x
m
} is said to be
anely independent if a ({x
0
, x
1
, ..., x
m
}) is m-dimensional.
Mathematically speaking, there are real
0
,
1
, ...,
m
, not all 0, such that
0
x
0
+
1
x
1
+ +
m
x
m
= 0, (1.5.5)
0
+
1
+ +
m
= 0.
Khaled Al-Wahedi 10
Denition 1.5.8 ([Roc70], p. 12). The dimension of a convex set X=conv({x
1
, ...,x
m
})
is dened as the dimension of its ane hull a (X).
This ane hull is just an ane set whose dimension can be computed according
to denition 1.5.6.
The following theorem is known as Caratheodorys Theorem:
Theorem 1.5.1 ([SW70], Theorem 2.2.12). Let S be any subset of R
n
such that
dim(a (S)) = d. Then for each point x conv(S), there exist d + 1 points x
i
S
such that x conv({x
1
, x
2
, ..., x
d+1
}).
Caratheodorys Theorem is an important theorem that relates convexity and
dimensionality. It basically states that any point in the d-dimensional convex hull of
a subset S can be computed as a convex combination of d + 1 points from S.
The following theorem is known as Hellys Theorem:
Theorem 1.5.2 ([Roc70], Theorem 21.6). Let {P
1
, P
2
, ..., P
m
} be a nite collection
of convex sets (not necessarily closed) in R
n
such that m n + 1. If every sub-
collection consisting of n + 1 or fewer sets has a non-empty intersection, then the
entire collection has a non-empty intersection.
Hellys theorem simply states that in R
n
, if every n+1 sets out of the m sets have
at least one point in common, then all m sets have at least one point in common.
The following theorem is known as Radons Theorem:
Theorem 1.5.3 ([Br83], Corollary 2.7). Let S = {x
1
, ..., x
d
} be a nite set of d
points from R
n
such that d n + 2. Then there are subsets S
1
and S
2
of S with
S
1
S
2
= and S
1
S
2
= S such that
conv(S
1
) conv(S
2
) = . (1.5.6)
Radons theorem can be easily illustrated with an example in R
2
. Suppose we have
S as {x
1
, x
2
, x
3
, x
4
}, then there are only two possible descriptions for the arrangement
of the points in the R
2
space: either one of the four points lies inside the triangle
Khaled Al-Wahedi 11
(convex hull) formed by the other three points, or no point lies inside such a triangle.
In the rst case, we can choose S
1
to be the set of the three points that make up the
triangle, and S
2
to be the fourth point, thus satisfying (1.5.6). In the second case, we
can choose each S
i
to have two of the points such that we have two intersecting lines,
where each line (convex hull) is formed by connecting the points of each S
i
. Again,
we satisfy (1.5.6). This example is shown in gure 1.4.
x
1
x
2
x
3
x
4
x
1
x
2
x
3
x
4
(a) (b)
Figure 1.4: An illustration of Radons theorem in R
2
. (a) We choose S
1
to be
{x
1
, x
2
, x
3
}, and S
2
to be {x
4
}, such that conv(S
1
) conv(S
2
) = . (b) We choose S
1
to be {x
1
, x
3
}, and S
2
to be {x
2
, x
4
}, such that conv(S
1
) conv(S
2
) = .
Khaled Al-Wahedi 12
1.6 Convex Functions
We start by properly dening convex functions.
Denition 1.6.1 ([Roc70], p. 23). Let f be a function whose values are real or
and whose domain is a subset S of R
n
. The set
{(x, ) : x S, R, f(x)}
is called the epigraph of f and is denoted by epi(f). We dene f to be a convex
function on S if epi(f) is convex as a subset of R
n+1
.
The epigraph provides a way to relate convex functions to convex sets. Using the
epigraph, checking whether a function is convex or not reduces to checking whether
a set is convex or not. See gure 1.5 for an example of a convex function and a non-
convex function. Note that the convexity of a function f is restricted to its domain
S. In order to free the convexity of f from being tied to its domain, we extend the
denition of f to be on all R
n
by setting f(x) = +for x / S. We dene the concave
function as the function whose negative is convex (i.e. f is concave if and only if f
is convex), and we dene the ane function as the function that is both convex and
concave.
Another way to dene the convex function is provided in the following theorem,
which is known as Jensens Inequality Theorem:
Theorem 1.6.1 ([Roc70], Theorem 4.3). Let f be a function from R
n
to (, +].
Then f is convex if and only if
f(
1
x
1
+ +
m
x
m
)
1
f(x
1
) + +
m
f(x
m
) (1.6.1)
whenever
1
0, ...,
m
0,
1
+ +
m
= 1.
Jensens inequality is easy to visualize in the case of two points x, y R. In this
case, Jensens inequality becomes
f(x + (1 )y) f(x) + (1 )f(y), 0 < < 1. (1.6.2)
Khaled Al-Wahedi 13
(a) (b)
f(x) f(x)
f(x)
x
1
x
1
x
2
x
2
Figure 1.5: An example of a convex function and a non-convex function. (a) The
function f is convex on S = [x
1
, x
2
], because epi(f) is a convex set. (b) The function
f is non-convex on S = [x
1
, x
2
], because epi(f) is a non-convex set. In both diagrams,
the epigraph is represented by the blue area, which extends in the direction of the
arrows, and the function f is represented by the black curve.
which means that the function f is convex over the interval [x, y] if and only if for
any convex combination z of x and y, f(z) always lies below the line connecting f(x)
and f(y). See gure 1.6.
Examples of convex functions include
All linear functions f(x) = a
T
x + b, where a, x R
n
, and b R. In fact all
linear functions are both convex and concave (i.e. ane).
All quadratic functions R
n
R given by f(x) = x
T
Qx + 2q
T
x + p, where
Q R
nn
is a symmetric matrix, q R
n
, and p R.
Khaled Al-Wahedi 14
f
x y z
f(x)
f(y)
f(z)
Figure 1.6: Jensens Inequality for two points in R. f is convex over [x, y] if and only
if for any point z between x and y, f(z) lies on or below the line connecting f(x) and
f(y).
All norms. A norm R
n
R is a measure of magnitude, and it is given as
x
p
:=
_
n
i=1
|x
i
|
p
_1
p
, where x = [x
1
x
n
]
T
is a vector in R
n
, and p 1 is a
real number. The most commonly used norms are the L-2 norm with p = 2, the
L-1 norm with p = 1, and the L- norm which is a special case, and is dened
as max
i
|x
i
|.
The following theorem will be needed later on:
Theorem 1.6.2 ([Roc70], Theorem 5.7). Let A be a linear transformation from R
n
to R
m
. Then, for each convex function g on R
m
, the function g(Ax) is convex on R
n
.
This theorem states that a function that is convex with respect to Ax R
m
is
also convex with respect to x R
n
, so given a function f(x) = g(Ax), if g is convex,
Khaled Al-Wahedi 15
then so is f. As an extension of this theorem, we state that if g(Ax + b) is convex,
then so is f(x) = g(Ax + b).
Proof. The function f is convex if and only if f(x
1
+ (1 )x
2
) f(x
1
) + (1
)f(x
2
), 0 < < 1. If f(x) = g(Ax + b), and g(Ax + b) is convex, then
g((Ax
1
+ b) + (1 )(Ax
2
+ b)) g(Ax
1
+ b) + (1 )g(Ax
2
+ b)
= g(Ax
1
+ b + Ax
2
+ b Ax
2
b) g(Ax
1
+ b) + (1 )g(Ax
2
+ b)
= g(A(x
1
+ (1 )x
2
) + b) g(Ax
1
+ b) + (1 )g(Ax
2
+ b)
= f(x
1
+ (1 )x
2
) f(x
1
) + (1 )f(x
2
)
= f is convex.
Khaled Al-Wahedi 16
Chapter 2
Polytopes & Polyhedra
2.1 Convex Polytopes
Geometrically speaking, polytopes are the generalization to R
n
of polygons in R
2
.
Convex polytopes are a special class of convex sets, and they play a major role in
optimization. Therefore, they will be explored in detail.
Denition 2.1.1 ([Br83], p. 14). A set P R
n
is called a convex polytope or simply
a polytope if it is the convex hull of a non-empty nite set X = {x
1
, x
2
, ..., x
m
}.
The polytope P is called a d-polytope if dim(P) = d. It is also called full-
dimensional if dim(P) = n; otherwise, it is called non-full-dimensional. Any translate
P + x of P is a polytope, and any ane mapping (P) is also a polytope.
Denition 2.1.2 ([Br83], p. 14). A polytope P = conv({x
1
, x
2
, ..., x
m
}) is called a
simplex if the points x
1
, x
2
, ..., x
m
are anely independent. See gure 2.1.
The points x
1
, x
2
, ..., x
m
are called the vertices of P. A d-simplex is a d-polytope
which is a simplex. A simplex is a d-simplex if and only if it has d + 1 vertices. The
simplex is the simplest polytope we can have in terms of the number of vertices it
has; for example, a 3-polytope cannot have fewer than four vertices.
Denition 2.1.3 ([Br83], p. 19). By the relative interior of a polytope P in R
n
we
mean the interior of P in the ane hull of P, and it is denoted by ri(P).
17
(a) (b) (c)
Figure 2.1: (a) A tetrahedron is a simplex. (b) A dodecahedron is a polytope but not
a simplex. (c) A sphere is a convex set but not a polytope.
Denition 2.1.4 ([Br83], p. 19). By the relative boundary of a polytope P in R
n
we mean the boundary of P in the ane hull of P, and it is denoted by rb(P).
A triangle in R
3
, for example, has no interior, and all its points are boundary
points. On the other hand, the triangle does have both interior points and boundary
points in the two-dimensional ane space that it spans, and therefore its relative
interior and relative boundary are both non-empty.
Since polytopes are a special class of convex sets, all the denitions, theorems,
and properties of convex sets apply to them as well. The following theorem is an
application of Caratheodorys theorem (Theorem 1.5.1):
Theorem 2.1.1 ([Br83], Theorem 2.8). For any compact subset S of R
n
, the convex
hull conv(S) is again compact.
Khaled Al-Wahedi 18
Any non-empty nite set is a compact (closed and bounded) set. Therefore, from
denition 2.1.1 and theorem 2.1.1, we have the following corollary:
Corollary 2.1.2 ([Br83], Corollary 2.9). Any polytope P in R
n
is a compact set.
2.1.1 Faces and Extreme Points
Every polytope P contains special convex subsets called the faces of P. These faces
are dened as follows:
Denition 2.1.5 ([Br83], p. 30). A convex subset F of P is called a face of P if
for any two distinct points y, z P such that the intersection of the open segment
]y, z[ and F is non-empty, we actually have [y, z] F.
We note that, due to the convexity of F, in order to have [y, z] F, we only need
y, z F.
Simply put, if we need to know whether a convex subset F of P is a face or not,
we ask the following question: Can we have two distinct points y, z P, such that
any convex combination of the two points is in F, without having both y and z in
F? If the answer is yes, then F is not a face of P; if the answer is no, then F is a
face of P.
The subsets and P are both faces of P, and are called improper faces. All other
faces are called proper faces.
Denition 2.1.6 ([Gr u67], p. 17). A point x P is an extreme point of P provided
y, z P, 0 < < 1, and x = y + (1 )z imply x = y = z.
In other words, x is an extreme point of P if it is not in the relative interior of
any segment [y, z] in P. Equivalently, x is an extreme point of P if {x} is a face of P,
or if P \ {x} is again convex. The set of extreme points of P is denoted by ext(P).
Every proper face of a polytope is again a polytope as the following theorem states:
Khaled Al-Wahedi 19
Theorem 2.1.3 ([Br83], Theorem 7.3). Let P be a polytope in R
n
, and let F be a
proper face of P. Then F is also a polytope, and ext(F) = F ext(P).
We already know that a polytope P is the convex hull of a nite set X (denition
2.1.1), and it turns out that this nite set is actually a superset of ext(P) as the
following two theorems state:
Theorem 2.1.4 ([Br83], Theorem 7.1). Let P be a non-empty subset of R
n
. Then
the following two statements are equivalent:
1. P is a polytope.
2. P is a compact convex set with a nite number of extreme points.
So, a polytope has a nite number of extreme points, and the following theorem
states that this nite set of extreme points is a subset of the nite set X:
Theorem 2.1.5 ([Br83], Theorem 7.2). Let P be a polytope in R
n
, and let X =
{x
1
, ..., x
m
} be a nite subset of P. Then the following two statements are equivalent:
1. P = conv(X).
2. ext(P) X.
In particular,
3. P = conv(ext(P)).
This last statement is a fundamental result known as Minkowskis Theorem:
Although the set X is not unique as we can add points already in P to it, there
is a minimal set X
m
= ext(P), such that P = conv(X
m
). We will call the extreme
points of P the vertices of P, and the set of vertices of P will be denoted vertices(P).
A face F of P is called a k-face if dim(F) = k. The 0-faces of P are the extreme
points or vertices, the 1-faces are called edges, the 2-faces are just called faces, and
the 3-faces are called cells. A facet of P is a face F with 0 dim(F) = dim(P) 1.
Khaled Al-Wahedi 20
A triangle, for example, has three 0-faces (vertices), and its 3 sides are both edges and
facets at the same time. It is also customary to consider the empty set a (-1)-face,
and the whole polytope a d-face where d is the dimension of the polytope.
The relationships among the dierent k-faces are given by the following two
theorems:
Theorem 2.1.6 ([Br83], Theorem 5.2). Let F be a face of a polytope P in R
n
, and
let G be a subset of F. Then G is a face of P if and only if G is a face of F.
So, a 0-face of P is also a 0-face of all the other higher-dimensional faces of P that
contain it, and so on.
Theorem 2.1.7 ([YKK84], Theorem 2.12). Let F be a proper i-face of the d-polytope
P, and let i k d 1. Then F is the intersection of at least k i + 1 k-faces of
P which contain F.
This theorem states that if we have a 3-polytope, then every extreme point (0-face)
of this polytope is the intersection of at least 3 facets (2-faces), every extreme point
is also the intersection of at least 2 edges (1-faces), and every edge is the intersection
of at least 2 facets.
The following corollary follows immediately from theorem 2.1.7:
Corollary 2.1.8 ([YKK84], Corollary 2.13). Every i-face of a d-polytope is the
intersection of not less than d i of its facets.
We end our discussion on the faces of a polytope by presenting an important result.
This result answers the following question: In a d-polytope, are there constraints on
the combination of dierent faces we can have? In other words, can we have a 3-
polytope, for example, with an arbitrary number of vertices, edges, and facets? or
are there only certain combinations possible? The answer is the latter, and the
number of vertices, edges, and facets always satisfy a linear relation. This relation,
Khaled Al-Wahedi 21
which holds for every d-polytope, is known as Eulers equation ([Gr u67], p. 131), and
it is as follows:
d1
i=0
(1)
i
f
i
= 1 (1)
d
, (2.1.1)
where f
i
is the number of i-faces in the polytope, and d is the dimension of the
polytope. Table 2.1.1 shows the Eulers equation for a polytope with dimension
d = 1, 2, 3, 4.
d Eulers Equation Example
1 f
0
= 2 A line always has two vertices
2 f
0
f
1
= 0 A square has 4 vertices and 4 edges
3 f
0
f
1
+ f
2
= 2 A cube has 8 vertices, 12 edges and 6 facets
4 f
0
f
1
+ f
2
f
3
= 0
A four-dimensional hypercube has 16 vertices,
32 edges, 24 faces, and 8 cells
Table 2.1.1: Eulers Equation for dierent polytopes with dierent dimensions.
When we include P as a face, Eulers equation becomes ([Gr u67], p. 131)
d
i=0
(1)
i
f
i
= 1, (2.1.2)
and when we include and P as faces, Eulers equation becomes ([Gr u67], p. 131)
d
i=1
(1)
i
f
i
= 0. (2.1.3)
Recall that in every d-polytope, we have one (-1)-face, namely , and one d-face,
namely P. Therefore, it is easy to derive (2.1.2) and (2.1.3) from (2.1.1).
2.2 Convex Polyhedra
We start by giving some preliminary denitions. A hyperplane H(a, b) in R
n
is a
set of the form {x : ax = b} for some nonzero row vector a R
n
and some number
Khaled Al-Wahedi 22
b R. This hyperplane has a normal a
T
, and lies at a distance
b
a
T
2
from the origin.
According to theorem 1.2.1, a hyperplane is an ane set, and its dimension is always
n 1. In R
2
, a hyperplane is an innite line, and in R
3
, a hyperplane is an innite
plane. A half-space K(a, b) in R
n
is a set of the form {x : ax b} for some nonzero
row vector a R
n
and some number b R. Sometimes, this half-space is called a
closed half-space, as opposed to the open half-space {x : ax < b}. A linear half-space
is a set of the form {x : ax 0} for some nonzero row vector a R
n
. See gure 2.2.
x
y
H
1
H
2
Figure 2.2: H
1
is a closed half-space in R
2
. It extends innitely in the directions of
the arrows, and it represents the union of a hyperplane (the black innite line) and
an open half-space (the red area). H
2
is a linear half-space in R
2
. Again, It extends
innitely in the directions of the arrows.
In a previous section, we have talked about the convex polytope, and dened it as
the convex hull of a nite set of points or vectors. A closely related term to the convex
Khaled Al-Wahedi 23
polytope is the convex polyhedron. The reason why they are related will become clear
shortly, rst, we need to dene the convex polyhedron.
Denition 2.2.1 ([Sch86], p. 87). A set P of vectors in R
n
is called a convex
polyhedron if
P = {x : Ax b} (2.2.1)
for some matrix A and vector b, i.e. if P is the intersection of nitely many closed
half-spaces.
The system of linear inequalities Ax b represents a system of constraints on
the variable vector xR
n
, where every inequality represents a single constraint. This
system of linear inequalities has a feasible solution if there is a non-empty region in R
n
where none of the constraints are violated, and this region constitutes the polyhedron
P. In a system of constraints, a constraint is called redundant if it is implied by other
constraints in the system, and in the case where there are no redundant constraints
in the system, the system is called irredundant.
Recall that conic({x
1
, ..., x
m
}) is the smallest convex cone containing the nite
set {x
1
, ..., x
m
}. This convex cone, written in the conic hull form, is called nitely
generated. Also, similar to the convex polyhedron, a polyhedral cone is the intersection
of nitely many linear half-spaces, or, for some matrix A,
Denition 2.2.2 ([Sch86], p. 87). A set C of vectors in R
n
is called a polyhedral cone
if
C = {x : Ax 0} (2.2.2)
It turns out that the concepts of polyhedral and nitely generated are equivalent
as the following theorem, known as Farkas-Minkowski-Weyl theorem, states:
Theorem 2.2.1 ([Sch86], Corollary 7.1a). A convex cone is polyhedral if and only if
it is nitely generated.
Khaled Al-Wahedi 24
Therefore, conic({x
1
, ..., x
m
}) and {x : Ax 0} are equivalent representations of
any polyhedral convex cone C. We shall call the former the non-negative span
representation, because C is given as the non-negative span of its edges x
1
, ..., x
m
,
and we shall call the latter the face normal representation, because the rows of the
matrix A are the normals to the facets of C. See gure 2.3.
x
1
x
2
x
3
x
4
a
1
a
2
a
3
a
4
C
0
Figure 2.3: The polyhedral convex cone C has two representations: The non-
negative span representation is given as conic({x
1
, x
2
, x
3
, x
4
}), and the face normal
representation is given as {x : [a
1
a
2
a
3
a
4
]
T
x 0}. Although shown truncated, C
extends in the directions of its edges x
i
.
Every polyhedron can be generated as the sum of a polytope and a polyhedral
cone (see gure 2.4), where the sum is dened as adding every vector in the polytope
to every vector in the polyhedral cone (see denition 1.3.3). This is known as the
Decomposition theorem for polyhedra, and it states the following:
Theorem 2.2.2 ([Sch86], Corollary 7.1b). A set P of vectors in R
n
is a polyhedron,
Khaled Al-Wahedi 25
if and only if P = Q+C for some polytope Q and some polyhedral cone C.
From both the denition of a polyhedron and the denition of a polyhedral cone,
we can see that every polyhedral cone is a polyhedron ( i.e. the polyhedral cone is a
special case of the polyhedron), and we also know that every polytope is a bounded
set. So, the decomposition theorem for polyhedra immediately leads to the next
corollary (known as the Finite basis theorem for polytopes).
Corollary 2.2.3 ([Sch86], Corollary 7.1c). A set P is a polytope if and only if P is
a bounded polyhedron.
This result is of a great importance, because it leads us to think of the polytope
as having two representations; one as the convex hull of a nite set of vectors, and
the other as the intersection of a nite number of closed half-spaces. The convex
hull representation is also called the internal representation of a polytope, and we
will denote it by V-representation. The half-space intersection representation is also
called the external representation, and we will denote it by H-representation.
2.2.1 Faces and Supporting Hyperplanes
Earlier, we have dened the faces of a polytope P using the convex hull of two points.
We need now to dene those faces using half-space intersections, and it goes as follows:
Denition 2.2.3 ([Sch86], p. 101). A subset F of P is called a face of P if and only
if F is nonempty and
F = {x P : A
x = b
} (2.2.3)
for some subsystem A
x b
of Ax b.
As a general rule of thumb, the larger the system A
x=b
x=b
_
x R
2
:
_
_
a
1
1 1
a
2
1 2
a
3
1 2
a
4
2 3
a
5
2 1
a
6
1 1
a
7
1 3
_
_
x
_
_
b
1
1
b
2
5
b
3
4.5
b
4
3
b
5
15
b
6
9
b
7
14
_
_
_
_
,
to get the results shown in the following table:
Constraint Result of linear program Redundant?
a
1
, b
1
u = 0 no
a
2
, b
2
u = 0.5 no
a
3
, b
3
u = 1.5 yes (strictly)
a
4
, b
4
u = 0 no
a
5
, b
5
u = 1 yes (marginally)
a
6
, b
6
u = 0 no
a
7
, b
7
u = 4 yes (strictly)
Table 2.3.1: Redundancy test using the linear program (2.3.1).
As expected, the linear program test shows that four constraints are irredundant,
and three are redundant. The relaxation of some of those constraints is shown in
gure 2.7. In part (b) of this gure, we notice that the relaxation of constraint a
2
, b
2
moves it beyond the redundant constraint a
3
, b
3
, which results in u being 0.5 and not
0, and that is why we have chosen the condition for irredundancy to be u < 1 and
not u = 0.
Khaled Al-Wahedi 31
1
1
2
2
3
3 4
4
5
5
6
6 7
7
x
1
x
2
P
a
1
,
b
1
a
2 ,
b
2
a
3 ,
b
3
a
4
,
b
4
a
5
,
b
5
a
6
,
b
6
a7
,
b7
Figure 2.6: An example to test the linear program (2.3.1). The striped side of each
constraint shows its feasible region.
2.4 The Dimension of a Polytope: V-representation
Every polytope P = conv({x
1
, ..., x
m
}) is a convex set, and hence, the dimension of a
polytope can be dened in the same way as convex sets. The dimension of a polytope
can be determined conceptually as follows:
The dimension of the polytope P = conv({x
1
, ..., x
m
}) is the same as the
dimension of its ane hull M, which is the same as the dimension of the linear
subspace L parallel to M.
The linear subspace L is unique, and since it must contain {0}, it can be written
as
L = MM= a (P y) = a ({x
1
y, ..., x
m
y}) , (2.4.1)
Khaled Al-Wahedi 32
1
1
2
2
3
3 4
4
5
5
6
6 7
7
x
1
x
2
P
a
1
,
b
1
a
3 ,
b
3
a
4
,
b
4
a
5
,
b
5
a
6
,
b
6
a
2 ,
b
2
+
1
1
1
2
2
3
3 4
4
5
5
6
6 7
7
x
1
x
2
P
a
2 ,
b
2
a
3 ,
b
3
a
4
,
b
4
a
5
,
b
5
a
6
,
b
6
a7
,
b7
a
1
,
b
1
+
1
1
1
2
2
3
3 4
4
5
5
6
6 7
7
x
1
x
2
P
a
1
,
b
1
a
2 ,
b
2
a
3 ,
b
3
a
4
,
b
4
a
6
,
b
6
a7
,
b7 a
5
,
b
5
+
1
a7
,
b7
(a)
(b)
(c)
Figure 2.7: The relaxation of some of the constraints of the example shown in gure
2.6. (a) and (b): The relaxation of constraints a
1
, b
1
and a
2
, b
2
resulted in the
enlargement of the feasible region P. (c): The relaxation of constraint a
5
, b
5
did
not result in the enlargement of the feasible region P.
Khaled Al-Wahedi 33
for any y M = a (P), i.e. for any point y that is an ane combination of
the points x
1
, ..., x
m
.
L is the smallest linear subspace containing the set {x
1
y, ..., x
m
y}, and its
dimension can be determined by the number of linearly independent points in
this set.
Therefore, the dimension of a polytope can be determined by the number of lin-
early independent points in {x
1
y, ..., x
m
y}, which can be found using well
established methods and algorithms including Singular Value Decomposition.
2.4.1 The Choice of y
As we already mentioned, in order to determine the dimension of the polytope P =
conv({x
1
, ..., x
m
}), we need to determine the dimension of the linear subspace L
containing the set {x
1
y, ..., x
m
y}; and that is conceptually valid for any y
a ({x
1
, ..., x
m
}). Computationally, however, the choice of y is not arbitrary; because
the magnitude of x
i
y could be very small if the points x
i
and y are very close
to each other, and the errors caused by nite-precision computations could be very
signicant. Therefore, the choice of y should take into consideration the precision
capabilities of the hardware and software being used.
Say, for some precision-related reasons, y must be at least a distance from each
of the points x
1
, ..., x
m
; then we need
x
i
y
2
, i [1, ..., m] , (2.4.2)
where
2
is the Euclidean norm (L-2 norm).
Let x
i
and x
i
be the two points that are the farthest from each other in the set
{x
1
, ..., x
m
}. The reason for this requirement will become clear later, then, according
Khaled Al-Wahedi 34
to (1.2.2), we can choose y to be
y =
1
x
i
+
2
x
i
,
1
+
2
= 1,
3
= ... =
m
= 0. (2.4.3)
Then (2.4.2) becomes
x
i
1
x
2
x
2
, i [1, ..., m] .
i.e. , since
2
= 1
1
,
(x
i
x
i
) +
1
(x
i
x
i
)
2
, i [1, ..., m] . (2.4.4)
i
x
i
y
1
y
2
y
3
P
Figure 2.8: y
1
, y
2
, and y
3
are possible values for y, and all are lying on the ane line
determined by x
i
and x
i
. They are all at least at a distance from all the vertices of
P.
We need to choose
1
in (2.4.4), such that we maintain the inequality for any x
i
.
We can determine this
1
by noting that x + y
2
y
2
x
2
, which we will prove
Khaled Al-Wahedi 35
later, then we can continue as follows:
1
(x
i
x
i
)
2
x
i
x
2
, i [1, ..., m] ,
=
1
x
i
x
2
x
i
x
2
,
=
1
x
i
x
2
+x
i
x
2
,
=
1
+x
i
x
2
x
i
x
2
=
i
,
=
1
i
, i [1, ..., m] . (2.4.5)
So, in order to choose the appropriate
1
, we need to calculate
1
, ...,
m
, and choose
1
to be at least as large as the largest of
1
, ..
m
. We note that if is small enough,
y will automatically be chosen to be inside of P, and only when the choice of does
not allow an acceptable y to be found inside of P will the chosen y be outside of P.
We also note that
i
can be close to 0 if x
i
and x
i
are near each other, and that is
why we have the requirement that they be the farthest two points from each other in
the set. We now prove that x + y
2
y
2
x
2
using the well known triangular
inequality, which states that
x + y
2
x
2
+y
2
.
Proof. Using the triangular inequality, and assuming z = x with z
2
= x
2
, we
have
y
2
= y z + z
2
y z
2
+z
2
=y
2
z
2
y z
2
=y
2
x
2
y + x
2
.
2.5 The Dimension of a Polytope: H-representation
Any polytope P = {x : Gx w, G R
mn
, x R
n
, w R
m
} can be rewritten as
P =
_
x :
_
G
=
G
_
x
_
w
=
w
__
, (2.5.1)
Khaled Al-Wahedi 36
where G
=
R
m
1
n
, G
R
m
2
n
, w
=
R
m
1
, w
R
m
2
, and m
1
+m
2
= m ([Sch86],
p. 99).
This representation of P partitions the system of linear inequalities into a
subsystem of implicit equalities that constrains x to lie in the ane hull of P, and
a subsystem of real inequalities that constrains the movement of x within that ane
hull, and thus denes the faces of P. Therefore, G
=
x = w
=
and G
x w
for every
x P. We are assuming the subsystem of real inequalities is irreducible (i.e. with no
redundant constraints), and if it is not, the redundant constraints can be removed as
discussed earlier.
The ane hull of P is given by ([Sch86], p. 100)
a (P) =
_
x : G
=
x = w
=
_
=
_
x : G
=
x w
=
_
, (2.5.2)
and in the case where there are no implicit equalities present, the ane hull of P is
the whole of R
n
. Since the dimension of P is equal to the dimension of its ane hull,
we can state the following two corollaries:
Corollary 2.5.1 ([Sch86], p. 100). The dimension of P is equal to n minus the rank
of the matrix G
=
.
Corollary 2.5.2 ([Sch86], p. 101). The polytope P is full-dimensional if and only if
its dimension is n. Hence, P is full-dimensional if and only if there are no implicit
equalities.
If the polytope is non-full-dimensional, then we need to rst detect the non-full-
dimensionality, and then determine the polytopes dimension. The detection can be
done easily by noting that only in a full-dimensional polytope, there exists an x such
that Gx < w, so we can check for and subsequently determine the subsystem of
implicit equalities by solving the following linear program:
max
x
{ t : Gx + t 1
m
w, t 0} , (2.5.3)
Khaled Al-Wahedi 37
where t R, and 1
m
= [1 1 1]
T
R
m
. The requirement Gx w is implied in this
linear program, because t must be greater than or equal to zero. If the optimal value
of R
n
, called the polar of S. When S is a compact convex set
having the origin in its interior (0 interior(S)), then so is S
. Furthermore in that
case , S is the polar of S
, or S
of R
n
dened by
S
:=
_
y R
n
: x S, x
T
y 1
_
. (2.6.1)
Equivalently,
S
xS
K(x, 1), (2.6.2)
where K(x, 1) is the half-space
_
y : x
T
y 1
_
for some x S.
Khaled Al-Wahedi 38
The following three results follow directly from (2.6.2):
1. y S
S K(y, 1).
2. S
1
S
2
.
We also state the following theorem:
Theorem 2.6.1 ([Br83], Theorem 6.1). For any subset S of R
n
one has:
(a) If S is bounded, then 0 is an interior point of S
.
(b) If 0 is an interior point of S, then S
is bounded.
The polar of the polar of S is called the bipolar of S, and is denoted by S
. The
following theorem provides a description of S
:
Theorem 2.6.2 ([Br83], Theorem 6.2). For any subset S of R
n
, the bipolar S
is
the smallest closed convex set containing 0 and S.
From Theorems 2.6.1 and 2.6.2, we immediately get
Corollary 2.6.3 ([Br83], Corollary 6.3). Let X be a compact convex set in R
n
having
0 as an interior point. Then X
= X.
2.6.1 Dual Polytopes
Earlier, we have dened the polyhedron as the solution set to a system of linear
inequalities Ax b (Denition 2.2.1). In order to stress the fact that any polyhedron
P is the result of the intersection of nitely many closed half-spaces, We represent it
in terms of that intersection as follows:
P :=
m
i=1
K(a
i
, b
i
), (2.6.3)
Khaled Al-Wahedi 39
where a
1
, ..., a
m
are the rows of A, and b
1
, ..., b
m
are the corresponding elements of b.
Of course, this representation is equivalent to that of denition 2.2.1.
The following theorem provides a way to calculate the dual polytope, and to
convert from the V-representation of a polytope to the H-representation and vice-
versa:
Theorem 2.6.4 ([Br83], Theorem 9.1). Let x
1
, ..., x
m
, where m 1, be distinct
points of R
n
, and let
P := conv({x
1
, ..., x
m
}),
Q :=
m
i=1
K(x
i
, 1).
Then we have:
(a) P
= Q.
(b) Q
= conv({0, x
1
, ..., x
m
}).
(c) P and Q are mutually polar sets if and only if 0 P.
(d) P and Q are mutually polar sets with Q bounded if and only if 0 is an interior
point of P.
(e) Suppose that P and Q are mutually polar sets with Q bounded. Then we have
vertices(P) = {x
1
, ..., x
m
}
if and only if the representation
Q =
m
i=1
K(x
i
, 1)
is irreducible.
This last part of the theorem is very important. It basically means that when
we have two mutually dual polytopes P and Q, then if P has vertices x
1
, ..., x
m
, the
supporting hyperplanes of Q will have the normals x
1
, ..., x
m
. Furthermore, the set of
Khaled Al-Wahedi 40
supporting hyperplanes of Q will be minimal (i.e there are no redundant constraints).
In order to satisfy the conditions of (e), 0 needs to be an interior point of P, and this
is easily accomplished by shifting P so that it contains 0 as an interior point. Figure
2.9 shows an example of two mutually dual polytopes.
x
1
x
2
1
2
3
1
2
3 1 2 3
1
2
3
P
Q
Figure 2.9: An example of two mutually dual polytopes in R
2
. The vertices of
polytope P are the normals to the supporting hyperplanes of polytope Q, and vice-
versa.
We now have all that we need to describe an algorithm to convert from one
representation to the other. In algorithm 1, we convert from V-representation to H-
representation; in algorithm 2, we convert from H-representation to V-representation.
Khaled Al-Wahedi 41
Algorithm 1 Conversion from V-representation to H-representation of a polytope.
Input: An n-polytope P in its V-representation,
i.e. P = conv({x
1
, ..., x
m
}) R
n
with m > n.
1. Dene polytope P that contains 0 as an interior point.
a. Dene x
c
=
x
1
m
+
x
2
m
+ +
x
m
m
.
b. Dene z
1
= x
1
x
c
, z
2
= x
2
x
c
, ..., z
m
= x
m
x
c
.
c. Represent P as conv({z
1
, ..., z
m
}).
2. Dene Ps dual polytope Q as
m
i=1
K(z
i
, 1).
3. Remove redundant constraints to get Q =
r
i=1
K(z
i
, 1) with n < r m.
4. Find the the set of vertices {y
1
, ..., y
s
} of Q.
a. Dene 1
n
as the column vector with n components that are all ones.
b. For every possible set of n vectors out of the r vectors z
i
do the following:
i. Form the n n matrix Z which contains those n vectors as rows.
ii. If rank(Z) = n, then calculate y = Z
1
1
n
iii. If y Q, and y / vertices(Q), then add y to vertices(Q).
5. After nding all the vertices {y
1
, ..., y
s
}, represent P as
s
i=1
K(y
i
, 1).
6. Represent P as x
c
+
s
i=1
K(y
i
, 1).
Output: The polytope P in its H-representation.
Khaled Al-Wahedi 42
We now explain the steps of algorithm 1. In step 1, we shift the polytope P by
subtracting a point x
c
in the interior of P from the points x
1
, ..., x
m
, thus ensuring
that 0 is in the interior of P. Even if 0 was already in the interior of P, it would just
be replaced by another point in the interior of P, and the end result would be the same
in both cases. Therefore, we do not need to go into the trouble of checking for that
possibility. Step 2 is a direct application of result (a) of theorem 2.6.4. Although step
3 is not necessary for the algorithm to work, it helps us in three ways: First, x
1
, ..., x
m
are not necessarily all vertices of P, and by removing the redundant constraints in
Q, we can determine which of these points are vertices. Second, by removing the
marginally redundant constraints, we minimize the number of cases where we get
multiples of the same vertex in step 4. Third, we reduce the number of possible sets
of vectors, in step 4, from
m!
n!(mn)!
to
r!
n!(r n)!
.
Step 4 is the main step of the algorithm, and it makes use of corollary 2.1.8, which
states that an i-face of a d-polytope is the intersection of not less than d i of its
facets. So, a vertex of Q is the intersection of at least n of its facets. A facet i of
Q is dened by the hyperplane equation z
i
y = 1, and a vertex y
i
must satisfy at
least n hyperplane equations. For n hyperplane equations to have a unique solution
y, the n n matrix Z, that contains the n normals z
i
as rows, must have a rank
n. Therefore, we test every possible combination of n hyperplane equations for this
rank requirement. In the last part of this step, we check to see whether the point of
intersection y lies in Q (i.e whether y satises all inequalities z
i
y 1), because the n
hyperplanes might intersect outside of Q, and in which case, y would not be a vertex
of Q. We also check to see whether y was already found as the intersection point of
another set of n hyperplanes, which would happen when more than n hyperplanes
Khaled Al-Wahedi 43
intersect at a single point.
In step 5, we use the fact that P and Q are mutually polar sets to convert the
representation of P, and in step 6, we add x
c
to P to get back the polytope P.
The conversion from H-representation to V-representation is already included in
algorithm 1. However, we provide a standalone algorithm to do this conversion, and
it is shown in algorithm 2.
Algorithm 2 Conversion from H-representation to V-representation of a polytope.
Input: An n-polytope P in its H-representation.
i.e. P =
m
i=1
K(a
i
, b
i
) R
n
with m > n.
1. Remove redundant constraints to get P =
r
i=1
K(a
i
, b
i
) with n < r m.
2. Find the set of vertices {x
1
, ..., x
s
} of P.
For every possible set of n vectors out of the r vectors a
i
do the following:
a. Form the n n matrix A
n
which contains those n vectors as rows.
b. Form the vector b
n
which contains the n corresponding elements b
i
.
c. If rank(A
n
) = n, then calculate x = A
1
n
b
n
.
d. If x P, and x / vertices(P), then add x to vertices(P).
3. Represent P as conv({x
1
, ..., x
s
}).
Output: The polytope P in its V-representation.
There are software packages that, among many other things, perform the
conversion from one representation to the other. Examples of these software packages
Khaled Al-Wahedi 44
are [KGB04], [VM93], and [GJ00].
The concept of the dual polytope only applies to full-dimensional polytopes,
and hence, the algorithms described in this section cannot be used to convert the
representation of a non-full-dimensional polytope.
2.6.2 Polar Convex Cones
The notion of polarity applies to convex cones as well. Every convex cone C in R
n
has associated with it a convex cone C
is
given by ([Hir91], 2-28)
C
:= {y R
n
: x C, x
T
y 0}. (2.6.4)
Recall that a polyhedral convex cone has two representations; namely, the non-
negative span representation as the conic hull of nitely many vectors, and the face
normal representation as the intersection of nitely many linear half-spaces. The
following theorem attributed to Goldman and Tucker [GT56] provides a way to
convert from one representation to the other.
Theorem 2.6.5 ([Hir91], Theorem 1). The polar of a polyhedral convex cone C =
{x : [a
1
a
m
] x 0} is given by a non-negative span form:
C
= conic({a
1
, ..., a
m
}).
The polar of a polyhedral convex cone in non-negative span form C = conic({u
1
, ..., u
k
})
is given by a face normal form:
C
= {x : [u
1
u
k
] x 0}.
An immediate consequence of this theorem is that C and C
a
1
a
2
u
2
u
1
Figure 2.10: Two mutually polar cones C and C
in R
2
.
In [Hir91], an algorithm is devised to convert from the non-negative span
representation to the face normal representation, and vice-versa. This algorithm
is somewhat similar to algorithms 1 and 2 described earlier for the polytope case.
Khaled Al-Wahedi 46
Bibliography
[AG03] F. Alizadeh and D. Goldfarb. Second-order cone programming.
Mathematical Programming, 95(1):351, 2003.
[All85] J. C. Allwright. A dominance concept for optimal control with partially
unknown initial conditions. IEEE Transactions on Automatic Control,
AC-30(5):491494, 1985.
[Br83] Arne Brndsted. An Introduction to Convex Polytopes. Springer-Verlag,
1983.
[BV04] S. Boyd and L. Vandenberghe. Convex Optimization. Cambridge
University Press, 2004.
[Dan49] G. B. Dantzig. Programming of interdependent activities ii: Mathematical
model. Econometrica, 17(3&4):200211, 1949.
[Dav06] Timothy A. Davis. Direct Methods for Sparse Linear Systems
(Fundamentals of Algorithms 2). Society for Industrial and Applied
Mathematics, Philadelphia, PA, USA, 2006.
[DB92] G. Didinsky and T. Basar. Minimax decentralized controllers for discrete-
time linear systems. Proceedings of the 31st Conference on Decision and
Control, pages 481486, 1992.
47
[DLC89] E. H. Durfee, V. R. Lesser, and D. D. Corkill. Trends in cooperative
distributed problem solving. IEEE Transactions on Knowledge and Data
Engineering, 1(1):6382, 1989.
[DW49] G. B. Dantzig and M. K. Wood. Programming of interdependent activities
i: General discussion. Econometrica, 17(3&4):193199, 1949.
[DXL01] Xiaoning Du, Yugeng Xi, and Shaoyuan Li. Distributed model predictive
control for large-scale systems. Proceedings of the American Control
Conference, pages 31423143, 2001.
[Fre04] R. M. Freund. Introduction to semidenite programming, lecture notes,
2004.
[GJ00] Ewgenij Gawrilow and Michael Joswig. polymake: a framework for
analyzing convex polytopes. In Gil Kalai and G unter M. Ziegler, editors,
Polytopes Combinatorics and Computation, pages 4374. Birkh auser,
2000.
[Gr u67] Branko Gr unbaum. Convex Polytopes. John Wiley & Sons, 1967.
[GT56] A. J. Goldman and A. W. Tucker. Polyhedral convex cones. In Linear
Inequalities and Related Systems, volume 38 of Annals of Mathematics
Studies, pages 1939. Princeton University Press, 1956.
[HC72a] Y. Ho and K. Chu. Team decision theory and information structures
in optimal control problems - part 1. IEEE Transactions on Automatic
Control, AC-17(1):1522, 1972.
[HC72b] Y. C. Ho and K. Chu. Team decision theory and information structures
in optimal control problems - part 2. IEEE Transactions on Automatic
Control, AC-17(1):2228, 1972.
Khaled Al-Wahedi 48
[Hir91] S. Hirai. Analysis and Planning of Manipulation Using the Theory of
Polyhedral Convex Cones. PhD thesis, Kyoto University, 1991.
[JK01] Dong Jia and Bruce H. Krogh. Distributed model predictive control.
Proceedings of the American Control Conference, pages 27672772, 2001.
[Kar84] N. Karmarkar. A new polynomial-time algorithm for linear programming.
In STOC 84: Proceedings of the sixteenth annual ACM symposium on
Theory of computing, pages 302311, New York, NY, USA, 1984. ACM
Press.
[KGB04] M. Kvasnica, P. Grieder, and M. Baotic. Multi-Parametric Toolbox
(MPT), 2004.
[Kha79] L. Khachiyan. A polynomial algorithm in linear programming (English
translation). Soviet Mathematics Doklady, 20:191194, 1979.
[Kha80] L. Khachiyan. Polynomial algorithms in linear programming (English
translation). U.S.S.R. Computational Mathematics and Mathematical
Physics, 20:5372, 1980.
[KS97] R. Kumar and M. Shayman. Centralized and decentralized supervisory
control of nondeterministic systems under partial observation. Siam
Journal on Control and Optimization, 35(2):363383, 1997.
[LVBL98] M. S. Lobo, L. Vandenberghe, S. Boyd, and H. Lebret. Applications
of second-order cone programming. Linear Algebra and its Applications,
284:193228, 1998.
[LY06] Zhi-Quan Luo and Wei Yu. An introduction to convex optimization for
communications and signal processing. IEEE Journal On Selected Areas
In Communications, 24(8):14261438, 2006.
Khaled Al-Wahedi 49
[Lf04] J. Lfberg. Yalmip : A toolbox for modeling and optimization in MATLAB.
In Proceedings of the CACSD Conference, Taipei, Taiwan, 2004.
[Mar55] J. Marschak. Elements for a theory of teams. Management Science,
1(2):127137, 1955.
[PS89] G.P. Papavassilopoulos and M.G. Safonov. Robust control design via game
theoretic methods. Decision and Control, 1989., Proceedings of the 28th
IEEE Conference on, pages 382387 vol.1, 13-15 Dec 1989.
[Rad62] R. Radner. Team decision problems. Annals of Mathematical Statistics,
33(3):857881, 1962.
[Roc70] R. Tyrrell Rockafellar. Convex Analysis. Princeton University Press, 1970.
[Saa03] Y. Saad. Iterative Methods for Sparse Linear Systems. Society for
Industrial and Applied Mathematics, Philadelphia, PA, USA, 2003.
[Sch77] W. E. Schmitendorf. Minmax control of systems with uncertainty in the
initial state and in the state equations. IEEE Transactions on Automatic
Control, pages 439443, 1977.
[Sch86] Alexander Schrijver. Theory of Linear and Integer Programming. John
Wiley & Sons, 1986.
[Sch07] A. Schrijver. A course on combinatorial optimization, lecture notes, 2007.
[Str93] P. D. Stran. Game Theory and Strategy. The Mathematical Association
of America, 1993.
[Stu99] J.F. Sturm. Using SeDuMi 1.02, a MATLAB toolbox for optimization
over symmetric cones. Optimization Methods and Software, 1112:625
653, 1999. Latest version available from http://sedumi.mcmaster.ca.
Khaled Al-Wahedi 50
[SVAS78] Jr. Sandell, N., P. Varaiya, M. Athans, and M. Safonov. Survey of
decentralized control methods for large scale systems. Automatic Control,
IEEE Transactions on, 23(2):108128, Apr 1978.
[SW70] Josef Stoer and Christoph Witzgall. Convexity and Optimization in Finite
Dimensions I. Springer-Verlag, 1970.
[TA85] J. Tsitsiklis and M. Athans. On the complexity of decentralized decision
making and detection problems. IEEE Transactions on Automatic
Control, AC-30(5):440446, 1985.
[Tel83] Jan Telgen. Identifying redundant constraints and implicit equalities in
systems of linear constraints. Management Science, 29(10):12091222,
1983.
[Tod01] M. J. Todd. Semidenite optimization. Acta Numerica, 10:515560, 2001.
[Tod02] M. J. Todd. The many facets of linear programming. Mathematical
Programming, 91(3):417436, 2002.
[TTT99] K.C. Toh, M.J. Todd, and R.H. Tutuncu. Sdpt3 a matlab software
package for semidenite programming, version 1.3. Optimization Methods
and Software, 11:545581, 1999.
[VM93] Sandor M Veres and David Q Mayne. Geometric Bounding Toolbox
(GBT), 1993.
[vN63] John von Neumann. Discussion of a maximum problem. In John von
Neumann, Collected Works, volume 6, pages 8995. Pergamon Press, 1963.
[WXdS95] Youyi Wang, Lihua Xie, and C.E. de Souza. Robust decentralized control
of interconnected uncertain linear systems. Decision and Control, 1995.,
Khaled Al-Wahedi 51
Proceedings of the 34th IEEE Conference on, 3:26532658 vol.3, 13-15 Dec
1995.
[YKK84] V. A. Yemelichev, M. M. Kovalev, and M. K. Kratsov. Polytopes, Graphs
and Optimization. Cambridge University Press, 1984.
[ZD63] L. Zadeh and C. Desoer. Linear System Theory. McGraw-Hill Book
Company, 1963.
Khaled Al-Wahedi 52