You are on page 1of 14

M-Representation of Polytopes

Sebastian Sigl and Matthias Althoff

Abstract We introduce the M-representation of polytopes, which makes it possible to


compute linear transformations, convex hulls, and Minkowski sums with linear complexity
in the dimension of the polytopes. When the polytope is a convex hull of a zonotope and
arXiv:2303.05173v1 [math.CO] 9 Mar 2023

a polytope, the representation size can be smaller than any of the known representations
(V-representation, H-representation, and Z-representation). We also provide a variant of
the M-representation: The chain representation is more compact and we can directly use
it to compute linear transformations and convex hulls – for all other operations on the
chain representation, one requires a conversion to the M-representation.

1 Introduction
The two main representations for convex, bounded polytopes are the well known V-
representation and H-representation [7, 15]. The first one represents a polytope by its
vertices and the second one uses halfspaces. Recently, the novel Z-representation was
introduced in [10], which uses generators multiplied by monomials. The Z-representation
is a special case of polynomial zonotopes [1], which can represent non-convex sets.

The Z-representation overcomes several shortcomings of the conventional representations,


out of which we provide a few examples: In case the matrix M of a linear transformation
of an H-representation is not invertible, the computational complexity of this transforma-
tion is exponential in the dimension d [8]. The complexity of calculating the Minkowski
sum of two polytopes in H-representation is also exponential in d [14] and the computation
of the convex hull of two H-representations is NP-hard [14]. While the linear transforma-
tion of the V-representation is trivial, the computation of the Minkowski sum [6] and the
convex hull [14] of two polytopes in V-representation are exponential in d. Contrary, the
Z-representation has only a polynomial complexity for linear transformations, Minkowski
sums and convex hulls with respect to the dimension d [10].

Let us have a look at related representation types, which are also surveyed in [3]. The
complexities are described in terms of the number of respective generators of these meth-
ods if not stated otherwise. Another representation for polytopes are zonotope bundles.
This method presents polytopes as the intersection of a finite number of zonotopes [2]. An
advantage of this method is that the intersection of two zonotope bundles can be found
trivially, but neither the Minkowski sum, nor the convex hull have a closed-form expres-
sion [3]. Polynomial zonotopes [1] have a polynomial complexity for the Minkowski sum
and the convex hull, but are not closed under intersections [3]. Besides polynomial zono-
topes there also exist constrained zonotopes [13] and constrained polynomial zonotopes [9].

1
These have additional constraints on the factors appearing in the definition of a (polyno-
mial) zonotope. The Minkowski sum can be computed in linear complexity for constrained
(polynomial) zonotopes. While convex hulls of constrained polynomial zonotopes can be
computed with polynomial complexity [3], convex hulls of constrained zonotopes can be
computed linearly in the number of generators and constraints on the zonotopes [12].
Another representation are support functions [5]. Introduced by Minkowski it makes use
of the supremum of an inner product. The Minkowski sum and the convex hull can
be computed linearly, but the computation of intersections of support functions is not
solved yet [3]. Spectrahedra are another way to represent convex sets. A spectrahedron
is defined by the positive semi-definite values of a Hermitian linear matrix polynomial.
Their representation by matrix polynomials makes them useful in linear programming [11].

As the main result of this paper, we introduce the M-representation for polytopes. Its
form is similar to the Z-representation, but we constrain the factors to positive values.
This rather subtle change has significant implications and improves many characteristics
of the Z-representation: So far, we can only find a Z-representation whose number of
generators is quadratic in the number of vertices n. The M-representation on the other
hand only needs at most as many basis vectors as the V-representation and an additional
matrix of exponents. This matrix can be saved efficiently such that it vanishes in the
complexity of the representation size of the basis vectors. Furthermore, we introduce a
strategy that uses zonotopes in order to decrease the number of basis vectors even further.
Given n vertices in Rd an M-representation can be computed in O(dn).

This paper is organized as follows: In Sec. 2 we present preliminaries and continue in Sec.
3 by introducing the M-representation. We prove the complexities of different operations
in Sec. 4 and present an algorithm to reduce the number of basis vectors in Sec. 5. In
Sec. 6 we propose a variant that reduces the complexity of computations convex hulls.

