  Persistence diagrams (PD)s play a central role in topological data analysis.
This analysis requires computing distances among such diagrams such as the
1-Wasserstein distance. Accurate computation of these PD distances for large
data sets that render large diagrams may not scale appropriately with the
existing methods. The main source of difficulty ensues from the size of the
bipartite graph on which a matching needs to be computed for determining these
PD distances. We address this problem by making several algorithmic and
computational observations in order to obtain an approximation. First, taking
advantage of the proximity of PD points, we condense them thereby decreasing
the number of nodes in the graph for computation. The increase in point
multiplicities is addressed by reducing the matching problem to a min-cost flow
problem on a transshipment network. Second, we use Well Separated Pair
Decomposition to sparsify the graph to a size that is linear in the number of
points. Both node and arc sparsifications contribute to the approximation
factor where we leverage a lower bound given by the Relaxed Word Mover's
distance. Third, we eliminate bottlenecks during the sparsification procedure
by introducing parallelism. Fourth, we develop an open source software called
PDoptFlow based on our algorithm, exploiting parallelism by GPU and multicore.
We perform extensive experiments and show that the actual empirical error is
very low. We also show that we can achieve high performance at low guaranteed
relative errors, improving upon the state of the arts.
