Hyper-rectangle bound for an l-metric.
typedef metric::LMetric< Power,
TakeRoot > MetricType"
This is the metric type that this bound is using.
HRectBound ()
Empty constructor; creates a bound of dimensionality 0. HRectBound (const size_t dimension)
Initializes to specified dimensionality with each dimension the empty set. HRectBound (const HRectBound &other)
Copy constructor; necessary to prevent memory leaks. ~HRectBound ()
Destructor: clean up memory. void Centroid (arma::vec ¢roid) const
Calculates the centroid of the range, placing it into the given vector. void Clear ()
Resets all dimensions to the empty set (so that this bound contains nothing). template<typename VecType > bool Contains (const VecType &point) const
Determines if a point is within this bound. double Diameter () const
Returns the diameter of the hyperrectangle (that is, the longest diagonal). size_t Dim () const
Gets the dimensionality. template<typename VecType > double MaxDistance (const VecType &point, typename boost::enable_if< IsVector< VecType > > *=0) const
Calculates maximum bound-to-point squared distance. double MaxDistance (const HRectBound &other) const
Computes maximum distance. template<typename VecType > double MinDistance (const VecType &point, typename boost::enable_if< IsVector< VecType > > *=0) const
Calculates minimum bound-to-point distance. double MinDistance (const HRectBound &other) const
Calculates minimum bound-to-bound distance. double MinWidth () const
Get the minimum width of the bound. double & MinWidth ()
Modify the minimum width of the bound. HRectBound & operator= (const HRectBound &other)
Same as copy constructor; necessary to prevent memory leaks. math::Range & operator[] (const size_t i)
Get the range for a particular dimension. const math::Range & operator[] (const size_t i) const
Modify the range for a particular dimension. No bounds checking. template<typename MatType > HRectBound & operator|= (const MatType &data)
Expands this region to include new points. HRectBound & operator|= (const HRectBound &other)
Expands this region to encompass another bound. math::Range RangeDistance (const HRectBound &other) const
Calculates minimum and maximum bound-to-bound distance. template<typename VecType > math::Range RangeDistance (const VecType &point, typename boost::enable_if< IsVector< VecType > > *=0) const
Calculates minimum and maximum bound-to-point distance. std::string ToString () const
Returns a string representation of this object.
static MetricType Metric ()
Return the metric associated with this bound.
math::Range * bounds
The bounds for each dimension. size_t dim
The dimensionality of the bound. double minWidth
Cached minimum width of bound.
Hyper-rectangle bound for an L-metric.
This should be used in conjunction with the LMetric class. Be sure to use the same template parameters for LMetric as you do for HRectBound -- otherwise odd results may occur.
Template Parameters:
Power The metric to use; use 2 for Euclidean (L2).
TakeRoot Whether or not the root should be taken (see LMetric documentation).
Definition at line 44 of file hrectbound.hpp.
This is the metric type that this bound is using.
Definition at line 48 of file hrectbound.hpp.
Empty constructor; creates a bound of dimensionality 0.
Initializes to specified dimensionality with each dimension the empty set.
Copy constructor; necessary to prevent memory leaks.
Destructor: clean up memory.
Calculates the centroid of the range, placing it into the given vector.
Parameters:
centroid Vector which the centroid will be written to.
Resets all dimensions to the empty set (so that this bound contains nothing).
Determines if a point is within this bound.
Returns the diameter of the hyperrectangle (that is, the longest diagonal).
Gets the dimensionality.
Definition at line 76 of file hrectbound.hpp.
References mlpack::bound::HRectBound< Power, TakeRoot >::dim.
Calculates maximum bound-to-point squared distance.
Parameters:
point Point to which the maximum distance is requested.
Computes maximum distance.
Parameters:
other Bound to which the maximum distance is requested.
Return the metric associated with this bound. Because it is an LMetric, it cannot store state, so we can make it on the fly. It is also static because the metric is only dependent on the template arguments.
Definition at line 183 of file hrectbound.hpp.
Calculates minimum bound-to-point distance.
Parameters:
point Point to which the minimum distance is requested.
Calculates minimum bound-to-bound distance.
Parameters:
other Bound to which the minimum distance is requested.
Get the minimum width of the bound.
Definition at line 85 of file hrectbound.hpp.
References mlpack::bound::HRectBound< Power, TakeRoot >::minWidth.
Modify the minimum width of the bound.
Definition at line 87 of file hrectbound.hpp.
References mlpack::bound::HRectBound< Power, TakeRoot >::minWidth.
Same as copy constructor; necessary to prevent memory leaks.
Get the range for a particular dimension. No bounds checking. Be careful: this may make MinWidth() invalid.
Definition at line 80 of file hrectbound.hpp.
References mlpack::bound::HRectBound< Power, TakeRoot >::bounds.
Modify the range for a particular dimension. No bounds checking.
Definition at line 82 of file hrectbound.hpp.
References mlpack::bound::HRectBound< Power, TakeRoot >::bounds.
Expands this region to include new points.
Template Parameters:
MatType Type of matrix; could be Mat, SpMat, a subview, or just a vector.
Parameters:
data Data points to expand this region to include.
Expands this region to encompass another bound.
Calculates minimum and maximum bound-to-bound distance.
Parameters:
other Bound to which the minimum and maximum distances are requested.
Calculates minimum and maximum bound-to-point distance.
Parameters:
point Point to which the minimum and maximum distances are requested.
Returns a string representation of this object.
The bounds for each dimension.
Definition at line 189 of file hrectbound.hpp.
Referenced by mlpack::bound::HRectBound< Power, TakeRoot >::operator[]().
The dimensionality of the bound.
Definition at line 187 of file hrectbound.hpp.
Referenced by mlpack::bound::HRectBound< Power, TakeRoot >::Dim().
Cached minimum width of bound.
Definition at line 191 of file hrectbound.hpp.
Referenced by mlpack::bound::HRectBound< Power, TakeRoot >::MinWidth().
Generated automatically by Doxygen for MLPACK from the source code.