2 Preliminaries
2.1 Notations
In the remainder of this paper, we will use the following notations: [n] = {1, 2, . . . , n} for
n ∈ N, the symbols O and I refer to the matrices filled with zeros and ones with proper
dimensions. In refers to the identity matrix in Rn×n , Ln to the lower triangular matrix
filled with ones in Rn×n and [ ] denotes the empty matrix. Given a matrix M ∈ Rd×d ,
M(i,j) represents the j-th entry of matrix row i, and M(·,j) the j-th column. Furthermore,
we will denote a set of the form {S(α) | α ∈ [0, 1]p } as {S(α)}α .

2.2 Definitions
Now we provide some definitions that are important for the rest of the paper. In order
to make the paper coherent, we will use the term polytope instead of convex bounded
polytope. Let us first define the V-representation, and the H-representation of polytopes.

Definition 2.1 (V-representation). Let v1 , v2 , . . . , vn ∈ Rd be the vertices of a polytope

2
P. Then we can define the vertex representation as
n
nX n
X o
P= αi vi αi = 1, αi ≥ 0 . (1)

i=1 i=1

This representation therefore uses n vectors.

Definition 2.2 (H-representation). Let G ∈ Rh×d be a matrix and b ∈ Rh a vector. The


halfspace representation of a polytope P ⊆ Rd is

P = {x ∈ Rd | Gx ≤ b}. (2)

This representation uses h halfspaces.

Let us now define the Z-representation of a polytope, which is a special case of a polyno-
mial zonotope.

Definition 2.3 (Z-representation). Let c ∈ Rd be a center point, G ∈ Rd×h a generator


matrix, and E ∈ {0, 1}p×h an exponent matrix, then the Z-representation of a polytope
P ⊆ Rd is defined as

n h Yp o
E
X
P = c+ ( αk(k,i) )G(·,i) α ∈ [−1, 1]p (3)

i=1 k=1

and we write

P = hc, G, EiZ . (4)


The Z-representation of a single point c therefore can be expressed by hc, [ ], [ ]iZ . This
representation uses h generators.

The Z-representation is not unique. For example, the polytope in Fig. 1 can be represented
by the following two sets P1 and P2 with P1 = P2 .

D 0 h 1 −1 i 10 E


P1 = , , ,
0 0 −1 01 Z
(5)
 
D 0 h −0.5 −0.5 0.5 −0.5 0.5 i 10010 E
P2 = , , , , , , 01001
0 −0.5 −0.5 0 −0.5 0.5 Z
00111

Let us now have a look at zonotopes. The set of zonotopes is a subset of the set
of polytopes, we can therefore express zonotopes as a special case of polytopes in Z-
representation:

Definition 2.4 (Zonotope). A zonotope is a polytope in Z-representation with E = Ih .

Definition 2.5 (Convex hull, Minkowski sum). Let P1 and P2 be two convex sets. Then
we define the convex hull as

3
Figure 1: Plot of P1 = P2

n1 + α 1 − α o
conv(P1 , P2 ) = p1 + p2 p1 ∈ P1 , p2 ∈ P2 , α ∈ [−1, 1] (6)
2 2
and the Minkowski sum as
n o
P1 ⊕ P2 = p1 + p2 p1 ∈ P1 , p2 ∈ P2 . (7)

The convex hull and the Minkowski sum of two polytopes can be computed in the following
way:
Proposition 2.6 (Convex hull, Minkowski sum, Linear transformation, [10]). Let P1 and
P2 be two polytopes in Z-representation with Pi = hci , Gi , Ei iZ , ci ∈ Rd , Gi ∈ Rd×hi and
Ei ∈ {0, 1}pi ×hi . Then their convex hull and Minkowski sum can be computed by

D1 1 E
conv(P1 , P2 ) = (c1 + c2 ), [(c1 − c2 ), G1 , G1 , G2 , −G2 ], Ê
D2 2 E Z (8)
P1 ⊕ P2 = c1 + c2 , [G1 , G2 ], Ē
Z

with
 
O E1 E1 O O
Ê = O O O E2 E2 
1 O I O I
  (9)
E1 O
Ē =
O E2
p = p1 + p2 + 1.

For the convex hull we have h = 2h1 + 2h2 + 1 generators and for the Minkowski sum
h = h1 + h2 generators.
A linear transformation by M ∈ Rm×d can be computed by

