From fe2f26629481faf316c74dafa7eae892bbc7a556 Mon Sep 17 00:00:00 2001 From: Marc Glisse Date: Fri, 10 May 2019 22:00:54 +0200 Subject: Fix blocker formula I had copied it straight from the paper, without adding the factor 2 we have everywhere. --- src/Rips_complex/include/gudhi/Sparse_rips_complex.h | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/Rips_complex') diff --git a/src/Rips_complex/include/gudhi/Sparse_rips_complex.h b/src/Rips_complex/include/gudhi/Sparse_rips_complex.h index a249cd8e..8df6e387 100644 --- a/src/Rips_complex/include/gudhi/Sparse_rips_complex.h +++ b/src/Rips_complex/include/gudhi/Sparse_rips_complex.h @@ -126,7 +126,7 @@ class Sparse_rips_complex { // lambda[original_order]=params[sorted_order] for(int i=0;i= 1 || d * epsilon <= lj * (1 + 1 / (1 - epsilon)))) - alpha = (d - lj / epsilon) * 2; - else + else if (d * epsilon > li + lj) continue; + else { + alpha = (d - lj / epsilon) * 2; + // Keep the test exactly the same as in block to avoid inconsistencies + if (epsilon < 1 && alpha * cst > lj) + continue; + } if (alpha <= maxi) add_edge(pi, pj, alpha, graph_); -- cgit v1.2.3