1 Introduction

Let A be a finite subset of \({\mathbb {R}}^d\), whose points we call sites. For \(r\in [0,\infty )\) and an integer \(k\in \mathbb N=\{0,1,2,\dots \}\), we define

$$\begin{aligned} \text {Cov}_{r,k}:=\{ b\in {\mathbb {R}}^d \mid \Vert b-a\Vert \le r\ \text {for at least }\, k\,\text {sites }\, a\in A\}. \end{aligned}$$

Thus, \(\text {Cov}_{r,k}\) is the union of all k-wise intersections of closed balls of radius r centered at the sites; see Fig. 1. Define a bifiltration to be a collection of sets

$$\begin{aligned} C:=(C_{r,k})_{(r,k)\in [0,\infty )\times {\mathbb {N}}} \end{aligned}$$

such that \(C_{r,k}\subseteq C_{r',k'}\) whenever \(r\le r'\) and \(k\ge k'\). Clearly, the sets

$$\begin{aligned} \text {Cov}:=(\text {Cov}_{r,k})_{(r,k)\in [0,\infty )\times {\mathbb {N}}} \end{aligned}$$

form a bifiltration. This is known as the multicover bifiltration. It arises naturally in topological data analysis (TDA), and specifically, in the topological analysis of data with outliers or non-uniform density [16, 28, 46].

We wish to study the topological structure of the bifiltration \(\text {Cov}\) algorithmically in practical applications, via 2-parameter persistent homology [11]. For this, the natural first step is to compute a combinatorial model of \(\text {Cov}\), that is, a purely combinatorial bifiltration C which is topologically equivalent to \(\text {Cov}\). This step is the focus of the present paper. For computational efficiency, C should not be too large.

In fact, we propose two closely related combinatorial models C, one polyhedral and one simplicial. The polyhedral model is a bifiltration of the rhomboid tiling, a polyhedral cell complex in \({\mathbb {R}}^{d+1}\) recently introduced by Edelsbrunner and Osang to study the multicover bifiltration [28]. Edelsbrunner and Osang have given an efficient algorithm for computing the rhomboid tiling [29], and this adapts readily to compute our bifiltration. We use the simplicial model to prove that the polyhedral model is topologically equivalent to \(\text {Cov}\).

Fig. 1
figure 1

The 2- and 3-fold cover of a few points with respect to a certain radius. The first homology of the 2-fold cover is trivial, while the first homology of the 3-fold cover is non-trivial

1.1 Motivation and Prior Work

For \(k=1\) fixed, \((\text {Cov}_{r,1})_{r\in [0,\infty )}\) is the well-known offset filtration (also known as the union of balls filtration), a standard construction for analyzing the topology of a finite point sample across scales [27]. It is a central object in the field of persistent homology. While the persistent homology of this filtration is stable to small geometric perturbations of the sites [21], it is not robust with respect to outliers, and it can be insensitive to topological structure in high density regions of the data.

Within the framework of 1-parameter persistent homology, there have been many proposals for alternative constructions which address these issues. These approaches include the removal of low density outliers [10], filtering by a density function [7, 17, 18], distance to measure constructions [1, 9, 16, 31], kernel density functions [44], and subsampling [4]. A detailed overview of these approaches can be found in [6].

Several of these constructions have good stability properties or good asymptotic behavior. However, as explained in [6], all of the known 1-parameter persistence strategies for handling outliers or variations in density share certain disadvantages: First, they all depend on a choice of a parameter. Typically, this parameter specifies a fixed spatial scale or a density threshold at which the construction is carried out. In the absence of a priori knowledge about the structure of the data, it may be unclear how to select such a parameter. And if the data exhibits topological features at multiple spatial or density scales, it may be that no single parameter choice allows us to capture all the structure present in the data. Second, constructions that fix a scale parameter are unable to distinguish between small spatial features and large ones, and constructions that fix a density or measure parameter are unable to distinguish features in densely sampled regions of the data from features involving sparse regions.

A natural way to circumvent these limitations is to consider a 2-parameter approach, where one constructs a bifiltration from the data, rather than a 1-parameter filtration [11]. The multicover bifiltration is one natural option for this. Alternatives include the density bifiltrations of Carlsson and Zomorodian [11], and the degree bifiltrations of Lesnick and Wright [41]; again, we refer the reader to [6] for a more detailed discussion. Among these three options, the multicover bifiltration has two attractive features which together distinguish it from the others. First, its construction does not depend on any additional parameters. Second, the multicover bifiltration satisfies a strong stability property, which in particular guarantees robustness to outliers [6].

There is a substantial and growing literature on the use of bifiltrations in data analysis. Most approaches begin by applying homology with coefficients to the bifiltration, to obtain an algebraic object called bipersistence module. In contrast to the 1-parameter case, where the algebraic structure of a persistence module is completely described by a barcode [51], it is well known that defining the barcode of bipersistence modules is problematic [11]. Nevertheless, one can compute invariants of a bipersistence module which serve as useful surrogates for a barcode, and a number of ideas for this have been proposed [11, 14, 32, 41, 49].

Regardless of which invariants of the multicover bifiltration we wish to consider, to work with this bifiltration computationally, the natural first step is to find a reasonably sized combinatorial (i.e., simplicial or polyhedral) model for the bifiltration. With such a model, recently developed algorithms such as those described in [36, 42] can efficiently compute minimal presentations and standard invariants of the homology modules of the bifiltration.

In the 1-parameter setting, there are two well-known simplicial models of the offset filtration. The Čech filtration, is given at each scale by the nerve of the balls; the equivalence of the offset and Čech filtrations follows from the Persistent Nerve Theorem. For large point sets, the full Čech filtration is too large to be used in practical computations. However, the alpha filtration (also known as the Delaunay filtration) [25, 27] is a much smaller subfiltration of the Čech filtration which is also simplicial model for the offset filtration. It is given at each scale by intersecting each ball with the Voronoi cell [50] of its center, and then taking the nerve of the resulting regions. For d small (say \(d\le 3\)), the Delaunay filtration is readily computed in practice for many thousands of points.

It is implicit in the work of Sheehy [46] that the multicover bifiltration has an elegant simplicial model, the subdivision-Čech bifiltration, obtained via a natural filtration on the barycentric subdivision of each Čech complex; see also [12, App. B] and [6, Sect. 4]. However, the subdivision-Čech bifiltration has exponentially many vertices in the size of the data, making it even more unsuitable for computations than the ordinary Čech filtration.

Edelsbrunner and Osang [28] therefore seek to develop the computational theory of the multicover bifiltration using higher-order Delaunay complexes [26, 38], taking the alpha filtration as inspiration. Assuming the sites are in general position, they define a polyhedral cell complex in \({\mathbb {R}}^{d+1}\) called the rhomboid tiling, which contains all higher-order Delaunay complexes as planar sections. Using the rhomboid tiling, they present a polynomial time algorithm to compute the barcodes of a horizontal or vertical slice of the multicover bifiltration (i.e., of a one-parameter filtration obtained by fixing either one of the two parameters rk). The case of fixed r and varying k is more challenging because the order-k Delaunay complexes do not form a filtration. The authors construct a zigzag filtration for this case. The problem of efficiently computing 2-parameter persistent homology of the multicover bifiltration is not addressed by [28].

We note that the subdivision-Čech bifiltration is more general than the rhomboid tiling: the rhomboid tiling is defined only for Euclidean data, whereas the topological equivalence of the subdivision-Čech and multicover bifiltrations extends to data in any metric space where finite intersections of balls are contractible.

1.2 Contributions

We introduce the first efficiently computable combinatorial models of the multicover bifiltration \(\text {Cov}\). First, we introduce a simplicial model, whose construction is based on two main ideas: In order to connect the higher-order alpha complex constructions for (rk) and \((r,k+1)\), we simply overlay their underlying covers to a “double-cover”, whose nerve is a simplicial complex that contains both alpha complexes. This yields a zigzag of simplicial filtrations. The second main idea is that this zigzag can be “straightened out” to a (non-zigzaging) bifiltration, simply by taking unions of prefixes in the zigzag sequence. This straightening technique has previously been used by Sheehy to construct sparse approximations of Vietoris–Rips complexes [47]. Together, these two ideas give rise to a bifiltration \({\text {S{-}Del}}\) of simplicial complexes.

The bifiltration \({\text {S{-}Del}}\) can also be obtained directly as the persistent nerve of a “thickening” of \(\text {Cov}\) constructed via mapping telescopes. This observation leads to a simple proof of topological equivalence (i.e., weak equivalence; see Sect. 2) of \(\text {Cov}\) and \({\text {S{-}Del}}\) via the Nerve Theorem. It follows that the persistent homology modules of \(\text {Cov}\) and \({\text {S{-}Del}}\) are isomorphic.

