HMLP: High-performance Machine Learning Primitives
hmlp::gofmm::centersplit< SPDMATRIX, N_SPLIT, T > Struct Template Reference

This the main splitter used to build the Spd-Askit tree. First compute the approximate center using subsamples. Then find the two most far away points to do the projection. More...

#include <gofmm.hpp>

Inheritance diagram for hmlp::gofmm::centersplit< SPDMATRIX, N_SPLIT, T >:
hmlp::mpigofmm::centersplit< SPDMATRIX, N_SPLIT, T >

Public Member Functions

 centersplit (SPDMATRIX &K)
 
vector< vector< size_t > > operator() (vector< size_t > &gids) const
 

Public Attributes

SPDMATRIX * Kptr = NULL
 
DistanceMetric metric = ANGLE_DISTANCE
 
size_t n_centroid_samples = 5
 

Detailed Description

template<typename SPDMATRIX, int N_SPLIT, typename T>
struct hmlp::gofmm::centersplit< SPDMATRIX, N_SPLIT, T >

This the main splitter used to build the Spd-Askit tree. First compute the approximate center using subsamples. Then find the two most far away points to do the projection.

end class Summary

Member Function Documentation

template<typename SPDMATRIX , int N_SPLIT, typename T >
vector<vector<size_t> > hmlp::gofmm::centersplit< SPDMATRIX, N_SPLIT, T >::operator() ( vector< size_t > &  gids) const
inline

Overload the operator ().

all assertions

Collecting column samples of K.

Compute all pairwise distances.

Zero out the temporary buffer.

Accumulate distances to the temporary buffer.

Find the f2c (far most to center) from points owned

Collecting KIP

Compute all pairwise distances.

Find f2f (far most to far most) from owned points

collecting KIQ

Compute all pairwise distances.

Member Data Documentation

template<typename SPDMATRIX , int N_SPLIT, typename T >
SPDMATRIX* hmlp::gofmm::centersplit< SPDMATRIX, N_SPLIT, T >::Kptr = NULL

Closure

template<typename SPDMATRIX , int N_SPLIT, typename T >
DistanceMetric hmlp::gofmm::centersplit< SPDMATRIX, N_SPLIT, T >::metric = ANGLE_DISTANCE

(Default) use angle distance from the Gram vector space.

template<typename SPDMATRIX , int N_SPLIT, typename T >
size_t hmlp::gofmm::centersplit< SPDMATRIX, N_SPLIT, T >::n_centroid_samples = 5

Number samples to approximate centroid.


The documentation for this struct was generated from the following file: