summaryrefslogtreecommitdiff
path: root/src/Persistence_representations/test
diff options
context:
space:
mode:
authormcarrier <mcarrier@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2018-10-30 21:07:52 +0000
committermcarrier <mcarrier@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2018-10-30 21:07:52 +0000
commit230eac46395aeb406ca79280a8d62fc35b6f41a3 (patch)
tree21d1feab9f3d090cba3313b73dead9db5fc0a6bc /src/Persistence_representations/test
parent8f9e4f64a2df82205a3a4551e0443b9e2a45edae (diff)
removed template Kernel2D
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/kernels@3965 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: 0cfdece6eb19cb8601371bc96e1dbb66ae41a086
Diffstat (limited to 'src/Persistence_representations/test')
-rw-r--r--src/Persistence_representations/test/kernels.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/Persistence_representations/test/kernels.cpp b/src/Persistence_representations/test/kernels.cpp
index c95e8086..b8d02d4c 100644
--- a/src/Persistence_representations/test/kernels.cpp
+++ b/src/Persistence_representations/test/kernels.cpp
@@ -40,10 +40,16 @@ using SW = Gudhi::Persistence_representations::Sliced_Wasserstein;
using PWG = Gudhi::Persistence_representations::Persistence_heat_maps<constant_scaling_function>;
using Persistence_diagram = std::vector<std::pair<double,double> >;
+std::function<double(std::pair<double, double>, std::pair<double, double>)> Gaussian_function(double sigma){
+ return [=](std::pair<double, double> p, std::pair<double, double> q){
+ return (1/std::sqrt(2*Gudhi::Persistence_representations::pi)*sigma) * std::exp( -( (p.first-q.first)*(p.first-q.first) + (p.second-q.second)*(p.second-q.second) )/(2*sigma) );
+ };
+}
+
BOOST_AUTO_TEST_CASE(check_PWG) {
Persistence_diagram v1, v2; v1.emplace_back(0,1); v2.emplace_back(0,2);
- PWG pwg1(v1, Gudhi::Persistence_representations::Gaussian_kernel(1.0));
- PWG pwg2(v2, Gudhi::Persistence_representations::Gaussian_kernel(1.0));
+ PWG pwg1(v1, Gaussian_function(1.0));
+ PWG pwg2(v2, Gaussian_function(1.0));
BOOST_CHECK(std::abs(pwg1.compute_scalar_product(pwg2) - std::exp(-0.5)/(std::sqrt(2*Gudhi::Persistence_representations::pi))) <= 1e-3);
}