Skip to content

Commit

Permalink
some cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
ubauer committed Jul 24, 2016
1 parent 7eaac02 commit c383c3e
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 8 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,16 @@ Ripser is a lean C++ code for the computation of Vietoris–Rips persistence bar
The main features of Ripser:

- time- and memory-efficient
- support for coefficients in prime finite fields
- less than 1000 lines of code in a single C++ file
- support for coefficients in prime finite fields
- no external dependencies (optional support for Google's [sparsehash])

Currently, Ripser outperforms other codes ([Dionysus], [DIPHA], [GUDHI], [Perseus], [PHAT]) by a factor of more than 40 in computation time and a factor of more than 15 in memory efficiency. (Note that [PHAT] does not contain code for generating Vietoris–Rips filtrations).

Input formats currently supported by Ripser:

- comma-separated lower triangular distance matrix (preferred)
- comma-separated lower triangular distance matrix (MATLAB output from the function `pdist`)
- comma-separated values lower triangular distance matrix (preferred)
- comma-separated values upper triangular distance matrix (MATLAB output from the function `pdist`)
- [DIPHA] distance matrix data

Ripser's efficiency is based on a few important concepts and principles:
Expand Down Expand Up @@ -59,7 +59,7 @@ Ripser supports several compile-time options. They are switched on by defining t

Furthermore, one of the following options needs to be chosen to specify the format for the input files:

- `FILE_FORMAT_LOWER_TRIANGULAR_CSV`: lower triangular distance matrix; a comma separated list of the distance matrix entries below the diagonal, sorted lexicographically by row index and column index
- `FILE_FORMAT_LOWER_TRIANGULAR_CSV`: lower triangular distance matrix; a comma (or whitespace, or other non-numerical character) separated list of the distance matrix entries below the diagonal, sorted lexicographically by row index, then column index
- `FILE_FORMAT_UPPER_TRIANGULAR_CSV`: upper triangular distance matrix; similar to the previous, but for the entries above the diagonal; suitable for output from the MATLAB function `pdist`, saved in a CSV file
- `FILE_FORMAT_DIPHA`: DIPHA distance matrix as described on the [DIPHA] website

Expand Down
2 changes: 1 addition & 1 deletion benchmarks/benchmarks.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

/usr/bin/time -l ~/Bitbucket/phat/benchmark --primal --bit_tree_pivot_column --twist ~/Bitbucket/phat-paper/benchmark/phat/sphere_3_192_coboundary.phat

/usr/bin/time -l ~/Bitbucket/dipha/dipha --benchmark --upper_dim 3 --dual ~/Bitbucket/phat-paper/benchmark/dipha/sphere_3_192.complex /dev/null
/usr/bin/time -l ~/Source/dipha/dipha --benchmark --upper_dim 3 --dual ~/Bitbucket/phat-paper/benchmark/dipha/sphere_3_192.complex /dev/null

/usr/bin/time -l ~/Source/Gudhi_library_1.3.0/example/Persistent_cohomology/rips_persistence -d3 -p2 ~/Bitbucket/phat-paper/benchmark/point\ cloud/sphere_3_192_points.dat -o/dev/null

Expand Down
3 changes: 0 additions & 3 deletions ripser.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -210,9 +210,6 @@
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
FILE_FORMAT_UPPER_TRIANGULAR_CSV,
USE_COEFFICIENTS,
STORE_DIAMETERS,
PRINT_PERSISTENCE_PAIRS,
);
PRODUCT_NAME = "$(TARGET_NAME)";
};
Expand Down

0 comments on commit c383c3e

Please sign in to comment.