M P1 = hM c1 , M G1 , E1 iZ . (10)

4
For our M-representation we need another definition:
Definition 2.7 (Multilinear map). A multivariate map f : Rh → Rd is called multilinear
if it is linear in every variable.
In the next section, we introduce our novel M-representation.

3 M-Representation
By limiting the intervals of the factors of the Z-representation to [0, 1] we obtain the
M-representation. This subtle change has far-reaching consequences and combines the
computational advantages of the Z-representation with the low representation size of the
V-representation.
Definition 3.1 (M-representation). Let s ∈ Rd be a starting point, B ∈ Rd×h a matrix
of basis vectors, and E ∈ {0, 1}p×h a matrix of exponents, then the multilinear vertex
representation (M-representation) of a polytope P ⊆ Rd is defined as
n h Yp o
E
X
P = s+ ( αk(k,i) )B(·,i) α ∈ [0, 1]p (11)

i=1 k=1

and we write

P = hs, B, EiM . (12)


The M-representation of a single point s therefore can be expressed by hs, [ ], [ ]iM .
Now we introduce a theorem that provides a strategy to obtain an M-representation from
a set of vertices. Furthermore, we prove how many basis vectors are at most required to
represent a general polytope.
Theorem 3.2. Let v1 , v2 , . . . , vn ∈ Rd be the vertices of a polytope P.
1. We can express P in M-representation as

P = hvn , [v1 − v2 , v2 − v3 , . . . , vn−1 − vn ], Ln−1 iM . (13)

This representation can be obtained with complexity O(nd) and has a representation
size in O(nd).
2. This representation has h = n − 1 basis vectors.
We call this form the chain form.
Proof. We prove the statements above by induction.

Induction start: The M-representation of a polytope with a single vertex v is P =


hv, [ ], [ ]iM = v with zero basis vectors. We can compute the convex hull of two ver-
tices v1 , v2 as

conv(v1 , v2 ) = {αv1 + (1 − α)v2 }α = {v2 + α(v1 − v2 )}α (14)

5
with one basis vector v1 − v2 . Therefore, h(1) = 0 and h(2) = 1. For n ≤ 2, these
representations have the form described in the theorem.

Induction step: Let P1 and P2 be two polytopes in M-representation. From

conv(P1 , P2 ) = {α · p1 + (1 − α) · p2 | p1 ∈ P1 , p2 ∈ P2 , α ∈ [0, 1]} (15)

we know that h(n) = h(n1 ) + 2h(n2 ) + 1 with n = n1 + n2 and ni is the number of vertices
of the polytopes being merged in this step.
With h(m) = m − 1 for every m ∈ [n] and the claim of induction, it is obvious that a
polytope with n + 1 vertices has the least number of generators if we choose n1 = n and
n2 = 1. Then we obtain h(n + 1) = n − 1 + 2 · 0 + 1 = n, which proves the second part
of the theorem. For the first part, we need the representation of a polytope Pn with n
vertices in order to compute the induction step. For this polytope we use

n n−1  Y
X n−i  o
Pn = vn + αn−j (vi − vi+1 ) . (16)
α
i=1 j=1

For the representation of a polytope Pn+1 with n + 1 vertices we obtain

Pn+1 = conv(Pn , vn+1 ) =


n  n−1  Y
X n−i   o
= αn vn + αn−j (vi − vi+1 ) + (1 − αn )vn+1 =
α
i=1 j=1
n n−1  Y
X n−i  o
= vn+1 + αn−j (vi − vi+1 ) + αn (vn − vn+1 ) =
α
i=1 j=0
(17)
n n Y
X n−i  o
= vn+1 + αn−j (vi − vi+1 ) =
α
i=1 j=0
n n  n+1−i
X Y  o
= vn+1 + αn+1−k (vi − vi+1 ) =
α
i=1 k=1
= hvn+1 , [v1 − v2 , v2 − v3 , . . . , vn − vn+1 ], Ln iM .

In order to obtain this representation, nd subtractions are necessary, therefore the com-
plexity is in O(nd). For the representation size we only need to save the matrix of basis
vectors and the index of the lower triangular matrix which leads to a complexity of O(nd).
This proves the first part of the theorem.

Let us have a look at why Theorem 3.2 cannot be adapted for the Z-representation:

