1 Introduction

The starting point for the work reported in this paper is the role of the general position assumption in the construction of Delaunay mosaics, and more specifically of their radius functions. For points in general position, the radius function is generalized discrete Morse [10, 12]. In contrast, without the general position assumption, the mosaics are not simplicial and the radius functions are not generalized discrete Morse. How do we relax the theory to allow for non-generic data? Related to this question is the symmetry between Voronoi tessellations and Delaunay mosaics introduced in this paper, which appears when we have weights, and non-generic data is essential to realize this symmetry. We weave the two strands of inquiry together by studying the continuous and discrete radius functions that define Voronoi tessellations and Delaunay mosaics for weighted points not necessarily in general position. We prove new results on these tessellations and mosaics by exploiting the structural properties of these functions.

The Voronoi tessellation and the dual Delaunay mosaic are classic topics in discrete geometry and go back at least to the seminal papers by Voronoi [21] and by Delaunay [4]. The radius function on the Delaunay mosaic was first introduced in [7], along with its sublevel sets, which are the alpha shapes of the given points. Three-dimensional alpha shapes have found ample applications in shape modeling [9, 13, 16] and in the analysis of biomolecules [8]. Discrete Morse theory was introduced by Forman [10] and generalized to allow for collapses across more than one dimension by Freij [12]. In parallel, Edelsbrunner developed the wrap algorithm in an industrial setting, asking for the connection to discrete Morse theory [6], which was later established by Bauer and Edelsbrunner [1]. We formulate a homological extension of discrete Morse theory needed to encompass radius functions on non-generic Delaunay mosaics and thus facilitate their application when non-generic position is essential, such as in crystallography.

Non-general position of points with weights is also essential when we interpret a Voronoi tessellation as a Delaunay mosaic and vice versa. By this we do not mean to take the tessellation to its dual mosaic but rather to construct a different set of weighted points whose Delaunay mosaic is the Voronoi tessellation of the first set. Viewing the tessellation and the mosaic as projections of the boundary complexes of convex polytopes, this construction follows by observing that the polar of a convex polyhedron is still a convex polyhedron. Notwithstanding, we get new insights into a much studied subject by looking into the details of this symmetry. We mention four such results, the first of which is combinatorial:

  1. 1.

    Let \(\mu \ne \nu \) be cells of a Voronoi tessellation, and write \(\mu ^*, \nu ^*\) for the corresponding cells in the dual Delaunay mosaic. Then \(\mathrm{int\,}{\mu } \cap \nu ^* \ne \emptyset \) implies \(\mathrm{int\,}{\nu } \cap \mu ^* = \emptyset \) (see Theorem 3.2).

The second result is about the piecewise quadratic functions, \({{\,\mathrm{vor}\,}}, {{\,\mathrm{del}\,}}:{{{\mathbb {R}}}}^d \rightarrow {{{\mathbb {R}}}}\), whose pieces define the Voronoi tessellation and the dual Delaunay mosaic, respectively. Choosing opposite signs, the average defined by \({{\,\mathrm{sd}\,}}(x)=[{{\,\mathrm{vor}\,}}(x) + {{\,\mathrm{del}\,}}(x)]/2\) is piecewise linear. We use the above combinatorial insight to prove the following:

  1. 2.

    Extending concepts from smooth Morse theory to piecewise quadratic and piecewise linear functions, we show that \({{\,\mathrm{vor}\,}}, {{\,\mathrm{del}\,}}, {{\,\mathrm{sd}\,}}:{{{\mathbb {R}}}}^d \rightarrow {{{\mathbb {R}}}}\) have the same critical points and the same critical values (see Theorem 3.7).

Discretizing the two piecewise quadratic functions, we get radius functions on the Voronoi tessellation and Delaunay mosaic, \({\mathtt{vor}}:{\mathrm{Vor}^{}{({B})}} \rightarrow {{{\mathbb {R}}}}\), \({\mathtt{del}}:{\mathrm{Del}_{}{({B})}} \rightarrow {{{\mathbb {R}}}}\). For generic collections of weighted points, they are generalized discrete Morse but not so for non-generic collections:

  1. 3.

    Extending concepts from discrete Morse theory, we describe the structure of the steps of the radius functions on the Voronoi tessellation and Delaunay mosaic for weighted points in non-general position (see Theorem 4.2).

For every non-critical value, \(t \in {{{\mathbb {R}}}}\), the sub- and superlevel sets of these discrete functions, \({\mathrm{Del}_{t}{({B})}} = {\mathtt{vor}}^{-1} (-\infty , t]\) and \({\mathrm{Vor}^{t}{({B})}} = {\mathtt{del}}^{-1} [t, \infty )\), have disjoint underlying spaces separated by \({{\,\mathrm{sd}\,}}^{-1} (t)\). Assuming B is locally finite and periodic, these are complexes geometrically realized in the d-dimensional torus with finite rank homology groups.

  1. 4.

    The homology groups of \({\mathrm{Del}_{t}{({B})}}\) and \({\mathrm{Vor}^{t}{({B})}}\) satisfy relations akin to Alexander duality for complementary spaces in the d-dimensional sphere (see Theorem 5.4).

To formulate this precisely, we need to distinguish between essential and non-essential homology classes, as considered in extended persistent homology [2].

Outline. Section 2 presents background in discrete geometry and discrete Morse theory. Section 3 studies the piecewise quadratic functions that define the Voronoi tessellation and Delaunay mosaic as well as their average, which is piecewise linear. Section 4 considers the corresponding discrete functions and introduces a homological framework to characterize their steps. Section 5 relates the sublevel sets of one with the superlevel sets of the other. Section 6 concludes the paper.

2 Background

We review Voronoi tessellations and the dual Delaunay mosaics, which we introduce for points with real weights in Euclidean space. In addition, we describe the standard polarity transform and its relation to the tessellation and the mosaic. We then explain how to view tessellations and mosaics as projections of convex polyhedra. Finally, we introduce the terminology of discrete Morse theory, which we adapt to polyhedral complexes.

2.1 Voronoi Tessellations and Delaunay Mosaics

We refer to \(a=({p_{a}},{w_{a}}) \in {{{\mathbb {R}}}}^d \times {{{\mathbb {R}}}}\) as a weighted point, with location \({p_{a}} \in {{{\mathbb {R}}}}^d\) and weight \({w_{a}} \in {{{\mathbb {R}}}}\). We call a set \(B \subseteq {{{\mathbb {R}}}}^d \times {{{\mathbb {R}}}}\) a Delone set of weighted points if there exist radii \(0< r< R < \infty \) such that every ball of radius r contains the location of at most one weighted point, and every ball of radius R contains the location of at least one weighted point. The first condition implies that the projection of B to \({{{\mathbb {R}}}}^d\) is injective, and the second condition implies that there is no half-space empty of locations. We call \(B \subseteq {{{\mathbb {R}}}}^d \times {{{\mathbb {R}}}}\) a periodic set of weighted points if \(B = M + ({{{\mathbb {Z}}}}^d + 0)\), in which \(M \subseteq [0,1)^d \times {{{\mathbb {R}}}}\) is finite with injective projection to \([0,1)^d\), and ‘\(+\)’ means coordinate-wise addition for pairs with one weighted point in M and the other an integer point with 0 weight. Note that every periodic set of weighted points is a Delone set of weighted points. Most of our results hold for Delone sets, except for those in Sect. 5, which hold only for periodic sets.

It is common to interpret \(a=({p_{a}},{w_{a}})\) as a sphere, with center \({p_{a}}\) and squared radius \({w_{a}}\), but for this we have to allow for spheres with non-positive squared radii. The power distance of a point \(x \in {{{\mathbb {R}}}}^d\) from \(a=({p_{a}},{w_{a}})\) is

$$\begin{aligned} {{\pi }_{a}}(x)= {\Vert {x}-{{p_{a}}}\Vert }^2 - {w_{a}} . \end{aligned}$$

It is positive outside the sphere, zero on the sphere, and negative inside the sphere. Of course, for a sphere with negative squared radius, all points are outside. For a non-empty subset \(A\subseteq B\), consider all points \(x \in {{{\mathbb {R}}}}^d\) with equal power distance from the weighted points in A and strictly larger power distance from the other weighted points, and call its closure the (Voronoi) cell of A, denoted \({\mathrm{cell}{({A})}}\). Each non-empty cell is a convex polyhedron in \({{{\mathbb {R}}}}^d\), and its dimension depends on A. The (weighted) Voronoi tessellation of B, denoted \({\mathrm{Vor}^{}{({B})}}\), is the collection of non-empty cells. These cells have disjoint interiors and together they cover \({{{\mathbb {R}}}}^d\). The Voronoi tessellation is a polyhedral complex in the sense that every cell is a convex polyhedron, every face of a cell is again a cell, and any two cells are either disjoint or intersect in a common face, which is therefore also a cell in the tessellation. A cell of dimension p has faces of dimension from 0 to p, and we call the faces of dimension \(p-1\) its facets. Define the dual cell of A as the convex hull of the locations in A, denoted \({\mathrm{cell}^{*}{({A})}}\), which is again a convex polyhedron. The dimension of a cell and its dual cell are necessarily complementary: if \(p=\mathrm{dim\,}{{\mathrm{cell}{({A})}}}\) and \(q=\mathrm{dim\,}{{\mathrm{cell}^{*}{({A})}}}\), then \(p+q = d\). The (weighted) Delaunay mosaic of B, denoted \({\mathrm{Del}_{}{({B})}}\), is the collection of dual cells. Figure 1 illustrates the concepts by drawing a Voronoi tessellation and the corresponding Delaunay mosaic on top of each other.

Fig. 1
figure 1

The overlay of a pink Voronoi tessellation and its dual blue Delaunay mosaic of a periodic set within the unit square in \({{{\mathbb {R}}}}^2\). The tessellation is not simple as there are vertices incident to more than three edges. Correspondingly, the mosaic is not simplicial as there are regions with more than three edges

In \({{{\mathbb {R}}}}^d\), we call a Voronoi tessellation simple if every p-dimensional cell is face of exactly \(q+1=d-p+1\) top-dimensional cells, and we call a Delaunay mosaic simplicial if every q-dimensional dual cell is the convex hull of \(q+1\) points. Clearly, a Voronoi tessellation is simple iff the corresponding Delaunay mosaic is simplicial. We stress that this paper does not assume that \({\mathrm{Vor}^{}{({B})}}\) be simple and \({\mathrm{Del}_{}{({B})}}\) be simplicial, and we introduce these notions primarily to clarify the difference between the generic and the non-generic situation.

Besides \({\mathrm{Vor}^{}{({B})}}\) and \({\mathrm{Del}_{}{({B})}}\), we will be interested in subcomplexes and subsets of these complexes. To stress the difference, we note that a subcomplex is closed under taking faces, while a subset does not necessarily enjoy this property. We call a subset open if it is closed under taking cofaces. As an example consider a subset \(K\subseteq {\mathrm{Vor}^{}{({B})}}\) and let \(K^*\subseteq {\mathrm{Del}_{}{({B})}}\) contain \({\mathrm{cell}^{*}{({A})}}\) iff \({\mathrm{cell}{({A})}} \in K\). Clearly, K is a subcomplex of the Voronoi tessellation iff \(K^*\) is an open subset of \({\mathrm{Del}_{}{({B})}}\), and vice versa. While the cells of a polyhedral complex in \({{{\mathbb {R}}}}^d\) may intersect, their interiors are disjoint and partition the union of the cells. We define the underlying space of a subset K of a polyhedral complex as the union of interiors of its cells:

$$\begin{aligned} |K|= \{ x \in {{{\mathbb {R}}}}^d \mid x \in \mathrm{int\,}{\tau }\ \text {for some}\ \tau \in K \} . \end{aligned}$$

If K is a subcomplex, then this is just the union of cells, but if K is not a subcomplex, then the union of interiors is a strict subset of the union of cells.

2.2 Polarity

We introduce the paraboloid function, \({\varpi }:{{{\mathbb {R}}}}^d\rightarrow {{{\mathbb {R}}}}\), defined by \({\varpi }(x)={{\Vert {x}\Vert }^2}/2\) and we are interested in the polarity with respect to this paraboloid, which associates a point \(u=(u_1,u_2,\ldots ,u_{d+1})\) in \({{{\mathbb {R}}}}^{d+1}\) to the hyperplane of points \(x\in {{{\mathbb {R}}}}^{d+1}\) that satisfy \(x_{d+1}=u_1x_1+\dots +u_dx_d-u_{d+1}\). We denote this hyperplane by \(u^*\), we call \(u^*\) the polar hyperplane of u (with respect to \({\varpi }\)), and we call \(u = (u^*)^*\) the polar point of \(u^*\) (with respect to \({\varpi }\)). Importantly, the transform preserves incidences, that is: \(u\in v^*\) iff \(v\in u^*\) for any two points \(u, v \in {{{\mathbb {R}}}}^{d+1}\). The transform also preserves sidedness, which we introduce by saying that u lies below, on, above \(v^*\) if \(u_{d+1}\) is less than, equal to, greater than \(v_1u_1+\dots +v_du_d-v_{d+1}\). Specifically, u is above \(v^*\) iff v is above \(u^*\), and together with the preservation of incidences, this implies u is below \(v^*\) iff v is below \(u^*\).

To express the relation between the Voronoi tessellation and the Delaunay mosaic in terms of the polarity transform, we map every weighted point in \({{{\mathbb {R}}}}^d \times {{{\mathbb {R}}}}\) to a point and a hyperplane in \({{{\mathbb {R}}}}^{d+1}\). For \(a=({p_{a}},{w_{a}})\), we introduce \({f_{a}}, {g_{a}} :{{{\mathbb {R}}}}^d \rightarrow {{{\mathbb {R}}}}\) defined by

$$\begin{aligned} {f_{a}} (x)&= \frac{ {\Vert {{p_{a}}}\Vert }^2}{2} - \frac{{w_{a}}}{2} , \end{aligned}$$
(1)
$$\begin{aligned} {g_{a}} (x)&= {\langle {p_{a}} , x \rangle } - {f_{a}} (x), \end{aligned}$$
(2)

calling \(({p_{a}}, {f_{a}}({p_{a}}))\) the lifted point and \(\mathrm{img\,}{{g_{a}}} = {g_{a}}({{{\mathbb {R}}}}^d)\) the polar hyperplane of a. It is not difficult to verify that the average of the two maps on \({p_{a}}\) gives us the value of \({\varpi }\) on \({p_{a}}\):

$$\begin{aligned} \frac{{f_{a}} ({p_{a}}) + {g_{a}} ({p_{a}})}{2}= \frac{{\Vert {{p_{a}}}\Vert }^2 }{2} = {\varpi }({p_{a}}) . \end{aligned}$$
(3)

