mlpack 3.4.2
space_split.hpp
Go to the documentation of this file.
1
13#ifndef MLPACK_CORE_TREE_SPILL_TREE_SPACE_SPLIT_HPP
14#define MLPACK_CORE_TREE_SPILL_TREE_SPACE_SPLIT_HPP
15
16#include <mlpack/prereqs.hpp>
17#include "hyperplane.hpp"
18
19namespace mlpack {
20namespace tree {
21
22template<typename MetricType, typename MatType>
24{
25 public:
38 static bool GetProjVector(
40 const MatType& data,
41 const arma::Col<size_t>& points,
42 AxisParallelProjVector& projVector,
43 double& midValue);
44
57 template<typename BoundType>
58 static bool GetProjVector(
59 const BoundType& bound,
60 const MatType& data,
61 const arma::Col<size_t>& points,
62 ProjVector& projVector,
63 double& midValue);
64};
65
66} // namespace tree
67} // namespace mlpack
68
69// Include implementation.
70#include "space_split_impl.hpp"
71
72#endif
Hyper-rectangle bound for an L-metric.
Definition: hrectbound.hpp:55
AxisParallelProjVector defines an axis-parallel projection vector.
ProjVector defines a general projection vector (not necessarily axis-parallel).
static bool GetProjVector(const bound::HRectBound< MetricType > &bound, const MatType &data, const arma::Col< size_t > &points, AxisParallelProjVector &projVector, double &midValue)
Create a projection vector based on the given set of point.
static bool GetProjVector(const BoundType &bound, const MatType &data, const arma::Col< size_t > &points, ProjVector &projVector, double &midValue)
Create a projection vector based on the given set of point.
Linear algebra utility functions, generally performed on matrices or vectors.
Definition: cv.hpp:1
The core includes that mlpack expects; standard C++ includes and Armadillo.