mlpack 3.4.2
|
Ball bound encloses a set of points at a specific distance (radius) from a specific point (center). More...
#include <ballbound.hpp>
Public Types | |
typedef VecType::elem_type | ElemType |
The underlying data type. More... | |
typedef VecType | Vec |
A public version of the vector type. More... | |
Public Member Functions | |
BallBound () | |
Empty Constructor. More... | |
BallBound (BallBound &&other) | |
Move constructor: take possession of another bound. More... | |
BallBound (const BallBound &other) | |
Copy constructor. To prevent memory leaks. More... | |
BallBound (const ElemType radius, const VecType ¢er) | |
Create the ball bound with the specified radius and center. More... | |
BallBound (const size_t dimension) | |
Create the ball bound with the specified dimensionality. More... | |
~BallBound () | |
Destructor to release allocated memory. More... | |
VecType & | Center () |
Modify the center point of the ball. More... | |
const VecType & | Center () const |
Get the center point of the ball. More... | |
void | Center (VecType ¢er) const |
Place the center of BallBound into the given vector. More... | |
bool | Contains (const VecType &point) const |
Determines if a point is within this bound. More... | |
ElemType | Diameter () const |
Returns the diameter of the ballbound. More... | |
size_t | Dim () const |
Get the dimensionality of the ball. More... | |
ElemType | MaxDistance (const BallBound &other) const |
Computes maximum distance. More... | |
template<typename OtherVecType > | |
ElemType | MaxDistance (const OtherVecType &point, typename std::enable_if_t< IsVector< OtherVecType >::value > *=0) const |
Computes maximum distance. More... | |
MetricType & | Metric () |
Modify the distance metric used in this bound. More... | |
const MetricType & | Metric () const |
Returns the distance metric used in this bound. More... | |
ElemType | MinDistance (const BallBound &other) const |
Calculates minimum bound-to-bound squared distance. More... | |
template<typename OtherVecType > | |
ElemType | MinDistance (const OtherVecType &point, typename std::enable_if_t< IsVector< OtherVecType >::value > *=0) const |
Calculates minimum bound-to-point squared distance. More... | |
ElemType | MinWidth () const |
Get the minimum width of the bound (this is same as the diameter). More... | |
BallBound & | operator= (const BallBound &other) |
For the same reason as the copy constructor: to prevent memory leaks. More... | |
math::RangeType< ElemType > | operator[] (const size_t i) const |
Get the range in a certain dimension. More... | |
const BallBound & | operator|= (const BallBound &other) |
Expand the bound to include the given node. More... | |
template<typename MatType > | |
const BallBound & | operator|= (const MatType &data) |
Expand the bound to include the given point. More... | |
ElemType & | Radius () |
Modify the radius of the ball. More... | |
ElemType | Radius () const |
Get the radius of the ball. More... | |
math::RangeType< ElemType > | RangeDistance (const BallBound &other) const |
Calculates minimum and maximum bound-to-bound distance. More... | |
template<typename OtherVecType > | |
math::RangeType< ElemType > | RangeDistance (const OtherVecType &other, typename std::enable_if_t< IsVector< OtherVecType >::value > *=0) const |
Calculates minimum and maximum bound-to-point distance. More... | |
template<typename Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Serialize the bound. More... | |
Ball bound encloses a set of points at a specific distance (radius) from a specific point (center).
MetricType is the custom metric type that defaults to the Euclidean (L2) distance.
MetricType | metric type used in the distance measure. |
VecType | Type of vector (arma::vec or arma::sp_vec or similar). |
Definition at line 32 of file ballbound.hpp.
typedef VecType::elem_type ElemType |
The underlying data type.
Definition at line 36 of file ballbound.hpp.
typedef VecType Vec |
A public version of the vector type.
Definition at line 38 of file ballbound.hpp.
BallBound | ( | ) |
Empty Constructor.
BallBound | ( | const size_t | dimension | ) |
Create the ball bound with the specified dimensionality.
dimension | Dimensionality of ball bound. |
Create the ball bound with the specified radius and center.
radius | Radius of ball bound. |
center | Center of ball bound. |
Copy constructor. To prevent memory leaks.
Move constructor: take possession of another bound.
~BallBound | ( | ) |
Destructor to release allocated memory.
|
inline |
Modify the center point of the ball.
Definition at line 95 of file ballbound.hpp.
|
inline |
Get the center point of the ball.
Definition at line 93 of file ballbound.hpp.
Referenced by ProjVector::Project().
|
inline |
Place the center of BallBound into the given vector.
center | Vector which the centroid will be written to. |
Definition at line 121 of file ballbound.hpp.
bool Contains | ( | const VecType & | point | ) | const |
Determines if a point is within this bound.
point | Point to check the condition. |
|
inline |
Returns the diameter of the ballbound.
Definition at line 197 of file ballbound.hpp.
|
inline |
Get the dimensionality of the ball.
Definition at line 98 of file ballbound.hpp.
Computes maximum distance.
other | Bound to which the maximum distance is requested. |
ElemType MaxDistance | ( | const OtherVecType & | point, |
typename std::enable_if_t< IsVector< OtherVecType >::value > * | = 0 |
||
) | const |
Computes maximum distance.
point | Point to which the maximum distance is requested. |
|
inline |
Modify the distance metric used in this bound.
Definition at line 202 of file ballbound.hpp.
|
inline |
Returns the distance metric used in this bound.
Definition at line 200 of file ballbound.hpp.
Calculates minimum bound-to-bound squared distance.
other | Bound to which the minimum distance is requested. |
ElemType MinDistance | ( | const OtherVecType & | point, |
typename std::enable_if_t< IsVector< OtherVecType >::value > * | = 0 |
||
) | const |
Calculates minimum bound-to-point squared distance.
point | Point to which the minimum distance is requested. |
|
inline |
Get the minimum width of the bound (this is same as the diameter).
For ball bounds, width along all dimensions remain same.
Definition at line 104 of file ballbound.hpp.
For the same reason as the copy constructor: to prevent memory leaks.
math::RangeType< ElemType > operator[] | ( | const size_t | i | ) | const |
Get the range in a certain dimension.
Expand the bound to include the given node.
const BallBound & operator|= | ( | const MatType & | data | ) |
Expand the bound to include the given point.
The centroid is recalculated to be the center of all of the given points.
MatType | Type of matrix; could be arma::mat, arma::spmat, or a vector. |
data | Data points to add. |
|
inline |
Modify the radius of the ball.
Definition at line 90 of file ballbound.hpp.
|
inline |
Get the radius of the ball.
Definition at line 88 of file ballbound.hpp.
Referenced by ProjVector::Project().
math::RangeType< ElemType > RangeDistance | ( | const BallBound< MetricType, VecType > & | other | ) | const |
Calculates minimum and maximum bound-to-bound distance.
Example: bound1.MinDistanceSq(other) for minimum distance.
other | Bound to which the minimum and maximum distances are requested. |
math::RangeType< ElemType > RangeDistance | ( | const OtherVecType & | other, |
typename std::enable_if_t< IsVector< OtherVecType >::value > * | = 0 |
||
) | const |
Calculates minimum and maximum bound-to-point distance.
other | Point to which the minimum and maximum distances are requested. |
void serialize | ( | Archive & | ar, |
const unsigned int | version | ||
) |
Serialize the bound.