This code computes the Forman Ricci Curvature for simplicial complex generated from a given point cloud data. The implementation is based on the combinatorial definition of Forman Ricci curvature defined by Robin Forman. This implementation generalises beyond the simplified version implemented in saibalmars/GraphRicciCurvature github.
Many thanks to stephenhky and saibalmars for their packages MoguTDA and GraphRicciCurvature respectively. Partial code was modified from MoguTDA for the computation of the boundary matrices.
Installing generalisedformanricci
from the conda-forge
channel can be achieved by adding conda-forge
to your channels with:
conda config --add channels conda-forge
Once the conda-forge
channel has been enabled, generalisedformanricci
can be installed with:
conda install generalisedformanricci
It is possible to list all of the versions of generalisedformanricci
available on your platform with:
conda search generalisedformanricci --channel conda-forge
Alternatively, generalisedformanricci
can be installed just by conda install -c conda-forge generalisedformanricci
.
pip install GeneralisedFormanRicci
Upgrading via pip install --upgrade GeneralisedFormanRicci
from GeneralisedFormanRicci.frc import GeneralisedFormanRicci
data = [[0.8, 2.6], [0.2, 1.0], [0.9, 0.5], [2.7, 1.8], [1.7, 0.5], [2.5, 2.5], [2.4, 1.0], [0.6, 0.9], [0.4, 2.2]]
for f in [0, 0.5, 1, 2, 3]:
sc = GeneralisedFormanRicci(data, method = "rips", epsilon = f)
sc.compute_forman()
sc.compute_bochner()
- MoguTDA: https://github.com/stephenhky/MoguTDA
- GraphRicciCurvature: https://github.com/saibalmars/GraphRicciCurvature
- Forman, R. (2003). Bochner's method for cell complexes and combinatorial Ricci curvature. Discrete and Computational Geometry, 29(3), 323-374.
- Forman, R. (1999). Combinatorial Differential Topology and Geometry. New Perspectives in Algebraic Combinatorics, 38, 177.
If you use this code in your research, please considering cite our paper:
- JunJie Wee and Kelin Xia, Ollivier Persistent Ricci Curvature-Based Machine Learning for the Protein–Ligand Binding Affinity Prediction, Journal of Chemical Information and Modeling 2021 61 (4), 1617-1626
- JunJie Wee, Kelin Xia, Forman persistent Ricci curvature (FPRC)-based machine learning models for protein–ligand binding affinity prediction, Briefings in Bioinformatics, 2021;, bbab136
- D. Vijay Anand, Qiang Xu, JunJie Wee, Kelin Xia, Tze Chien Sum. Topological Feature Engineering for Machine Learning Based Halide Perovskite Materials Design. npj Computational Materials. 8, 203. (2022).