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.
- cmake 3.1 or higher
- gcc 7.5.0
- GNU Make 4.1
- MATLAB
- CGAL version 4.14
git clone https://github.com/wangru25/HERMES.git
mkdir build
cd build
cmake ..
make
Please make sure the MATLAB directory in the CMakeLists.txt (Line 15 and Line 20) matches with yours.
There are several examples of projects in the examples.
./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
cd examples
./../build/Snapshot Test_C60.xyz filtration.txt 100 0.4
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 for HERMES can be found here.
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}
}
- 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.
HERMES was developed by Rundong Zhao and is maintained by Yiying Tong, Emily Ribando-Gros, Jiahui Chen, Rui Wang, and Weilab at MSU Math.