Our second contribution is to show that the rhomboid tiling as defined in [28] also gives rise to a (non-zigzaging) bifiltration of polyhedral complexes that is topologically equivalent to the multicover. We proceed in two steps: First, we slice every rhomboid at each integer value k (slightly increasing the number of cells) and adapt the straightening trick used to construct \({\text {S{-}Del}}\). We prove the topological equivalence of this construction with the multicover bifiltration by relating the slice rhomboid filtration with \({\text {S{-}Del}}\). The main observation is a one-to-one correspondence of maximal-dimensional cells in both constructions, which leads to a proof via the Nerve Theorem. Second, we relate the sliced and unsliced rhomboid tilings at every scale via a deformation retraction.

We give size bounds for both of the bifiltrations we introduce. For n points in \({\mathbb {R}}^d\), we show that their size is \(O(n^{d+1})\). This is a decisive improvement over Sheehy’s Čech-based construction, which has exponential dependence on n.

An efficient algorithm for computing rhomboid tilings has recently been presented in [29]; hence, using the accompanying implementation rhomboidtiling of this algorithm, our second contribution gives us an efficient software to compute a bifiltration of cell complexes equivalent to \(\text {Cov}\), currently for points in \({\mathbb {R}}^2\) and \({\mathbb {R}}^3\). We combine this implementation with the libraries mpfree and rivet to demonstrate that minimal presentations of multicover persistent homology modules can now be efficiently computed, often within seconds, as can invariants such as the Hilbert function.

2 Background

2.1 Filtrations

For P a poset, define a (P-indexed) filtration to be a collection of topological spaces \(X=(X_p)_{p\in P}\) indexed by P, such that \(X_p\subseteq X_q\) whenever \(p\le q\in P\). For example, an \({\mathbb {N}}\)-indexed filtration X is a diagram of spaces and inclusions of the following form:

$$\begin{aligned} X_{0} \hookrightarrow X_{1}\hookrightarrow X_{2}\hookrightarrow \cdots . \end{aligned}$$

A morphism \(\varphi :X\rightarrow Y\) of P-indexed filtrations is a collection of continuous maps \((\varphi _p:X_p\rightarrow Y_p)_{p\in P}\) which commute with the inclusions in X and Y. In the language of category theory, a P-indexed filtration is a functor \(P\rightarrow \textbf{Top}\) whose internal maps are inclusions, and a morphism is a natural transformation.

Recall that the product poset \(P\times Q\) of posets P and Q is defined by taking \((p,q)\le (p',q')\) if and only if \(p\le p'\) and \(q\le q'\). When P is the product of two totally ordered sets, we call a P-indexed filtration a bifiltration.

In the classical homotopy theory of diagrams of spaces, there is a standard analogue of the notion of homotopy equivalence for diagrams of spaces, called weak equivalence. We now define a version of this for P-indexed filtrations: A morphism of filtrations \(\varphi :X\rightarrow Y\) is called an objectwise homotopy equivalence if each \(\varphi _p:X_p\rightarrow Y_p\) is a homotopy equivalence. If there exists a finite zigzag diagram of objectwise homotopy equivalences

$$\begin{aligned}X\rightarrow Z_1 \leftarrow Z_2 \rightarrow \cdots \leftarrow Z_{n-1}\rightarrow Z_n \leftarrow Y\end{aligned}$$

connecting X and Y, then we say that X and Y are weakly equivalent. The terminology originates from the theory of model categories [23, 34]. See [5, 39, 45] for discussions of weak equivalence of diagrams in the context of TDA.

Remark 2.1

To motivate the consideration of zigzags in the definition above, we note that for X and Y a pair of weakly equivalent P-indexed filtrations, there is not necessarily an objectwise homotopy equivalence \(f:X\rightarrow Y\). For example, let \(P={\mathbb {R}}\), X be the offset filtration on \(\{0,1\}\subset {\mathbb {R}}\), and Y be the nerve filtration of X. It is easy to check that there is no objectwise homotopy equivalence \(f:X\rightarrow Y\). On the other hand, it follows from the Persistent Nerve Theorem 2.3 that X and Y are weakly equivalent. Moreover, one can construct a similar example of weakly equivalent filtrations for which there is no objectwise homotopy equivalence in either direction.

An objectwise homotopy equivalence \(\varphi :X\rightarrow Y\) induces isomorphisms on the persistent homology modules of X and Y. Hence, weakly equivalent filtrations have isomorphic persistent homology modules. We say a P-indexed filtration X is Euclidean if \(X_p\subset {\mathbb {R}}^n\) for some n and all \(p\in P\).

Fig. 2
figure 2

Left: A bifiltration of good covers over \(\{1<2<3\}\times \{3<2<1\}\). Right: A bifiltration consisting of the nerves of the covers. The Persistent Nerve Theorem ensures that not only the individual spaces at scales (nm) are homotopy equivalent, but also that the two bifiltrations are weakly equivalent.

2.2 The Persistent Nerve Theorem

A cover of \(X\subset {\mathbb {R}}^n\) is a collection \({\mathfrak {X}}=\{{\mathfrak {X}}^i\}_{i\in I}\) of subsets of X whose union is X. The nerve of \({\mathfrak {X}}\) is the abstract simplicial complex

$$\begin{aligned} \text {Nrv}({\mathfrak {X}}):=\left\{ \sigma \subset I\;\Big |\;\bigcap _{i\in \sigma } {\mathfrak {X}}^i \ne \emptyset \right\} . \end{aligned}$$

We say that the cover is good if it is finite and consists of closed, convex sets [27].

One version of the Nerve Theorem asserts that X and \(\text {Nrv}({\mathfrak {X}})\) are homotopy equivalent whenever \({\mathfrak {X}}\) is a good cover of X [27, 40]. It is TDA folklore that this version of the Nerve Theorem can be extended to a persistent version; a proof appears in [3]; see also [19] for formulation of the Persistent Nerve Theorem in terms of open covers. In order to state the Persistent Nerve Theorem for closed, convex covers, we first extend the definition of a cover.

Definition 2.2

(cover of a filtration) Let P be a poset and X a P-indexed Euclidean filtration. A cover of X is a collection \({\mathfrak {X}}=\{{\mathfrak {X}}^i\}_{i\in I}\) of P-indexed filtrations such that for each \(p\in P\), \(\{{\mathfrak {X}}^i_p \mid i\in I\}\) is a cover of \({\mathfrak {X}}_p\). We say \({\mathfrak {X}}\) is good if each \({\mathfrak {X}}_p:=\{{\mathfrak {X}}^i_p \mid i\in I\}\) is a good cover.

The definition of the nerve above extends immediately to yield a nerve filtration \(\text {Nrv}({\mathfrak {X}})\) associated to any cover of a filtration.

Persistent Nerve Theorem 2.3

[3] Let P be a poset, X a P-indexed Euclidean filtration, and \({\mathfrak {X}}\) a good cover of X. There exists a diagram of objectwise homotopy equivalences

$$\begin{aligned} X{\mathop {\longleftarrow }\limits ^{\simeq }}\Delta {{\mathfrak {X}}}{\mathop {\longrightarrow }\limits ^{\simeq }}\text {Nrv}({\mathfrak {X}}). \end{aligned}$$

As shown in [3], the intermediate filtration \(\Delta {{\mathfrak {X}}}\) in the statement of the theorem can be taken to be a homotopy colimit of a diagram constructed from \({\mathfrak {X}}\), just as in the proof of the Persistent Nerve Theorem for open covers [19]. Note that if P is a singleton set, the Persistent Nerve Theorem specializes to the classical version of the Nerve Theorem mentioned above.

Fig. 3
figure 3

Left: The 2-fold cover of some points with respect to a certain radius overlapped with its Voronoi diagram of order 2. \(\mathfrak {Vor}\) is combinatorially simpler than \(\mathfrak {Cov}\). Right: The corresponding 3-fold cover overlapped with its Voronoi diagram of order 3

2.3 Multicovers

As indicated in the introduction, the multicover bifiltration of a finite set \(A\subset {\mathbb {R}}^d\) is the \(({\mathbb {R}}\times {\mathbb {N}}^{op })\)-indexed bifiltration \(\text {Cov}\) given by

$$\begin{aligned} \text {Cov}_{r,k}:=\{b\in {\mathbb {R}}^d\mid \Vert b-a\Vert \le r\ \text { for at least }k\text { points}\ a\in A\}, \end{aligned}$$

