summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjan.reininghaus <jan.reininghaus@8e3bb3c2-eed4-f18f-5264-0b6c94e6926d>2013-04-22 09:38:32 +0000
committerjan.reininghaus <jan.reininghaus@8e3bb3c2-eed4-f18f-5264-0b6c94e6926d>2013-04-22 09:38:32 +0000
commit118bfc4def5abef1de570dcad2fda4773d0e81f1 (patch)
treef18b4c322ca8c27be9c7a70f34d274050a3f7986
parent7c314378cc56e6b215a2df7b05dd9fb90ded0d16 (diff)
README updated
git-svn-id: https://phat.googlecode.com/svn/trunk@34 8e3bb3c2-eed4-f18f-5264-0b6c94e6926d
-rw-r--r--README20
1 files changed, 14 insertions, 6 deletions
diff --git a/README b/README
index d303271..33e67b3 100644
--- a/README
+++ b/README
@@ -1,10 +1,14 @@
=PHAT (Persistent Homology Algorithm Toolbox)=
Copyright 2013 IST Austria
-==Authors:==
+==Project Founders:==
Ulrich Bauer, Michael Kerber, Jan Reininghaus
+==Contributors:==
+
+Hubert Wagner
+
==Description:==
This software library contains methods for computing the persistence pairs of a
@@ -14,8 +18,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]`
- * The "chunk" algorithm presented in `[4]` (default algorithm, multi-threaded)
+ * The "twist" algorithm, as described in `[3]`
+ * The "chunk" algorithm presented in `[4]` (default algorithm)
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
@@ -33,9 +37,9 @@ algorithm. We provide the following choices of representation classes:
* {{{vector_vector}}}: Each column is represented as a sorted {{{std::vector}}} of integers, containing the indices of the non-zero entries of the column. The matrix itself is a {{{std::vector}}} of such columns.
* {{{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.
+ * {{{sparse_pivot_column}}}: 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.
+ * {{{bit_tree_pivot_column}}} (default representation): 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:
@@ -111,9 +115,13 @@ and {{{persistence_pairs}}}. The file formats are defined as follows:
Same as ascii format, see above. Only now the integers are encoded as 64bit signed integers.
A sample file {{{single_triangle_persistence_pairs.bin}}} can be found in the examples folder.
+==Supported Platforms:==
+ * Visual Studio 2008 and 2012 (2010 untested)
+ * GCC version 4.4. and higher
+
==References:==
# H.Edelsbrunner, J.Harer: Computational Topology, An Introduction. American Mathematical Society, 2010, ISBN 0-8218-4925-5
# V.de Silva, D.Morozov, M.Vejdemo-Johansson: Dualities in persistent (co)homology. Inverse Problems 27, 2011
# C.Chen, M.Kerber: Persistent Homology Computation With a Twist. 27th European Workshop on Computational Geometry, 2011.
- # U.Bauer, M.Kerber, J.Reininghaus: Clear and Compress: Computing Persistent Homology in Chunks. arXiv:????.???? \ No newline at end of file
+ # U.Bauer, M.Kerber, J.Reininghaus: Clear and Compress: Computing Persistent Homology in Chunks. [http://arxiv.org/pdf/1303.0477.pdf arXiv:1303.0477] \ No newline at end of file