The classical persistence algorithm computes the unique decomposition of a persistence module implicitly given by an input simplicial filtration. Based on matrix reduction, this algorithm is a cornerstone of the emergent area of topological data analysis. Its input is a simplicial filtration defined over the integers $\mathbb{Z}$ giving rise to a $1$-parameter persistence module. It has been recognized that multiparameter version of persistence modules given by simplicial filtrations over $d$-dimensional integer grids $\mathbb{Z}^d$ is equally or perhaps more important in data science applications. However, in the multiparameter setting, one of the main challenges is that topological summaries based on algebraic structure such as decompositions and bottleneck distances cannot be as efficiently computed as in the $1$-parameter case because there is no known extension of the persistence algorithm to multiparameter persistence modules. We present an efficient algorithm to compute the unique decomposition of a finitely presented persistence module $M$ defined over the multiparameter $\mathbb{Z}^d$. The algorithm first assumes that the module is presented with a set of $N$ generators and relations that are \emph{distinctly graded}. Based on a generalized matrix reduction technique it runs in $O(N^{2\omega+1})$ time where $\omega<2.373$ is the exponent for matrix multiplication. This is much better than the well known algorithm called Meataxe which runs in $\tilde{O}(N^{6(d+1)})$ time on such an input. In practice, persistence modules are usually induced by simplicial filtrations. With such an input consisting of $n$ simplices, our algorithm runs in $O(n^{(d-1)(2\omega + 1)})$ time for $d\geq 2$. For the special case of zero dimensional homology, it runs in time $O(n^{2\omega +1})$.
翻译:古典的持久性算法可以计算一个由输入缩略式过滤法暗含的持久性模块的独特分解。 基于矩阵缩减, 此算法是表层数据分析中突发领域的基石。 其输入是整数 $\ mathbb+$ 定义的简单性过滤法, 产生一个$ 参数持久性模块。 人们已经认识到, 由纯化过滤法提供的持久性模块的多参数版本( $2.3 平面整格 $\ mathbb+$ 在数据科学应用中同等或也许更为重要 。 然而, 在多参数设置中, 一个主要的挑战是, 基于变数结构的表面性总结, 如变数和瓶卡距离, 产生1美元参数的比 $ 美元 。 我们用一种高效的算法, 以纯化的 美元 美元 美元 美元 =====xxx 美元 数据 数据 。 将一个已知的硬性模块以美元 ===xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx