This package exports two main types, SimplicialComplex and Cochain, together with methods to work with their topological and algebraic properties.

The topological operations on this package are all done via the discrete laplacian operator. This includes the method betti, which calculates the Betti numbers of a simplicial complex, and the method hodge which calculates the discrete Hodge decomposition of a cochain.


This package can be installed using the Julia Package Manager. Simply open the REPL, enter ] and run

pkg> add Hodge


Hodge.jl is based on a scientific initiation that I did with Prof. João Paixão while an undergraduate at UFRJ.

The simplicial complex type is built upon the Simplex Tree data structure, described on the paper:

  • Jean-Daniel Boissonnat, Clément Maria. The Simplex Tree: An Efficient Data Structure for General Simplicial Complexes. [Research Report] RR-7993, 2012, pp.20. hal-00707901v1

The idea of representing cochains as skew-symmetric tensors and using them to write the discrete Hodge decomposition was taken from the paper:

  • Jiang, X., Lim, L., Yao, Y. et al. Statistical ranking and combinatorial Hodge theory. Math. Program. 127, 203–244 (2011). https://doi.org/10.1007/s10107-010-0419-x