scikit-tda / kepler-mapper

Kepler Mapper: A flexible Python implementation of the Mapper algorithm.
https://kepler-mapper.scikit-tda.org
MIT License
632 stars 184 forks source link

Higher Dimensional Simplex Visualizations #178

Open raunaak opened 5 years ago

raunaak commented 5 years ago

Hi KMapper Team,

This is a great library for TDA applications. Really helped me a lot!! I have checked lots of examples but I only find nodes connected by edges and not any surfaces (or higher dimensional equivalents). For example, if 3 nodes have common intersection of data points above threshold, then there should a "filled" triangle to represent it rather than an "empty" triangle. Could you please tell why does this happen?

Thank you, Raunak

sauln commented 5 years ago

Hi Raunak, In practice computing the complete nerve is computationally expensive, hard to visualize, and it's not clear if it has much benefits. Most applications of Mapper that I've seen use just the 1-skeleton. I have manually built the 2-skeleton before, but that code is not available.

If you'd like to write a Nerve class that handles higher order intersections, we would gladly incorporate it into the package.

Cheers,

hfr1tz3 commented 1 year ago

Hi KMapper Team,

I have written such a Nerve class (Simplicial Nerve) which can handle 2-dimensional intersections. Could I make a pull-request to add this class? Additionally, I am interested in actually constructing 2-dimensional mapper graphs which have 2-simplices visualized in the output. Would this be something the team would like added to the package?

Best, Halley