SemiDiscreteOT 1.0
Semi-Discrete Optimal Transport Library
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Functions
dkm.hpp File Reference
#include <algorithm>
#include <array>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <random>
#include <tuple>
#include <type_traits>
#include <vector>
Include dependency graph for dkm.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  dkm::clustering_parameters< T >
 

Namespaces

namespace  dkm
 
namespace  dkm::details
 

Macros

#define DKM_KMEANS_H
 

Functions

template<typename T , size_t N>
dkm::details::distance_squared (const std::array< T, N > &point_a, const std::array< T, N > &point_b)
 
template<typename T , size_t N>
dkm::details::distance (const std::array< T, N > &point_a, const std::array< T, N > &point_b)
 
template<typename T , size_t N>
std::vector< T > dkm::details::closest_distance (const std::vector< std::array< T, N > > &means, const std::vector< std::array< T, N > > &data)
 
template<typename T , size_t N>
std::vector< std::array< T, N > > dkm::details::random_plusplus (const std::vector< std::array< T, N > > &data, uint32_t k, uint64_t seed)
 
template<typename T , size_t N>
uint32_t dkm::details::closest_mean (const std::array< T, N > &point, const std::vector< std::array< T, N > > &means)
 
template<typename T , size_t N>
std::vector< uint32_t > dkm::details::calculate_clusters (const std::vector< std::array< T, N > > &data, const std::vector< std::array< T, N > > &means)
 
template<typename T , size_t N>
std::vector< std::array< T, N > > dkm::details::calculate_means (const std::vector< std::array< T, N > > &data, const std::vector< uint32_t > &clusters, const std::vector< std::array< T, N > > &old_means, uint32_t k)
 
template<typename T , size_t N>
std::vector< T > dkm::details::deltas (const std::vector< std::array< T, N > > &old_means, const std::vector< std::array< T, N > > &means)
 
template<typename T >
bool dkm::details::deltas_below_limit (const std::vector< T > &deltas, T min_delta)
 
template<typename T , size_t N>
std::tuple< std::vector< std::array< T, N > >, std::vector< uint32_t > > dkm::kmeans_lloyd (const std::vector< std::array< T, N > > &data, const clustering_parameters< T > &parameters)
 
template<typename T , size_t N>
std::tuple< std::vector< std::array< T, N > >, std::vector< uint32_t > > dkm::kmeans_lloyd (const std::vector< std::array< T, N > > &data, uint32_t k, uint64_t max_iter=0, T min_delta=-1.0)
 

Macro Definition Documentation

◆ DKM_KMEANS_H

#define DKM_KMEANS_H

Definition at line 5 of file dkm.hpp.