Zonotopes!
Oct 29, 2022
Introduction
Zonotopes are a class of sets that have some special properties. Here, I’ll explain what zonotopes are, along with their related classes. I’ll explain their use in state estimation and optimization in a future article.
Standard zonotopes are a subset of constrained zonotopes, which are a subset of hybrid zonotopes, which are a subset of convex polytopes… Got that?
Convex polytopes
A polytope is the n-dimensional generalization of a polygon (2D) or polyhedron (3D). Polytopes can help us represent sets. Imagine a set of datapoints in three dimensions, spread out into a cloud. It’s easier to represent this vague cloud of data in a neat box. A properly-sized polytope can serve as the perfect box.
It turns out that convex polytopes are extra-special boxes, as they can be extended further into zonotopes.
Before talking about that, how can convex polytopes be represented? In other words, if you’re telling your friend about the box you found, how would you describe it?
Vertex representation (convex hull)
A set is convex if, for any pair of points , the segment between them is contained within . We can define a convex polytope as the convex hull of a finite set of points, and therefore describe the convex polytope by its vertices (v-rep).
Half-space representation
A closed convex polytope is the space bounded by half-spaces, where a closed half-space is a linear inequality of the form:
In other words, the polytope is the set of solutions to a system of linear inequalities:
This can be reduced to a matrix inequality:
Note that is the number of half-spaces and is the number of dimensions.
Zonotopes
A zonotope is defined equivalently as either (1) the Minkowski sum of line segments, (2) a projection of some unit cube, or (3) a polytope whose faces are all centrally symmetric (Richter-Gebert). Under definition (1), the line segments are called generators.
In the generator representation (G-rep), we define a zonotope Z as , where is an matrix of line segments (Generators), is an matrix of “weights” in interval , and is a vector to offset the zonotope center.
Properties of zonotopes
- Centrally symmetric
- Facets of any zonotope are themselves zonotopes of one lower dimension.
- Can be defined in H-rep or V-rep (like any other convex polytope), but can also use G-rep.
Constrained zonotopes
A set is a constrained zonotope if there exists
such that
(Scott et al., definition 3) Note that denotes the infinity-normal of the factors. Read about p-normals below.
This means that, unlike standard zonotopes, generator weights may be linearly constrained. We denote a constrained unit hypercube and define a given zonotope by the constrained hypercube, meaning that the zonotope is only valid for values of .
Scott et. al offer an example of a constrained zonotope (written in the constrained generator representation, CG-rep) where:
and form the constrained hypercube (left below). Added to the zonotope, this forms the constrained zonotope (right below, in blue):
Note that the continuous, original zonotope is in gray.
Notice that the blue region is where
(Recall that factors lie within the interval )
Hybrid zonotopes
Hybrid zonotopes are a superset of constrained zonotopes, which are in turn a superset of standard zonotopes. H-zonotopes allow for constraints like above, but they also add support for binary generators (I’ll get to these).
H-zonotopes take the form:
where
We call the Hybrid Constrained Generator representation (HCG-rep).
Binary generators are used like the continuous generators from standard and constrained zonotopes, but their corresponding weights can only be , nothing in between. This means that they effectively translate the corresponding zonotope a distance from the center .
Here’s an example of a hybrid zonotope that my labmate Josh showed me:
This forms a hybrid zonotope as below:
Above: Josh's example of a hybrid zonotope.Conclusion
Here I’ve explained four set classes that are each useful in representing and transforming data. I’m especially interested in constrained zonotopes, which can be applied to robot state estimation.
I’ve also introduced some set representations, namely H-rep, V-rep, G-rep, CG-rep, and HCG-rep.
In a future post, I’d like to describe why zonotopes are so useful. To give a hint, constrained zonotopes can be used to model uncertainties in a state estimation problem, and they often offer more flexibility, efficiency, and transparency over alternatives like Gaussian distributions. Adding new information (such as from new sensors or observations) is as simple as appending a generator and/or a constraint.
Appendix
Parallelohedrons
Polytopes that can be translated without rotation to fill a honeycomb space. There are five types: cube, hexagonal prism, rhombic dodecahedron, elongated dodecahedron, and truncated octahedron (Wikipedia).
p-normals
A p-norm is defined as
Each value of forms a unique superellipse (Lamé curve).
When , a Euclidean norm generates a unit ball (e.g. circle for two dimensions).
results in a diamond shape in two dimensions. forms the infinity norm, which in turn forms the infinity ball (a square in two dimensions). Doesn’t “infinity ball” sound like some sort of fantasy movie prop?
By Quartl - Own work, CC BY-SA 3.0, [link](https://commons.wikimedia.org/w/index.php?curid=17428655)Convex hull
The smallest convex set that fully contains a group of points. Imagine you’re wrapping tape around a grove of trees, taking care to keep the tape tense. A full wrap around the grove forms the convex hull.
Minkowski sum
I just think of this as dragging one set along the perimeter of another set. The area covered by this dragging motion forms a second set, the Minkowski sum. This works just fine with line segments, which form the basis of zonotopes.
Above: Animation of the Minkowski sum of two triangles. Credit: [RavenclawPrefect](https://math.stackexchange.com/questions/3959471/visualising-the-minkowski-sum-of-two-triangles). Above: Minkowski sum of two vectors forms a parallelogram. Adding another vector forms a convex hexagon. Both results are also zonotopes by definition!Acknowledgements
Thank you to Joshua Ortiz for explaining hybrid zonotopes to me. This new form of zonotope was developed in part here at UT Dallas by Dr. Justin Koeln.
Thank you to my research mentor, Dr. Justin Ruths, for exposing me to constrained zonotopes and for showing me their potential.