summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorhub.wag@gmail.com <hub.wag@gmail.com@8e3bb3c2-eed4-f18f-5264-0b6c94e6926d>2013-04-12 00:04:08 +0000
committerhub.wag@gmail.com <hub.wag@gmail.com@8e3bb3c2-eed4-f18f-5264-0b6c94e6926d>2013-04-12 00:04:08 +0000
commitb66953101a196371faf55effb37fd2928832e8e5 (patch)
tree46e7427c8e06699618fb8e52bfcfd739c5d3998f /README
parent0c0078181f915b9224de69fd52842a77c40ea96c (diff)
Updated the README and cleaned the phat.cpp command line options. Now the options match the names in the readme. Small changes to the bit_tree_pivot_column.h.
git-svn-id: https://phat.googlecode.com/svn/trunk@30 8e3bb3c2-eed4-f18f-5264-0b6c94e6926d
Diffstat (limited to 'README')
-rw-r--r--README7
1 files changed, 3 insertions, 4 deletions
diff --git a/README b/README
index 234b00a..d303271 100644
--- a/README
+++ b/README
@@ -1,5 +1,3 @@
-see phat.googlecode.com for the most current version of the file below:
-
=PHAT (Persistent Homology Algorithm Toolbox)=
Copyright 2013 IST Austria
@@ -16,8 +14,8 @@ contains code for several algorithmic variants:
* The "standard" algorithm (see `[1]`, p.153)
* The "row" algorithm from `[2]` (called pHrow in there)
- * The "twist" algorithm, as described in `[3]` (default algorithm)
- * The "chunk" algorithm presented in `[4]`
+ * The "twist" algorithm, as described in `[3]`
+ * The "chunk" algorithm presented in `[4]` (default algorithm, multi-threaded)
The last two algorithms exploit the special structure of the boundary matrix
to take shortcuts in the computation. The chunk algorithm makes use of multiple
@@ -37,6 +35,7 @@ algorithm. We provide the following choices of representation classes:
* {{{vector_set}}}: Each column is a {{{std::set}}} of integers, with the same meaning as before. The matrix is stored as a {{{std::vector}}} of such columns.
* {{{sparse_pivot_column}}} (default representation): The matrix is stored as in the vector_vector representation. However, when a column is manipulated, it is first converted into a {{{std::set}}}, using an extra data field called the "pivot column". When another column is manipulated later, the pivot column is converted back to the {{{std::vector}}} representation. This can lead to speed improvements when many columns are added to a given pivot column consecutively. In a multicore setup, there is one pivot column per core.
* {{{full_pivot_column}}}: The same idea as in the sparse version. However, instead of a {{{std::set}}}, the pivot column is expanded into a bit vector of size n (the dimension of the matrix). To avoid costly initializations, the class remembers which entries have been manipulated for a pivot column and updates only those entries when another column becomes the pivot.
+ * {{{bit_tree_pivot_column}}}: Default representation for all algorithms, except the "row" algorithm. Similar to the {{{full_pivot_column}}} but the implementation is more efficient. Internally it is an bit-set with fast iteration over present elements, and fast access to the maximum element. The structure is initialized before the reduction algorithm is started and reused.
There are two ways to interface with the library: