summaryrefslogtreecommitdiff
path: root/src/Rips_complex/utilities/README
blob: 4d20c80662ffa580137fa46f092bc993780dea0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# Rips_complex #

## `rips_persistence` ##
This program computes the persistent homology with coefficient field *Z/pZ* of a Rips complex defined on a set of input points. The output diagram contains one bar per line, written with the convention:

`p dim birth death`

where `dim` is the dimension of the homological feature, `birth` and `death` are respectively the birth and death of the feature, and `p` is the characteristic of the field *Z/pZ* used for homology coefficients (`p` must be a prime number).

**Usage**
`rips_persistence [options] <OFF input file>`

**Allowed options**

* `-h [ --help ]` Produce help message
* `-o [ --output-file ]` Name of file in which the persistence diagram is written. Default print in standard output.
* `-r [ --max-edge-length ]` (default = inf) Maximal length of an edge for the Rips complex construction.
* `-d [ --cpx-dimension ]` (default = 1) Maximal dimension of the Rips complex we want to compute.
* `-p [ --field-charac ]` (default = 11)     Characteristic p of the coefficient field Z/pZ for computing homology.
* `-m [ --min-persistence ]` (default = 0) Minimal lifetime of homology feature to be recorded. Enter a negative value to see zero length intervals.

Beware: this program may use a lot of RAM and take a lot of time if `max-edge-length` is set to a large value.

**Example 1 with Z/2Z coefficients**
`rips_persistence ../../data/points/tore3D_1307.off -r 0.25 -m 0.5 -d 3 -p 2`

outputs:
```
2  0 0 inf
2  1 0.0983494 inf 
2  1 0.104347 inf 
2  2 0.138335 inf 
```

**Example 2 with Z/3Z coefficients**

rips_persistence ../../data/points/tore3D_1307.off -r 0.25 -m 0.5 -d 3 -p 3

outputs:
```
3  0 0 inf
3  1 0.0983494 inf
3  1 0.104347 inf
3  2 0.138335 inf
```




## `rips_distance_matrix_persistence` ##
Same as `rips_persistence` but taking a distance matrix as input. 

**Usage**
`rips_persistence [options] <CSV input file>`
where
`<CSV input file>` is the path to the file containing a distance matrix. Can be square or lower triangular matrix. Separator is ';'.

**Example**
`rips_distance_matrix_persistence data/distance_matrix/full_square_distance_matrix.csv -r 15 -d 3 -p 3 -m 0`

outputs:
```
The complex contains 46 simplices 
   and has dimension 3 
3  0 0 inf 
3  0 0 8.94427 
3  0 0 7.28011 
3  0 0 6.08276 
3  0 0 5.83095 
3  0 0 5.38516 
3  0 0 5 
3  1 11 12.0416 
3  1 6.32456 6.7082 
```