Topics

Distance matrix vineyard


K.A.Garside2@...
 

Hi Dmitriy,

I would like to look at the vineyard of a time varying point cloud obtained from a distance matrix but I am unsure about the correct input data format and whether the pl-vineyard function is appropriate in this application.

The documentation says to list the simplices in the 'complex' file and the values at the vertices at each time point in the 'values' file. In the distance matrix application would the edges be thought of as the vertices? If so, would the simplicial complex just be the list of edge identifiers? How does this deal with faces? What would be the correct format for my data? 

Many thanks!


Dmitriy Morozov
 

The first question you should decide for yourself is what simplicial complex you want to build out of the distance matrix. Forget the time-variance and vineyards, just for a fixed time.

If it's something like Vietoris-Rips complex, then you need to decide how much effort you want to put into implementing the vineyard. The path of least resistance is to approximate the time-varying VR filtration with a time-varying lower-star filtration. To do so, take the first barycentric subdivision of the VR-complex and assign to the barycenter of each simplex the value previously assigned to the simplex. Take the lower-star filtration of this complex, you'll get the same persistence diagram as with VR filtration. The lower-star filtration is what pl-vineyards works with, so you can subdivide the time however finely you want, and feed your data into pl-vineyard code.

The more complicated path is to use the C++ routines to compute the exact times when the simplices in the VR filtration transpose, and simulate this process updating persistence through the transpositions. If you end up going this route, I'd love to incorporate this code into Dionysus.

Dmitriy 

On Fri, Jan 31, 2020 at 4:09 AM <K.A.Garside2@...> wrote:
Hi Dmitriy,

I would like to look at the vineyard of a time varying point cloud obtained from a distance matrix but I am unsure about the correct input data format and whether the pl-vineyard function is appropriate in this application.

The documentation says to list the simplices in the 'complex' file and the values at the vertices at each time point in the 'values' file. In the distance matrix application would the edges be thought of as the vertices? If so, would the simplicial complex just be the list of edge identifiers? How does this deal with faces? What would be the correct format for my data? 

Many thanks!