, Volume 73, Issue 3, pp 607–619 | Cite as

The Compressed Annotation Matrix: An Efficient Data Structure for Computing Persistent Cohomology

  • Jean-Daniel Boissonnat
  • Tamal K. Dey
  • Clément Maria


Persistent homology with coefficients in a field \(\mathbb {F}\) coincides with the same for cohomology because of duality. We propose an implementation of a recently introduced algorithm for persistent cohomology that attaches annotation vectors with the simplices. We separate the representation of the simplicial complex from the representation of the cohomology groups, and introduce a new data structure for maintaining the annotation matrix, which is more compact and reduces substantially the amount of matrix operations. In addition, we propose a heuristic to simplify further the representation of the cohomology groups and improve both time and space complexities. The paper provides a theoretical analysis, as well as a detailed experimental study of our implementation and comparison with state-of-the-art software for persistent homology and cohomology.


Persistent cohomology Annotation Data structure  Simplicial complex Algorithm Implementation 



This research is partially supported by the 7th Framework Programme for Research of the European Commission, under FET-Open Grant No. 255827 (CGL Computational Geometry Learning). This research is also partially supported by NSF (National Science Foundation, USA) Grants CCF-1048983 and CCF-1116258.


  1. 1.
    Bauer, U., Kerber, M., Reininghaus, J.: PHAT. (2013)
  2. 2.
    Bauer, U., Kerber, M., Reininghaus, J.: Clear and compress: computing persistent homology in chunks. In: Topological Methods in Data Analysis and Visualization III, pp. 103–117 (2014)Google Scholar
  3. 3.
    Bauer, U., Kerber, M., Reininghaus, J., Wagner, H.: PHAT—persistent homology algorithms toolbox. In: Mathematical Software—ICMS 2014—4th International Congress, Seoul, South Korea, August 5–9, 2014. Proceedings, pp. 137–143 (2014)Google Scholar
  4. 4.
    Boissonnat, J.-D., Maria, C.: The simplex tree: an efficient data structure for general simplicial complexes. Algorithmica 70(3), 406–427 (2014)zbMATHMathSciNetCrossRefGoogle Scholar
  5. 5.
    Busaryev, O., Cabello, S., Chen, C., Dey, T.K., Wang, Y.: Annotating simplices with a homology basis and its applications. In: SWAT, pp. 189–200 (2012)Google Scholar
  6. 6.
    Chen, C., Kerber, M.: Persistent homology computation with a twist. In: Proceedings 27th European Workshop on Computational Geometry (2011)Google Scholar
  7. 7.
    Chen, C., Kerber, M.: An output-sensitive algorithm for persistent homology. Comput. Geom. 46(4), 435–447 (2013)zbMATHMathSciNetCrossRefGoogle Scholar
  8. 8.
    Cohen-Steiner, D., Edelsbrunner, H., Harer, J.: Stability of persistence diagrams. Discrete Comput. Geom. 37(1), 103–120 (2007)zbMATHMathSciNetCrossRefGoogle Scholar
  9. 9.
    de Silva, V., Morozov, D., Vejdemo-Johansson, M.: Dualities in persistent (co)homology. CoRR arXiv:1107.5665 (2011)
  10. 10.
    de Silva, V., Morozov, D., Vejdemo-Johansson, M.: Persistent cohomology and circular coordinates. Discrete Comput. Geom. 45(4), 737–759 (2011)zbMATHMathSciNetCrossRefGoogle Scholar
  11. 11.
    Dey, T.K., Fan, F., Wang, Y.: Computing topological persistence for simplicial maps. In: Symposium on Computational Geometry, p. 345 (2014)Google Scholar
  12. 12.
    Edelsbrunner, H., Harer, J.: Computational Topology—An Introduction. American Mathematical Society, Providence, RI (2010)zbMATHGoogle Scholar
  13. 13.
    Edelsbrunner, H., Letscher, D., Zomorodian, A.: Topological persistence and simplification. Discrete Comput. Geom. 28(4), 511–533 (2002)zbMATHMathSciNetCrossRefGoogle Scholar
  14. 14.
    Maria, C.: Gudhi, Simplicial Complexes and Persistent Homology Packages.
  15. 15.
    Maria, C., Boissonnat, J.-D., Glisse, M., Yvinec, M.: The Gudhi library: Simplicial complexes and persistent homology. In: International Congress on Mathematical Software, pp. 167–174 (2014)Google Scholar
  16. 16.
    Milosavljevic, N., Morozov, D., Skraba, P.: Zigzag persistent homology in matrix multiplication time. In: Symposium on Computational Geometry (2011)Google Scholar
  17. 17.
  18. 18.
    Morozov, D.: Persistence algorithm takes cubic time in worst case. In: BioGeometry News, Department of Computer Science, Duke University (2005)Google Scholar
  19. 19.
    Zomorodian, A., Carlsson, G.E.: Computing persistent homology. Discrete Comput. Geom. 33(2), 249–274 (2005)zbMATHMathSciNetCrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  • Jean-Daniel Boissonnat
    • 1
  • Tamal K. Dey
    • 2
  • Clément Maria
    • 1
  1. 1.INRIA Sophia Antipolis-MéditerranéeSophia Antipolis CedexFrance
  2. 2.The Ohio State UniversityColumbusUSA

Personalised recommendations