Corollary 3.3. A Z-representation of a polytope of the following form is always a point


symmetric polytope:

P = hc, [v1 , v2 , . . . , vn−1 ], Ln−1 iZ . (18)

6
Proof. Let P be defined as above. Then

n n−1  Y
X n−i  o
n−1
P = c+ αn−j vi α ∈ [−1, 1] . (19)

i=1 j=1

From the Z-representation we know that the vertices are the points of this set with αi ∈
{−1, 1}. Let c + w be a vertex of P with αn−1 = 1. Then by (19) follows that c − w is
also a vertex of P if we only replace αn−1 = −1. Therefore, each vertex has a partner
which is point symmetric to the center c.

From this we know that a general polytope with n vertices cannot be represented by a
Z-representation of the form in (18) with n − 1 generators. In Proposition 4.2 we prove
another advantage of the M-representation over the Z-representation even if there exist
representations of polytopes with the same number of generators/basis vectors.
The next corollary follows directly from the theorem above as well:

Corollary 3.4. Let P be a polytope of the form introduced in Theorem 3.2. Let α and
α0 represent two points in a polytope and let k be maximal s.t. αk = 0. In case there
is no such k, set k = 1. Then α and α0 represent the same point iff αj = αj0 for all
k ≤ j ≤ n − 1.

Example 3.5. This means that for  a polytope


 in the form of Theorem 3.2 with three
α1
basis vectors, all α’s of the form α =  0  represent the same point in the polytope.
1

For a polytope P in the form of Theorem 3.2, the vertices can be computed by all com-
binations of the αi ∈ {0, 1}. With Corollary 3.4 the vertices of P can be represented by
the α’s of the form of the columns of Ln−1 and the zero vector. From Theorem 3.2 it is
clear that we can recover the vertices iteratively in O(nd) operations.
Remark. If we define the starting point of the M-representation as a basis vector as well,
this representation has the same number of basis vectors for general polytopes as the
V-representation has vertices.

Proposition 3.6. Obtaining a chain form of a general polytope P in M-representation


with h basis vectors and p factors can be done in O(2p hd).

Proof. In order to obtain a chain form of a polytope P in M-representation, we need to


compute the 2p potential vertices of P. In general this can be done in O(2p hd). From
Theorem 3.2 we know that we can obtain the chain form of these vertices in O(2p d).

4 Operations on Polytopes in M-Representation


In this section we present the linear transformation, Minkowski sum, and convex hull of
polytopes in M-representation.

7
Theorem 4.1. The M-representation of a polytope P = hs, B, EiM in Rd with h basis
vectors directly inherits the efficient computation of linear transformations and Minkowski
sums from the Z-representation. A linear transformation by M ∈ Rm×d can be computed
as
M P = hM s, M B, EiM . (20)
This can be done in O(mdh).
The Minkowski sum of two polytopes P1 = hs1 , B1 , E1 iM and P2 = hs2 , B2 , E2 iM can be
computed as  
D E1 O E
P1 ⊕ P2 = s1 + s2 , [B1 , B2 ], . (21)
O E2 M

This can be computed in O(d) and the representation size is in O (h1 + h2 ) · max{h1 +

h2 , d} .
 
Lh1 O
If P1 and P2 are in chain form, the matrix of exponents can be represented as .
  O Lh2
This has a representation size in O (h1 + h2 )d .

Proof. The proof is identical to the one for the Z-representation in [10] since all operations
are independent of the range of the factors αi . For the representation of polytopes in chain
form we only need to save the matrix of basis vectors and a 2 × 2 matrix filled with the
indices of the
 lower triangular
 matrices and the O symbol. Therefore the representation
size is in O (h1 + h2 )d .

In [6] the number of vertices for the Minkowski sum of k polytopes in Rd is discussed. If
each of the polytopes has at most n vertices, the total number of vertices is in O(k d−1 n2(d−1) ).
From Theorem 4.1 follows that the number of basis vectors of k polytopes is the sum of
the number of basis vectors of each polytope. Let each polytope be represented by at most
n basis vectors, i.e. the polytope has at least n vertices if we use the representation from
Theorem 3.2. Then the number of basis vectors of the Minkowski sum of these polytopes
is in O(kn).