Returning to the connection with the weighted points, the zero-set of \({g_{a}} - {\varpi }\) consists of the points \(x \in {{{\mathbb {R}}}}^d\) for which

$$\begin{aligned} {g_{a}} (x) - {\varpi }(x)= - \frac{{\Vert {x}-{{p_{a}}}\Vert }^2}{2} + \frac{{w_{a}}}{2}=-\frac{{{\pi }_{a}} (x)}{2} \end{aligned}$$
(4)

vanishes. In words, the zero-set of \({g_{a}} - {\varpi }\) is also the zero-set of the power distance, \({{\pi }_{a}}\), namely the sphere with center \({p_{a}}\) and squared radius \({w_{a}}\). We call two weighted points \(a=({p_{a}},{w_{a}})\) and \(b=({p_{b}},{w_{b}})\) orthogonal if \({\Vert {{p_{a}}}-{{p_{b}}}\Vert }^2 = {w_{a}}+{w_{b}}\). It is a straightforward exercise to show that this is equivalent to \({g_{a}} ({p_{b}}) = {f_{b}} ({p_{b}})\) or, in words, that the lifted point of b lies on the hyperplane of a. If both weights are positive, Pythagoras’ theorem implies that the zero-sets of \({{\pi }_{a}}\) and \({{\pi }_{b}}\)—which are spheres with squared radii \({w_{a}}\) and \({w_{b}}\)—intersect orthogonally.

