DREiMac: Dimensionality Reduction with Eilenberg-MacLane Coordinates
DREiMac is a library for topological data coordinatization, visualization, and dimensionality reduction. Currently, DREiMac is able to find topology-preserving representations of point clouds taking values in the circle, in higher dimensional tori, in the real and complex projective space, and in lens spaces.
In a few words, DREiMac takes as input a point cloud together with a topological feature of the point cloud (in the form of a persistent cohomology class), and returns a map from the point cloud to a well-understood topological space (a circle, a product of circles, a projective space, or a lens space), which preserves the given topological feature in a precise sense. You can check the theory section for details and or the examples below to see how DREiMac works in practice.
Make sure your Python version is >=3.8 and <3.12. DREiMac depends on the following python packages, which will be installed automatically when you install with pip: matplotlib, numba, numpy, persim, ripser, and scipy.
pip install dreimac
- Choosing the parameters n_landmarks and cocycle_idx
- Choosing the parameter perc
- Choosing the parameter standard_range
- Parameter n_samples for speeding up computations
- Choosing the parameters prime and check_cocycle_condition