Comments (2)
Yes, right now it seems Ripser can only compute the persistence diagrams but you have no way of analyzing the the individual data points that compose the various topological components found. If my PD shows my data has two cycles, then I want to know which points are on cycle 1 and which points are on cycle 2, for example.
from ripser.py.
There are ways to determine which points might lie near the hole which the persistence diagram is detecting. Please see this page in the docs for an example of how to use ripser.py
to find representative co-cycles.
However, translating from a (co)homological feature, like a point in a persitence diagram, to a feature within the actual data, like a (co)cycle representative or list of the data points which "gave rise" to that feature, can be very subtle. Homology and cohomology are equivalence relations and what you both are asking for are representatives within an equivalence class. A priori, no one representative is better than any other. This is analogous to asking for a representative of the class of 1 within the integers modulo 5. You could say 1 should be the representative, but 6, 11, 16, and -4 are all just as fair answers. To make the topological situation even more difficult, the cycle representative need not be stable. This means that if your data is perturbed slightly, there are theoretical guarantees that the points within the persistence diagram will only move slightly, but no guarantee that your cycle representative will only move slightly--in fact it can move arbitrarily far away from the initial representative.
The domain-specific/scientific aspect of the problem you're solving might lead you to natural choices for which representatives to choose (e.g., minimal length, minimal energy, minimal cost, etc.)
from ripser.py.
Related Issues (20)
- Build failure on GNU/Linux (GCC 11.1.0 and Python 3.9.6 on Arch Linux) HOT 3
- Jupyter notebook crash on input of large sparse distance matrix HOT 1
- [Suggestion] Throw exception when computing bottleneck distance
- Dead comments in 0-dimensional computation/preferential treatment of edges with zero value
- get_greedy_perm (Samples)
- Install Ripser on ArchLinux HOT 2
- ld: cannot find /lib64/libpthread.so.0
- `ValueError: numpy.ndarray size changed` HOT 5
- Failed to build ripser, error: subprocess-exited-with-error HOT 6
- Knowing required RAM to run ripser
- Unsuccessful installation HOT 2
- Is there a way to get ripser to use virtual memory? HOT 2
- Failed building wheel for Ripser on Win11 HOT 3
- ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject HOT 1
- Failed building wheel for ripser HOT 1
- Failing to generate H1 result with small dataset. HOT 1
- A potential issue with the `lower_star_img` function with negative numbers HOT 9
- Missing wheels for 0.6.5 HOT 5
- Fix failing docs
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ripser.py.