nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
knnsearch.hpp
Go to the documentation of this file.
1
3// toolboxes/stats/include/nk/stats/cluster/knnsearch.hpp
4//
5// Brute-force k-nearest-neighbor and radius search.
6
7#pragma once
8
9#include <memory_resource>
10#include <nk/value/value.hpp>
11
12#include <string>
13#include <tuple>
14
15namespace nk::stats {
16
19
20
38std::tuple<Value, Value>
39knnsearch(const Value &X, const Value &Y, int K = 1,
40 const std::string &metric = "euclidean", double p = 2.0,
41 std::pmr::memory_resource *mr = nullptr);
42
60std::tuple<Value, Value>
61rangesearch(const Value &X, const Value &Y, double r,
62 const std::string &metric = "euclidean", double p = 2.0,
63 std::pmr::memory_resource *mr = nullptr);
64
65
67} // namespace nk::stats
Core MATLAB-compatible multidimensional array and scalar value type.
Definition value.hpp:61
std::tuple< Value, Value > knnsearch(const Value &X, const Value &Y, int K=1, const std::string &metric="euclidean", double p=2.0, std::pmr::memory_resource *mr=nullptr)
k-nearest-neighbour search ([Idx, D] = knnsearch(X, Y, K, metric, p)).
std::tuple< Value, Value > rangesearch(const Value &X, const Value &Y, double r, const std::string &metric="euclidean", double p=2.0, std::pmr::memory_resource *mr=nullptr)
Radius search ([Idx, D] = rangesearch(X, Y, r, metric, p)).