summaryrefslogtreecommitdiff
path: root/src/Nerve_GIC
diff options
context:
space:
mode:
authormcarrier <mcarrier@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2018-06-11 02:50:07 +0000
committermcarrier <mcarrier@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2018-06-11 02:50:07 +0000
commit68b93015eaf44d45a3a85747b4f3c53bb755e8af (patch)
tree3ff9f7e934a80b1dc0c7c06c1292f1a803c094a9 /src/Nerve_GIC
parent2528ddff5d820020374ece89228006409c224e78 (diff)
small change in bootstrap code
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/Nerve_GIC@3577 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: da8a421316d545b400f82eca3f426912b4767a8d
Diffstat (limited to 'src/Nerve_GIC')
-rw-r--r--src/Nerve_GIC/include/gudhi/GIC.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/Nerve_GIC/include/gudhi/GIC.h b/src/Nerve_GIC/include/gudhi/GIC.h
index 4bd2c849..2a50acd7 100644
--- a/src/Nerve_GIC/include/gudhi/GIC.h
+++ b/src/Nerve_GIC/include/gudhi/GIC.h
@@ -1184,8 +1184,8 @@ class Cover_complex {
}
Cboot.set_graph_from_automatic_rips(Gudhi::Euclidean_distance());
- Cboot.set_automatic_resolution();
Cboot.set_gain();
+ Cboot.set_automatic_resolution();
Cboot.set_cover_from_function();
Cboot.find_simplices();
Cboot.compute_PD();
@@ -1206,7 +1206,9 @@ class Cover_complex {
*/
double compute_distance_from_confidence_level(double alpha) {
unsigned int N = distribution.size();
- return distribution[std::floor(alpha * N)];
+ double d = distribution[std::floor(alpha * N)];
+ if (verbose) std::cout << "Distance corresponding to confidence " << alpha << " is " << d << std::endl;
+ return d;
}
public:
@@ -1220,6 +1222,7 @@ class Cover_complex {
double level = 1;
for (unsigned int i = 0; i < N; i++)
if (distribution[i] > d){ level = i * 1.0 / N; break; }
+ if (verbose) std::cout << "Confidence level of distance " << d << " is " << level << std::endl;
return level;
}
@@ -1231,7 +1234,7 @@ class Cover_complex {
double compute_p_value() {
double distancemin = -std::numeric_limits<double>::lowest();
int N = PD.size();
- for (int i = 0; i < N; i++) distancemin = std::min(distancemin, 0.5 * (PD[i].second - PD[i].first));
+ for (int i = 0; i < N; i++) distancemin = std::min(distancemin, 0.5 * std::abs(PD[i].second - PD[i].first));
double p_value = 1 - compute_confidence_level_from_distance(distancemin);
if (verbose) std::cout << "p value = " << p_value << std::endl;
return p_value;