iagoleal / Hodge.jl

Julia library providing functionality for modeling Simplicial Complexes and Cochains over them. Its main feature is a clean interface to calculate Betti numbers and Hodge decompositions.

Home Page:https://iagoleal.com/Hodge.jl

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hodge.jl

Documentation Build Status
Stable Docs Latest Docs Build Status Code Coverage

Library for manipulation of simplicial complexes and cochains defined over them.

The focus of this package is on the formalism of Discrete Exterior Calculus and its applications to statistical rankings and extraction of topological features from simplicial triangulations.

Installation

To install this package, all you have to do is to enter ] on the Julia REPL and write

pkg> add Hodge

Basic Usage

To use this package, one starts defining a simplicial complex

using Hodge
K = SimplicialComplex([(1,2,3), (1,2,4), [1], [1,5,9,6], (2,6)])

Then it is possible to retrieve topological information from the complex

euler_characteristic(K)
betti(K)

Or one can define Cochains over K, which are skew-symmetric tensors over the simplices of K, and work with them

f = Cochain{Float64, 2}(K)
f[1,2,3] = 3.0
f[1,2,4] = -5.9
f[4,3,2] = 13.2
f[1,4,3] = π

g = coboundary(f)
w = coboundary_adj(f)
h = laplacian(f)
c = cup(f, h)

a, b, c = hodge(f)

See the documentation for a more comprehensive explanation.

About

Julia library providing functionality for modeling Simplicial Complexes and Cochains over them. Its main feature is a clean interface to calculate Betti numbers and Hodge decompositions.

https://iagoleal.com/Hodge.jl

License:Mozilla Public License 2.0


Languages

Language:Julia 100.0%