summaryrefslogtreecommitdiff
path: root/example/Persistent_cohomology/README
diff options
context:
space:
mode:
Diffstat (limited to 'example/Persistent_cohomology/README')
-rw-r--r--example/Persistent_cohomology/README152
1 files changed, 152 insertions, 0 deletions
diff --git a/example/Persistent_cohomology/README b/example/Persistent_cohomology/README
new file mode 100644
index 00000000..7803e5ab
--- /dev/null
+++ b/example/Persistent_cohomology/README
@@ -0,0 +1,152 @@
+To build the example, run in a Terminal:
+
+cd /path-to-example/
+cmake .
+make
+
+***********************************************************************************************************************
+Example of use of RIPS:
+
+Computation of the persistent homology with Z/2Z coefficients of the Rips complex on points
+sampling a Klein bottle:
+
+./rips_persistence ../../data/points/Kl.txt -r 0.25 -d 3 -p 2 -m 100
+
+output:
+210 0 0 inf
+210 1 0.0702103 inf
+2 1 0.0702103 inf
+2 2 0.159992 inf
+
+
+Every line is of this format: p1*...*pr dim b d
+where
+ p1*...*pr is the product of prime numbers pi such that the homology feature exists in homology with Z/piZ coefficients.
+ dim is the dimension of the homological feature,
+ b and d are respectively the birth and death of the feature and
+
+
+
+with Z/3Z coefficients:
+
+./rips_persistence ../../data/points/Kl.txt -r 0.25 -d 3 -p 3 -m 100
+
+output:
+3 0 0 inf
+3 1 0.0702103 inf
+
+and the computation with Z/2Z and Z/3Z coefficients simultaneously:
+
+./rips_multifield_persistence ../../data/points/Kl.txt -r 0.25 -d 3 -p 2 -q 3 -m 100
+
+output:
+6 0 0 inf
+6 1 0.0702103 inf
+2 1 0.0702103 inf
+2 2 0.159992 inf
+
+and finally the computation with all Z/pZ for 2 <= p <= 71 (20 first prime numbers):
+
+ ./rips_multifield_persistence ../../data/points/Kl.txt -r 0.25 -d 3 -p 2 -q 71 -m 100
+
+output:
+557940830126698960967415390 0 0 inf
+557940830126698960967415390 1 0.0702103 inf
+2 1 0.0702103 inf
+2 2 0.159992 inf
+
+***********************************************************************************************************************
+Example of use of ALPHA:
+
+For a more verbose mode, please run cmake with option "DEBUG_TRACES=TRUE" and recompile the programs.
+
+1) 3D special case
+------------------
+Computation of the persistent homology with Z/2Z coefficients of the alpha complex on points
+sampling a torus 3D:
+
+./alpha_complex_3d_persistence ../../data/points/tore3D_300.off 2 0.45
+
+output:
+Simplex_tree dim: 3
+2 0 0 inf
+2 1 0.0682162 1.0001
+2 1 0.0934117 1.00003
+2 2 0.56444 1.03938
+
+Here we retrieve expected Betti numbers on a tore 3D:
+Betti numbers[0] = 1
+Betti numbers[1] = 2
+Betti numbers[2] = 1
+
+N.B.: - alpha_complex_3d_persistence accepts only OFF files in 3D dimension.
+ - filtration values are alpha square values
+
+2) d-Dimension case
+-------------------
+Computation of the persistent homology with Z/2Z coefficients of the alpha complex on points
+sampling a torus 3D:
+
+./alpha_complex_persistence -r 32 -p 2 -m 0.45 ../../data/points/tore3D_300.off
+
+output:
+Alpha complex is of dimension 3 - 9273 simplices - 300 vertices.
+Simplex_tree dim: 3
+2 0 0 inf
+2 1 0.0682162 1.0001
+2 1 0.0934117 1.00003
+2 2 0.56444 1.03938
+
+Here we retrieve expected Betti numbers on a tore 3D:
+Betti numbers[0] = 1
+Betti numbers[1] = 2
+Betti numbers[2] = 1
+
+N.B.: - alpha_complex_persistence accepts OFF files in d-Dimension.
+ - filtration values are alpha square values
+
+3) 3D periodic special case
+---------------------------
+./periodic_alpha_complex_3d_persistence ../../data/points/grid_10_10_10_in_0_1.off 3 1.0
+
+output:
+Periodic Delaunay computed.
+Simplex_tree dim: 3
+3 0 0 inf
+3 1 0.0025 inf
+3 1 0.0025 inf
+3 1 0.0025 inf
+3 2 0.005 inf
+3 2 0.005 inf
+3 2 0.005 inf
+3 3 0.0075 inf
+
+Here we retrieve expected Betti numbers on a tore 3D:
+Betti numbers[0] = 1
+Betti numbers[1] = 3
+Betti numbers[2] = 3
+Betti numbers[3] = 1
+
+N.B.: - periodic_alpha_complex_3d_persistence accepts only OFF files in 3D dimension. In this example, the periodic cube
+is hard coded to { x = [0,1]; y = [0,1]; z = [0,1] }
+ - filtration values are alpha square values
+
+***********************************************************************************************************************
+Example of use of PLAIN HOMOLOGY:
+
+This example computes the plain homology of the following simplicial complex without filtration values:
+ /* Complex to build. */
+ /* 1 3 */
+ /* o---o */
+ /* /X\ / */
+ /* o---o o */
+ /* 2 0 4 */
+
+./plain_homology
+
+output:
+2 0 0 inf
+2 0 0 inf
+2 1 0 inf
+
+Here we retrieve the 2 entities {0,1,2,3} and {4} (Betti numbers[0] = 2) and the hole in {0,1,3} (Betti numbers[1] = 1)