diff options
author | Marc Glisse <marc.glisse@inria.fr> | 2019-04-11 22:58:00 +0200 |
---|---|---|
committer | Marc Glisse <marc.glisse@inria.fr> | 2019-04-11 22:58:00 +0200 |
commit | 9ceaa84d52d939a117d78b49fd19c8900387dadc (patch) | |
tree | a7cf119bc408ca7ff6321e14a8176cf80a4f28e7 /src/Rips_complex/include/gudhi/Sparse_rips_complex.h | |
parent | 79c5d2acf5a9af5b11dac611fe7b81de75e53b89 (diff) |
comments
Diffstat (limited to 'src/Rips_complex/include/gudhi/Sparse_rips_complex.h')
-rw-r--r-- | src/Rips_complex/include/gudhi/Sparse_rips_complex.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Rips_complex/include/gudhi/Sparse_rips_complex.h b/src/Rips_complex/include/gudhi/Sparse_rips_complex.h index 11d0b4c4..015c94d9 100644 --- a/src/Rips_complex/include/gudhi/Sparse_rips_complex.h +++ b/src/Rips_complex/include/gudhi/Sparse_rips_complex.h @@ -118,6 +118,7 @@ class Sparse_rips_complex { } const int n = boost::size(params); std::vector<Filtration_value> lambda(n); + // lambda[original_order]=params[sorted_order] for(int i=0;i<n;++i) lambda[sorted_points[i]] = params[i]; double cst = epsilon_ * (1 - epsilon_); @@ -125,7 +126,7 @@ class Sparse_rips_complex { auto filt = complex.filtration(sh); auto mini = filt * cst; for(auto v : complex.simplex_vertex_range(sh)){ - if(lambda[v] < mini) // FIXME: store lambda/params somewhere!!! + if(lambda[v] < mini) return true; // v died before this simplex could be born } return false; @@ -188,7 +189,9 @@ class Sparse_rips_complex { Graph graph_; double epsilon_; // Because of the arbitrary split between constructor and create_complex + // sorted_points[sorted_order]=original_order std::vector<Vertex_handle> sorted_points; + // params[sorted_order]=distance to previous points std::vector<Filtration_value> params; }; |