where as above, \({\mathbb {N}}:=\{0,1,2,\dots \}\). Note that \(\text {Cov}_{r,0}={\mathbb {R}}^d\) for all \(r\in [0,\infty )\). Given this, one may wonder why we allow k to take the value 0 in our definition of \(\text {Cov}\). As we will see in Sect. 4, this turns out to be convenient for comparing \(\text {Cov}\) to the rhomboid bifiltration.

As a first step towards constructing a simplicial model of \(\text {Cov}\), we identify a good cover for \(\text {Cov}_{r,k}\) for fixed r and k. For \({\widetilde{A}}\subset A\) we define

$$\begin{aligned} \text {Cov}_{r}({\widetilde{A}}):=\{ b\in {\mathbb {R}}^d \mid \Vert b-\tilde{a}\Vert \le r\ \text {for all}\ \tilde{a}\in {\widetilde{A}}\}. \end{aligned}$$

Each \(\text {Cov}_{r}({\widetilde{A}})\) is closed and convex. Letting

$$\begin{aligned} \mathfrak {Cov}_{r,k}:=\{\text {Cov}_{r}(\widetilde{A}) \mid \widetilde{A}\subset A,\,|\widetilde{A}|=k\}, \end{aligned}$$

we have that \(\mathfrak {Cov}_{r,k}\) is a good cover of \(\text {Cov}_{r,k}\). Hence by the Nerve Theorem, \(\text {Cov}_{r,k}\) is homotopy equivalent to \(\text {Nrv}(\mathfrak {Cov}_{r,k})\). For fixed k and \(r\le r'\), we have an inclusion \(\text {Nrv}(\mathfrak {Cov}_{r,k})\hookrightarrow \text {Nrv}(\mathfrak {Cov}_{r',k})\).

Note that these nerves can be quite large: for large enough r, \(\text {Nrv}(\mathfrak {Cov}_{r,k})\) contains \(\left( {\begin{array}{c}|A|\\ k\end{array}}\right) \) vertices. To obtain a smaller simplicial model of \(\text {Cov}_{r,k}\), we use the generalization of Delaunay triangulations to higher-order Delaunay complexes. For a subset \(\tilde{A}\subset A\) with \(|\tilde{A}|=k\), define its order-kVoronoi region as

$$\begin{aligned} \text {Vor}(\tilde{A}):=\{b\in {\mathbb {R}}^d \mid \Vert b-\tilde{a}\Vert \le \Vert b-a\Vert \ \text {for all}\ \tilde{a}\in \tilde{A},\,a\in A \setminus \tilde{A}\}. \end{aligned}$$

The set of all order-k Voronoi regions yield a decomposition of \({\mathbb {R}}^d\) into closed convex subsets having the same k closest points of A in common. This decomposition is called the order-k Voronoi diagram [2, 30]. We denote it as \(\text {Vor}_{k}\).

For any \(r\in {\mathbb {R}}\) and \(k\in {\mathbb {N}}\), intersecting each order-k Voronoi region with the corresponding multicovered region of fixed radius r yields the following good cover of \(\text {Cov}_{r,k}\):

$$\begin{aligned} \mathfrak {Vor}_{r,k}:=\{ \text {Cov}_{r}(\widetilde{A})\cap \text {Vor}(\tilde{A})\mid \tilde{A}\subset A,\,|\tilde{A}|=k\}. \end{aligned}$$

For an illustration, see Fig. 3. The nerve of \(\mathfrak {Vor}_{r,k}\), which we will denote \(\text {Del}_{r,k}\), is called an order-k Delaunay complex. By the Nerve Theorem, \(\text {Del}_{r,k}\) and \(\text {Cov}_{r,k}\) are homotopy equivalent. Note that \(\text {Del}_{r,1}\) is the alpha complex of radius r [25, 27], whereas \(\text {Del}_{r,0}\) is a single point for all \(r\in [0,\infty )\). A different but related concept is the order-k Delaunay mosaic, which is the geometric dual of the order-k Voronoi diagram [28]; see Sect. 4.

3 A Simplicial Delaunay Bifiltration

For fixed \(r\ge 0\), we have inclusions

Fig. 4
figure 4

Left: The Delaunay complexes of order 2 and 3 of our running example. Right: The construction of the simplicial complex \(\widetilde{\text {Del}}_{r,2}\). \(\widetilde{\text {Del}}_{r,2}\) consists of the Delaunay complexes \({\text {Del}_{r,2}}\) and \({\text {Del}_{r,3}}\), and additional mixed simplices connecting these. This connection arises from intersections of the 2- and 3-fold covers restricted to their Voronoi diagrams of order 2 and 3, respectively

$$\begin{aligned} \cdots \hookrightarrow \text {Cov}_{r,2} \hookrightarrow \text {Cov}_{r,1} \hookrightarrow \text {Cov}_{r,0}, \end{aligned}$$

but there are no analogous inclusions \(\text {Del}_{r,k}\hookrightarrow \text {Del}_{r,k-1}\) between the higher-order Delaunay complexes. Indeed, we do not even have inclusions of the vertex sets. Consequently, \((\mathfrak {Vor}_{r,k})_{(r,k)\in [0,\infty )\times {\mathbb {N}}}\) is not a bifiltered cover of \(\text {Cov}\). To correct for this, we first define

$$\begin{aligned} \widetilde{\text {Del}}_{r,k}:=\text {Nrv}( \mathfrak {Vor}_{r,k} \cup \mathfrak {Vor}_{r,k+1}). \end{aligned}$$

See Fig. 4 for an illustration. Note that \(\mathfrak {Vor}_{r,k} \cup \mathfrak {Vor}_{r,k+1}\) covers the same space as \(\mathfrak {Vor}_{r,k}\) and that we have inclusions

$$\begin{aligned} \text {Del}_{r,k+1} \hookrightarrow \widetilde{\text {Del}}_{r,k} \hookleftarrow \text {Del}_{r,k}. \end{aligned}$$

Letting \(n:=|A|\), we see that \(\widetilde{\text {Del}}_{r,n}=\text {Del}_{r,n}\) and \(\widetilde{\text {Del}}_{r,k}=\emptyset \) for all \(k>n\). We now define a \(([0,\infty )\times {\mathbb {N}}^{op })\)-indexed simplicial bifiltration \({\text {S{-}Del}}\) by

$$\begin{aligned} {\text {S{-}Del}}_{r,k}:= \bigcup _{i\ge k} \widetilde{\text {Del}}_{r,i}=\bigcup _{i= k}^n \widetilde{\text {Del}}_{r,i}. \end{aligned}$$

For an illustration, see Fig. 5. Note that \({\text {S{-}Del}}_{r,k}\) is generally not equal to the nerve of the union of all \(\mathfrak {Vor}_{r,i}\), \(i\ge k\), which is a much larger object.

Fig. 5
figure 5

\({\text {S{-}Del}}_{r,2}\) is the union of all \(\widetilde{\text {Del}}_{r,i}\), \(i\ge 2\). We have that \({\text {S{-}Del}}_{r,k}=\emptyset \) for k greater than the number of sites in A. Thus, in this case, \(\text {Del}_{r,k}\) is empty for \(k\ge 5\)

3.1 Weak Equivalence of Cov and S-Del

Theorem 3.1

The multicover bifiltration \(\text {Cov}\) is weakly equivalent to \({\text {S{-}Del}}\).

Proof

Our proof strategy is similar to ones used for sparse filtrations [13, 48]. We will observe that \({\text {S{-}Del}}\) is isomorphic to the nerve of a good cover of a bifiltration X which is weakly equivalent to \(\text {Cov}\). The result then follows from the Persistent Nerve Theorem.

Define \(X_{r,k}\subset {\mathbb {R}}^{d+1}\) by

$$\begin{aligned} X_{r,k}= \bigcup _{i=k}^{n} \text {Cov}_{r,i}\times [i,i+1]. \end{aligned}$$

We can think of \(X_{r,k}\) as a mapping telescope [33, Sect. 3.F] of the sequence

$$\begin{aligned} \text {Cov}_{r,n}\hookrightarrow \text {Cov}_{r,n-1}\hookrightarrow \cdots \hookrightarrow \text {Cov}_{r,k}. \end{aligned}$$

Identifying \(\text {Cov}_{r,k}\) with \(\text {Cov}_{r,k}\times \{k\}\), we have a deformation retraction \(X_{r,k}\rightarrow \text {Cov}_{r,k}\) given by \((x,y)\mapsto (x,k)\) for \((x,y)\in {\mathbb {R}}^d\times {\mathbb {R}}\). Letting r and k vary, the spaces \(X_{r,k}\) assemble into a \(([0,\infty )\,{\times }\,{\mathbb {N}}^{op })\)-indexed bifiltration X, and the deformation retractions \(X_{r,k}\rightarrow \text {Cov}_{r,k}\) assemble into an objectwise homotopy equivalence \(X\rightarrow \text {Cov}\). Since the Cartesian product of two convex sets is convex, the set

$$\begin{aligned} {\mathfrak {X}}_{r,k}:=\{U\times [i, i+1] \mid U\in \mathfrak {Vor}_{r,i},\,k\le i \le n\} \end{aligned}$$

is a good cover of \(X_{r,k}\), and the collection of all such covers as r and k varies assembles into a good cover \({\mathfrak {X}}\) of X.

To finish the proof, we observe that \(\text {Nrv}({\mathfrak {X}})\) is isomorphic to \({\text {S{-}Del}}\). First, note that vertices of \(\text {Nrv}({\mathfrak {X}}_{r,k})\) correspond bijectively to non-empty elements of

$$\begin{aligned} \bigsqcup _{i=k}^{n} \mathfrak {Vor}_{r,i}, \end{aligned}$$

as do vertices of \({\text {S{-}Del}}_{r,k}\). This gives us a bijection from the vertex set of \(\text {Nrv}({\mathfrak {X}}_{r,k})\) to the vertex set of \({\text {S{-}Del}}_{r,k}\). It is easily checked that this bijection is in fact a simplicial isomorphism \(\varphi _{r,k}:\text {Nrv}({\mathfrak {X}}_{r,k})\rightarrow {\text {S{-}Del}}_{r,k}\). These isomorphisms are natural in r and k, so assemble into an isomorphism from \(\text {Nrv}({\mathfrak {X}})\) to \({\text {S{-}Del}}\). \(\square \)

3.2 Truncations of S-Del

When the point cloud is large, it may be computationally difficult to construct the full bifiltration \({\text {S{-}Del}}\). We instead consider, for \(K\in {\mathbb {N}}\), the bifiltration \({\text {S{-}Del}}^{\le K}\) constructed in the same way, but disregarding all order-k Voronoi cells with \(k>K\),

$$\begin{aligned} {\text {S{-}Del}}^{\le K}_{r,k}:=\!\bigcup _{K-1\ge i\ge k}\!\widetilde{\text {Del}}_{r,i}. \end{aligned}$$

Note that \({\text {S{-}Del}}^{\le |A|}={\text {S{-}Del}}\). Viewing \({\text {S{-}Del}}^{\le K}\) as a \(([0,\infty )\,{\times }\,\{0,\ldots ,K\}^{op })\)-indexed bifiltration, the proof of Theorem 3.1 adapts immediately to show that \({\text {S{-}Del}}^{\le K}\) is weakly equivalent to the restriction of \(\text {Cov}\) to \([0,\infty )\times \{0,\ldots ,K\}^{op }\).

3.3 Size of S-Del

By the size of a bifiltration X, we mean the number of simplices in the largest simplicial complex in X. If the sites \(A\subset {\mathbb {R}}^d\) are not in general position, the size of \({\text {S{-}Del}}^{\le K}\) can be huge; indeed, if all points of A lie on a circle in \({\mathbb {R}}^2\) and r is at least the radius of this circle, then \(\text {Del}_{r,k}\) has \(2^{n \atopwithdelims ()k}\) simplices, so \({\text {S{-}Del}}^{\le K}\) is at least as large. However, if A is in general position, then the situation is far better:

Proposition 3.2

Let \(A\subset {\mathbb {R}}^d\) be a set of n sites in general position, with a constant dimension d. Then \({\text {S{-}Del}}^{\le K}\) has size \(O(n^{{\lfloor (d+1)/2 \rfloor }} K^{\lceil (d+1)/2 \rceil })\). In particular, \({\text {S{-}Del}}\) has size \(O(n^{d+1})\).

In contrast to Proposition 3.2, the number of vertices in Sheehy’s subdivision-Čech model [46] grows exponentially with n, regardless of whether A is in general position.

In brief, the idea of the proof is to bound the number of maximal simplices in \({\text {S{-}Del}}^{\le K}\) using a bound of Clarkson and Shor on the number of Voronoi vertices at levels \(\le k\) [20]. The result then follows by observing that the dimension of the complex is a constant that only depends on d. However, this dependence on d is doubly exponential, so the O-notation hides a large factor if d is large. We now give details of the proof.

For \(k\in {\mathbb {N}}\), and a bifiltration X, we let \(X_{\infty ,k}\) denote the largest simplicial complex of the form \(X_{r,k}\), provided this exists. In the following lemmas, \(A\subset {\mathbb {R}}^d\) is assumed to be in general position.

Lemma 3.3

For all \(k\in {\mathbb {N}}\), we have

$$\begin{aligned} \dim (\text {Del}_{\infty ,k})\le {d+1 \atopwithdelims (){\lfloor (d+1)/2 \rfloor }}. \end{aligned}$$

Proof

A simplex \(\sigma \in \text {Del}_{\infty ,k}\) is a set of order-k Voronoi regions with a point of common intersection. Let x be such a point. Each order-k Voronoi region \(R\in \sigma \) is indexed by a subset of A with k elements, which we denote as \({{\,\textrm{sites}\,}}(R)\). Let

$$\begin{aligned} s&=\min {\{r\ge 0\mid x\in \text {Cov}_{r,k}\}},\\ A_{on }&=\{p\in A\mid \Vert p-x\Vert =s\}, \\ A_{in }&=\{p\in A\mid \Vert p-x\Vert <s\}. \end{aligned}$$

By minimality of s, we have \(|A_{in }|<k\), and by the assumption of general position, we have \(|A_{on }|\le d+1\). Moreover, for all \(R\in \sigma \), we have \(A_{in }\subset {{\,\textrm{sites}\,}}(R)\) and \({{\,\textrm{sites}\,}}(R)\subset A_{in }\cup A_{on }\). Thus

$$\begin{aligned} \dim (\sigma )\le {|A_{on }| \atopwithdelims ()k-|A_{in }|}-1\le {d+1\atopwithdelims ()k-|A_{in }|}\le {d+1 \atopwithdelims (){\lfloor ({d+1})/{2} \rfloor }}.\qquad \qquad \qquad \,\square \end{aligned}$$

Lemma 3.4

For all \(K\in {\mathbb {N}}\), we have

$$\begin{aligned} \dim ({\text {S{-}Del}}^{\le K})\le 2{d+1 \atopwithdelims (){\lfloor (d+1)/2 \rfloor }}. \end{aligned}$$

Proof

We first observe that

$$\begin{aligned} \dim (\widetilde{\text {Del}}_{\infty ,k})\le \dim (\text {Del}_{\infty ,k})+\dim (\text {Del}_{\infty ,k+1})\le 2 {d+1 \atopwithdelims (){\lfloor (d+1)/2 \rfloor }}, \end{aligned}$$

by noting that the dimension on the left is upper bounded by the sum of the maximal number of order-k Voronoi regions and order-\((k+1)\) Voronoi regions that meet at a fixed point in \({\mathbb {R}}^d\). Since these two summands equal \(\dim (\text {Del}_{\infty ,k})-1\) and \(\dim (\text {Del}_{\infty ,k+1})-1\), we have the first inequality, and the second one follows from the previous Lemma 3.3. Since each simplicial complex in \({\text {S{-}Del}}^{\le K}\) is a union of simplicial complexes \(\widetilde{\text {Del}}_{r,k}\), it follows that

$$\begin{aligned} \dim ({\text {S{-}Del}}^{\le K})\le 2{d+1 \atopwithdelims (){\lfloor (d+1)/2 \rfloor }}, \end{aligned}$$

as desired.\(\square \)

Lemma 3.5

If \(n>d\), then for any \(k\in {\mathbb {N}}\), the number of maximal simplices in \(\widetilde{\text {Del}}_{\infty ,k}\) is at most \(V_k+V_{k+1}\), where \(V_k,V_{k+1}\) denote the number of Voronoi vertices at level k or \(k+1\), respectively.

Proof

Recall that \(\text {Vor}_{k}\) and \(\text {Vor}_{k+1}\) denote the order-k and order-\((k+1)\) Voronoi diagrams, respectively. Let \(\text {Vor}_{k+1/2}\) denote their overlay, i.e., the polyhedral subdivision of \({\mathbb {R}}^n\) induced by the closed polyhedra of the form \(R\cap S\), where R and S are Voronoi regions of order k such that \(\dim (R\cap S)=d\). The subdivision \(\text {Vor}_{k+1/2}\) is called the Voronoi diagram of degree-\((k+1)\) [28]. It has been studied in [30].