Let PM 1 and PM 2 be two polytopes in M-representation with hM basis vectors each, PZ1
and PZ2 be two polytopes in Z-representation with hZ generators each and hZ = hM .
Then conv(PM 1 , PM 2 ) needs hM basis vectors less than conv(PZ1 , PZ2 ) needs generators:
Proposition 4.2. Let P1 = hs1 , B1 , E1 iM and P2 = hs2 , B2 , E2 iM be two polytopes in
M-representation with h1 ≥ h2 being the respective number of basis vectors. Then

P = conv(P1 , P2 ) = hs2 , [B2 , −B2 , B1 , s1 − s2 ], EiM , (22)

with
 
E2 E2 O O
E =  O O E1 O (23)
O I I 1

8
being a block matrix and P has h = h1 +2h2 +1 basis vectors. The complexity of obtaining
the convex
 hull n of two polytopes in M-representation
o is in O(d) and the representation size
2
is in O max (h1 + 2h2 + 1)d, (h1 + h2 + 1) .
If P1 and P2 are in chain form, the matrix of exponents can be represented as
 
Lh2 Lh2 O O
E =O O Lh1 O . (24)
O I I 1
 
This has a representation size in O (h1 + 2h2 + 1)d .

Proof.
n We write two polytopes P1o = hvn , B1 , En1 iM and P2 = hwm , B2 , E
2 iM as P1 o=
Pn−1  Qn−i  Pm−1 Qm−i
vn + i=1 j=1 αn−j (vi −vi+1 ) and P2 = wm + i=1 j=1 αm−j (wi −wi+1 )
α α
with n − 1 and m − 1 basis vectors, respectively. Then

P = conv(P1 , P2 ) =
n  n−1  Y
X n−i  
= αn+m−1 vn + αn−j (vi − vi+1 ) +
i=1 j=1
 m−1
X  m−i
Y  o
+ (1 − αn+m−1 ) wm + αm−j (wi − wi+1 ) =
α
i=1 j=1
n m−1
X  m−i
Y   m−1
X  m−i
Y  
= wm + αm−j (wi − wi+1 ) + αn+m−1 − αm−j (wi − wi+1 ) +
i=1 j=1 i=1 j=1
n−1  Y
X n−i   o
+ αn+m−1 αn−j (vi − vi+1 ) + αn+m−1 (vn − wm ) =
α
i=1 j=1

= hwm , [G2 , −G2 , G1 , vn − wm ], EiM


(25)

with E as defined above.


For the representation of polytopes in chain form we only need to save the matrix of basis
vectors and a 3 × 4 matrix filled with the indices of the lower triangular
 matrices,
 the
symbols O and I and a 1. Therefore the representation size is in O (h1 + 2h2 + 1)d .

A more compact representation of conv(P1 , P2 ) in terms of number of basis vectors can be


obtained by computing the vertices of P1 and P2 , deleting the ones that are not vertices
of the convex hull of P1 and P2 , and using the strategy from Theorem 3.2 to obtain the
M-representation of the remaining vertices. This method would result in a maximum of
h = n1 + n2 − 1 = h1 + h2 + 1 basis vectors. However, the computational complexity of
deleting the vertices that are not vertices of the convex hull has exponential complexity in
the number d of dimensions, similar to the computation of the convex hull of two polytopes
in V-representation [14]. In order to reduce the representation size of the convex hull for
polytopes in chain form, we introduce a variant of the M-representation in Sec. 6.

9
5 Algorithm for Reducing the Number of Basis Vec-
tors in M-Representation
Now we want to introduce an algorithm that returns an M-representation with at most
n − 1 basis vectors for a polytope with n vertices. In case the vertices of the polytope
fulfill certain condidtions, this algorithm returns less than n − 1 basis vectors. Let us
have a closer look at zonotopes in M-representation for this. From [6] we know that
zonotopes are Minkowski sums of line segments. We can use this for the M-representation
of zonotopes.

Proposition 5.1. Let Z be an m-dimensional zonotope in Rd with n vertices which is


spanned by the Minkowski sum of h line segments. Let the line segments be of the form
[li1 , li2 ] with i ∈ [h], where li1 is the starting point and li2 is the end point of this line
segment. Then we can express Z as
h
DX E
Z= li1 , [l12 − l11 , l22 − l21 , . . . , lh2 − lh1 ], Ih .
M
i=1

