This package provides various computational homology tools for cellular complexes.
Documentation | Build Status |
---|---|
For Julia 1.1+, add BoffinStuff registry in package manager, and proceed with installation:
pkg> registry add https://github.com/wildart/BoffinStuff.git
pkg> add ComputationalHomology
Cells
Chains for specified PID
Complexes
Filtrations
Constructions
Homology
Persistence
julia> using ComputationalHomology
julia> X = rand(3,10); # generate dataset
julia> cplx, w = vietorisrips(X, 0.4) # generate Vietoris-Rips (VR) complex
(SimplicialComplex((10, 12, 4)), Dict(0=>[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],2=>[0.338893, 0.28014, 0.384243, 0.380966],1=>[0.338893, 0.321811, 0.304665, 0.310862, 0.27196, 0.28014, 0.366947, 0.380966, 0.191768, 0.384243, 0.359153, 0.365016]))
julia> flt = filtration(cplx, w) # construct filtration complex from VR complex
Filtration(SimplicialComplex((10, 12, 4)))
julia> ph = persistenthomology(flt, TwistReduction) # create persistent homology object with specific computation method
PersistentHomology[Filtration(SimplicialComplex((10, 12, 4))) with ComputationalHomology.TwistReduction]
julia> group(ph, 0) # calculate 0-homology group
2
julia> group(ph, 1) # calculate 1-homology group
3