Persistent homology is a tool of Topological Data Analysis (TDA) whose applications range widely from biology to urban planning to neuroscience (see  for an extended list of applications). Persistent homology summarises a dataset’s information in the form of barcode [6, 14], whose efficient computation is then crucial to TDA.
We provide a new algorithm (Algorithm 1) for the barcode decomposition based on row pivot pairing, which is the dual of the column pivot pairing presented in [10, 13]. The algorithm reduces the boundary matrix of a given filtered simplicial complex proceeding by rows and performing row additions, allowing the full exploitation of the compress optimisation [3, 9].
A non-exhaustive list of algorithms to decompose persistence modules into interval modules includes the so-called standard algorithm , the chunk algorithm , the twist algorithm , the pHrow algorithm , and Ripser . The implementation of the first four can be found in  (cfr. ), and that of Ripser in . All of them take as input a filtered simplicial complex and employ column operations. In addition to these algorithms, in  it is shown that the barcode decomposition can also be achieved via the decomposition of filtered chain complexes, whose reduction is performed by row operations. However, the reduction in  is different from the standard one, which is the focus of this work, and thus we will not study it further.
As we mention, the idea of proceeding by row is not new. Nevertheless, to the best of our knowledge, the idea of row pivot pairing is original, albeit straightforward, and it clarifies the duality between clear and compress optimisations in the computation of persistent homology and cohomology. In [2, 12], it is shown that the column reduction, coupled with the clear optimisation and applied to the coboundary matrix, provides a significant speed-up in the computation of the barcode. This improvement is not mirrored when the same reduction is coupled with the compress optimisation and applied to the boundary matrix. Here, we show that the reason for this asymmetry is that the second procedure is not the true dual of the first one: to obtain the dual, and thus the same number of operations, it is necessary to reduce the boundary matrix via row operations instead of via column operations.
Throughout the work, the symbol denote a simplicial complex of dimension , such that for each , is again a simplicial complex. The chain is called a filtration of .
Given a simplex of dimension , its boundary is the set of the faces of in dimension . If , the boundary is empty. Otherwise, it consists of exactly simplices. The boundary matrix of is a -matrix with coefficients in where the -th column represents the boundary of , i.e. if and only if is in the boundary of . Note that, since is in the complex before is added, is an upper-triangular matrix.
For and , we denote the -th homology of over the field by . The inclusions , for all
, induce maps on the homology vector spacesfor all . This collection of vector spaces and maps forms a diagram usually called a persistence module (fig. 1(a)) .
Since we consider only simplicial complexes with finitely many simplices, the vectors spaces are finite-dimensional. In this case, a persistence module admits a nice decomposition into interval modules, which consist of copies of connected by the identity morphism for the indices inside an interval, and zero otherwise (fig. 1(b)) . The collection of intervals in the decomposition of a persistence module is called a barcode [6, 14], and it is an invariant of isomorphism type. In , the standard algorithm to retrieve the barcodes of a filtered simplicial complex is described. Such an algorithm is based on (column) pivot pairing.
2 Row vs column pivot pairing
As shown in , the (column) pivot pairing in a reduced boundary matrix provides the lifespan intervals of the homological features of a persistence module. Usually, the reduction is performed using only one type of elementary column operation: adding a multiple of one column to a later column. Here, we prove that also a reduction performed using only one type of elementary row operation, namely adding a multiple of one row to a previous row, achieves the same pairing. The reason why other types of elementary row (column) operations are not allowed is that they do not preserve the order of the generators, and thus cannot maintain the pairing.
Let be a filtered simplicial complex, as described in Section 1, with boundary matrix . For the -th row of , let denote the column index of the leftmost element of such row. If row is zero, set .
A matrix is called row reduced if for all non-zero rows . The element is called a row pivot (of ) if .
We recall the some standard notions from . The symbol denotes the index row of the lowest element of column . If column is trivial, then .
A matrix is called column reduced if for all non-zero columns . The element is called a column pivot (of ) if .
Algorithm 1, called row pivot reduction, takes as input the boundary matrix of a filtered simplicial complex and reduces it by row operations. This algorithm is one of the possible methods to achieve a row reduced matrix. Indeed, there are several, non-isomorphic row reduced matrices, all obtained by the same boundary matrix and all with the same row pivots because a row reduced matrix can have several non zero elements to the right of each row pivot.
Let be the number of rows of .
In matrix notation, Algorithm 1 computes the reduced matrix as , where is an invertible upper-triangular matrix with -coefficients.
For a matrix , consider the following value:
where is the lower left submatrix of , given by all the rows of with index and all the columns with index . The Pairing Lemma  states that, for a column reduced matrix of a boundary matrix , in if and only if . It is straightforward, however never mentioned in the literature as far as we know, that an analogous result holds for row reduced matrices:
Lemma 2.3 (Row pairing lemma).
Let be a boundary matrix and a row reduced matrix of . Then in if and only if .
The proof is precisely the same of the Pairing Lemma  since the technique used relies on the lower left submatrices. Moreover, from the Pairing Lemma and Lemma 2.3, in a row reduced matrix of if and only if in a column reduced matrix of . In particular, if or , the indices form a persistence pair.
Since the coboundary matrix is the anti-transpose of the boundary one (i.e. an element in position is sent to position ), Algorithm 1 performs the standard column reduction on the coboundary matrix. Indeed, for a reduced matrix , if and only if in its anti-transpose . Thus, Lemma 2.3 provides an alternative proof of the correctness of the standard persistence algorithm in cohomology, result originally showed in .
The running time of Algorithm 1
is at most cubic in the number of simplices, as it is for the standard persistence algorithm. We now refine this estimate a little.
Computational costs of the reduction. In , it is shown that the running time of the inner (i.e. while) loop in the standard persistence algorithm for the column , representing a -simplex and whose pivot is in row , is . If is positive, i.e. at the end of the reduction column is trivial, then the cost is higher: . When reducing the coboundary matrix via column operations, as in [2, 12], the running time becomes , where is the number of cofaces of the simplex , and the cost of reducing a positive column is . When reducing the boundary matrix via row operations, as in Algorithm 1, the running time of the inner loop in Algorithm 1 for the row , representing a simplex and whose pivot is in column , is . Note that, if is negative, i.e. row becomes zero at the end of the reduction, then the cost is , where is the number of rows. Thus, using row operations, the negative rows are the more expensive to reduce, dually to what happens when reducing by columns.
3 Clear and compress
A simplex in is called positive if it causes the birth of a homological class, and negative if it causes the death of a homological class. By extension, columns and rows in are called positive (resp. negative) if the corresponding simplices are positive (negative).
Clear. The clear optimisation is based on the fact that if a row of index is positive, the -th column of cannot be negative. As was already observed in [3, 9], this optimisation is particularly effective when performed on the boundary matrices in decreasing degrees, or, as shown in , when applied to the coboundary matrices in increasing degrees. Since the clear avoids reducing columns that are already known not to contain pivots, it is quite helpful in the persistent algorithms up-to-date. However, it is not so useful when reducing by rows, since it shrinks by one the length of each row, but does not avoid any reduction.
Compress. The compress optimisation hinges on the fact that if a column of index is negative, the -th row of cannot be positive. From Section 2, it follows the real advantages of the compress optimisation are obtained when the matrix reduction is performed using row operations since it avoids a costly loop whose results is already known, while it is quite inefficient when applied using column operations because it only shortens the columns by one element. Performed using the row reduction, the compress is particularly effective when applied to the boundary matrices in increasing degrees.
Finally, we recall that, as shown in , the number of iterations necessary to reduce the boundary matrix of an acyclic complex proceeding by row and using the compress optimisation is the same as the number of iterations needed to reduce the coboundary matrix when running on the columns and exploiting the clear optimisation (computed in ).
The author was mainly supported by FAR2019-UniMORE. The author thanks Håvard B. Bjerkevik, Wojciech Chachólski, and Claudia Landi for useful discussions and feedback.
-  Ulrich Bauer. Ripser: a lean C++ code for the computation of Vietoris–Rips persistence barcodes. https://ripser.org, 2015-2020.
-  Ulrich Bauer. Ripser: efficient computation of vietoris-rips persistence barcodes, 2019. arXiv:1908.02518.
-  Ulrich Bauer, Michael Kerber, and Jan Reininghaus. Clear and compress: Computing persistent homology in chunks. Mathematics and Visualization, 03 2013.
-  Ulrich Bauer, Michael Kerber, Jan Reininghaus, and Hubert Wagner. PHAT - Persistent Homology Algorithms Toolbox. https://bitbucket.org/phat-code/phat/src/master/.
-  Ulrich Bauer, Michael Kerber, Jan Reininghaus, and Hubert Wagner. Phat—persistent homology algorithms toolbox. J. Symbolic Comput., 78:76–90, 2017.
-  Gunnar Carlsson, Afra Zomorodian, Anne Collins, and Leonidas Guibas. Persistence Barcodes for Shapes. In Roberto Scopigno and Denis Zorin, editors, Symposium on Geometry Processing. The Eurographics Association, 2004.
-  Wojciech Chachólski, Barbara Giunti, Alvin Jin, and Claudia Landi. Algorithmic decomposition of filtered chain complexes, 2020. arXiv:2012.01033.
-  Frédéric Chazal, Vin de Silva, Marc Glisse, and Steve Oudot. The structure and stability of persistence modules. SpringerBriefs in Mathematics. Springer, [Cham], 2016.
-  Chao Chen and Michael Kerber. Persistent homology computation with a twist. In Proceedings 27th European Workshop on Computational Geometry, 2011.
-  David Cohen-Steiner, Herbert Edelsbrunner, and Dmitriy Morozov. Vines and vineyards by updating persistence in linear time. In Computational geometry (SCG’06), pages 119–126. ACM, New York, 2006.
-  William Crawley-Boevey. Decomposition of pointwise finite-dimensional persistence modules. J. Algebra Appl., 14(5):1550066, 8, 2015.
-  Vin de Silva, Dmitriy Morozov, and Mikael Vejdemo-Johansson. Dualities in persistent (co)homology. Inverse Problems, 27(12):124003, 17, 2011.
-  Herbert Edelsbrunner and John L. Harer. Computational topology. American Mathematical Society, Providence, RI, 2010. An introduction.
-  Robert Ghrist. Barcodes: the persistent topology of data. Bull. Amer. Math. Soc. (N.S.), 45(1):61–75, 2008.
-  Database of real-world applications of TDA. https://www.zotero.org/groups/2425412/tda-applications. 2020.