## 2 Materials and Methods
### Empirical Simplicial Computation with Witness Sampling and Dimension Reduction  
Overall, the witness sampling is critical for two reasons: (1) The single-cell data have different noise granularity across cell types and data collection procedures [30], and thus the number of cells collected in each time point and different cell type (as in the analyzed developmental study [23]) can vary in magnitude, making direct simplicial computation incomparable, and (2) in large-scale, high-throughput data, the large number of data points and feature sizes can make computation especially expensive and infeasible. For instance, the computation of filtration requires a comparison between a sweeping proximity threshold and the distance between two data points, and computing the distance matrix between all points is not only time-consuming but memory-exhaustive (e.g., 1 M points would require 1 T to just store the distance matrix). Figure 3: Persistent homology via mathematical filtration. In this schematic diagram, a point cloud of 19 data points is presented in a low-dimensional embedding space. In the filtration process, a parameter \(\varepsilon\) is swept from zero to the maximum pairwise distance within the point cloud, indicating a distance threshold under which the two points can form an edge to become one connected component in the graph. For each value \(\varepsilon\), we obtain a space \(S_{\varepsilon}\) consisting of vertices, edges formed among the vertices, and higher-dimensional polytopes connected by these edges. For instance, a nerve ball of a radius \(\varepsilon\) grows around each point cloud, and an edge will form if two nerve balls touch. Homology counts the number of essentially different cycles—linear combinations of simplices that form a cycle (e.g., a loop formed by a sequence of edges)—that are not the boundary of something that can fill in the hole (e.g., a combination of 2D simplices or triangles spanning the inside of the loop). We denote \(H_{n}\) as the \(n\)th homology group (i.e., the formation of the simplex complexes of an order \(n\)), with 0-simplex as the nodes (or clusters), 1-simplex as the edges between two nodes, 2-simplex as the triangles, 3-simplex as the tetrahedrons, and so on. We logged the existence of an n-simplex if and only if all of its components (e.g., (n-1)-simplex, (n-2)-simplex, \(\cdots\), 1-simplex, and 0-simplex) were all in \(S_{\varepsilon}\) and marked their demises when some of these topological cavities were filled with the additions of new edges (and potentially nodes). Each colored line indicates the “lifespan” of a simplex, with its starting point being its “birth” (or first appearance) and ending point being its “death” (or disappearance due to the two nerve balls fully overlapping). In this example, the persistent homology of the data cloud can be presented in the form of a “barcode” representation, which is a finite collection of intervals. The birth and death of the simplicial complexes up to the second order were recorded when the filtration process gradually swept the distance threshold. The barcode representation is often replaced with the visualization of a 2D persistence diagram, in which the x-axis indicates the birth time (the distance threshold at which filtration appears) and the y-axis indicates its death time (the distance threshold at which filtration disappears). For these larger datasets, if we included every data point as a vertex, the filtrated simplicial complexes could quickly contain too many simplices for efficient computation. To solve this numerical inconsistency issue, we instead extracted the lazy witness complexes by sampling \(m\) data points [26] with a sequential maxmin procedure [31], setting a nearest neighbor inclusion of two (as in the term \"lazy\"). The selection of \(m\) depends on the scale of the dataset. The bigger the sample size \(m\), the better the estimate. However, different partitions of the data points have varying sizes.