Maximal simplices of \(\widetilde{\text {Del}}_{\infty ,k}\) correspond bijectively to cells in \(\text {Vor}_{k+1/2}\) with no proper faces. We claim that the only such cells are vertices. If \(k\in \{0,n-1,n\}\), then either \(\text {Vor}_{k}\) or \(\text {Vor}_{k+1}\) contains only the region \({\mathbb {R}}^d\), and it is clear that the claim holds. For \(0<k<n-1\), we observe that since A is in general position and \(n>d\), each cell of either \(\text {Vor}_{k}\) or \(\text {Vor}_{k+1}\) is bounded by a vertex, which implies that each cell of \(\text {Vor}_{k+1/2}\) is bounded by a vertex. The claim follows.

To finish the proof, we will show that the vertex set of \(\text {Vor}_{k+1/2}\) is the union of the vertex sets of \(\text {Vor}_{k}\) and \(\text {Vor}_{k+1}\). It suffices to show that for any cell \(\sigma \subset {\mathbb {R}}^d\) of \(\text {Vor}_{k}\) with \(\dim (\sigma )<d\), \(\sigma \) is contained in a cell of \(\text {Vor}_{k+1}\); then \(\text {Vor}_{k+1/2}\) does not subdivide the \((d-1)\)-skeleton \(\text {Vor}_{k}\), implying that no new vertex is created.

Let \(x\in \sigma \). As in Lemma 3.3, we let

$$\begin{aligned} s&=\min {\{r\ge 0\mid x\in \text {Cov}_{r,k}\}},\\ A_{on }&=\{p\in A\mid \Vert p-x\Vert =s\}, \\ A_{in }&=\{p\in A\mid \Vert p-x\Vert <s\}, \end{aligned}$$

and we note that \(|A_{in }|<k\). Moreover, since \(\dim (\sigma )<d\), we have \(|A_{on }|\ge 2\). The set of order-k Voronoi regions containing x (and hence any \(y\in \sigma \)) is

$$\begin{aligned} \{\text {Vor}(A_{in }\cup {\tilde{A}})\mid {\tilde{A}}\subset A_{on },\, |{\tilde{A}}|=k-i\}. \end{aligned}$$

Therefore \(A_{on }\) and \(A_{in }\) are independent of our choice of \(x\in \sigma \). Hence, for any \(x\in \sigma \), the set of order-\((k+1)\) Voronoi regions containing x is

$$\begin{aligned} \{\text {Vor}(A_{in }\cup {\tilde{A}})\mid {\tilde{A}}\subset A_{on },\, |{\tilde{A}}|=k+1-i\}. \end{aligned}$$

The intersection of these Voronoi regions is the closure of a cell of \(\text {Vor}_{k+1}\) which contains \(\sigma \). (In fact, similar reasoning shows that if \(|A_{in }|+|A_{on }|\ge k+2\), then \(\sigma \) is a cell in \(\text {Vor}_{k+1}\), though this is not needed for the argument.)\(\square \)

Proof of Proposition 3.2

Assume that \(n>d\). Since

$$\begin{aligned} {\text {S{-}Del}}^{\le K}=\bigcup _{k=0}^{K-1}\widetilde{\text {Del}}_{\infty ,k}, \end{aligned}$$

Lemma 3.5 implies that the number of its maximal simplices is at most

$$\begin{aligned} (V_0+V_1)+(V_1+V_2)+\ldots + (V_{K-1}+V_{K})\le 2 V_{\le K}, \end{aligned}$$

where \(V_{\le K}\) is the number of Voronoi vertices at levels \(\le k\). Since the number of simplices of a d-dimensional simplicial complex with m maximal simplices is at most \(2^{d+1}m\), Lemma 3.4 implies that the size of \({\text {S{-}Del}}^{\le K}\) is bounded above by

$$\begin{aligned} 2^{2{d+1 \atopwithdelims (){\lfloor (d+1)/2 \rfloor }}+1} \cdot V_{\le K}. \end{aligned}$$

Since the dimension bound only depends on the constant d, it is therefore enough to bound \(V_{\le K}\).

By a result of Clarkson and Shor [20], we have that \(e_{\le K}\), the number of Voronoi regions (i.e., d-dimensional Voronoi cells) at levels \(\le K\) is

$$\begin{aligned} e_{\le K}=O\bigl (|A|^{ {\lfloor (d+1)/2 \rfloor }} K^{\lceil (d+1)/2 \rceil }\bigr ). \end{aligned}$$

This bound hides a constant that depends doubly exponentially in d. Moreover, by a counting argument appearing in [24, Theorem 3.3], we have that the total size of the Voronoi diagram at level k is bounded by

$$\begin{aligned} O(\max {\{e_i\mid k-d+1\le i\le k+d-2\}}) \end{aligned}$$

with \(e_i\) the number of Voronoi regions at level i. The same bound applies to \(V_{k}\) as well. A simple calculation shows that \(V_{\le K}\) is then bounded by \((2d-2) e_{\le K}=O(e_{\le K})\).\(\square \)

4 The Rhomboid Bifiltration

4.1 The Rhomboid Tiling

Let \({A}\subseteq {\mathbb {R}}^d\) be a set of n sites in general position, and S an arbitrary \((d-1)\)-sphere in \({\mathbb {R}}^d\). Then S yields a decomposition \({A}={{{A}}_{in }}\sqcup {{{A}}_{on }}\sqcup {{{A}}_{out }}\) with \({{{A}}_{in }}\) the sites in the interior of S, \({{{A}}_{on }}\) the sites on the sphere, and \({{{A}}_{out }}\) the sites in the exterior of S. We define the combinatorial rhomboid of S to be the collection of sets

$$\begin{aligned} {{\rho }{_{S}}} := \{{{{A}}_{in }}\cup {\tilde{A}}\mid {\tilde{A}}\subseteq {{{A}}_{on }}\}. \end{aligned}$$
(1)

We call elements of \({{\rho }{_{S}}}\) combinatorial vertices, and call

$$\begin{aligned} \text {Rhomb}({A}) =\{{{\rho }{_{S}}} \mid S\text { is a sphere in }{\mathbb {R}}^d\} \end{aligned}$$
(2)

the (combinatorial) rhomboid tiling of \({A}\). Elements of \(\text {Rhomb}({A})\) are called rhomboids. Since \({A}\) is fixed throughout, we write \(\text {Rhomb}\) instead of \(\text {Rhomb}({A})\).

As observed in [28], the combinatorial rhomboid tiling can be geometrically realized as a polyhedral cell complex [37, Definition 2.38]. For that, a combinatorial vertex \(\{a_1,\dots ,a_k\}\) (where \(a_1,\dots ,a_k\) are sites in \({\mathbb {R}}^d\)) is embedded as \(\bigl (\sum _{i=1}^ka_i,-k\bigr )\) in \({\mathbb {R}}^{d+1}\). We call k the depth of the vertex. Embedding a combinatorial rhomboid as the convex hull of its embedded vertices yields an actual rhomboid in \({\mathbb {R}}^{d+1}\) whose dimension equals the cardinality of \({{{A}}_{on }}\) in the corresponding partition of \({A}\). The collection of these rhomboids is the (geometric) rhomboid tiling for \({A}\). We illustrate the construction in Fig. 6. In what follows, we identify vertices and rhomboids with their combinatorial description. In particular, we will use \(\text {Rhomb}\) both for the combinatorial and the geometric rhomboid tiling.

Fig. 6
figure 6

The rhomboid tiling of five points on the real line. The highlighted 2-rhomboid \(\rho \) defined by \({{{A}}_{\text {in}}{({\rho })}}=\{c\}\) and \({{{A}}_\textrm{on}{({\rho })}}=\{b,d\}\) is the convex hull of the points c, bc, cd, and bcd, simplifying the labels here and, e.g., writing bcd instead of the cell complex associated to \(\{b,c,d\}\). The horizontal line at depth k intersects the tiling in the order-k Delaunay mosaic

Proposition 4.1

([43, Proposition 4.8] and [24, Sect. 1.2])    The number of cells (of all dimensions) in \(\text {Rhomb}\) is at most

$$\begin{aligned} \frac{2^{d+1}(n+1)^{d+1}}{(d+1)!}\le 2(n+1)^{d+1}. \end{aligned}$$

For any rhomboid \(\rho \in \text {Rhomb}\), we let

$$\begin{aligned} r_\rho =\inf {\{r\,|\,\text {there exists a sphere }S\text { of radius }r\text { such that }{{\rho }{_{S}}}=\rho \}}. \end{aligned}$$

It is easily checked that if \(\rho '\) is a subset of \(\rho \), then \(r_{\rho '}\le r_{\rho }\), and therefore, for any \(r\ge 0\), the sublevel set \(\text {Rhomb}_{r}=\{\rho \in \text {Rhomb}\mid r_{\rho }\le r\}\) is also a polyhedral complex.

4.2 Slicing

