hodgelaplacians
hodgelaplacians copied to clipboard
Hodge/Bochner Laplacians of simplicial complexes, their spectra, higher-order diffusion and random walks
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
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