tgebhart / hodgelaplacians

Hodge/Bochner Laplacians of simplicial complexes, their spectra, higher-order diffusion and random walks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Open in Gitpod

HodgeLaplacians

This package provides an interface for construction of Hodge and Bochner Laplacian matrices from the set of simplices.

HodgeLaplacians uses sparse matrices dok_matrix and csr_matrix from scipy.sparse module. Eigenvalues and eigenvectors are computed using Scipy ARPACK algorithm.

HodgeLaplacian class currently provides

Output:

  • Boundary operator matrices
  • Hodge and Bochner Laplacians
  • Combinatorial Forman-Ricci curvature
  • Eigenvectors and Eigenvalues of Laplacians
  • Higher order heat kernels and diffusion

Input:

  • List of simplices
  • Symplex tree with filtration values (GUDHI format)

Installation

pip3 install hodgelaplacians

Example

from hodgelaplacians import HodgeLaplacians

simplices = ((1,2,3), (2,3), (1,2,4), (6,3))

hl = HodgeLaplacians(simplices)
L1 = hl.getHodgeLaplacian(1)

Full example output is available in the Jupyter notebook.

Docker file and running on Gitpod

This repository also contains Dockerfile based on Ubuntu 18.04 which contains basic python dependencies as well as installation of Gudhi library.

To run this repository with Dockerfile (all C++ and Python dependencies pre-loaded) on Gitpod type

Open on Gitpod

or simply press https://gitpod.io/#https://github.com/tsitsvero/hodgelaplacians.

After you have launched the workspace, you can simply launch the Jupyter Lab (please run "jupyter lab --ip 127.0.0.1" instead of just "jupyter lab") to play with examples and tutorials.

See video instructions embedded on a single page.

Dependencies

  • Numpy
  • Scipy

More tutorials and packages on TDA

There are many tools available on Topological Data Analysis.

Here just a few introductory blog posts

There is a wiki page with a list of TDA packages.

Coming soon

  • Random walks on simplicial complexes
  • Tutorials on spectral theory of simplicial complexes
  • Tutorials with point cloud examples

About

Hodge/Bochner Laplacians of simplicial complexes, their spectra, higher-order diffusion and random walks

License:MIT License


Languages

Language:Python 74.1%Language:Dockerfile 19.1%Language:Jupyter Notebook 6.6%Language:Shell 0.2%