nk
1.0.0
C++ Numerical Computing Runtime
Toggle main menu visibility
Loading...
Searching...
No Matches
distance.hpp
Go to the documentation of this file.
1
3
// toolboxes/stats/include/nk/stats/cluster/distance.hpp
4
//
5
// Pairwise distance utilities. These primitives feed every clustering
6
// algorithm in the toolbox (kmeans, kmedoids, linkage, knnsearch, …).
7
8
#pragma once
9
10
#include <memory_resource>
11
#include <nk/value/value.hpp>
12
13
#include <string>
14
15
namespace
nk::stats {
16
19
20
47
Value
pdist
(
const
Value
&X,
const
std::string &metric,
double
p,
48
std::pmr::memory_resource *mr =
nullptr
);
49
63
Value
pdist2
(
const
Value
&X,
const
Value
&Y,
const
std::string &metric,
double
p,
64
std::pmr::memory_resource *mr =
nullptr
);
65
75
Value
squareform
(
const
Value
&d,
76
std::pmr::memory_resource *mr =
nullptr
);
77
88
Value
mahal
(
const
Value
&Y,
const
Value
&X,
89
std::pmr::memory_resource *mr =
nullptr
);
90
91
93
}
// namespace nk::stats
nk::Value
Core MATLAB-compatible multidimensional array and scalar value type.
Definition
value.hpp:61
nk::stats::pdist2
Value pdist2(const Value &X, const Value &Y, const std::string &metric, double p, std::pmr::memory_resource *mr=nullptr)
Cross-set pairwise distances (D = pdist2(X, Y, metric, p)).
nk::stats::mahal
Value mahal(const Value &Y, const Value &X, std::pmr::memory_resource *mr=nullptr)
Mahalanobis distance squared (d² = mahal(Y, X)).
nk::stats::squareform
Value squareform(const Value &d, std::pmr::memory_resource *mr=nullptr)
Pack / unpack the pdist row form (Y = squareform(d)).
nk::stats::pdist
Value pdist(const Value &X, const std::string &metric, double p, std::pmr::memory_resource *mr=nullptr)
Pairwise distances between rows of X (d = pdist(X, metric, p)).
src
toolboxes
stats
include
nk
stats
cluster
distance.hpp
Generated by
1.17.0