This representation uses h basis vectors.

Proof. We can represent each line segment li by

li = hli1 , [li2 − li1 ], 1iM . (26)

By applying Theorem 4.1 h−1 times, we obtain the stated result with h basis vectors.

Lemma 5.2. Let Z be an m-dimensional zonotope in Rd with n vertices and m, h 6=


0. Then we can represent Z by at most h ≤ n2 pairwise distinct basis vectors in M-
representation.

Proof. For the cases with m < 2 and h < 2 this is clear. For all other cases we can use
Proposition 2.1.2 in [6]: For an m-dimensional zonotope in Rd with h pairwise distinct
basis vectors in M-representation and n vertices the following relation holds:
min{m,h}−1  
X h−1
n=2 (27)
i=0
i

From this, we obtain the following inequality:


min{m,h}−1      
X h−1 h−1 h−1
n=2 ≥2 +2 = 2h (28)
i=0
i 0 1

Hence, we can represent every zonotope by less than n − 1 basis vectors for n > 2. We can
use this to represent general polytopes, where a subset of the vertices forms a zonotope,
by less than n − 1 basis vectors. Alg. 1 returns at most n − 1 basis vectors for general

10
polytopes with n vertices.

Algorithm 1: Algorithm for obtaining an M-representation


Input: Set V containing n vertices in Rd
Output: M-representation of the polytope spanned by V with at most h = n − 1
basis vectors
if ∃S ⊆ V s.t. S spans a zonotope, |S| > 2 and S maximal then
use Proposition 5.1 on S and use Proposition 4.2 to add the vertices in V \ S
one by one to the representation of S
else
use Theorem 3.2 on the vertex set V
end

It is clear that this representation is multilinear again.


For checking whether a set is a zonotope we can use [4, Alg. 3], which introduces an
algorithm for checking whether a set of vertices forms a zonotope. This algorithm also
returns the line segments which span the zonotope by their Minkowski sum. In order to be
able to represent this polytope by an M-representation, we still need to apply Proposition
5.1. As candidates for such a set S as described in Alg. 1, we only need to take sets into
account that are point symmetric to a center as this is a necessary criterion for a set to
be a zonotope.
Now we look at an example of an application of Alg. 1 that reduces the number of basis
vectors h from 4 to 3 for 5 vertices.
         
0 0 2 2 1
Example 5.3. Let P be a polytope with the 5 vertices , , , , . The
0 2 2 0 3
first four vertices form a zonotope that can be represented by
n 0  
0
 o
2
0
P = + α1 · + α2 · . (29)
0 2 0 α

P can be written in M-representation as


 o
n
0 1
P = α3 · P + (1 − α3 ) ·
3 α
n 1      o (30)
−1 0 2
= + α3 · + α1 α3 · + α2 α3 · ,
3 −3 2 0 α

which has only 3 basis vectors.


Example 5.4. Let us have a look at the polytope shown in Fig. 1. In M-representation,
this polytope could be represented by

 
D −2 h −2 2 2 i 100 E
P= , , , , 110 =
−1 −2 0 2 M
111 (31)
n −2  
−2
 
2
 o
2
= + α1 α2 α3 · + α2 α3 · + α3 · .
−1 −2 0 2 α

11
If we apply Alg. 1, we can even express it as

D −2 h 2 2 i 10 E


P= , , , =
−1 0 2 01 M
n −2    o (32)
2 2
= + α1 · + α2 · .
−1 0 2 α

6 Chain Representation of the Chain Form


Now we introduce a variant of the M-representation, which makes it possible to reduce the
computational complexity of the convex hull of two polytopes in Rd with h basis vectors
each and in chain form to O(d):

Definition 6.1. Let s ∈ Rd be a starting point, B ∈ Rd×h a matrix of basis vectors,


E = Lh a matrix of exponents and e ∈ Rd an end point, then a chain representation
(C-representation) of a polytope P ⊆ Rd in chain form is defined as
n h Yp o
E
X
P = s+ ( αk(k,i) )B(·,i) α ∈ [0, 1]p (33)

i=1 k=1

and we write

P = hs, B, eiC . (34)

