diff options
author | Marc Glisse <marc.glisse@inria.fr> | 2020-12-10 23:36:58 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-10 23:36:58 +0100 |
commit | 10794c300e349fef918b9b8e91d4c2aee7a01890 (patch) | |
tree | 1ccbbaa9b31c98d4921f2745eb88ae45f9d43aef /src/Subsampling/example/example_custom_kernel.cpp | |
parent | d1b7c8fd3e66c19203967d559582af713417aeca (diff) | |
parent | a2783dd8db753a407cfad329d03e2a56b2095f3d (diff) |
Merge pull request #409 from mglisse/fardist
Pass a distance function instead of a kernel to choose_n_farthest_points
Diffstat (limited to 'src/Subsampling/example/example_custom_kernel.cpp')
-rw-r--r-- | src/Subsampling/example/example_custom_kernel.cpp | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/src/Subsampling/example/example_custom_kernel.cpp b/src/Subsampling/example/example_custom_kernel.cpp deleted file mode 100644 index 535bf42a..00000000 --- a/src/Subsampling/example/example_custom_kernel.cpp +++ /dev/null @@ -1,63 +0,0 @@ -#include <gudhi/choose_n_farthest_points.h> - -#include <iostream> -#include <vector> -#include <iterator> - - -/* The class Kernel contains a distance function defined on the set of points {0, 1, 2, 3} - * and computes a distance according to the matrix: - * 0 1 2 4 - * 1 0 4 2 - * 2 4 0 1 - * 4 2 1 0 - */ -class Kernel { - public: - typedef double FT; - typedef unsigned Point_d; - - // Class Squared_distance_d - class Squared_distance_d { - private: - std::vector<std::vector<FT>> matrix_; - - public: - Squared_distance_d() { - matrix_.push_back(std::vector<FT>({0, 1, 2, 4})); - matrix_.push_back(std::vector<FT>({1, 0, 4, 2})); - matrix_.push_back(std::vector<FT>({2, 4, 0, 1})); - matrix_.push_back(std::vector<FT>({4, 2, 1, 0})); - } - - FT operator()(Point_d p1, Point_d p2) { - return matrix_[p1][p2]; - } - }; - - // Constructor - Kernel() {} - - // Object of type Squared_distance_d - Squared_distance_d squared_distance_d_object() const { - return Squared_distance_d(); - } -}; - -int main(void) { - typedef Kernel K; - typedef typename K::Point_d Point_d; - - K k; - std::vector<Point_d> points = {0, 1, 2, 3}; - std::vector<Point_d> results; - - Gudhi::subsampling::choose_n_farthest_points(k, points, 2, - Gudhi::subsampling::random_starting_point, - std::back_inserter(results)); - std::clog << "Before sparsification: " << points.size() << " points.\n"; - std::clog << "After sparsification: " << results.size() << " points.\n"; - std::clog << "Result table: {" << results[0] << "," << results[1] << "}\n"; - - return 0; -} |