Next, we generalize the relations between points and hyperplanes to collections \(A \subseteq {{{\mathbb {R}}}}^d \times {{{\mathbb {R}}}}\) whose projections to \({{{\mathbb {R}}}}^d\) are affinely independent. Write \(\mathrm{flat}{({A})}\) for the affine hull of the locations: \(\mathrm{flat}{({A})} = \mathrm{aff\,}{\{{p_{a}}\,|\,a \in A\}}\), and \(\mathrm{sol}{({A})}\) for the set of points \(x \in {{{\mathbb {R}}}}^d\) that satisfy \({g_{a}}(x) = {g_{b}}(x)\) for all \(a,b \in A\). For example, if \(A = \{a=({p_{a}},{w_{a}})\}\), then \(\mathrm{flat}{({A})} = {p_{a}}\) and \(\mathrm{sol}{({A})} = {{{\mathbb {R}}}}^d\). Writing \({{\#}{A}} = q+1\) and \(p = d-q\), we observe that

  • \(\mathrm{dim\,}{\mathrm{flat}{({A})}} = q\) and \(\mathrm{dim\,}{\mathrm{sol}{({A})}} = p\),

  • \(\mathrm{flat}{({A})}\) and \(\mathrm{sol}{({A})}\) are orthogonal affine subspaces of \({{{\mathbb {R}}}}^d\), and we write \(y = y(A)\) for the intersection point.

Indeed, if all weights are zero, then \(\mathrm{sol}{({A})}\) is the set of centers of spheres that pass through all points of A. This set is a p-dimensional affine subspace of \({{{\mathbb {R}}}}^d\) orthogonal to the q-dimensional affine hull of A. When we adjust the weight of \(a \in A\), this affine subspace does not change other than by moving parallel to its initial position. So \(\mathrm{flat}{({A})}\) and \(\mathrm{sol}{({A})}\) retain the two properties stated above.

In addition to the two affine subspaces, we introduce two affine functions, \({f_{A}}:{{{\mathbb {R}}}}^d\rightarrow {{{\mathbb {R}}}}\) and \({g_{A}}:{{{\mathbb {R}}}}^d\rightarrow {{{\mathbb {R}}}}\), that generalize \({f_{a}}\) and \({g_{a}}\) as defined in (1) and (2). Specifically, \({f_{A}}\) agrees with \({f_{a}}\) at \({p_{a}}\) for every \(a \in A\) and its restriction to \(\mathrm{sol}{({A})}\) is constant. Similarly, \({g_{A}}\) agrees with \({g_{a}}\) within \(\mathrm{sol}{({A})}\) for every \(a \in A\) and its restriction to \(\mathrm{flat}{({A})}\) is constant. Recall that \(y(A) = \mathrm{sol}{({A})} \cap \mathrm{flat}{({A})}\).

Lemma 2.1

(common maximum)   Let \(A \subseteq {{{\mathbb {R}}}}^d \times {{{\mathbb {R}}}}\) be a set of weighted points whose locations are affinely independent. Then \(y = y(A)\) is the unique common maximum of

  1. (i)

    the restriction of \({f_{A}} - {\varpi }\) to \(\mathrm{flat}{({A})}\),

  2. (ii)

    the restriction of \({g_{A}} - {\varpi }\) to \(\mathrm{sol}{({A})}\),

  3. (iii)

    the average, \([{f_{A}} + {g_{A}}]/2 - {\varpi }\), and in this case the value of the maximum equals 0.

Proof

We begin by mapping every location \(x \in \mathrm{flat}{({A})}\) to a weighted point \(u \in {{{\mathbb {R}}}}^d \times {{{\mathbb {R}}}}\) with \({p_{u}} = x\) and \({w_{u}}=2{\varpi }(x) - 2 {f_{A}} (x)\). Using (1), we note that \({f_{u}} (x)={\Vert {{p_{u}}}\Vert }^2/2 -{w_{u}}/2 = {f_{A}} (x)\). Similarly, we map every location \(x \in \mathrm{sol}{({A})}\) to \(v \in {{{\mathbb {R}}}}^d \times {{{\mathbb {R}}}}\) with \({p_{v}} = x\) and \({w_{v}} = 2 {\varpi }(x) - 2 {g_{A}} (x)\), noting that \({f_{v}} (x) = {g_{A}} (x)\). By construction, \({g_{u}} :{{{\mathbb {R}}}}^d \rightarrow {{{\mathbb {R}}}}\) agrees with \({g_{A}}\) on \(\mathrm{sol}{({A})}\) and, symmetrically, \({g_{v}} :{{{\mathbb {R}}}}^d \rightarrow {{{\mathbb {R}}}}\) agrees with \({f_{A}}\) on \(\mathrm{flat}{({A})}\). Hence, \({\Vert {p_u}-{p_v}\Vert }^2 = {w_{u}} + {w_{v}}\), which for positive weights is equivalent to the zero-sets of \({{\pi }_{u}}\) and \({{\pi }_{v}}\) intersecting orthogonally. Observe that this is true for all pairs \(({p_{u}}, {p_{v}}) \in \mathrm{flat}{({A})} \times \mathrm{sol}{({A})}\), so we have what for two lines in \({{{\mathbb {R}}}}^2\) is sometimes called a coaxal system [19].

If we now fix v with \({p_{v}}\in \mathrm{sol}{({A})}\), we get u with minimum weight by minimizing \({\Vert {{p_{v}}}-{{p_{u}}}\Vert }^2\). This minimum is attained for \({p_{u}}=y\), and since \({w_{u}} =2{\varpi }({p_{u}}) - 2 {f_{A}} ({p_{u}})\), this implies that y maximizes \({f_{A}} - {\varpi }\), as claimed in (i). The proof of (ii) is symmetric.

While we considered only the restrictions of \({f_{A}}\) and \({g_{A}}\) to affine subspaces, they are defined on the entire \({{{\mathbb {R}}}}^d\). Hence, the map \(f :{{{\mathbb {R}}}}^d \rightarrow {{{\mathbb {R}}}}\) sending x to \(f(x) =[{f_{A}}(x)+{g_{A}} (x) ]/2\) is well defined. It is affine since \({f_{A}}\) and \({g_{A}}\) are affine. Letting \(x'\) and \(x''\) be the orthogonal projections of \(x\in {{{\mathbb {R}}}}^d\) onto \(\mathrm{flat}{({A})}\) and \(\mathrm{sol}{({A})}\), respectively, we have \(f(x)=[{f_{A}}(x')+{g_{A}}(x'')]/2\). At the intersection of the two affine subspaces, we have \(f(y)-{\varpi }(y)=0\) by (3). At every other point \(x\in {{{\mathbb {R}}}}^d\), \(f(x)-{\varpi }(x)<0\), simply because \({f_{A}}(x')-{\varpi }(x')\le {f_{A}}(y)-{\varpi }(y)\) by (i) and \({g_{A}}(x'')-{\varpi }(x'')\le {g_{A}} (y) - {\varpi }(y)\) by (ii), with strict inequality at least once as otherwise \(x'= x''=y\) would imply \(x=y\). This proves (iii). \(\square \)

We note that (iii) implies that the graph of \([{f_{A}} + {g_{A}}]/2\) is the unique hyperplane in \({{{\mathbb {R}}}}^{d+1}\) that touches the graph of \({\varpi }\) at the point \((y,{\varpi }(y))\).

2.3 Projection of Envelopes

Since the Voronoi tessellation is defined in terms of minimum power distance, it can equally well be defined in terms of maximum affine function values; see (4). Specifically, let \({{\,\mathrm{env}\,}}:{{{\mathbb {R}}}}^d \rightarrow {{{\mathbb {R}}}}\) be the upper envelope of the affine maps:

$$\begin{aligned} {{\,\mathrm{env}\,}}(x)= \max _{a \in B}{g_{a}} (x), \end{aligned}$$

and call the linear pieces of this envelope the faces of \({{\,\mathrm{env}\,}}\). It is not difficult to see that there is a bijection between the faces of \({{\,\mathrm{env}\,}}\) and the cells of \({\mathrm{Vor}^{}{({B})}}\) such that every cell is the vertical projection of the corresponding face to \({{{\mathbb {R}}}}^d\). This property was known already to Voronoi [21].

A similar construction exists for Delaunay mosaics, which is usually phrased in terms of the convex hull of the points \(({p_{a}}, {f_{a}} ({p_{a}}))\) in \({{{\mathbb {R}}}}^{d+1}\). Since we assume that the set is periodic, the convex hull is a convex polyhedron whose boundary projects bijectively to \({{{\mathbb {R}}}}^d\). It is not difficult to see that there is a bijection between the faces of this polyhedron and the cells of \({\mathrm{Del}_{}{({B})}}\) such that every cell is the vertical projection of the corresponding face to \({{{\mathbb {R}}}}^d\). We introduce \({{\,\mathrm{end}\,}}:{{{\mathbb {R}}}}^d \rightarrow {{{\mathbb {R}}}}\) whose graph is the boundary of the polyhedron. Since it is convex, there is a set \(C \subseteq {{{\mathbb {R}}}}^d \times {{{\mathbb {R}}}}\) such that \({{\,\mathrm{end}\,}}(x) = \max _{c \in C} {g_{c}} (x)\). This set of weighted points is periodic because the Voronoi tessellation of a periodic set is periodic. Now we have complete symmetry and can write \({\mathrm{Del}_{}{({B})}}={\mathrm{Vor}^{}{({C})}}\) as well as \({\mathrm{Vor}^{}{({B})}} = {\mathrm{Del}_{}{({C})}}\). We call C the polar set of B and, symmetrically, B the polar set of C.

2.4 Discrete Morse Theory

Letting K be a polyhedral complex in \({{{\mathbb {R}}}}^d\), we call \(f :K \rightarrow {{{\mathbb {R}}}}\) a discrete function. It is monotonic if \(f(\nu ) \le f(\mu )\) whenever \(\nu \) is a face of \(\mu \) in K, and it is anti-monotonic if \(-f\) is monotonic. For every \(t\in {{{\mathbb {R}}}}\), we call \(f^{-1}(t)\) a level set, \(f^{-1}(-\infty ,t]\) a sublevel set, and \(f^{-1} [t, \infty )\) a superlevel set of f. For completeness, we start by introducing the terminology of discrete Morse theory [10], which we adapt to polyhedral complexes.

The Hasse diagram of K is the directed graph whose nodes are the cells of K, with an arc from \(\nu \) to \(\mu \) if \(\nu \subseteq \mu \) and \(\mathrm{dim\,}{\nu } = \mathrm{dim\,}{\mu } - 1\). We note that \(f :K\rightarrow {{{\mathbb {R}}}}\) is monotonic iff the values along every directed path of the Hasse diagram are non-decreasing. A step of f is a connected component of the Hasse diagram restricted to a level set of f, and we write \(\nabla f\) for the collection of steps, which partitions K. We construct the step graph by taking the steps in \(\nabla f\) as nodes and drawing an arc from I to J if there are cells \(\nu \in I\) and \(\mu \in J\) such that the Hasse diagram has an arc from \(\nu \) to \(\mu \). In other words, the step graph is obtained from the Hasse diagram by contracting every arc whose endpoints are cells that share the function value. It follows that the values along every directed path of the step graph are strictly increasing.

A monotonic \(f :K \rightarrow {{{\mathbb {R}}}}\) is a discrete Morse function if every step is either a pair or a singleton. This definition is insignificantly stronger than in [10], where the functions that map the cells of every pair to a common value are referred to as flat discrete Morse functions. The singletons contain the critical cells and the pairs contain the non-critical cells of f. Following the convention in smooth Morse theory [17], where the index of a critical point is indicative of the effect of advancing the sublevel set beyond its value, we call the dimension of a critical cell its index. Indeed, at a critical step of index p, the homotopy type of the sublevel set changes by attachment of a p-cell [11, Lem. 2.7]. In contrast, removing the two cells of a pair \(\{ \nu , \mu \}\)—which is allowed only if the result is still closed—has no effect on the homotopy type [11, Lem. 2.6].

To generalize the concept, we call a subset \(J \subseteq K\) an interval if there are cells \(\alpha ,\omega \in K\) such that \(J=\{\nu \in K\mid \alpha \subseteq \nu \subseteq \omega \}\). In words, the interval has a unique lower bound\(\alpha \), and a unique upper bound\(\omega \), and consists of all faces of \(\omega \) that have \(\alpha \) as a face. A monotonic \(f :K \rightarrow {{{\mathbb {R}}}}\) is a generalized discrete Morse function if every step is an interval; see [12]. The intervals of size one contain the critical cells and all other intervals contain the non-critical cells of f. Removing the cells of an interval of size larger than one from K is referred to as a collapse, which is allowed only if the result is still closed.

2.5 Partitioning Steps into Pairs

In the simplicial case, the Hasse diagram restricted to an interval is isomorphic to the 1-skeleton of a cube of the appropriate dimension. A maximal set of parallel edges of this cube corresponds to a partition of the interval into pairs; that is: into intervals of size 2. In the polyhedral case, such a partition is not quite as obvious, but it exists. It is convenient to prove this as a corollary of a more general claim, which we now formulate.

Let \(P \subseteq {{{\mathbb {R}}}}^d\) be a convex polytope with non-empty interior, assume without loss of generality that \(0 \in \mathrm{int\,}{P}\), and let \(u \in {{{\mathbb {S}}}}^{d-1}\) be a direction. We say u is generic if the line of points \(\lambda u\), \(\lambda \in {{{\mathbb {R}}}}\), intersects the affine hull of every facet of P, and these intersections are distinct. Assuming a generic direction, we can order the facets as \(\varphi _1, \varphi _2, \ldots , \varphi _n\) such that

$$\begin{aligned} \frac{1}{\lambda _1}>\frac{1}{\lambda _2}>\ldots > \frac{1}{\lambda _n}, \end{aligned}$$

in which \(\lambda _i u\) is the point at which the line intersects \(\mathrm{aff\,}{\varphi _i}\); see Fig. 2. In the literature, this ordering is referred to as a line shelling of P [22, Sect. 8.2].

Fig. 2
figure 2

A line shelling of a convex polygon in the plane. The vector spanning the line is generic as its intersections with the lines that contain the edges are distinct

It sorts the facets in the order they become visible from a point that moves along the line from \(\lambda = 0\) to \(\infty \). Then the point jumps from \(\infty \) to \(- \infty \), at which time all visible facets become invisible. Finally, the point continues the trip from \(\lambda = - \infty \) back to 0, and the facets are sorted in the order they become invisible. To extend the ordering to all faces of P, we set

$$\begin{aligned} \begin{aligned} \kappa (P)&= \infty ,&\\ \kappa (\varphi _i)&= \frac{1}{\lambda _i}&\quad \hbox { for all facets of~}\ P, \\ \kappa (\psi )&= \min _{\psi \subseteq \varphi }\kappa (\varphi )&\quad \,\, \text {for all faces of dimension}~{-}1 \le p \le d-2\text { of}~P. \end{aligned} \end{aligned}$$

The partial line shelling of P for u and \(t \in {{{\mathbb {R}}}}\) is the collection K(t) of faces \(\psi \) of P with \(\kappa (\psi )\ge t\). For \(t > \kappa (\varphi _1)\), \(K(t) = \{P\}\), for \(t \le \kappa (\varphi _1)\), K(t) contains at least two faces of P, namely P and \(\varphi _1\), and for \(t \le \kappa (\varphi _n)\), K(t) is the entire face complex, including \(\emptyset \). In general, K(t) is an open set of faces: for every \(\psi \in K(t)\) all faces that contain \(\psi \) are in K(t).

Lemma 2.2

(partition into pairs)   Let \(P \subseteq {{{\mathbb {R}}}}^d\) be a convex d-polytope, \(u \in {{{\mathbb {S}}}}^{d-1}\) a unit vector, and \(t \in {{{\mathbb {R}}}}\). Then the partial line shelling, K(t), either contains only one face of the polytope, namely P, or it can be partitioned into pairs \((\psi , \varphi )\) with \(\psi \subseteq \varphi \) and \(\mathrm{dim\,}{\psi } = \mathrm{dim\,}{\varphi } - 1\).

Proof

Assuming u is generic, we use induction on d. For \(d=1\), P is a closed line segment with vertices \(\varphi _1\) and \(\varphi _2\). Assuming \(0 \in \mathrm{int\,}{P}\), we have \(\varphi _1>0\) and \(\varphi _2<0\). The ordering for \(u = 1\) is \(P;\varphi _1;\varphi _2,\emptyset \), in which we use semicolons and colons to separate faces with different and with equal \(\kappa \) values. There are only three partial line shellings, namely \(\{P\}\), \(\{P,\varphi _1\}\), and \(\{P, \varphi _1, \varphi _2, \emptyset \}\), and the latter two can be partitioned into pairs.

Assume inductively that all partial line shellings of convex polytopes of dimension \(p < d\) and cardinality at least 2 can be partitioned into pairs, and consider a d-dimensional convex polytope, P. For a generic vector \(u\in {{{\mathbb {S}}}}^{d-1}\), the difference between two contiguous partial line shellings of P is the partial line shelling of a facet, \(\varphi _i\). For \(i=1\), this partial line shelling has size 1, and we combine it with P to get a pair. For \(i > 1\), this partial line shelling has size at least 2. To see this, we note that \(\varphi _i\) shares at least one \((d-2)\)-face with a previously encountered facet of P, and this \((d-2)\)-face gets the same value of \(\kappa \) as \(\varphi _i\). By inductive assumption, this partial shelling can be partitioned into pairs, which proves the claim for generic directions.

For a non-generic direction, u, we can find a generic perturbation, \(u'\in {{{\mathbb {S}}}}^{d-1}\), such that the difference between two contiguous partial line shellings of P for u is a disjoint union of such differences for \(u'\). Again we get a partition into pairs by induction. \(\square \)

Recall that an interval in a polyhedral complex, K, is defined by a pair \(\alpha \subseteq \omega \) and consists of all cells \(\nu \) that satisfy \(\alpha \subseteq \nu \subseteq \omega \). Here, \(\omega \) is the polytope P of the above discussion, and the vector u is chosen so that the line it spans passes through the interior of \(\alpha \). With this choice, the interval is a partial line shelling of \(\omega \), which can be partitioned into pairs by Lemma 2.2. We note that this implies that if L can be obtained from K by a sequence of possibly non-elementary collapses, then K and L have the same homotopy type.

3 Continuous Functions

In this section, we consider two piecewise quadratic functions, whose pieces define the Voronoi tessellation and its dual Delaunay mosaic. While the main message of this paper is that the two are of the same kind, we use the words ‘tessellation’ and ‘mosaic’ to verbally break the symmetry. The main result is that these two functions and their piecewise linear average have the same critical points.

3.1 Piecewise Quadratic and Piecewise Linear Functions

Recall that \({{\,\mathrm{env}\,}}, {{\,\mathrm{end}\,}}:{{{\mathbb {R}}}}^d \rightarrow {{{\mathbb {R}}}}\) are piecewise linear convex functions. Comparing them with \({\varpi }\), we get two piecewise quadratic functions, \({{\,\mathrm{vor}\,}}, {{\,\mathrm{del}\,}}:{{{\mathbb {R}}}}^d \rightarrow {{{\mathbb {R}}}}\), and one piecewise linear function, \({{\,\mathrm{sd}\,}}:{{{\mathbb {R}}}}^d \rightarrow {{{\mathbb {R}}}}\), defined by

$$\begin{aligned} {{\,\mathrm{vor}\,}}(x)&= {\varpi }(x) - {{\,\mathrm{env}\,}}(x) , \end{aligned}$$
(5)
$$\begin{aligned} {{\,\mathrm{del}\,}}(x)&= {{\,\mathrm{end}\,}}(x) - {\varpi }(x) , \end{aligned}$$
(6)
$$\begin{aligned} {{\,\mathrm{sd}\,}}(x)&= \frac{{{\,\mathrm{end}\,}}(x) - {{\,\mathrm{env}\,}}(x)}{2}= \frac{{{\,\mathrm{del}\,}}(x) + {{\,\mathrm{vor}\,}}(x)}{2} . \end{aligned}$$
(7)

As illustrated in Fig. 3, \({{\,\mathrm{del}\,}}\) dominates \({{\,\mathrm{vor}\,}}\), which implies that their average, \({{\,\mathrm{sd}\,}}\), is sandwiched between them.

Fig. 3
figure 3

The paraboloid function, the two envelope functions, and their piecewise quadratic and piecewise linear differences. Only three of the defining points are shown, two with weight 0, and the point in the middle with negative weight

To prove this formally, we introduce the common subdivision of the tessellation and the mosaic, denoted \({\mathrm{Sd}{({B})}}\), which consists of all cells \(\gamma = \tau \cap \sigma ^*\) with \(\tau \in {\mathrm{Vor}^{}{({B})}}\) and \(\sigma ^* \in {\mathrm{Del}_{}{({B})}}\). Since \(\tau \) and \(\sigma ^*\) are convex, so is \(\gamma \). The restrictions of \({{\,\mathrm{del}\,}}\) and \({{\,\mathrm{vor}\,}}\) to \(\gamma \) are quadratic, while the restriction of \({{\,\mathrm{sd}\,}}\) to \(\gamma \) is linear.

Lemma 3.1

(sandwich)   Let \(B \subseteq {{{\mathbb {R}}}}^d \times {{{\mathbb {R}}}}\) be a Delone set of weighted points. Then \({{\,\mathrm{del}\,}}(x) \ge {{\,\mathrm{sd}\,}}(x) \ge {{\,\mathrm{vor}\,}}(x)\) for every \(x \in {{{\mathbb {R}}}}^d\).

Proof

Let \(a \in {{{\mathbb {R}}}}^d \times {{{\mathbb {R}}}}\) such that \({f_{a}} ({p_{a}}) = {{\,\mathrm{env}\,}}({p_{a}})\). The lifted point of a lies above the hyperplane of b, which implies \({f_{a}} ({p_{a}}) \ge {g_{b}} ({p_{a}})\) for all \(b \in B\), with equality at least once. Since the polarity transform preserve sidedness, we have \({f_{b}} ({p_{b}}) \ge {g_{a}} ({p_{b}})\), for all \(b \in B\), and therefore \({{\,\mathrm{end}\,}}(y) \ge {g_{a}} (y)\) for all \(y \in {{{\mathbb {R}}}}^d\), which includes \(y = {p_{a}}\). Writing \(x = {p_{a}}\), this implies

$$\begin{aligned} {{\,\mathrm{del}\,}}(x) - {{\,\mathrm{vor}\,}}(x) = {{\,\mathrm{end}\,}}(x) + {{\,\mathrm{env}\,}}(x) - 2 {\varpi }(x)\ge {g_{a}} (x) + {f_{a}} (x) - 2 {\varpi }(x) , \end{aligned}$$

in which the right-hand side vanishes because of (3). This implies the claimed inequalities. \(\square \)

The inequalities in Lemma 3.1 imply that the sublevel sets and the superlevel sets of the three functions are nested:

$$\begin{aligned} {{\,\mathrm{del}\,}}^{-1} (-\infty , t]\subseteq {{\,\mathrm{sd}\,}}^{-1} (- \infty , t]\subseteq {{\,\mathrm{vor}\,}}^{-1} (-\infty , t] , \end{aligned}$$
(8)
$$\begin{aligned} {{\,\mathrm{del}\,}}^{-1} [t, \infty )\supseteq {{\,\mathrm{sd}\,}}^{-1} [t, \infty )\supseteq {{\,\mathrm{vor}\,}}^{-1} [t, \infty ) . \end{aligned}$$
(9)

Figure 4 illustrates the sublevel set of \({{\,\mathrm{del}\,}}\) and the superlevel set of \({{\,\mathrm{vor}\,}}\), for a common value t, together with the channel between these two sets. We will see shortly that the three functions share the critical points, at which they all agree.

Fig. 4
figure 4

The black level set of \({{\,\mathrm{sd}\,}}\) splits the white channel into two. The corresponding superlevel set of \({{\,\mathrm{vor}\,}}\) is orange and the sublevel set of \({{\,\mathrm{del}\,}}\) is blue

3.2 Three Auxiliary Results

We need auxiliary results to prove that the functions defined in (5)–(7) share the critical points and values, three of which will be presented in this subsection. The first is a new combinatorial statement about Voronoi tessellations and Delaunay mosaics, which is interesting in its own right.

Theorem 3.2

(excluded crossing)   Let \(B \subseteq {{{\mathbb {R}}}}^d \times {{{\mathbb {R}}}}\) be a Delone set of weighted points, let \(\mu \ne \nu \) be cells in \({\mathrm{Vor}^{}{({B})}}\) and recall that \(\mu ^*, \nu ^*\) are their dual cells in \({\mathrm{Del}_{}{({B})}}\). If \(\mathrm{int\,}{\mu } \cap \nu ^* \ne \emptyset \), then \(\mathrm{int\,}{\nu } \cap \mu ^* = \emptyset \).

Proof

To reach a contradiction, assume that both intersections are non-empty, so we can choose points \(x \in \mathrm{int\,}{\mu } \cap \nu ^*\) and \(y \in \mathrm{int\,}{\nu } \cap \mu ^*\). Since the interiors of \(\mu \) and \(\nu \) are disjoint, we have \(x \ne y\). Let \(M, N \subseteq B\) be such that \(\mu = {\mathrm{cell}{({M})}}\) and \(\nu = {\mathrm{cell}{({N})}}\). By definition of a cell, x has the same power distance from all \(a \in M\), and a strictly larger power distance from all \(b \in B \setminus M\). Write \(R_M = {{\pi }_{a}}(x)\) with \(a \in M\), and write \(R_N = {{\pi }_{c}}(y)\) with \(c \in N\). Assume without loss of generality that \(R_N \ge R_M\). Then every weighted point \(a \in M\) satisfies \({{\pi }_{a}}(y) \ge R_N \ge R_M = {{\pi }_{a}}(x)\), so \({\Vert {y}-{{p_{a}}}\Vert } \ge {\Vert {x}-{{p_{a}}}\Vert }\). Drawing the perpendicular bisector of x and y, this implies that all \({p_{a}}\) with \(a \in M\) lie in the closed half-space that contains x. Since y lies outside this half-space, it is not contained in the convex hull of the \({p_{a}}\) with \(a \in M\), but this contradicts \(y \in \mu ^*\). \(\square \)

We remark that we take the interiors of \(\mu \) and \(\nu \) so that the two hypothesized intersection points are different. This detail is a crucial aspect of the proof. Indeed, it is possible to have \(\mu \cap \nu ^* \ne \emptyset \) and \(\nu \cap \mu ^* \ne \emptyset \): let \(\nu ^*\) be a right-angled triangle in \({{{\mathbb {R}}}}^2\) and \(\mu ^*\) its longest edge. Then \(\nu \) is the circumcenter of the triangle, which lies on \(\mu ^*\), and \(\mu \) has \(\nu \) as an endpoint.

Write \({{{\mathbb {S}}}}^{d-1}\) for the unit sphere in \({{{\mathbb {R}}}}^d\). The second result is a geometric statement about the common intersection of hemispheres, which are closed subsets of \({{{\mathbb {S}}}}^{d-1}\) bounded by great-spheres of dimension \(d-2\). Note that a unit vector, \(e \in {{{\mathbb {S}}}}^{d-1}\), defines both a point as well as a hemisphere, namely the one whose points \(y \in {{{\mathbb {S}}}}^{d-1}\) satisfy \({\langle e , y \rangle } \le 0\).

Lemma 3.3

(hemispheres)   The common intersection of a collection of hemispheres of \({{{\mathbb {S}}}}^{d-1}\) is either contractible or a \((p-1)\)-dimensional great-sphere with \(0 \le p \le d\).

Proof

Let \(E \subseteq {{{\mathbb {S}}}}^{d-1}\) be the set of vectors defining the hemispheres in the given collection. If \(E \ne \emptyset \) and there is a point \(x\in {{{\mathbb {S}}}}^{d-1}\) with \({\langle e , x \rangle } < 0\) for all \(e \in E\), then the hemispheres have a non-empty and contractible common intersection. Otherwise, let \(x \in {{{\mathbb {S}}}}^{d-1}\) such that \({\langle e , x \rangle } \le 0\), for all \(e \in E\), with equality for a minimum number of vectors. If x does not exist, then the intersection of hemispheres is empty, which is the case \(p = 0\) in the claimed statement. When x exists, it may not be unique, but the vectors e for which the scalar product vanishes are unique. Similarly, the linear span of these vectors is unique, and letting \(0 \le d-p\le d\) be its dimension, the common intersection of the hemispheres is a \((p-1)\)-dimensional great-sphere. The case \(p = d\) corresponds to an empty collection of hemispheres so that the common intersection is the entire \({{{\mathbb {S}}}}^{d-1}\). \(\square \)

The third result is an elementary fact in linear algebra. For \(1 \le i \le k\), let \(g_i :{{{\mathbb {R}}}}^d \rightarrow {{{\mathbb {R}}}}\) be a linear function with gradient \(\nabla g_i \in {{{\mathbb {R}}}}^d\); that is: \(g_i(x) = {\langle x , \nabla g_i \rangle }\) for all \(x \in {{{\mathbb {R}}}}^d\). Note that the gradient of a linear combination of the \(g_i\) is the linear combination of the gradients with the same coefficients. Indeed,

$$\begin{aligned} \sum _{i=1}^k \alpha _i g_i(x)= \sum _{i=1}^k \alpha _i {\langle x , \nabla g_i \rangle }= \left\langle x,\sum _{i=1}^k \alpha _i \nabla g_i\right\rangle . \end{aligned}$$

The linear combination is an affine combination if \(\sum _{i=1}^k \alpha _i = 1\). The gradients of the family of affine combinations of the \(g_i\) are thus the affine combinations of the \(\nabla g_i\). This is a plane of some dimension between 0 and d. Whatever its dimension, this plane contains a unique point at minimum distance from the origin. In other words, there is a unique affine combination of the \(g_i\) with shortest gradient.

Lemma 3.4

(shortest gradient)   Let \(g_i :{{{\mathbb {R}}}}^d \rightarrow {{{\mathbb {R}}}}\) be linear functions for \(1 \le i \le k\), and let \(g :L \rightarrow {{{\mathbb {R}}}}\) be the largest common restriction of the \(g_i\) to a linear subspace. Then the affine combination of the \(g_i\) that minimizes the length of the gradient satisfies \(\nabla \bigl (\sum _{i=1}^k \alpha _i g_i\bigr ) = \nabla g\).

Proof

Since g is the restriction of \(g_i\) to L, we have \({\langle \nabla g_i , \nabla g \rangle } = {\langle \nabla g , \nabla g \rangle }\); that is: \(\nabla g\) is the projection of \(\nabla g_i\) onto the line spanned by \(\nabla g\). This is true for all \(1 \le i \le k\) and therefore also for any affine combination of the \(g_i\):

$$\begin{aligned} \left\langle \nabla \! \left( \sum _{i=1}^k \alpha _i g_i\right) ,\nabla g\right\rangle = \sum _{i=1}^k \alpha _i {\langle \nabla g_i , \nabla g \rangle }= {\langle \nabla g , \nabla g \rangle } . \end{aligned}$$

It follows that the gradient of any affine combination has length at least \({\Vert {\nabla g}\Vert }\), and the affine combination whose gradient agrees with the gradient of g minimizes the length of the gradient. \(\square \)

3.3 In- and Out-Links

This subsection presents two topological results about vector fields defined by convex polytopes, \(P, Q \subseteq {{{\mathbb {R}}}}^d\), whose dimensions are complementary, \(p = \mathrm{dim\,}{P}\) and \(q = \mathrm{dim\,}{Q}\) with \(p+q = d\), and whose affine hulls intersect in a single point. We write \(P \times Q\) for the Minkowski sum, which is a convex polytope of dimension d. Its boundary is a topological \((d-1)\)-sphere, which can be seen as the union of a thickened \((p-1)\)-sphere and a thickened \((q-1)\)-sphere: \(\partial (P \times Q) = ( \partial P \times Q) \cup (P \times \partial Q)\). Indeed, for every \(s \in \partial (P \times Q)\), there are unique points \(y \in P\) and \(z \in Q\) such that \(s = y + z\), and at least one of y and z belongs to the respective boundary. We are interested in \(\psi :\partial (P \times Q) \rightarrow {{{\mathbb {S}}}}^{d-1}\) defined by mapping \(s = y+z\) to \(\psi (s) = (y-z) / {\Vert {y}-{z}\Vert }\); see Fig. 5 for an illustration.

Fig. 5
figure 5

The map \(\psi :\partial (P\times Q)\rightarrow {{{\mathbb {S}}}}^1\) illustrated for two intersecting line segments on the left and for two disjoint line segments on the right. For better visualization, we draw \((y-z)/2\) instead of \(\psi (s)\) and anchor the vector at the point s/2 on the boundary of \((P \times Q)/2\). In addition, we highlight the in-links in green

The significance of this choice of vector field will become clear shortly. To study \(\psi \), we consider the normal cone of a point \(s \in \partial (P \times Q)\), denoted \(\mathbf{n}(s)\), which is the collection of vectors \(v \in {{{\mathbb {S}}}}^{d-1}\) such that \({\langle v , x-s \rangle } \le 0\) for all \(x \in P \times Q\). Using this notion, we introduce the in-link and out-link of P and Q:

$$\begin{aligned} {{\mathrm{inLk}}{({P},{Q})}}&= \{s \in \partial (P \times Q) \mid \exists v \in \mathbf{n}(s)\ \text {with}\ {\langle \psi (s) , v \rangle } \le 0 \},\\ {{\mathrm{outLk}}{({P},{Q})}}&= \{ s \in \partial (P \times Q) \mid \exists v \in \mathbf{n}(s)\ \text {with}\ {\langle \psi (s) , v \rangle } \ge 0 \}. \end{aligned}$$

By construction of \(\psi \), a facet of \(P \times Q\) either belongs to the in-link in its entirety, or none of the points in its interior belong to the in-link. Furthermore, a face of \(P \times Q\) belongs to the in-link iff it is a face of a facet in the in-link. This implies that the in-link is a union of (closed) facets. By symmetry, so is the out-link. In the left panel of Fig. 5, the in-link consists of the left edge and the right edge of the product, while the out-link consists of the remaining two edges. Both have the homotopy type of the 0-sphere. In the right panel, the in-link is the union of three edges, with the out-link containing the remaining, top edge. Both links are contractible. The important difference is that P and Q intersect in the left panel while they are disjoint in the right panel.

Lemma 3.5

(in- and out-link)   Let \(P, Q \subseteq {{{\mathbb {R}}}}^d\) be convex polytopes with affine hulls of complementary dimensions, \(p = \mathrm{dim\,}{P}\), \(q = \mathrm{dim\,}{Q}\), and \(p+q = d\), that intersect in a single point. Then

$$\begin{aligned}&\mathrm{int\,}{P}\cap \mathrm{int\,}{Q} \ne \emptyset \implies {{\mathrm{inLk}}{({P},{Q})}} \simeq {{{\mathbb {S}}}}^{q-1},\ {{\mathrm{outLk}}{({P},{Q})}} \simeq {{{\mathbb {S}}}}^{p-1}, \end{aligned}$$
(10)
$$\begin{aligned}&\quad \quad \quad P \cap Q = \emptyset \implies {{\mathrm{inLk}}{({P},{Q})}}\ \text {and}\ {{\mathrm{outLk}}{({P},{Q})}}\ \text {contractible}, \end{aligned}$$
(11)
$$\begin{aligned}&\begin{aligned}&\mathrm{int\,}{P} \cap \mathrm{int\,}{Q} = \emptyset \ \text {and}\ P \cap Q \ne \emptyset \\&\quad \quad \quad \implies {{\mathrm{inLk}}{({P},{Q})}}\ \text {or}\ {{\mathrm{outLk}}{({P},{Q})}}\ \text {contractible}. \end{aligned} \end{aligned}$$
(12)

Proof

Assume without loss of generality that the affine hulls of P and Q intersect at \(0 \in {{{\mathbb {R}}}}^d\). Every facet E of \(R = P \times Q\) is either of the form \(F\times Q\) or \(P \times G\), in which F and G are facets of P and Q, respectively. Whether or not E belongs to the in-link or the out-link depends on the relative position of E and 0, and the rule is opposite for the two forms. To explain, we let v the unit normal of E and call E visible or invisible (from 0) if \({\langle v , s \rangle }\) is non-positive or non-negative, respectively, for every \(s \in E\). We observe that \({{\mathrm{inLk}}{({P},{Q})}}\) contains all visible facets of the form \(E = F \times Q\) and all invisible facets of the form \(E=P\times G\), while \({{\mathrm{outLk}}{({P},{Q})}}\) contains all invisible facets of the first type and all visible facets of the second type.

In the first case, when \(\mathrm{int\,}{P} \cap \mathrm{int\,}{Q} \ne \emptyset \), 0 belongs to the interior of R. Hence none of the facets of R are visible and all facets are invisible, which implies that the in-link is \(P \times \partial {Q}\), which has the homotopy type of a \((q-1)\)-sphere. Symmetrically, the out-link is \(\partial P \times Q\), which has the homotopy type of the \((p-1)\)-sphere. This proves (10).

To prepare the second case, consider a q-dimensional convex polytope Q in \({{{\mathbb {R}}}}^q\). Letting H be a hyperplane (in \({{{\mathbb {R}}}}^q\)) that separates 0 from Q, we can apply a projective transformation that maps H to infinity, 0 to another point \(0'\), and Q to another convex polytope \(Q'\), all in \({{{\mathbb {R}}}}^q\). We may imagine this transform moves H to infinity, pushing 0 in front of it to disappear to infinity and then return from the other side. Importantly, a facet of Q is visible (invisible) from 0 iff the corresponding facet of \(Q'\) is invisible (visible) from \(0'\). We will make use of this construction shortly.

In the second case, when \(P \cap Q = \emptyset \), not all facets of R are invisible. Since \(0\notin R\), it is outside at least one of P and Q, and we assume without loss of generality \(0 \notin Q\). To distinguish the two types of facets of R, we consider P and Q within their respective affine hulls. Specifically, there is a bijection between the visible facets of R, on the one side, and the visible facets of P inside \(\mathrm{aff\,}{P}\) and of Q inside \(\mathrm{aff\,}{Q}\), on the other side. For the in-link, we need the visible facets of P and the invisible facets of Q, so we apply a projective transformation that maps Q to \(Q'\) and 0 to \(0'\)—all still in \(\mathrm{aff\,}{Q}\)—such that a facet of Q is invisible from 0 iff the corresponding facet of \(Q'\) is visible from \(0'\). We do the transformation within \(\mathrm{aff\,}{Q}\), so it does not affect P. We get a new product, \(R' = P\times Q'\) and we are interested in the part of the boundary that is visible from \(0'\). Since \(R'\) is convex and \(0'\notin R'\), this part of \(\partial R'\) is contractible, which implies that the corresponding part of \(\partial R\), which is \({{\mathrm{inLk}}{({P},{Q})}}\), is also contractible. Symmetrically, the invisible part of \(\partial R'\) is contractible, which implies that \({{\mathrm{outLk}}{({P},{Q})}}\) is also contractible. This proves (11).

In the third case, when \(\mathrm{int\,}{P} \cap \mathrm{int\,}{Q}=\emptyset \) and \(P \cap Q \ne \emptyset \), 0 belongs to \(\partial R\). The facets that contain 0 are both visible and invisible (from 0). Assume without loss of generality that \(0 \in \partial Q\). Then we can move 0 to some point \(0'\), still within \(\mathrm{aff\,}{Q}\) but slightly outside Q, in such a way that a facet of Q is visible from 0 iff it is visible from \(0'\). Now we are in the second case as far as the visible facets of Q are concerned, which implies that the out-link of P and Q is contractible. This proves (12). Note that this construction is not symmetric, as moving 0 to \(0''\) inside Q preserves the invisible facets of Q but does not imply a contractible in-link. However, we need only one contractible link, which completes the proof. \(\square \)

Fig. 6
figure 6

The cube on the left is the product of a line segment and a square that intersect inside the cube. The octahedron on the right is dual to the cube. The dotted level set of \({{\,\mathrm{sd}\,}}\) passes through this intersection point and splits the vertices of the octahedron depending on whether they have larger or smaller value of \({{\,\mathrm{sd}\,}}\) than u

In the application of Lemma 3.5, \(P \times Q\) will be dual to the local neighborhood of a vertex \(u\in {\mathrm{Sd}{({B})}}\). In Fig. 6, the local neighborhood of u is drawn as the dual polytope of \(P\times Q\), denoted \(D = D(P,Q)\), whose \((p-1)\)-dimensional faces correspond to the p-dimensional cells of \({\mathrm{Sd}{({B})}}\) that share u. The d-cells among them correspond to the vertices of \(P \times Q\), and letting \(\gamma \) be such a d-cell and s the corresponding vertex, we will see that \(\psi (x) \in {{{\mathbb {S}}}}^{d-1}\) is the normalized gradient of \({{\,\mathrm{sd}\,}}\) restricted to \(\gamma \). The edges of \({\mathrm{Sd}{({B})}}\) that share u correspond to the facets of \(P \times Q\), and as discussed in Lemma 3.4, the gradient of \({{\,\mathrm{sd}\,}}\) restricted to such an edge is an affine combination of the gradients of \({{\,\mathrm{sd}\,}}\) restricted to the d-cells that share the edge. The gradient either points from u to the other endpoint of the edge, or from that endpoint to u. We can therefore label the vertices of D as having a larger or smaller value of \({{\,\mathrm{sd}\,}}\) than u. In the generic case, this splits the vertices into \(V \sqcup W\). Write F(V) for the full subcomplex of \(\partial D\) with vertices V, which consists of all faces of D whose vertices all belong to V. Symmetrically, F(W) is the full subcomplex of \(\partial D\) with vertices W.

Lemma 3.6

(full subcomplexes)   Let \(P \times Q\) be a d-dimensional polytope in \({{{\mathbb {R}}}}^d\), in which P and Q are a p- and a q-dimensional convex polytope with \(p+q = d\), and let \(D = D(P,Q)\) be the dual polytope. After assigning vectors to the surface points as explained above, we have

$$\begin{aligned} {{\mathrm{inLk}}{({P},{Q})}} \simeq F(W)\quad \text {and}\quad {{\mathrm{outLk}}{({P},{Q})}} \simeq F(V) . \end{aligned}$$

Proof

It suffices to prove the first homotopy equivalence. A facet of \(P \times Q\) belongs to the in-link iff the corresponding vertex of D belongs to W. The full subcomplex of \(\partial D\) with vertices W is the nerve of the covering of \({{\mathrm{inLk}}{({P},{Q})}}\) by its facets. The nerve lemma implies that the two have same homotopy type. \(\square \)

3.4 Up- and Down-Links

Since the continuous functions we study are not smooth, it is necessary to define what we mean by a critical point. We need a definition that is general enough to apply to piecewise linear and to piecewise quadratic functions. Letting \(f :{{{\mathbb {R}}}}^d \rightarrow {{{\mathbb {R}}}}\) be such a function and \(x \in {{{\mathbb {R}}}}^d\), we write \(S_r = S_r (x)\) for the \((d-1)\)-sphere with radius \(r > 0\) and center x. Letting \(S_r^-\) contain all \(y \in S_r\) with \(f(y) \le 0\), we note that its homotopy type is the same for all sufficiently small radii. Fixing a sufficiently small \({\varepsilon }>0\), we call \(S_{\varepsilon }^-\) the down-link of x and f, denoted \({{\mathrm{dnLk}}{({x},{f})}}\). Symmetrically, \(S_r^+\) contains all points \(y\in S_r\) with \(f(y)\ge 0\), and we call \(S_{\varepsilon }^+\) the up-link of x and f, denoted \({{\mathrm{upLk}}{({x},{f})}}\). We call x a non-critical point of f if at least one of the two links is contractible. All points with topologically more complicated up- and down-links are critical points of f, where we note that the empty link is not contractible. See Fig. 7 for the local pictures that arise for a 2-dimensional piecewise linear function. In the generic case, the down-link is contractible iff the up-link is contractible. The “at least one” rule is used to classify borderline cases as non-critical. An example is the southern hemisphere as the down-link and the northern hemisphere together with the south-pole as the up-link.

To study the critical points of \(f = {{\,\mathrm{vor}\,}}\), we fix \(x \in {{{\mathbb {R}}}}^d\) and let \(A \subseteq B\) be the subset of weighted points such that \(x \in \mathrm{int\,}{{\mathrm{cell}{({A})}}}\). Setting \(h^2 = {{\,\mathrm{vor}\,}}(x)\), x lies on the boundary of \({{\,\mathrm{vor}\,}}^{-1} (- \infty , h^2]\), which is a union of closed balls, namely the balls with centers \({p_{a}}\) and squared radii \({w_{a}} + h^2\), for \(a \in B\). Specifically, by definition of \({\mathrm{cell}{({A})}}\), x lies on the boundary of such a ball if \(a \in A\), and it lies outside the ball if \(a \in B \setminus A\). We get the two links by intersecting the union and its closed complement with a sphere of sufficiently small radius \({\varepsilon }\):

$$\begin{aligned} {{\mathrm{dnLk}}{({x},{{{\,\mathrm{vor}\,}}})}}&= {S_{{\varepsilon }}{({x})}} \cap {{\,\mathrm{vor}\,}}^{-1} (- \infty , h^2] , \\ {{\mathrm{upLk}}{({x},{{{\,\mathrm{vor}\,}}})}}&= {S_{{\varepsilon }}{({x})}} \cap {{\,\mathrm{vor}\,}}^{-1} [h^2, \infty ) . \end{aligned}$$

For each \(a \in A\), the intersection of \({S_{{\varepsilon }}{({x})}}\) with the ball defined by a and \(h^2\) is a closed cap that approximates the complement of a hemisphere arbitrarily closely. The down-link is then the union of the caps defined by the points in A. By Lemma 3.3, there are only \(d+2\) homotopy types for \({{\mathrm{dnLk}}{({x},{{{\,\mathrm{vor}\,}}})}}\), namely either contractible or a (thickened) \((q-1)\)-dimensional great sphere for \(0 \le q \le d\). Symmetrically, there are only \(d+2\) homotopy types for \({{\mathrm{upLk}}{({x},{{{\,\mathrm{vor}\,}}})}}\), namely either contractible or a (thickened) \((p-1)\)-dimensional great sphere with \(p=d-q\). If at least one of the two links is contractible, then x is a non-critical point of \({{\,\mathrm{vor}\,}}\), and otherwise, it is a critical point with index q. The symmetric argument applies to \({{\,\mathrm{del}\,}}\), so x can be either a non-critical point of \({{\,\mathrm{del}\,}}\) or a critical point. In this particular case, we have only \(d+1\) types of critical points, characterized by \(p+q = d\). In these few cases, we call q the index of the critical point.

Fig. 7
figure 7

From left to right: typical patterns of level sets in the neighborhood of a non-critical point, a minimum (index 0), a saddle (index 1), and a maximum (index 2) in two dimensions. The corresponding down-link is a single contractible arc, empty, two disjoint contractible arcs, and the full circle, respectively. The patterns are cut out of the larger context in Fig. 11 (d), where the middle level set is shown using thin black lines

3.5 Coincidental Critical Points

Recall that \({{\,\mathrm{del}\,}}(x) \ge {{\,\mathrm{sd}\,}}(x) \ge {{\,\mathrm{vor}\,}}(x)\) by Lemma 3.1. We strengthen this result by proving further connections between the three functions. Specifically, we prove that every point \(x \in {{{\mathbb {R}}}}^d\) is of the same type for \({{\,\mathrm{vor}\,}}\), \({{\,\mathrm{del}\,}}\), and their average, \({{\,\mathrm{sd}\,}}\). Let \(\gamma = \tau \cap \sigma ^*\) be a d-dimensional cell, with \(b \in B\) and \(c \in C\) such that \(\tau = {\mathrm{cell}{({b})}}\) and \(\sigma ^* = {\mathrm{cell}{({c})}}\). The restriction of \({{\,\mathrm{sd}\,}}\) to \(\gamma \) satisfies

$$\begin{aligned} \begin{aligned} {{\,\mathrm{sd}\,}}(x)&=\frac{{{\,\mathrm{del}\,}}(x) + {{\,\mathrm{vor}\,}}(x)}{2} \\&=\frac{-{{\pi }_{c}}(x)/2+{{\pi }_{b}}(x)/2}{2}=\frac{{\langle x , {p_{c}}-{p_{b}} \rangle }}{2} + \mathrm{const}. \end{aligned} \end{aligned}$$
(13)

Hence, \({p_{c}} - {p_{b}}\) is twice the gradient of \({{\,\mathrm{sd}\,}}\) at every point in \(\mathrm{int\,}{\gamma }\). We use this insight together with Lemma 3.4 to prove the main result of this section.

Theorem 3.7

(coincidental critical points)   Let \(B \subseteq {{{\mathbb {R}}}}^d \times {{{\mathbb {R}}}}\) be a Delone set of weighted points. Then \(x \in {{{\mathbb {R}}}}^d\) is a critical point of \({{\,\mathrm{vor}\,}}:{{{\mathbb {R}}}}^d \rightarrow {{{\mathbb {R}}}}\) iff it is a critical point of \({{\,\mathrm{del}\,}}:{{{\mathbb {R}}}}^d \rightarrow {{{\mathbb {R}}}}\) iff it is a critical point of \({{\,\mathrm{sd}\,}}:{{{\mathbb {R}}}}^d \rightarrow {{{\mathbb {R}}}}\), and in this case \({{\,\mathrm{del}\,}}(x) = {{\,\mathrm{sd}\,}}(x) = {{\,\mathrm{vor}\,}}(x)\) and the index of x is defined and the same for all three functions.

Proof

We prove that \(x \in {{{\mathbb {R}}}}^d\) is a critical point (of \({{\,\mathrm{vor}\,}}\), \({{\,\mathrm{del}\,}}\), and \({{\,\mathrm{sd}\,}}\)) iff \(x = \mathrm{int\,}{\nu } \cap \mathrm{int\,}{\nu ^*}\) for a cell \(\nu \in {\mathrm{Vor}^{}{({B})}}\) and its dual cell \(\nu ^* \in {\mathrm{Del}_{}{({B})}}\), and that the index of such a critical point is \(q = \mathrm{dim\,}{\nu ^*}\). Furthermore, \({{\,\mathrm{del}\,}}(x) = {{\,\mathrm{sd}\,}}(x) = {{\,\mathrm{vor}\,}}(x)\) in this case by Lemma 2.1.

We begin with \(f = {{\,\mathrm{vor}\,}}\), which maps every \(x \in {{{\mathbb {R}}}}^d\) to half the smallest power distance to a weighted point in B. The restriction of \({{\,\mathrm{vor}\,}}\) to a Voronoi cell \(\nu \) is also the restriction of a quadratic function on \(\mathrm{aff\,}{\nu }\) to \(\nu \). This quadratic function has a unique minimum, namely at \(y = \mathrm{aff\,}{\nu } \cap \mathrm{aff\,}{\nu ^*}\). The only possibility for a point \(x \in \mathrm{int\,}{\nu }\) to be a critical point of \({{\,\mathrm{vor}\,}}\) is therefore \(x = y\). This implies that \(\mathrm{int\,}{\nu } \cap \mathrm{aff\,}{\nu ^*} \ne \emptyset \) is necessary for x to be critical. Symmetrically, \(\mathrm{aff\,}{\nu } \cap \mathrm{int\,}{\nu ^*} \ne \emptyset \) is necessary, which implies that \(\mathrm{int\,}{\nu } \cap \mathrm{int\,}{\nu ^*} \ne \emptyset \) is necessary. It is easy to see that the latter condition is also sufficient because \({{\,\mathrm{vor}\,}}\) increases along all directions within \(\mathrm{aff\,}{\nu }\) and it decreases in all other directions. The index is the dimension of the affine subspace within which x is a maximum of f, which is \(q=\mathrm{dim\,}{\nu ^*}\), as claimed. The argument for \(f = {{\,\mathrm{del}\,}}\) is symmetric and therefore omitted. The index is still q, and not p as suggested by symmetry, because \({{\,\mathrm{del}\,}}\) maps every \(x \in {{{\mathbb {R}}}}^d\) to the negative of the smallest power distance to a weighted point in C.

The argument for \(f = {{\,\mathrm{sd}\,}}\) is more involved. Since this function is piecewise linear, the only possible critical points are the vertices of \({\mathrm{Sd}{({B})}}\). We assume that cells \(\nu \) and \(\mu ^*\) with complementary dimensions have interiors that are either disjoint or intersect in a single point, which is therefore a vertex of \({\mathrm{Sd}{({B})}}\). Writing \(u = \mathrm{int\,}{\nu } \cap \mathrm{int\,}{\mu ^*}\), we let \(S_{\varepsilon }(u)\) be a sufficiently small sphere centered at u. It intersects a cell of dimension at least 1 of \({\mathrm{Sd}{({B})}}\) iff that cell contains u as one of its vertices. The intersections of these cells with \(S_{\varepsilon }(u)\) define a cell complex dual to the boundary complex of \(P \times Q\), in which \(P = \mu \) and \(Q = \nu ^*\). For every \(v \in {{{\mathbb {S}}}}^{d-1}\), we write \({{\,\mathrm{sd}\,}}_v (u)\) for the slope of \({{\,\mathrm{sd}\,}}\) at u in the direction v. The goal is to prove that the down- and up-links of u and \({{\,\mathrm{sd}\,}}\) are closely related to the in- and out-links of P and Q, namely

$$\begin{aligned} {{\mathrm{dnLk}}{({u},{{{\,\mathrm{sd}\,}}})}} \simeq {{\mathrm{inLk}}{({P},{Q})}} \quad \text {and}\quad {{\mathrm{upLk}}{({u},{{{\,\mathrm{sd}\,}}})}} \simeq {{\mathrm{outLk}}{({P},{Q})}} . \end{aligned}$$
(14)

By Lemma 3.5, the in- and out-links of P and Q either have the homotopy types of \({{{\mathbb {S}}}}^{q-1}\) and \({{{\mathbb {S}}}}^{p-1}\), if \(\mathrm{int\,}{P} \cap \mathrm{int\,}{Q} \ne \emptyset \), or at least one link is contractible, if \(\mathrm{int\,}{P}\cap \mathrm{int\,}{Q}=\emptyset \). Assuming (14), this implies that the down- and up-links of u and \({{\,\mathrm{sd}\,}}\) have the homotopy types of \({{{\mathbb {S}}}}^{q-1}\) and \({{{\mathbb {S}}}}^{p-1}\), if \(\nu = \mu \), and at least one is contractible, if \(\nu \ne \mu \). Indeed, \(\nu \ne \mu \) together with \(\mathrm{int\,}{\nu } \cap \mathrm{int\,}{\mu ^*} \ne \emptyset \) implies \(\mathrm{int\,}{P} \cap \mathrm{int\,}{Q} = \emptyset \) by Theorem 3.2.

We finally prove (14). Recall that every vertex of \(P \times Q\) corresponds to a d-cell of \({\mathrm{Sd}{({B})}}\) incident to u, and every facet corresponds to an edge incident to u. Recall also that the map \(\psi :\partial (P \times Q) \rightarrow {{{\mathbb {S}}}}^{d-1}\) introduced in Sect. 3.3 sends every vertex \(s = y + z\) of \(P \times Q\) to \(\psi (s) = (y-z) / {\Vert {y}-{z}\Vert }\). In the notation of (13), \(y = {p_{c}}\) and \(z = {p_{b}}\), so \(\psi (s)\) is a positive multiple of the gradient of \({{\,\mathrm{sd}\,}}\) restricted to the d-cell in \({\mathrm{Sd}{({B})}}\) that corresponds to s. To continue, we assume without loss of generality that u is the origin of \({{{\mathbb {R}}}}^d\), we consider a facet E of \(P \times Q\), and we let e be the corresponding edge of \({\mathrm{Sd}{({B})}}\) emanating from u. Observe that the gradient of the restriction of \({{\,\mathrm{sd}\,}}\) to the edge e is a constant multiple of the unit normal of E. This puts us in the setting Lemma 3.6, which implies the claimed homotopy equivalence. \(\square \)

4 Discrete Functions

Parallel to the continuous functions studied in Sect. 3, we introduce discrete functions on the Voronoi tessellation, the Delaunay mosaics, and their common subdivision. We then study the structure of their steps, which we classify depending on their effect on the homology of the sublevel set. We employ a homological instead of the stronger homotopical viewpoint usually considered in discrete Morse theory to handle the complicated local situations that can arise when points are not in general position.

4.1 Min and Max Functions

Taking the minimum or maximum over all points of a cell, we turn the continuous functions of Sect. 3 into discrete functions. In particular, we introduce \({\mathtt{vor}}:{\mathrm{Vor}^{}{({B})}} \rightarrow {{{\mathbb {R}}}}\), \({\mathtt{del}}:{\mathrm{Del}_{}{({B})}} \rightarrow {{{\mathbb {R}}}}\), and \({\mathtt{sdn}}, {\mathtt{sdx}}:{\mathrm{Sd}{({B})}} \rightarrow {{{\mathbb {R}}}}\) defined by

$$\begin{aligned} \begin{aligned} {\mathtt{vor}}(\tau )&= \max _{x \in \tau ^*} {{\,\mathrm{del}\,}}(x) ,&\qquad {\mathtt{del}}(\sigma ^*)&= \min _{x \in \sigma } {{\,\mathrm{vor}\,}}(x) ,\\ {\mathtt{sdn}}(\gamma )&= \min _{x \in \gamma } {{\,\mathrm{sd}\,}}(x) ,&\qquad {\mathtt{sdx}}(\gamma )&= \max _{x \in \gamma } {{\,\mathrm{sd}\,}}(x) . \end{aligned} \end{aligned}$$

We note that \({\mathtt{vor}}\) is defined in terms of \({{\,\mathrm{del}\,}}\) and \({\mathtt{del}}\) in terms of \({{\,\mathrm{vor}\,}}\). This is not a mistake but motivated by our desire to obtain monotonic discrete functions and staying consistent with the standard literature on alpha shapes [7, 9]. It will often be convenient to apply the discrete Voronoi and Delaunay functions to the common subdivision. Technically, these are different functions, \({\mathtt{sdv}}, {\mathtt{sdd}}:{\mathrm{Sd}{({B})}} \rightarrow {{{\mathbb {R}}}}\), defined by \({\mathtt{sdv}}(\gamma ) = {\mathtt{vor}}(\tau )\) and \({\mathtt{sdd}}(\gamma ) = {\mathtt{del}}(\sigma ^*)\), whenever \(\gamma = \tau \cap \sigma ^*\).

4.2 Homological Framework

As introduced in Sect. 2.4, the step graph of a monotonic function defines a partial order on the steps. We can construct the complex by adding the steps one at a time according to a linear extension of this partial order. To determine the effect of adding a step to a subcomplex, we compute its relative homology, as we explain in this subsection. We prefer homology over stronger topological notions, such as homotopy, because it easily extends to complicated local situations and is readily computable.

Let \(J_0, J_1, \ldots , J_m\) be a linear extension of the partial order defined by the step graph of \(f :K \rightarrow {{{\mathbb {R}}}}\). This order may or may not be consistent with the sublevel sets of f, in the sense that the corresponding values listed in the same order may or may not be sorted. Write \(K_j = \bigcup _{0 \le i \le j} J_i\), note that \(K_j\) is closed, and get \(K_{j+1} = K_j \sqcup J_{j+1}\) by adding the next step. To describe how the addition of \(J = J_{j+1}\) affects the homology of the complex, we consider the pair \(( {\bar{J}}, {\dot{J}} )\), in which \({\bar{J}} = \mathrm{cl\,}{J}\) is the closure and \({\dot{J}} = {\bar{J}} \setminus J\). Since \(K_j \sqcup J\) is a complex, we have \({\dot{J}} = K_j \cap {\bar{J}}\), which is the intersection of two complexes and therefore a complex itself. We are interested in the relative homology of \(( {\bar{J}}, {\dot{J}} )\), since it will allow us to deduce the homology of \(K_{j+1}\) from that of \(K_j\). Fixing a coefficient group to compute homology, we classify the steps according to the ranks of the relative homology groups, which we denote as \({{\beta }_{p}} = {\mathrm{rank\,}{{\mathsf{H}}_p ({\bar{J}}, {\dot{J}})}}\) for all dimensions p.

Definition 4.1

(critical step)   We call J a non-critical step of f if \({{\beta }_{p}} = 0\) for all \(p \ge 0\). Otherwise, J is a critical step. It is a simple critical step of index p if all ranks vanish except in a single dimension, p, in which \({{\beta }_{p}} = 1\).

Critical steps with more than one non-zero Betti number or a Betti number larger than 1 does not have an index. We can, however, understand it as the combination of several simple critical steps, namely \({{\beta }_{p}}\) such steps of index p for every \({{\beta }_{p}} > 0\). This easy unfolding of a complicated critical step into simple ones is one of the most compelling reasons for using homology to build the framework for a classification of monotonic discrete functions, which includes discrete Morse functions as a special case.

We now explain how to deduce the homology of a complex from the homology of its predecessor and the relative homology of the step. We get the homology of \(K_{j+1} = K_j \sqcup J\) using the long exact sequence of a pair:

$$\begin{aligned} \ldots \rightarrow {\mathsf{H}}_p (K_j) \rightarrow {\mathsf{H}}_p (K_{j+1})\rightarrow {\mathsf{H}}_p (K_{j+1}, K_j)\rightarrow {\mathsf{H}}_{p-1} (K_j) \rightarrow \ldots \end{aligned}$$

Note that \({\mathsf{H}}_p (K_{j+1}, K_j)\) is isomorphic to \({\mathsf{H}}_p ({\bar{J}},{\dot{J}})\) for every dimension p by excision. Assuming the ranks of the homology groups of \(K_j\) and of \(({\bar{J}}, {\dot{J}})\) are given, there are very few options for the ranks of \(K_{j+1}\) that make the sequence exact. For example, if J is a non-critical step, then \({\mathrm{rank\,}{{\mathsf{H}}_p (K_{j+1})}} = {\mathrm{rank\,}{{\mathsf{H}}_p (K_j)}}\) for every p. If J is a simple critical step with index p, then either \({\mathrm{rank\,}{{\mathsf{H}}_p (K_{j+1})}}={\mathrm{rank\,}{{\mathsf{H}}_p(K_j)}} + 1\) or \({\mathrm{rank\,}{{\mathsf{H}}_{p-1} (K_{j+1})}} = {\mathrm{rank\,}{{\mathsf{H}}_{p-1}(K_j)}}-1\), with equal ranks in all other dimensions.

4.3 Structure of Critical and Non-critical Steps

Note that for a discrete or generalized discrete Morse function, every critical step is simple and indeed consists of only a single cell. In contrast, the discrete version of a generic piecewise linear map can have non-simple critical steps, such as monkey saddles, etc. However, these steps are still special since each has a unique lower bound, which is a vertex.

Similarly, the discrete functions in this paper are special cases within the general framework introduced in the previous subsection. In particular, each step of the Delaunay function, \({\mathtt{del}}:{\mathrm{Del}_{}{({B})}} \rightarrow {{{\mathbb {R}}}}\), has a unique upper bound, as we will prove shortly. To include the discrete Voronoi function in this discussion, we note that \({\mathtt{vor}}:{\mathrm{Vor}^{}{({B})}} \rightarrow {{{\mathbb {R}}}}\) is anti-monotonic, so \(- {\mathtt{vor}}\) is monotonic, the above discussion applies, and every step of \({\mathtt{vor}}\) has a unique upper bound as well. Furthermore, the critical steps of \({\mathtt{del}}\) and \({\mathtt{vor}}\) contain a single cell each and are therefore simple, as we now prove.

Theorem 4.2

(step structure)   Every step of \({\mathtt{vor}}\) and of \({\mathtt{del}}\) has a unique upper bound, and if it is critical, then it consists of a single cell whose dimension is equal to the index of the step. Furthermore, if \(\sigma \in {\mathrm{Vor}^{}{({B})}}\) is critical, then \(\sigma ^* \in {\mathrm{Del}_{}{({B})}}\) is critical, and \({\mathtt{vor}}(\sigma ) = {\mathtt{del}}(\sigma ^*)\).

Proof

We first prove that every step of \({\mathtt{del}}\) has a unique upper bound, and we omit the proof for \({\mathtt{vor}}\), which is symmetric. Recall that \({{\,\mathrm{env}\,}}= {\varpi }- {{\,\mathrm{vor}\,}}\) is piecewise linear and convex, and observe that

$$\begin{aligned} {\mathtt{del}}(\sigma ^*)= \min _{x \in \sigma }\, [{\varpi }(x) - {{\,\mathrm{env}\,}}(x)]. \end{aligned}$$
(15)

Because \(\sigma \) is convex, \({{\,\mathrm{env}\,}}\) is linear on \(\sigma \), and \({\varpi }\) is strictly convex, the minimum on the right-hand side of (15) is attained at a unique point, which we denote \(y= y (\sigma )\). The step J of \({\mathtt{del}}\) that contains \(\sigma ^*\) also contains every \(\tau ^* \in {\mathrm{Del}_{}{({B})}}\) with \(y(\tau )=y\). It contains no other cell, else there would be a cell with two points minimizing a strictly convex function. Let \(\upsilon ^*\) be the unique cell in J such that \(\upsilon \) contains y in its interior. It follows that \(\upsilon \subseteq \tau \) for all \(\tau ^* \in J\), which is equivalent to \(\tau ^* \subseteq \upsilon ^*\) for all \(\tau ^* \in J\). Hence \(\upsilon ^*\) is the unique upper bound of J.

We second prove that every step that contains two or more cells is non-critical. Such a step, J, has a unique upper bound, \(\sigma ^*\). Write \(q = \mathrm{dim\,}{\sigma ^*}\), and let \(A \subseteq B\) consist of the weighted points such that \(\sigma ^*\) is the convex hull of their locations. Let \(S_r(x)\) be the smallest sphere such that \({{\pi }_{a}}(x) = r^2\) for every \(a\in A\), and recall that this sphere is unique. Because \(\sigma ^*\) is an upper bound, the minimizing point, \(y = y(\sigma )\), is in the interior of \(\sigma \), and therefore \(x=y\). Furthermore, \({{\pi }_{b}}(x) > r^2\) for all \(b \in B \setminus A\), else the location of b would be a vertex of \(\sigma ^*\) and therefore \(b\in A\). All cells \(\tau ^* \in J \setminus \{\sigma ^*\}\) are faces of \(\sigma ^*\) that are visible from x. When x lies on the boundary of \(\sigma ^*\), these are the faces that contain x. In the generic case in which \(x\notin \sigma ^*\), these are the faces \(\tau ^*\) of \(\sigma ^*\) such that for every point \(z \in \mathrm{int\,}{\tau ^*}\) the line segment connecting x and z is disjoint from \(\mathrm{int\,}{\sigma ^*}\), while the line that passes through x and z has a non-empty intersection with \(\mathrm{int\,}{\sigma ^*}\). Moreover, J contains all faces of \(\sigma ^*\) that are visible from x. By convexity of \(\sigma ^*\), this implies that the union of interiors of the cells in \(J \setminus \{\sigma ^*\}\) is an open \((q-1)\)-ball. As before, we define \({\bar{J}} = \mathrm{cl\,}{J}\) and \({\dot{J}} ={\bar{J}}\setminus J\). Since \({\bar{J}}\) is a closed q-ball and \({\dot{J}}\) is a closed \((q-1)\)-ball in its boundary, the rank of \({\mathsf{H}}_p ({\bar{J}},{\dot{J}}) = 0\) for every dimension p. Hence, J is non-critical, which implies that every critical step consists of a single cell, as claimed. Adding a cell of dimension q to the appropriate sublevel set affects either the q-th or the \((q-1)\)-st homology group, which implies that the index of a critical step is the dimension of its cell, again as claimed.

We finally note that \(\sigma \in {\mathrm{Vor}^{}{({B})}}\) and \(\sigma ^* \in {\mathrm{Del}_{}{({B})}}\) are critical iff \(\mathrm{int\,}{\sigma } \cap \mathrm{int\,}{\sigma ^*} \ne \emptyset \). The point where the two cells intersect is also a critical point of the corresponding continuous functions, \({{\,\mathrm{vor}\,}}, {{\,\mathrm{del}\,}}:{{{\mathbb {R}}}}^d\rightarrow {{{\mathbb {R}}}}\). By Theorem 3.7, \({{\,\mathrm{vor}\,}}(x) = {{\,\mathrm{del}\,}}(x)\) for every critical point, which implies \({\mathtt{vor}}(\sigma ) = {\mathtt{del}}(\sigma ^*)\). \(\square \)

We observe that our definition of a critical step is consistent with that of a critical point. An interesting detail are the borderline non-critical points, which we recall have a contractible down-link and a non-contractible up-link, or the other way round. Correspondingly in the discrete setting, we call \(\tau \in {\mathrm{Vor}^{}{({B})}}\) a borderline non-critical cell if \(\tau \cap \tau ^* \ne \emptyset \) but \(\mathrm{int\,}{\tau } \cap \mathrm{int\,}{\tau ^*} = \emptyset \). A borderline non-critical cell is not critical, but there are arbitrarily small perturbations of the weighted points in B that render such a cell critical. Note that \(\tau \) is a borderline non-critical cell of \({\mathtt{vor}}\) iff \(\tau ^*\) is a borderline non-critical cell of \({\mathtt{del}}\). To bring such cases in focus, we introduce a condition that avoids them.

Definition 4.3

(general position)   A Delone set of weighted points, \(B \subseteq {{{\mathbb {R}}}}^d \times {{{\mathbb {R}}}}\), is in general position if \({\mathtt{vor}}\) has no borderline non-critical cell or, equivalently, if \({\mathtt{del}}\) has no borderline non-critical cell.

Note that this notion of general position is independent of the condition that guarantees simple Voronoi tessellations and simplicial Delaunay mosaics.

5 Complementing Subcomplexes

The main new concept in this section, is the channel between complementing subcomplexes of the Voronoi tessellation and the Delaunay mosaic. This channel acts like a buffer between the complexes, not unlike the buffer used in the standard proof of Alexander duality [18].

5.1 Sub- and Superlevel Sets

Observe that for \({\mathtt{del}}\) and \({\mathtt{sdx}}\), the value of a cell is larger than or equal to the values of its faces, and for \({\mathtt{vor}}\) and \({\mathtt{sdn}}\), it is less than or equal to the values of its faces. It follows that the following sub- and superlevel sets are complexes:

$$\begin{aligned} \begin{aligned} {\mathrm{Vor}^{t}{({B})}}&= {\mathtt{vor}}^{-1} [t, \infty ) ,&\qquad {\mathrm{Del}_{t}{({B})}}&= {\mathtt{del}}^{-1} (- \infty , t],\\ {\mathrm{Sd}^{t}{({B})}}&={\mathtt{sdn}}^{-1} [t, \infty ) ,&\qquad {\mathrm{Sd}_{t}{({B})}}&= {\mathtt{sdx}}^{-1} (- \infty , t] . \end{aligned} \end{aligned}$$

We extend (8) and (9) from the continuous to the discrete setting.

Lemma 5.1

(nested spaces)   Let \(B \subseteq {{{\mathbb {R}}}}^d \times {{{\mathbb {R}}}}\) be a Delone set of weighted points. Then \(|{\mathrm{Del}_{t}{({B})}}| \subseteq |{\mathrm{Sd}_{t}{({B})}}|\) and \(|{\mathrm{Vor}^{t}{({B})}}| \subseteq |{\mathrm{Sd}^{t}{({B})}}|\).

Proof

Recall the functions \({\mathtt{sdv}}, {\mathtt{sdd}}:{\mathrm{Sd}{({B})}} \rightarrow {{{\mathbb {R}}}}\) introduced at the end of Sect. 4.1. By construction, the underlying spaces of their sub- and superlevel sets agree with those of \({\mathtt{vor}}\) and \({\mathtt{del}}\). In particular, \(| {\mathtt{sdd}}^{-1} (-\infty , t] | = | {\mathrm{Del}_{t}{({B})}} |\) and \(| {\mathtt{sdv}}^{-1} [t, \infty ) | = | {\mathrm{Vor}^{t}{({B})}} |\). By Lemma 3.1, we have

$$\begin{aligned} {\mathtt{sdd}}(\gamma )&\ge {\mathtt{sdx}}(\gamma )\ge {\mathtt{sdn}}(\gamma )\ge {\mathtt{sdv}}(\gamma ) , \end{aligned}$$
(16)

for every \(\gamma \in {\mathrm{Sd}{({B})}}\). From this it follows that \({\mathtt{sdd}}^{-1} (-\infty , t] \subseteq {\mathtt{sdx}}^{-1} (-\infty , t]\) and \({\mathtt{sdv}}^{-1} [t, \infty ) \subseteq {\mathtt{sdn}}^{-1} [t, \infty )\). The sequence of inequalities in (16) thus imply the two claimed containment relations. \(\square \)

Let \(t \in {{{\mathbb {R}}}}\) be a value different from \({{\,\mathrm{sd}\,}}(x)\) for all vertices x of \({\mathrm{Sd}{({B})}}\). Then \({\mathrm{Sd}_{t}{({B})}} \cap {\mathrm{Sd}^{t}{({B})}} = \emptyset \), and similarly their underlying spaces are disjoint. Combining the two relations in Lemma 5.1, we therefore have \(|{\mathrm{Del}_{t}{({B})}}| \cap |{\mathrm{Vor}^{t}{({B})}}| = \emptyset \), which we illustrate in Fig. 8. On the other hand, if t is the value of a vertex, x, then x belongs to \({\mathrm{Sd}_{t}{({B})}}\) as well as to \({\mathrm{Sd}^{t}{({B})}}\). If x is furthermore a critical point of \({{\,\mathrm{sd}\,}}\), then x belongs also to \(|{\mathrm{Del}_{t}{({B})}}|\) and to \(|{\mathrm{Vor}^{t}{({B})}}|\).

Fig. 8
figure 8

Complementing subcomplexes of the Voronoi tessellation, in orange, and the Delaunay mosaic, in blue. The complexes are constructed for a non-critical value of t, for which their underlying spaces are disjoint

5.2 Channel

Since the sub- and superlevel sets of \({\mathtt{del}}\) and \({\mathtt{vor}}\) considered in Lemma 5.1 have disjoint underlying spaces, it makes sense to study the space in between. For each value \(t \in {{{\mathbb {R}}}}\), this is the underlying space of an open collection of cells in the common subdivision of the tessellation and the mosaic. For each cell \(\gamma = \tau \cap \sigma ^*\) in \({\mathrm{Sd}{({B})}}\), the relevant values are

$$\begin{aligned} t_0 (\gamma )= {\mathtt{sdv}}(\gamma ) = {\mathtt{vor}}(\tau ), \qquad t_1 (\gamma )= {\mathtt{sdd}}(\gamma ) = {\mathtt{del}}(\sigma ^*) . \end{aligned}$$

Moving t from \(- \infty \) to \(\infty \) along the real numbers, \(\tau \) is dropped from \({\mathrm{Vor}^{t}{({B})}}\) at \(t = t_0 (\gamma )\) and \(\sigma ^*\) is added to \({\mathrm{Del}_{t}{({B})}}\) at \(t = t_1 (\gamma )\). If \(\tau \) is a critical cell of \({\mathtt{vor}}\) and \(\sigma ^* = \tau ^*\) is the corresponding critical cell of \({\mathtt{del}}\), then \({\mathtt{vor}}(\tau ) = {\mathtt{del}}(\sigma ^*)\) by Theorem 4.2. Furthermore, \(\gamma \) is a point that belongs to both underlying spaces at \(t = t_0 (\gamma ) = t_1 (\gamma )\), and to exactly one of these underlying spaces for all other values of t. For all other cells \(\gamma = \tau \cap \sigma ^*\), Lemma 5.1 implies \(t_0 (\gamma ) < t_1 (\gamma )\). We therefore define the channel of B at t as

$$\begin{aligned} {\mathrm{Ch}_{t}{({B})}}=\{ \gamma = \tau \cap \sigma ^*\mid \tau \notin {\mathrm{Vor}^{t}{({B})}},\,\sigma ^* \notin {\mathrm{Del}_{t}{({B})}} \}; \end{aligned}$$
Fig. 9
figure 9

The channel decomposed into cells of the common subdivision of the Voronoi tessellation and the Delaunay mosaic, with the two complementing subcomplexes forming the white background. In black, we superimpose the level set of \({{\,\mathrm{sd}\,}}\) for the value of t that splits the channel into two

see Fig. 9. This is the complement of the union of two subcomplexes of \({\mathrm{Sd}{({B})}}\) or, equivalently, the intersection of two open sets:

$$\begin{aligned} {\mathrm{Ch}_{t}{({B})}}&={\mathrm{Sd}{({B})}}\setminus \bigl [ {\mathtt{sdd}}^{-1} (-\infty , t]\cup {\mathtt{sdv}}^{-1} [t, \infty ) \bigr ] \\&={\mathtt{sdd}}^{-1} (t, \infty )\cap {\mathtt{sdv}}^{-1} (- \infty , t). \end{aligned}$$

Recall that \({\mathtt{sdd}}(\gamma )\) is at least the maximum and \({\mathtt{sdv}}(\gamma )\) is at most the minimum \({{\,\mathrm{sd}\,}}(x)\) over all points \(x \in \gamma \). It follows that \({{\,\mathrm{sd}\,}}^{-1} (t)\) is disjoint of the underlying spaces of \({\mathtt{sdd}}^{-1} (-\infty , t]\) and \({\mathtt{sdv}}^{-1} [t, \infty )\), unless t is a critical value of \({{\,\mathrm{sd}\,}}\), in which case the corresponding critical points belong to all three. Hence, \({{\,\mathrm{sd}\,}}^{-1} (t)\) is contained in the underlying space of the channel, unless t is a critical value, in which case the level set passes through the corresponding critical points. We state this insight together with a related property more formally.

Lemma 5.2

(split channel)   Let \(B \subseteq {{{\mathbb {R}}}}^d \times {{{\mathbb {R}}}}\) be a Delone set of weighted points, and let \(t \in {{{\mathbb {R}}}}\) be a non-critical value of \({{\,\mathrm{sd}\,}}\). Then

  1. (i)

    \({{\,\mathrm{sd}\,}}^{-1} (t) \subseteq | {\mathrm{Ch}_{t}{({B})}} |\),

  2. (ii)

    \({{\,\mathrm{sd}\,}}^{-1} (t)\) is an orientable \((d-1)\)-manifold.

To see (ii), we observe that \({{\,\mathrm{sd}\,}}^{-1}(t)\) is \((d-1)\)-dimensional by construction, and it does not bifurcate because t is a non-critical value. Finally \({\mathrm{Del}_{t}{({B})}}\) is on one side and \({\mathrm{Vor}^{t}{({B})}}\) is on the other, so the manifold is orientable. If however t is a critical value of \({{\,\mathrm{sd}\,}}\), then both (i) and (ii) are violated, but only at the corresponding critical points. At these points, the level set and the channel both go through topological reorganization.

5.3 Migration Through Channel

For every non-critical value \(t \in {{{\mathbb {R}}}}\), we have a partition of \({{{\mathbb {R}}}}^d\) into \({\mathrm{Vor}^{t}{({B})}}\), \({\mathrm{Del}_{t}{({B})}}\), and \({\mathrm{Ch}_{t}{({B})}}\). We are interested in the evolution of this partition as t goes from \(-\infty \) to \(\infty \). It is convenient to study the corresponding partition of the common subdivision:

$$\begin{aligned} {\mathrm{Sd}{({B})}}={\mathtt{sdd}}^{-1} (- \infty , t] \sqcup {\mathrm{Ch}_{t}{({B})}}\sqcup {\mathtt{sdv}}^{-1} [t, \infty ). \end{aligned}$$
(17)

To get finite rank homology groups, we limit ourselves to periodic sets of weighted points. As introduced in Sect. 2, such a set is of the form \(B=A+({{{\mathbb {Z}}}}^d\times 0)\), in which \(A \subseteq [0,1)^d \times {{{\mathbb {R}}}}\) is finite with injective projection to \([0,1)^d\). Since B is periodic, so are the functions and their sub- and superlevel sets introduced in this paper. In particular, \({\mathrm{Sd}{({B})}}\) is periodic and so are the three sets on the right-hand side of (17). We can therefore interpret \({\mathtt{sdd}}^{-1} (-\infty , t]\) and \({\mathtt{sdv}}^{-1} [t, \infty )\) as complexes geometrically realized in the d-dimensional torus obtained by gluing opposite facets of \([0,1]^d\). These complexes are finite, with well-defined homology groups of finite rank:

$$\begin{aligned} {\mathsf{H}}_p ({\mathrm{Vor}^{t}{({B})}})= {\mathsf{H}}_p ({\mathtt{sdv}}^{-1} [t, \infty )) , \qquad {\mathsf{H}}_p ({\mathrm{Del}_{t}{({B})}})= {\mathsf{H}}_p ({\mathtt{sdd}}^{-1} (-\infty ,t]) , \end{aligned}$$

for every dimension, p, and every value, t. It will not be important which coefficient group is used, so we make the simplest choice, which is \({{{\mathbb {Z}}}}/ 2 {{{\mathbb {Z}}}}\). The ranks of the homology groups are the Betti numbers, denoted \({{\beta }_{p}} = {\mathrm{rank\,}{{\mathsf{H}}_p}}\).

For sufficiently small t, only one set on the right-hand side of (17) is non-empty, namely \({\mathtt{sdv}}^{-1}(-\infty ,\infty )={\mathrm{Sd}{({B})}}\). Its underlying space is the d-dimensional torus, which has Betti numbers \({{\beta }_{p}}=\left( {\begin{array}{c}d\\ p\end{array}}\right) \) for \(0 \le p \le d\). Step by step, the cells migrate first into the channel and second to the sublevel set of \({\mathtt{sdd}}\). For sufficiently large t, the migration is complete, and the only non-empty set on the right-hand side of (17) is \({\mathtt{sdd}}^{-1} (-\infty , \infty ) = {\mathrm{Sd}{({B})}}\). Indeed, every change is the migration of a step of \({\mathtt{sdv}}\) to the channel or the migration of a step of \({\mathtt{sdd}}\) from the channel. The non-critical steps do not affect the homology of the sets, so we focus on the critical steps.

5.4 Migration of Non-Critical Cells

To understand the homology of the migration, we consider the ordered boundary matrix of \({\mathrm{Del}_{}{({B})}}\) and its reduced version. To define this matrix, we arrange the cells of \({\mathrm{Del}_{}{({B})}}\) in non-decreasing order of \({\mathtt{del}}\), making sure that the cells in a step appear in sequence and in non-decreasing order of dimension. Each cell corresponds to a row and a column of the ordered boundary matrix\(\partial \), with the rows ordered from top to bottom and the columns from left to right. Following the standard approach to constructing persistent homology, we reduce the matrix using left-to-right column additions. Calling the lowest non-zero element in a column its pivot, the goal of the reduction algorithm is to move the pivots as high as possible, or even remove them by zeroing out entire columns. The matrix is reduced if every row contains at most one pivot. As proved in [3], the reduced matrix is not unique, but its pivots are; that is: they do not depend on which columns are added in what order, as long as they are added from left to right. Let R be a reduced matrix obtained from \(\partial \), and write \(\partial _i^j\) for the bottom left submatrix obtained from \(\partial \) by removing the first \(i-1\) rows from the first j columns. Define

$$\begin{aligned} r_\partial [i,j]= {\mathrm{rank\,}{\partial _i^j}} - {\mathrm{rank\,}{\partial _{i+1}^j}}+ {\mathrm{rank\,}{\partial _{i+1}^{j-1}}} - {\mathrm{rank\,}{\partial _i^{j-1}}} , \end{aligned}$$
(18)

and observe that \(R[i,j]\) is a pivot iff \(r_\partial [i,j]=1\); see the proof of [3, Pairing Uniqueness Lemma]. This motivates us to call \(\partial [i,j]\) a pivot if \(r_\partial [i,j] = 1\), knowing that this relation predicts the special role of the pair \(\sigma , \tau \), in which \(\sigma \) is the row and \(\tau \) is the column of the pivot. Indeed, when we add the cells in sequence, \(\sigma \) gives birth to a cycle, and \(\tau \) gives death to this same cycle. Specifically, if \(\sigma \) is a q-cell and \(\tau \) is a \((q+1)\)-cell, then their addition to the Delaunay subcomplex first increases and then decreases the q-th Betti number by one. We call these cells non-essential because they affect the homology groups only temporarily. An essential cell gives birth to a cycle that does not die. We recognize essential cells by noticing that neither its row nor its column in the reduced matrix contains a pivot. We are also interested in recognizing non-critical cells, which belong to steps of size at least 2. By Lemma 2.2, we may assume that all such steps have size exactly 2. Let \(\sigma , \tau \) be such a pair, let \(q=\mathrm{dim\,}{\sigma } = \mathrm{dim\,}{\tau } - 1\), and suppose the two cells correspond to rows \(k,k+1\) and to columns \(k,k+1\) in the ordered boundary matrix. In the reduced matrix, column k is zero and \(R[k,k+1]\) is the pivot of column \(k+1\). Since all elements in the diagonal or below are 0, this implies \(r_\partial [k,k+1] ={\mathrm{rank\,}{\partial _k^{k+1}}} = 1\). This can also happen for two critical cells, but only paired non-critical cells satisfy \({\mathtt{del}}(\sigma ) = {\mathtt{del}}(\tau )\).

Lemma 5.3

(removing non-critical pairs)   Let \(\partial \) be an ordered boundary matrix such that rows \(k, k+1\) and columns \(k, k+1\) correspond to a pair of non-critical cells. Then removing the two rows and two columns does not affect the pivot structure of the matrix.

Proof

By definition of pair, \(R[k,k+1]\) is the pivot of column \(k+1\), and there is no pivot in column k and row \(k+1\). The removal of the two rows and two columns decreases \({\mathrm{rank\,}{\partial _i^j}}\) by 1, if \(i<k\) or \(j > k+1\), and leaves it unchanged, otherwise. Hence, \(r_\delta [i,j]\) remains unchanged, except possibly if \(i=k-1\) or \(j=k+2\). We prove that it remains unchanged even in those cases.

Fig. 10
figure 10

Removing rows \(k, k+1\) and columns \(k, k+1\) decreases the rank of the lower left submatrices whose upper right corners lie in the shaded quadrant. The blue elements are discussed in the proof

Consider first the case \(i < k-1\) and \(j = k+2\) illustrated in Fig. 10. Independently of whether or not there is a pivot in positions 1 through \(k-1\) of row i, we have \({\mathrm{rank\,}{\partial _i^{k+1}}} -{\mathrm{rank\,}{\partial _{i+1}^{k+1}}} = {\mathrm{rank\,}{\partial _i^{k-1}}} - {\mathrm{rank\,}{\partial _{i+1}^{k-1}}}\), which implies that the status of \(\partial [i,j]\) remains unchanged. The case \(i=k-1\) and \(j > k+2\) is symmetric. Consider second the case \(i=k-1\) and \(j=k+2\), and note that \({\mathrm{rank\,}{\partial _i^{j-1}}} = {\mathrm{rank\,}{\partial _{i+1}^j}} = {\mathrm{rank\,}{\partial _{i+1}^{j-1}}}=1\), because the upper right corners of all three submatrices are close to the diagonal, which eliminates the possibility of further pivots interfering with these relations. Hence, \({\mathrm{rank\,}{\partial _i^j}} = 1\) gives \(r_\partial [i,j] = 0\) and \({\mathrm{rank\,}{\partial _i^j}} = 2\) gives \(r_\partial [i,j]~=~1\). After removing the two rows and two columns, the alternating sum for ij is \({\mathrm{rank\,}{\partial _i^j}} - 1\), because the other three submatrices are all 0. This is the same as before. \(\square \)

5.5 Migration of Critical Cells

The main result of this section is the complete description of the Betti numbers of the Voronoi and Delaunay subcomplexes during migration. In particular, we show that the two subcomplexes change synchronously but differently for essential and for non-essential critical cells. Non-critical cells come in steps of size at least 2 and do not affect the homology of the subcomplexes. To state the result formally, assume that the critical cells of \({\mathtt{del}}\) have distinct values, \(t_1< t_2< \ldots < t_m\), write \(\sigma _i \in {\mathrm{Del}_{}{({B})}}\) for the critical cell with \({\mathtt{del}}(\sigma _i) = t_i\), and recall that \(\sigma _i^* \in {\mathrm{Vor}^{}{({B})}}\) is the critical cell with \({\mathtt{vor}}(\sigma _i^*) = t_i\). Furthermore, write \(D_i\) and \(V_i\) for the subcomplexes of \({\mathrm{Del}_{}{({B})}}\) and \({\mathrm{Vor}^{}{({B})}}\) after processing the respective i-th critical cells. We will see shortly that \(\sigma _i\) is essential for \({\mathtt{del}}\) iff \(\sigma _i^*\) is essential for \({\mathtt{vor}}\).

  • Case 1: \(\sigma _i\) and \(\sigma _i^*\) are non-essential critical cells of \({\mathtt{del}}\) and \({\mathtt{vor}}\), with dimensions \(q=\mathrm{dim\,}{\sigma _i}\) and \(p = d-q = \mathrm{dim\,}{\sigma _i^*}\). Then

    $$\begin{aligned} {{\beta }_{p-1}}(V_i) - {{\beta }_{p-1}}(V_{i-1})&= {{\beta }_{q}}(D_i) - {{\beta }_{q}}(D_{i-1})= 1,\quad \text {or} \end{aligned}$$
    (19)
    $$\begin{aligned} {{\beta }_{p}}(V_i) - {{\beta }_{p}}(V_{i-1})&= {{\beta }_{q-1}}(D_i) - {{\beta }_{q-1}}(D_{i-1}) = -1 , \end{aligned}$$
    (20)

    while all other Betti numbers remain unchanged.

  • Case 2: \(\sigma _i\) and \(\sigma _i^*\) are essential critical cells of \({\mathtt{del}}\) and \({\mathtt{vor}}\), again with dimensions \(q+p = d\). Then

    $$\begin{aligned} {{\beta }_{p}}(V_{i-1}) - {{\beta }_{p}}(V_{i})&= {{\beta }_{q}}(D_i) - {{\beta }_{q}}(D_{i-1})= 1 , \end{aligned}$$
    (21)

    while all other Betti numbers remain unchanged.

This case analysis needs an argument, which we will provide as part of the proof of the summary of its consequences. In the statement, we distinguish between the essential and the non-essential homology of a complex in the d-dimensional torus, writing \({{\beta }_{q}} = {{\beta }_{q}^{\mathrm{ess}}} + {{\beta }_{q}^{\mathrm{ness}}}\). With reference to the reduced boundary matrix in Sect. 5.4, we recall that \({{\beta }_{q}^{\mathrm{ess}}}\) is the number of essential q-cells in the complex, and \({{\beta }_{q}^{\mathrm{ness}}}\) is the number of non-essential critical q-cells in the complex that form pivots with \((q+1)\)-cells that are not yet in the complex; see also [2] where essential and non-essential homology is recorded in separate parts of the extended persistence diagram.

Theorem 5.4

(synchronous de-construction)   Let \(B \subseteq {{{\mathbb {R}}}}^d \times {{{\mathbb {R}}}}\) be a periodic set of weighted points, let \(t \in {{{\mathbb {R}}}}\) be a non-critical value of \({\mathtt{del}}\) and \({\mathtt{vor}}\), and recall that \({\mathrm{Del}_{t}{({B})}} = {\mathtt{del}}^{-1} (-\infty , t]\) and \({\mathrm{Vor}^{t}{({B})}} = {\mathtt{vor}}^{-1} [t, \infty )\). Then

$$\begin{aligned} {{\beta }_{q}^{\mathrm{ness}}} ({\mathrm{Del}_{t}{({B})}}) - {{\beta }_{p-1}^{\mathrm{ness}}} ({\mathrm{Vor}^{t}{({B})}})&= 0, \end{aligned}$$
(22)
$$\begin{aligned} {{\beta }_{q}^{\mathrm{ess}}} ({\mathrm{Del}_{t}{({B})}}) + {{\beta }_{p}^{\mathrm{ess}}} ({\mathrm{Vor}^{t}{({B})}})&= \left( {\begin{array}{c}d\\ p\end{array}}\right) , \end{aligned}$$
(23)

for all \(q + p = d\).

Proof

At the core of the argument are two different but similar ordered boundary matrices. The first is the matrix \(\partial \) introduced in Sect. 5.4, which orders the Delaunay cells by \({\mathtt{del}}\), and the second is the matrix \(\partial '\), which orders the Voronoi cells by \({\mathtt{vor}}\). The boundary matrix of \({\mathrm{Del}_{t}{({B})}}\) is an upper left square submatrix of \(\partial \), and that of \({\mathrm{Vor}^{t}{({B})}}\) is a lower right square submatrix of \(\partial '\). By Theorem 4.2, the two matrices contain the critical cells in the same order, so \(\sigma _i \in {\mathrm{Del}_{t}{({B})}}\) iff \(\sigma _i^* \in {\mathrm{Vor}^{t}{({B})}}\). However, the two matrices differ by the organization of the non-critical cells into steps filling up the gaps between the critical cells. We claim that this difference does not affect the pivot structure, which is therefore the same for both matrices. More precisely, we claim that

  1. 1.

    critical cells, \(\sigma _i\) and \(\sigma _j\), define a pivot in \(\partial \) iff \(\sigma _i^*, \sigma _j^*\) define a pivot in \(\partial '\),

  2. 2.

    \(\sigma _i\) is an essential critical cell of \({\mathtt{del}}\) iff \(\sigma _i^*\) is an essential critical cell of \({\mathtt{vor}}\).

To see that the pivot structure is the same for both matrices, we recall that an element is a pivot iff the alternating sum in (18) evaluates to 1. By Lemma 2.2, we may assume that the steps of non-critical cells are pairs. Suppose the cells at position \(k, k+1\) form such a pair. As proved in Lemma 5.3, we can remove rows \(k, k+1\) and columns \(k,k+1\) without affecting the pivot structure. More generally, we can remove all such pairs of \({\mathtt{del}}\) from \(\partial \) and then insert the pairs of \({\mathtt{vor}}\) to get \(\partial '\). To finally compare \({\mathrm{Del}_{t}{({B})}}\) with \({\mathrm{Vor}^{t}{({B})}}\), we note that reducing an ordered boundary matrix with left-to-right column additions gives the same pivot structure as reducing it with bottom-to-top row additions. Equivalently, we may flip \(\partial '\) along the minor diagonal and use column operations to reduce it, as for \(\partial \). Indeed, flipping the matrix maintains the alternating sums (18), so it does not affect the pivot structure.

To transition from \(D_{i-1}\) to \(D_i\), we add a non-negative number of pairs of non-critical cells as well as the critical cell \(\sigma _i\), and to transition from \(V_{i-1}\) to \(V_i\) in parallel, we remove a non-negative number of pairs of non-critical cells as well as the critical cell \(\sigma _i^*\). Letting \(q = \mathrm{dim\,}{\sigma _i}\), we distinguish three cases:

  • Case 1.a: \(\sigma _i\) is the row of a pivot. Then \(\sigma _i\) gives birth to a q-cycle. Flipping the matrix reverses birth and death of pivots. Hence, adding \(\sigma _i^*\) to \(V_i\) would give death to a \((p-1)\)-cycle, but since we remove it from \(V_{i-1}\), it gives birth to this \((p-1)\)-cycle. Hence, \({{\beta }_{q}}(D_i) = {{\beta }_{q}} (D_{i-1}) +1\) and \({{\beta }_{p-1}} (V_i) = {{\beta }_{p-1}} (V_{i-1}) + 1\), as stated in (19).

  • Case 1.b: \(\sigma _i\) is the column of a pivot. Then \(\sigma _i\) gives death to a \((q-1)\)-cycle and \(\sigma _i^*\) gives death to a p-cycle. Hence, \({{\beta }_{q-1}} (D_i) = {{\beta }_{q-1}} (D_{i-1}) - 1\) and \({{\beta }_{p}} (V_i) = {{\beta }_{p}} (V_{i-1}) - 1\), as stated in (20).

  • Case 2.: \(\sigma _i\) is an essential q-cell of \({\mathtt{vor}}\). Since neither the corresponding row nor the corresponding column of \(\partial \) contains a pivot, this implies that \(\sigma _i^*\) is an essential p-cell of \({\mathtt{del}}\). Adding \(\sigma _i\) and removing \(\sigma _i^*\) thus implies \({{\beta }_{q}}(D_i)={{\beta }_{q}}(D_{i-1})+1\) and \({{\beta }_{p}} (V_i) = {{\beta }_{p}}(V_{i-1}) - 1\), as stated in (21).

Relations (22) and (23) connecting the Betti numbers of \({\mathrm{Del}_{t}{({B})}}\) and \({\mathrm{Vor}^{t}{({B})}}\) hold for sufficiently small t, when \({{\beta }_{q}^{\mathrm{ess}}}(D_0) = {{\beta }_{q}^{\mathrm{ness}}}(D_0) = 0\), for all q, while \({{\beta }_{p}^{\mathrm{ess}}}(V_0) = \left( {\begin{array}{c}d\\ p\end{array}}\right) \), \({{\beta }_{p}^{\mathrm{ness}}}(V_0)=0\), for all p. The migration of non-critical cells does not affect the Betti numbers, and the migration of critical cells maintains the two relations, as argued above. \(\square \)

6 Discussion

Motivated by challenges caused by data in non-general position, this paper explores the continuous and discrete functions that define Voronoi tessellations and Delaunay mosaics. Beyond the concrete results formulated as lemmas and theorems, we mention the homological extension of key concepts in discrete Morse theory as one of the main contributions of this paper. In the process of gaining new insights into an old subject, we encountered questions we have not been able to answer:

  • The piecewise linear \({{\,\mathrm{sd}\,}}:{{{\mathbb {R}}}}^d \rightarrow {{{\mathbb {R}}}}\) can be defined for sets \(B, C \subseteq {{{\mathbb {R}}}}^d \times {{{\mathbb {R}}}}\) that do not satisfy the polar relationship assumed in this paper. What are the properties of \({{\,\mathrm{sd}\,}}\) in this more general setting?

  • In \({{{\mathbb {R}}}}^3\), the union of balls is a popular model of a molecule [15], albeit in practice easier to compute and easier to display PL surfaces are preferred. These do generally not have the homotopy type of the boundary of the union of balls. The level set of \({{\,\mathrm{sd}\,}}:{{{\mathbb {R}}}}^3 \rightarrow {{{\mathbb {R}}}}\) suggests itself as an easy to use yet topologically correct alternative. What are its combinatorial and geometric properties, and how fast can they be computed?

  • We prove in this paper that \({\mathrm{Vor}^{t}{({B})}}\) and \({\mathrm{Del}_{t}{({B})}}\) satisfy relations akin to the Alexander duality of complementary spaces on the sphere. Can the same results be obtained with discrete Morse theory type arguments, eg. by comparing the steps of \({\mathtt{del}}\) and \({\mathtt{vor}}\)?

The discrete functions defined in this paper gives rise to a one-parameter family of complementing complexes. It would be interesting to connect these families to applications, such as the study of Raleigh–Bénard convection with its family of bi-partitions of space [14].