Next, we slice the rhomboid tiling by cutting every rhomboid along the hyperplanes \(\{x\in {\mathbb {R}}^{d+1}\mid -x_{d+1}=k\}\) with \(k=0,\ldots ,n\). In this way, a rhomboid decomposes into its intersections with these hyperplanes and with slabs of the form \(\{x\in {\mathbb {R}}^{d+1}\mid k\le -x_{d+1}\le k+1\}\). The resulting polyhedra again form a polyhedral complex that we call the sliced rhomboid tiling \(\text {S{-}Rhomb}\). We refer to its cells as sliced rhomboids.

For a sliced rhomboid \(\rho \), we define \(k_\rho \) as the minimum depth among its vertices. Moreover, there is a unique (unsliced) rhomboid \(\rho '\) of smallest dimension that contains \(\rho \), and we define \(r_\rho :=r_{\rho '}\). Define

$$\begin{aligned} \text {S{-}Rhomb}_{r,k}:=\{\rho \in \text {S{-}Rhomb}\mid r_{\rho }\le r, k_\rho \ge k\} \end{aligned}$$

and observe that for \(r\le r'\) and \(k\ge k'\), we have \(\text {S{-}Rhomb}_{r,k}\subseteq \text {S{-}Rhomb}_{r',k'}\). Hence, \((\text {S{-}Rhomb}_{r,k})_{(r,k)\in [0,\infty )\times {\mathbb {N}}^{op }}\) is a bifiltration of combinatorial cell complexes. Again, we will abuse notation and use the symbol \(\text {S{-}Rhomb}\) both for the sliced rhomboid tiling and the bifiltration \((\text {S{-}Rhomb}_{r,k})_{(r,k)\in [0,\infty )\times {\mathbb {N}}^{op }}\). As shown in [28], the restriction of \(\text {S{-}Rhomb}\) to cells in the hyperplane \(-x_{d+1}=k\) is the order-k Delaunay mosaic, i.e., the geometric dual of the order-k Voronoi diagram.

4.3 Comparison of S-Rhomb and S-Del

The next lemma establishes a close relationship between the bifiltrations \(\text {S{-}Rhomb}\) and \({\text {S{-}Del}}\). It is closely related to [28, Theorem 1 and Lemma 2].

Lemma 4.2

For all \((r,k)\in [0,\infty )\times {\mathbb {N}}\),

  1. (i)

    the vertex sets of \(\text {S{-}Rhomb}_{r,k}\) and \({\text {S{-}Del}}_{r,k}\) are equal;

  2. (ii)

    the vertices of each sliced rhomboid in \(\text {S{-}Rhomb}_{r,k}\) span a simplex in \({\text {S{-}Del}}_{r,k}\);

  3. (iii)

    the vertices of each simplex in \({\text {S{-}Del}}_{r,k}\) are contained in a sliced rhomboid of \(\text {S{-}Rhomb}_{r,k}\).

Proof