The basis vectors appearing in B connect the starting point and the end point, which
looks like a chain. It is sufficient so save s, B and e, since the exponent matrix in chain
form is uniquely defined by the dimensions of B. This variant has a representation size
in O(hd). Saving the end point helps us for the next proposition:

Proposition 6.2. Let P1 = hs1 , B1 , e1 iC and P2 = hs2 , B2 , e2 iC be two polytopes in Rd in


C-representation with h1 and h2 being the respective number of basis vectors. Then

P = conv(P1 , P2 ) = hs1 , [B1 , s2 − e1 , B2 ], e2 iC (35)

and P has h = h1 + h2 + 1 basis vectors. The complexity of obtaining the convex hull of
two polytopes in C-representation is O(d) and can be represented in O(hd).

Proof. The set of vertices of the convex hull of P1 and P2 is a subset of the union of the
vertices of these polytopes. It is clear from the definition of the chain form, that (35)
represents a polytope. From Theorem 3.2 also follows that the vertices of the polytope
in (35) can be represented by α’s of the form of the zero vector and the columns of a
lower triangular matrix filled with ones with dimensions (h1 + h2 + 1) × (h1 + h2 + 1).
The matrix of basis vectors is the connection of the original chains B1 and B2 by the
link between the end point e1 and the starting point s2 . This returns as vertices of the
polytope P the union of the vertex sets of P1 and P2 . Hence, (35) represents the required
convex hull.

12
Proposition 6.3. The C-representation of a polytope P = hs, B, eiC in Rd with h basis
vectors directly inherits the efficient computation of linear transformations from the M-
representation. A linear transformation by M ∈ Rm×d can be computed as

M P = hM s, M B, M eiC . (36)

This can be done in O(mdh).

Proof. The proof is identical to the one for the Z-representation in [10].

13
References
[1] M. Althoff, Reachability analysis of nonlinear systems using conservative polynomi-
alization and non-convex sets, In Hybrid Systems: Computation and Control, pp.
173–182, 2013

[2] M. Althoff, B. H. Krogh, Zonotope bundles for the efficient computation of reachable
sets, In Proc. of the 50th IEEE Conference on Decision and Control, 2011

[3] M. Althoff, G. Frehse, A. Girard, Set propagation techniques for reachability analysis,
In Annual Review of Control, Robotics, and Autonomous Systens, Vol. 4, 2021

[4] A. Deza, L. Pournin, A linear optimization oracle for zonotope computation, In Com-
putational Geometry, Vol. 100, 2022

[5] P. K. Ghosh, K. V. Kumar, Support function representation of convex bodies, its


application in geometric computing, and some related representations, In Computer
Vision and Image Understanding, Vol. 72, pp. 379-403, 1998

[6] P. Gritzmann, B. Sturmfels, Minkowski addition of polytopes: Computational com-


plexity and applications to Gröbner bases, In SIAM Journal on Discrete Mathematics,
Vol. 6, pp. 246–269, 1993

[7] B. Grünbaum, Convex polytopes, Graduate Texts in Mathematics, Springer, 2003

[8] C. N. Jones, E. C. Kerrigan, J. M. Maciejowski, On polyhedral projection and para-


metric programming, In Journal of Optimization Theory and Applications, Vol. 138,
207–220, 2008

[9] N. Kochdumper, M. Althoff, Constrained polynomial zonotopes, arXiv: 2005.08849,


2020

[10] N. Kochdumper, M. Althoff, Representation of polytopes as polynomial zonotopes,


arXiv: 1910.07271, 2019

[11] T. Netzer, Spectrahedra and Their Shadows, postdoctoral thesis, University Leipzig,
2012

[12] V. Raghuraman, J. P. Koeln, Set operations and order reductions for constrained
zonotopes In Auotmatica, Vol. 139, Art. no. 110204 2022

[13] J. K. Scott, D. M. Raimondo, G. R. Marseglia, R. D. Braatz, Constrained zonotopes:


A new tool for set-based estimation and fault detection, In Automatica, Vol. 69: pp.
126–136, 2016

[14] H. R. Tiwary, On the hardness of computing intersection, union and Minkowski sum
of polytopes, In Discrete and Computational Geometry, Vol. 40, pp. 469–479, 2008

[15] G. M. Ziegler, Lectures on polytopes, Graduate Texts in Mathematics, Springer, 1995

14

You might also like