SlowGuess/NeurIPS_2023_OCR huggingface dataset:
Suppose that  $(b,d)$  is a dot in the persistence diagram of  $L$  with  $b\leq \lambda <  \omega <  d$ . This dot represents a class  $[Y]$  born in  $HL_{b}$  that dies in  $HL_{d}$ . The class  $[Y]\in HR_{b}$  is born at  $b$  must die at some value  $c$ , so  $[Y]\in \ker HR_{b\to c}$ . It cannot be that  $c\leq \delta$ , because that would imply  $[Y]\in \ker HL_{b\to \omega}$ , contradicting  $\omega < d$ . Therefore,  $\delta < c$ .
Proof of Theorem 5.4. Let  $f_{*}: HP \to HP'$  denote the map induced by  $f$  and similarly, let  $f_{*}^{-1}: HR' \to HR$  denote the map induced by  $f^{-1}$ . Consider the following commutative diagram in which
the unlabeled morphisms are transition maps of the respective persistence modules.
$$
\begin{array}{c} H R _ {\delta - \kappa} ^ {\prime} \xrightarrow {f _ {*} ^ {- 1}} H R _ {\delta} \\ \uparrow \\ N ^ {\prime} \xrightarrow {\subset} H R _ {\lambda - \kappa} ^ {\prime} \xrightarrow {f _ {*} ^ {- 1}} H R _ {\lambda} = H P _ {\lambda , \epsilon_ {1}} \xrightarrow {} H P _ {\omega , \epsilon_ {2}} \\ \Big \downarrow = \quad \Big \downarrow f _ {*} \quad \Big \downarrow f _ {*} \\ H P _ {\lambda - \kappa , \epsilon_ {1} + 2 \kappa} ^ {\prime} \longrightarrow H P _ {\lambda + \kappa , \epsilon_ {1} + 2 \kappa} ^ {\prime} \longrightarrow H P _ {\omega + \kappa , \epsilon_ {2} + 2 \kappa} ^ {\prime} \end{array}
$$
Note that the bi-degrees in the diagram are determined by Lemma 3.3 and Corollary 3.5. Set  $N' = \ker HR_{\lambda - \kappa \to \delta - \kappa}^{\prime} \subset HR_{\lambda - \kappa}^{\prime}$ . Commutativity of the top left square implies that  $f_{*}^{-1}(N') \subset HR_{\lambda}$  maps vertically to 0 in  $HR_{\delta}$  and hence,  $f_{*}^{-1}(N')$  lies in  $\ker HR_{\lambda \to \delta}$ . The homologically matched assumption on  $(X, K)$  implies  $f_{*}^{-1}(N') \subset \ker HP_{(\lambda, \epsilon_1) \to (\omega, \epsilon_2)}$ . By commutativity of the bottom right square,  $f_{*}(f_{*}^{-1}(N'))$  maps horizontally to  $0 \in HP_{\omega + \kappa, \epsilon_2 + 2\kappa}^{\prime}$ . Finally, the locally simplicially matched assumption means we can instead think of  $N'$  as a subset of  $HP_{\lambda - \kappa, \epsilon_1 + 2\kappa}^{\prime}$  which maps to 0 in  $HP_{\omega + \kappa, \epsilon_2 + 2\kappa}^{\prime}$  by commutativity. Thus,
$$
N ^ {\prime} = \ker H R _ {\lambda - \kappa \rightarrow \delta - \kappa} ^ {\prime} \subset \ker H R _ {(\lambda - \kappa , \epsilon_ {1} + 2 \kappa) \rightarrow (\omega + \kappa , \epsilon_ {2} + 2 \kappa)} ^ {\prime},
$$
B Supplementary Material: Code
The code supporting this article is an initial proof-of-concept. It is available publicly at
https://gitlab.com/geomdata/topological-parallax
It is designed as a simple Python package, following community best-practices for tooling and layout. Documentation is provided there. We recommend that the reader go to the repository for issue tracking, improvements, bug fixes, testing pipelines, etc.
Because this package relies on GUDHI The GUDHI Project [34], the filtration values are by diameter (not radius). This is important to note, because the theory in the paper is written using radius (not diameter) as the filtration value.
Topological parallax has the same computational complexity as the computation of Rips complexes and their persistence diagrams—albeit with a larger constant. This is because parallax merely inserts a model-evaluation step upon the examination of each edge. The constant therefore is  $tN^2$  for  $N$  points and a model that takes time  $t$  to evaluate. There are very interesting dimension- and structure-dependent estimates for the real-life/expected timing of Rips computations, such as Bauer et al. [4]. Distributed persistence can parallelize this process, as in Solomon et al. [31]. See https://gitlab.com/geomdata/dispers.
- Figure 1 was produced with the Jupyter notebook notebooks/Winky Example.ipynb. Compare and contrast the Python scripts runners/run_winky_nn.py versus runners/run_winky_tree.py
- Figure 3 was produced with the Python script runners/run_cyclooctane_balls.py. Compare and contrast that script with runners/run_cyclooctane_nnfar.py and run_cyclooctane_nnhull.py. These examples may take 100-500 GB of RAM to compute the persistence diagrams as currently implemented.
Figure 4 was produced with the Python script runners/bond_lengths.py
C Supplementary Material: Utah Jar Example
This example demonstrates a situation where a classifier appears to be  $100\%$  correct on a semantically meaningful dataset, but the resulting model is too strict for interpolation within a data class, Topological parallax detects this phenomenon, as discussed in Section 6.
We applied parallax to an imagery dataset inspired by the "Utah teapot." The dataset consists of 14000 images—4000 images of a rotated teapot and 10000 images of a rotated teapot with no spout or handle (referred to as the "Utah jar"). See Figure 5a. All images were rendered with PoV-Ray.
We constructed a bespoke classifier on this dataset of images which accepts any image within a distance of 1.0 to the set of jar images using the Euclidean metric on flattened images. Our classifier rejects all other inputs. We applied parallax to this model and found very small values for both  $\lambda_{\mathrm{lo}}$  and  $\lambda_{\mathrm{sup}}$ , with  $\lambda_{\mathrm{lo}} \sim \lambda_{\mathrm{sup}} < 2$ . See Figure 5b.
Given the hard cut-off distance of 1.0 in the classifier and these  $\lambda$  values, we expect the model to prohibit reasonable interpolations of images. Indeed, we found numerous interpolations rejected by the model which seem valid to the human eye. See Figure 5c.
(a) Examples from the modified Utah Teapot dataset.
(b) The persistence diagram of the dataset marked by parallax.
(c) Interpolative images that are visually similar to true dataset samples but are rejected by the overly sensitive model.
Figure 5: Using parallax to detect a dataset-model geometry mismatch. (a) The images consist of the Utah teapot (rendered with PoV-Ray) with spouts and handles removed for simplification. (b) We construct a simple classifier which accepts any images within a Euclidean distance of 1.0 of the (flattened) image and rejects all others, and apply parallax to it. (c) Six interpolated images are shown, all of which look very similar to the original dataset but are rejected by the model (corresponding to the X marks in (b)).
D Supplementary Material: Understanding the Bi-Complex
The parallax complex  $P(X, K, V)$  is bi-filtered by the parameters  $\alpha$  (the length of a geodesic) and  $\varepsilon$  (the distortion of geodesic length between  $K$  and  $V$ ). Figure 6 provides some visualizations that may help the reader interpret traditional barcodes of Rips-like paths, and how these bi-filtration parameters may be estimated. These parameters are related to the size of voids in the model, as seen in Lemma 5.2.
Figure 6: Left: Births and deaths are bi-filtered in  $HP$ , and are observed by barcodes on Rips-like paths. Cor 3.5 means this picture is stable within  $\pm (\kappa, 2\kappa)$ . Center: An edge  $(x,y) \in P_{\alpha,\varepsilon}$  can be estimated by sampling tubular neighborhoods. Right: Algorithm 7.5 underestimates  $\alpha, \varepsilon$ .
E Supplementary Material: Table of Symbols
Notation	Plain Meaning	First Appearance	Term
V	A geodesic space, such as Rn	p.2	Ambient Space
X	A finite set in V	p.2	Dataset
k	A perception function on V	p.2	Model (as function)
K	Support set of k	p.2	Model (as set)
M(X)	Models compatible with dataset X	p.2
M*(K)	Datasets compatible with model K	p.2
K°	Interior of set K in topological space V	p.2
K	Closure of set K in topological V	p.2
Kc	Complement of set K in V	p.2
Ω	Bounded open set in Kc	p.2	Void
R(X,K)	Rips complex of X in geodesic space K	p.4
α	a filtration level or radius	p.4
Bα(x)	Geodesic ball of radius α about x	p.4
Y	Chain in a Rips complex	p.4
ρK(Y)	Minimal filtration radius for Y in R(X,K)	p.4
ε	Gap in filtration radius between V and K	p.4
P	Parallax bi-complex for X, K, V	p.4	Parallax
HP	Homology of P	p.4
L	A 1-parameter path through P	p.4	Rips-like Path
HL	Homology of L	p.4
≈	Pointwise perturbation of X in V	p.5	Perturbation
≈K	Pointwise perturbation of X in K	p.5	K-Perturbation
f#	Induced map on a simplicial complex	p.5
f*	Push-forward map on homology	p.5
λ·	A meaningful filtration value. See subscript.	p.6