For the first part, note that a set of sites \(v=\{a_1,\ldots ,a_{k'}\}\) is a vertex in \(\text {S{-}Rhomb}_{r,k}\) if and only if \(k'\ge k\) and for all \(r'>r\) there is a sphere S of radius at most \(r'\) whose associated decomposition \({A}={{{A}}_{in }}\sqcup {{{A}}_{on }}\sqcup {{{A}}_{out }}\) satisfies

$$\begin{aligned} {{{A}}_{in }}\subseteq v\subseteq {{{A}}_{in }}\cup {{{A}}_{on }}. \end{aligned}$$
(3)

Note that (3) holds if and only if the center of S has v among its \(k'\) closest sites, which is equivalent to the condition that the order-\(k'\) Voronoi region \(\text {Vor}(v)\) contains the center of S. Thus, such a sphere S exists if and only v is a vertex of \(\text {Del}_{r',k'}\). Thus, \(v\in \text {S{-}Rhomb}_{r,k}\) if and only if \(k'\ge k\) and \(v\in \text {Del}_{r',k'}\) for all \(r'>r\). But the latter holds if and only if \(v\in {\text {S{-}Del}}_{r,k}\) because, first, the vertex sets of \({\text {S{-}Del}}_{r',k}\) and \(\bigsqcup _{k'\ge k} \text {Del}_{r',k'}\) are equal and, second, \(v\in {\text {S{-}Del}}_{r',k}\) for all \(r'>r\) implies \(v\in {\text {S{-}Del}}_{r,k}\). Thus, the vertex sets of \(\text {S{-}Rhomb}_{r,k}\) and \({\text {S{-}Del}}_{r,k}\) are equal, as claimed.

For the second part, let \(v_1,\dots ,v_m\) denote the vertices of a sliced rhomboid in \(\text {S{-}Rhomb}_{r,k}\). Let \(\rho \) denote the smallest rhomboid of \(\text {Rhomb}\) containing this sliced rhomboid. For any \(r'>r\), there exists a sphere S of radius at most \(r'\) with \(\rho _S=\rho \). Let x denote the center of S and \({A}={{{A}}_{in }}\sqcup {{{A}}_{on }}\sqcup {{{A}}_{out }}\) be the decomposition with respect to S. Now, each \(v_i\) is the union of \({{{A}}_{in }}\) with a subset of \({{{A}}_{on }}\), and hence, the point x belongs to the Voronoi region of \(v_i\). Since i is arbitrary, it follows that all Voronoi regions intersect, and x has distance \(\le r'\) to each site in each \(v_i\), so \(v_1,\ldots ,v_m\) span a simplex in \({\text {S{-}Del}}_{r',k}\). Since this holds for all \(r'>r\), this simplex is also contained in \({\text {S{-}Del}}_{r,k}\).

For the third part, consider vertices \(v_1,\ldots ,v_m\) that span a simplex in \({\text {S{-}Del}}_{r,k}\). Assume that some \(v_i\) has order \(k'\ge k\) and that the remaining vertices are of order \(k'\) or \(k'-1\). Since \(v_1,\dots ,v_m\) span a simplex, the corresponding higher-order Voronoi regions, intersected with balls of radius r around the involved sites, have non-empty intersection. Let x be a point in this intersection.

If \(k'=0\), then \(m=1\) and \(v_1=\emptyset \). As \(\{\emptyset \}\) is a combinatorial rhomboid of dimension 0, the desired result holds in this case. If \(k'=1\) and x is a site, then either \(m=1\) and \(v_1=\{x\}\), or else \(m=2\), in which case \(\{v_1,v_2\}=\{\{x\},\emptyset \}\). In either case, the desired result again holds.

Otherwise, there is smallest sphere S centered at x that includes \(k'\) sites (either on the sphere or in its interior). S induces a partition \({A}={{{A}}_{in }}\sqcup {{{A}}_{on }}\sqcup {{{A}}_{out }}\) and a rhomboid \(\rho \). Each vertex \(v_i\) of order \(k'\) must contain all sites of \({{{A}}_{in }}\), and some subset of the sites of \({{{A}}_{on }}\), meaning that \(v_i\) is in \(\rho \). Furthermore, at least one site lies on S; otherwise, there would be a smaller sphere. This implies that each vertex \(v_j\) of order \(k'-1\) also has to contain all sites of \({{{A}}_{in }}\) and some subset of \({{{A}}_{on }}\). Thus, all vertices lie in \(\rho \), and in particular in its \((k'-1,k')\)-slice. Finally, observe that because one of the sites lies on S, the radius of S is the distance of that site to x, which is at most r. \(\square \)

Remark 4.3

Parts (i) and (ii) of Lemma 4.2 establish that we have a vertex-preserving injection \({\mathcal {J}}\) from the cells of \(\text {S{-}Rhomb}_{r,k}\) to the simplices of \({\text {S{-}Del}}_{r,k}\). Moreover, the third part of Lemma 4.2 implies that \(\mathcal J\) restricts to a bijection from the maximal cells of \(\text {S{-}Rhomb}_{r,k}\) to the maximal simplices of \({\text {S{-}Del}}_{r,k}\). Figure 7 illustrates that \({\mathcal {J}}\) itself needn’t be a bijection.

We note that \({\mathcal {J}}\) does not preserve dimension: For \(\nu \) a cell of \(\text {S{-}Rhomb}\) spanned by vertices of cardinality k (i.e., a cell in the order-k Delaunay mosaic), we have \(\dim (\nu )\le d\). But if \(d\ge 3\), it can be that \(\dim (\mathcal J(\nu ))>d\), even when the sites are in general position. For a cell \(\nu \) of \(\text {S{-}Rhomb}_{r,k}\) spanned by vertices of cardinality k and \(k+1\), we may have \(\dim (\nu )\ne \dim ({\mathcal {J}}(\nu ))\) even for \(d=2\), see Fig. 7.

Fig. 7
figure 7

An illustration of the difference between \({\text {S{-}Del}}\) and \(\text {S{-}Rhomb}\) for three points in the plane. The order-1 Voronoi regions of the points \(\{x\}\), \(\{y\}\), and \(\{z\}\) intersect in c, as do the order-2 Voronoi regions of \(\{x,y\}\), \(\{y,z\}\), and \(\{x,z\}\). Consequently, \({\text {S{-}Del}}\) contains a 5-simplex, but the corresponding cell in \(\text {S{-}Rhomb}\) on the same vertex set is a 3-dimensional triangular skew prism. Many simplices in \({\text {S{-}Del}}\) do not correspond to any cell in \(\text {S{-}Rhomb}\), e.g., the 1-simplex \(\{x,yz\}\)

Theorem 4.4

The bifiltrations \(\text {S{-}Rhomb}\) and \({\text {S{-}Del}}\) are weakly equivalent.

Proof

We define good covers of both bifiltrations: First, for \(\text {S{-}Rhomb}_{r,k}\), we choose the cover that consists of all its cells. This is a good cover because the cells are convex. The collection of these covers over all choices of r and k yields a good cover \(\mathcal {U}\) of the bifiltration \(\text {S{-}Rhomb}\), and the Persistent Nerve Theorem then gives objectwise homotopy equivalences

$$\begin{aligned} \text {S{-}Rhomb}{\mathop {\longleftarrow }\limits ^{\simeq }}\Delta {\mathcal {U}} {\mathop {\longrightarrow }\limits ^{\simeq }}\text {Nrv}(\mathcal {U}) \end{aligned}$$

for some intermediate bifiltration \(\Delta {\mathcal {U}}\). Moreover, we obtain a cover \(\mathcal {V}_{r,k}\) of \({\text {S{-}Del}}_{r,k}\) whose elements are the simplices spanned by the vertices of the sliced rhomboids in \(\text {S{-}Rhomb}_{r,k}\). By the second part of Lemma 4.2, these cover elements indeed exist. Moreover, in view of Remark 4.3, every maximal simplex of \({\text {S{-}Del}}_{r,k}\) is an element of \(\mathcal {V}_{r,k}\). We thus obtain a good cover \(\mathcal {V}\) of \({\text {S{-}Del}}\). Applying the Persistent Nerve Theorem again, we obtain objectwise homotopy equivalences

$$\begin{aligned} {\text {S{-}Del}}{\mathop {\longleftarrow }\limits ^{\simeq }}\Delta {\mathcal {V}} {\mathop {\longrightarrow }\limits ^{\simeq }}\text {Nrv}(\mathcal {V}). \end{aligned}$$

Finally, \(\text {Nrv}(\mathcal {U})\) and \(\text {Nrv}(\mathcal {V})\) are isomorphic: The elements of \(\mathcal {U}\) and of \(\mathcal {V}\) are in 1-to-1 correspondence, with corresponding cover elements having the same vertex set. In both cases, an intersection of cover elements is non-empty if and only if the elements share a vertex, which is determined by their vertex sets. Hence, we have objectwise homotopy equivalences

$$\begin{aligned} \text {S{-}Rhomb}{\mathop {\longleftarrow }\limits ^{\simeq }}\Delta {\mathcal {U}} {\mathop {\longrightarrow }\limits ^{\simeq }}\text {Nrv}(\mathcal {U}) {\mathop {\longrightarrow }\limits ^{\cong }}\text {Nrv}(\mathcal {V}){\mathop {\longleftarrow }\limits ^{\simeq }}\Delta {\mathcal {V}}{\mathop {\longrightarrow }\limits ^{\simeq }}{\text {S{-}Del}}.\qquad \qquad \quad \,\square \end{aligned}$$

4.4 Unslicing the Rhomboid

Next, we define a bifiltration on the (unsliced) rhomboid tiling. Recall that for a rhomboid \(\rho \), we already defined \(r_\rho \) as the radius of the smallest sphere that gives rise to that rhomboid. As in the sliced version, we define \(k_\rho \) as the minimal depth among the vertices of \(\rho \), and

$$\begin{aligned} {{\text {Rhomb}}_{r,k}}:=\{\rho \mid r_\rho \le r,\,k_\rho \ge k\}. \end{aligned}$$

This yields a bifiltration \(({{\text {Rhomb}}_{r,k}})_{(r,k)\in [0,\infty )\times {\mathbb {N}}^{op }}\), which we denote by \(\text {Rhomb}\).

Lemma 4.5

The bifiltrations \(\text {Rhomb}\) and \(\text {S{-}Rhomb}\) are weakly equivalent.

Proof

For a rhomboid \(\rho \) in \(\text {Rhomb}\), set \(k_{min }\) as the minimum depth and \(k_{max }\) as the maximum depth among the vertices in \(\rho \). Note that \(k_\rho =k_{min }\). For r and \(k'\) fixed, we say \(\rho \) is dangling if \(r_\rho \le r\) and \(k_{min }<k'<k_{max }\). If \(\rho \) is dangling then \(\rho \notin {{\text {Rhomb}}_{r,k}}\), but some of the slices of \(\rho \) are contained in \(\text {S{-}Rhomb}_{r,k}\). In fact, all cells of \(\text {S{-}Rhomb}_{r,k}\) not contained in (the geometric realization of) \({{\text {Rhomb}}_{r,k}}\) are of this form. For example, taking \(k=2\) and r very large, the shaded rhomboid \(\{c,bc,cd,bcd\}\) of Fig. 6 is dangling. \(\text {S{-}Rhomb}_{r,2}\) contains the cell \(\{bc,cd,bcd\}\) but \({{\text {Rhomb}}_{r,2}}\) does not.

Observe that there is a deformation retraction of \(\text {S{-}Rhomb}_{r,k}\) onto \({{\text {Rhomb}}_{r,k}}\) which, for each dangling rhomboid \(\rho \), “pushes”

$$\begin{aligned} \rho \cap \{x\in {\mathbb {R}}^{d+1}\mid x_{d+1}\ge k\} \end{aligned}$$

onto the boundary of \(\rho \); for instance, in the example above \(\{bc,cd,bcd\}\) is pushed onto \(\{bc,bcd\}\cup \{cd,bcd\}\). Thus, for every choice of r and k, the inclusion \({{\text {Rhomb}}_{r,k}}\hookrightarrow \text {S{-}Rhomb}_{r,k}\) is a homotopy equivalence. Moreover, these inclusions commute with the inclusion maps in \(\text {Rhomb}\) and \(\text {S{-}Rhomb}\), hence define an objectwise homotopy equivalence. \(\square \)

Combining the previous lemma with Theorem 4.4 and Theorem 3.1 yields the following result:

Theorem 4.6

The bifiltrations \(\text {Rhomb}\) and \(\text {Cov}\) are weakly equivalent.

Remark 4.7

(size of the rhomboid bifiltration) In view of Proposition 4.1, \(\text {Rhomb}\) has at most \(2(n+1)^{d+1}=O(n^{d+1})\) cells. One can also bound the size of a truncated version of \(\text {Rhomb}\), defined analogously to the truncation of \({\text {S{-}Del}}\) considered in Proposition 3.2. Indeed, \(\text {Rhomb}\) is clearly smaller (in terms of number of cells) than \(\text {S{-}Rhomb}\), and by Remark 4.3, \(\text {S{-}Rhomb}\) is at least as small as \({\text {S{-}Del}}\). Moreover, this extends to truncations of these bifiltrations. Thus, the size bound of Proposition 3.2 also holds for truncations of \(\text {Rhomb}\).

4.5 Computation

In [29, 43], a relatively simple algorithm is given for computing the rhomboid bifiltration. (In fact, [29] explicitly considers only the computation of the rhomboid tiling and the radius \(r_{\rho }\) of each rhomboid \(\rho \); the rhomboid bifiltration is not mentioned. But it is trivial to extend the algorithm to compute the depth \(k_{\rho }\) of each rhomboid \(\rho \), thus computing the rhomboid bifiltration.)

We briefly outline the approach. Given a \((d+1)\)-dimensional rhomboid \(\rho \), let \(\sigma \) denote the intersection of \(\rho \) with the hyperplane \(k=k_\rho +1\). We call \(\sigma \) the generation-1 slice of \(\rho \). Note that \(\sigma \) is a d-simplex. Given the combinatorial vertices of \(\sigma \), we can easily recover \(\rho \) [29, Lem. 2]. The algorithm of [29] computes the rhomboid tiling by computing the generation-1 slices of all \((d+1)\)-dimensional rhomboids. For each k in increasing order, a weighted Delaunay triangulation \(W_k\) is computed which triangulates the order-k Delaunay mosaic and has the same vertex set. Given the vertex set, \(W_k\) can be computed via any algorithm for weighted Delaunay triangulation computation, e.g., via a (\(d+1\))-dimensional convex hull computation [8, Sect. 4.4.4]. We explain below how the vertex set is computed.

A simple combinatorial criterion [29, Lem. 3] tells us whether a d-simplex in \(W_k\) is a generation-1 slice of a rhomboid. Thus, one can efficiently identify all generation-1 slices in the triangulation by iterating through all the d-simplices of \(W_k\). In this way, we identify all \((d+1)\)-dimensional rhomboids \(\rho \) with \(k_\rho = k-1\). It remains to explain how the vertex set of \(W_k\) is computed. The vertices of \(W_1\) are just the sites A. For \(k\ge 2\), [29, Lem. 3] establishes that every vertex v in \(W_k\) appears in a rhomboid \(\rho \) with \(k_\rho \le k-2\). We thus discover \(\rho \), and hence v, by the time we finish processing \(W_{k-1}\).

Complexity. The complexity of this algorithm is discussed in [29, Sect. 4]. While an explicit runtime bound is not given, it is easy to extract naive bounds from the discussion; we now do so. We distinguish between two contributions to the runtime:

  • computing \(W_k\) at all levels k, given the vertices,

  • checking, for each k, whether each d-simplex in \(W_k\) is a generation-1 slice and if so, storing the corresponding rhomboid and its faces.

The latter requires O(k) time per d-simplex in \(W_k\). Hence, since the rhomboid tiling has size \(O(n^{d+1})\) (see Remark 4.7), the total time required over all d-simplices is \(O(n^{d+2})\).

The complexity of computing the triangulations \(W_k\) depends on a choice of algorithm for computing weighted Delaunay triangulations. Some well-known algorithms have output-sensitive complexity bounds. For example, in the case \(d=3\), a weighted Delaunay triangulation of p points can be computed by the algorithm of [15] in time \(O((p+m)\log ^2 m)\), where m is the size of the output. In our setting, the total size of all the \(W_k\) is \(O(n^{d+1})\) because the size of each \(W_k\) differs from the size of the order-k Delaunay mosaic by at most a constant factor. Hence for \(d=3\), which is arguably the case of primarily interest, the total time to compute all of the triangulations \(W_k\) is \(O(n^{4}\log ^2 n)\). Therefore, the total cost of computing the rhomboid bifiltration is \(O(n^{5}+n^{4}\log ^2 n)=O(n^{5}\)).

For arbitrary d, the approach of [8, Sect. 4.4.4] computes the weighted Delaunay triangulation of p points in \({\mathbb {R}}^d\) in time \(O\bigl (p\log p+ p^{\lceil {d}/{2}\rceil }\bigr )\). In our setting, each vertex of each \(W_k\) is a vertex of the rhomboid tiling, so there are a total of \(O(n^{d+1})\) vertices among all \(W_k\). Thus, for \(d\ge 3\) the time required to compute all \(W_k\) is \(O\bigl (n^{(d+1)\lceil {d}/{2}\rceil }\bigr )\), and the runtime of the full algorithm satisfies the same asymptotic bound. This bound is rather large, but it seems likely that it could be improved via a more careful analysis.

Implementation. The above algorithm has been implemented in the software package rhomboidtilingFootnote 1 [29]. The code computes the sliced and unsliced bifiltrations \(\text {S{-}Rhomb}\) and \(\text {Rhomb}\) as well as their free implicit representations (FIREPs), i.e., chain complexes [42]. rhomboidtiling is written in C++, using the Cgal libraryFootnote 2 for geometric primitives. The current version accepts only 2- and 3-dimensional inputs, but all steps readily generalize to higher dimensions; adding support for higher-dimensional inputs is a matter of software design rather than algorithm development. That said, handing higher-dimension inputs of practical size is likely to be computationally expensive.

5 Experiments

We performed experiments on point sets in \({\mathbb {R}}^2\) and \({\mathbb {R}}^3\). We provide a brief summary here; for detailed results, see Appendix A. We sampled points uniformly at random from \([0,1]^2\) and \([0,1]^3\), from a disk, from an annulus, and from an annulus with noise added. We computed the rhomboid bifiltrations \(\text {Rhomb}^{\le K}\) and \(\text {S{-}Rhomb}^{\le K}\). We then used mpfreeFootnote 3 to compute minimal presentations of 2-parameter persistent homology of our bifiltrations.

In one set of experiments, we found that \(\text {Rhomb}^{\le K}\) is up to 47% smaller than \(\text {S{-}Rhomb}^{\le K}\), and can be computed more than 20% faster. The experiments suggest that the relative performance of \(\text {Rhomb}^{\le K}\) improves with increasing \(K\).

Fig. 8
figure 8

An illustration of the first Hilbert function of the multicover bifiltration, using grayscale shading. The instances are samples of an annulus (top), a noisy annulus (middle), and a disk (bottom). The sample size is 100 in the left column, and 200 in the right column. Darkness of the shading is proportional to the value of the Hilbert function, up to some maximum value, above which the shading is taken to be black; the lightest non-white shade of gray corresponds to a Hilbert function value of 1

We investigated the size of \(\text {Rhomb}^{\le K}\), varying the sample size and the threshold K. For \(d=2\), our experiments show a clear subquadratic growth of the size of \(\text {Rhomb}^{\le K}\) and its FIREP with respect to increasing \(K\). For \(d=3\), the growth is clearly subcubic. These observations also extend to time complexity. Letting the number of points increase, the size of \(\text {Rhomb}^{\le K}\) and its FIREP shows roughly linear growth for both space dimensions, with a slight superlinear tendency. Again, we observed the same behavior for the computation time.

We conclude this section with a data visualization enabled by the ideas of this paper: For \(i\ge 0\), the ith Hilbert function assigns to each parameter \((r,k)\in {\mathbb {R}}\times {\mathbb {N}}\) the rank of ith homology module of \(\text {Cov}_{r,k}\) (with coefficients in some fixed field). The Hilbert functions are well known to be unstable invariants. Nevertheless, their visualization can give us a feel for how the Lipschitz stability property of the multicover bifiltration established in [6] manifests itself in random data. Figure 8 shows a few examples, plotted using rivet.Footnote 4

6 Conclusion

We have introduced a simplicial model for the multicover bifiltration, as well as a polyhedral model based on the rhomboid tiling of [28]. For a data set of size n in \({\mathbb {R}}^d\) with d constant, the size of both constructions is \(O(n^{d+1})\). The size can be controlled by thresholding the parameter k of the multicover bifiltration. An algorithm of [29] computes the rhomboid bifiltration, and an implementation is available. In our experimental results, this approach scales well enough to suggest that practical applications could soon be within reach. A natural next step is to begin exploring the use of the multicover bifiltration on real world data.

To obtain our combinatorial models of the multicover bifiltration, we begin with a zigzag of filtrations, and then straighten it out by taking unions of prefixes. Notably, one could in principle compute the persistent homology modules of the multicover bifiltration without straightening out the zigzag, by inverting the isomorphisms on homology induced by the inclusions \(\text {Del}_{r,k}\hookrightarrow \widetilde{\text {Del}}_{r,k}\). It seems plausible that this approach could be computationally useful.

We are curious to learn which indecomposables typically arise in the persistent homology modules of multicover bifiltration, and our approach could be used in conjunction with existing algorithms [22, 35] to study this. It would also be interesting to investigate whether there is an interplay between the geometry of a space and the multicover bifiltration of a noisy sample of this space; we wonder if invariants of the bifiltration encode additional information about geometric properties, such as the reach or differentiability.

Our experiments show a significant increase in the size of our models of multicover bifiltration for increasing \(K\). This suggests the need for refinements to our algorithmic approach in order to handle large values of \(K\). Aside from the truncations considered in this paper, there are a couple of promising ways forward: One could construct a coarsened bifiltration where some values of k are skipped. Alternatively, one could make use of the inductive nature of our constructions: for the step from k to \(k+1\), one does not need information about the bifiltrations at indices \(j<k\). Therefore, one could provide the bifiltration as an output stream without storing it completely in memory. Subsequent algorithmic steps would then have to be implemented as streaming algorithms as well.

Table 1 We compare the sizes of FIREPs of \(\text {S{-}Rhomb}^{\le K}\) and \(\text {Rhomb}^{\le K}\)
Table 2 Results on n uniformly sampled points in the unit square and unit cube, using \(K=4\) as maximal value for k
Table 3 Results on 500 uniformly sampled points in the unit square and unit cube
Table 4 We sampled points of an annulus around a circle of radius 0.25