HERMES
HERMES: A software package for simultaneous topological data analysis (persistent Betti numbers) and geometric data analysis (persistent eigenvalues).
Install / Use
/learn @wangru25/HERMESREADME
HERMES
HERMES is a software package for simultaneous topological data analysis (persistent Betti numbers) and geometric data analysis (persistent eigenvalues). It is realized through persistent spectral graph theory. In the present release, we consider an implementation in the alpha complex and Vietoris–Rips complex.
Requirements
- cmake 3.1 or higher
- gcc 7.5.0
- GNU Make 4.1
- MATLAB
- CGAL version 4.14
Install and Build
You can intall HERMES directly from the development repository:
git clone https://github.com/wangru25/HERMES.git
How to build the project:
mkdir build
cd build
cmake ..
make
Notice:
Please make sure the MATLAB directory in the CMakeLists.txt (Line 15 and Line 20) matches with yours.
Examples
There are several examples of projects in the examples.
How to run
./Snapshot InputData Filtration Num P Complex
- InputData: The point cloud data is allowed
- Filtration: The filtration parameters. Note: For alpha complex, the input filtration Filtration_alpha is actually radius^2. For Vietoris–Rips complex, the input filtration Filtration_rips is 2*radius, which match with the other open-source packages such as Ripser, Gudhi, and Diode.
- Num: The number of eigenvalues that will be calculated
- P: The persistent value, which describes the increase of radius.
- Complex: Two choices: 1) Alpha complex 2) Vietoris–Rips complex
For example:
Alpha Complex
cd examples
./../build/Snapshot Test_C60.xyz filtration.txt 100 0.4
Vietoris–Rips Complex
cd examples
./../build/Snapshot Test_C60.xyz filtration.txt 100 0.4 r
- The spectra of the 0th-order 0.4-persistent Laplacian will be saved in examples/snapshots_vertex.txt. Each line presents harmonic or non-harmonic eigenvalues at a specific filtration value.
- The spectra of the 1th-order 0.4-persistent will be saved in examples/snapshots_edge.txt. Each line presents harmonic or non-harmonic eigenvalues at a specific filtration value.
- The spectra of the 2th-order 0.4-persistent will be saved in examples/snapshots_facet.txt. Each line presents harmonic or non-harmonic eigenvalues at a specific filtration value.
Documentation
Documentation for HERMES can be found here.
Citing
You may use the following bibtex entry to cite HERMES:
@article{wang2021hermes,
title={HERMES: Persistent spectral graph software},
author={Wang, Rui and Zhao, Rundong and Ribando-Gros, Emily and Chen, Jiahui and Tong, Yiying and Wei, Guo-Wei},
journal={Foundations of data science (Springfield, Mo.)},
volume={3},
number={1},
pages={67},
year={2021},
publisher={NIH Public Access}
}
References
- R. Wang, R. Zhao, E. Ribando-Gros, J. Chen, Y. Tong, and G.-W. Wei. HERMES: Persistent spectral graph software, Foundations of Data Science, 2021.
- R. Wang, D. D. Nguyen, and G.-W. Wei. Persistent spectral graph, International Journal for Numerical Methods in Biomedical Engineering, page e3376, 2020.
Contributors
HERMES was developed by Rundong Zhao and is maintained by Yiying Tong, Emily Ribando-Gros, Jiahui Chen, Rui Wang, and Weilab at MSU Math.
