A union of partially overlapping hyperrectangles?

I was browsing the helpdesk over at Zulip when I came across this question that I have no hope of answering.

Say you have a union of partially overlapping Hyperrectangles and you want to describe the non-convex polygon of their union without redundant internal vertices. Is there a method for this implemented in LazySets?

I have no idea what that means, and this was the first I’ve heard of LazySets.jl so I curiously looked at the documentation.

I was overwhelmed.

My Question

  • What kind of mathematical background do I need to even begin to understand the question and what’s going on in LazySets.jl?

Routhly speaking: A hyperrectangle is a rectangle in higher dimensions (also called box) and a special case of a polyheadron. It can be described as a set of points (e.g., as intersection of halfspaces or, convex combination of its extreme points). For intuition, see this picture which is some kind of 3-dimensional cross, and which can be composed as union of three convex boxes (one aligned in each dimension). The result is a non-convex object, because you cannot connect all arbitrary point pairs of the object by a line such that the line lies within the object. In the center of the cross all three boxes “overlap” which is meant by “redundant internal vertices”. The question is how to describe the object without them.

For more intuition on higher dimensions consider a circle: it is the set of points with equal distance to a center point. You can use the same definition for a sphere (in three dimensions), and you can use the same definition in higher dimensions. The distances are measured in vector norms.

As entry point you can have look, for instance, in Chapter 2 of the book of Steven Boyd. Such concepts are frequently used in optimization, and linear algebra.

… I have no clue about LazySets, but it seems that such sets are described in an abstract way, and only precisely evaluated when need.

1 Like