appliedtopology/javaplex

Homology of Cube

alexdkeros opened this issue · 1 comments

Dear Javaplex developers,

While trying to compute the persistent homology of a cube, expecting results similar to a 2-sphere, I get the following results:

point_cloud =
0.2500    0.2500    0.2500
0.7500    0.2500    0.2500
0.2500    0.7500    0.2500
0.7500    0.7500    0.2500
0.2500    0.2500    0.7500
0.7500    0.2500    0.7500
0.2500    0.7500    0.7500
0.7500    0.7500    0.7500

intervals =
Dimension: 0
[0.0, 0.5)
[0.0, 0.5)
[0.0, 0.5)
[0.0, 0.5)
[0.0, 0.5)
[0.0, 0.5)
[0.0, 0.5)
[0.0, infinity)
Dimension: 1
[0.5, 0.707)
[0.5, 0.707)
[0.5, 0.707)
[0.5, 0.707)
[0.5, 0.707)
Dimension: 3
[0.707, 0.866)

The issues are the following:

  1. There are only 5 generators of dimension 1.
  2. There are no generators in dimension 2.
  3. There is a generator in dimension 3 that should ideally be in dimension 2.

Could you please shed some light to this issue?

Thank you in advance,
Alexandros

Hi Alexandros,

Counterintuitively, those are the correct homology groups. At scale parameter r=1, for 1-dimensional homology, the 6-th "hole" is in fact a linear combination of all of the 5 other holes. A related example is that the complete graph on 4 vertices has three 1-dimensional holes, even though it is the 1-skeleton of the tetrahedron (with 4 "faces").

At scale parameter r=2, all edges between vertices of the cube have appeared except for the antipodal pairs (no edge between (1,1,1) and (-1,-1,1), and no edge between (1,-1,1) and (-1,1,-1), for example --- there are two more such missing diagonal edges). It follows that the Vietoris-Rips complex is the boundary of the cross-polytope with 8 vertices (see https://en.wikipedia.org/wiki/Cross-polytope), which is a 3-sphere. That's why there's no 2-dimensional homology but there is 3-dimensional homology when r=2.

So while these homology groups are counterintuitive, they're correct.

Best, Henry