MLPACK  1.0.4
Public Member Functions | Private Attributes
mlpack::bound::HRectBound< Power, TakeRoot > Class Template Reference

Hyper-rectangle bound for an L-metric. More...

Collaboration diagram for mlpack::bound::HRectBound< Power, TakeRoot >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 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)
 ~HRectBound ()
 Destructor: clean up memory.
void Centroid (arma::vec &centroid) 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.
size_t Dim () const
 Gets the dimensionality.
template<typename VecType >
double MaxDistance (const VecType &point) 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) const
 Calculates minimum bound-to-point distance.
double MinDistance (const HRectBound &other) const
 Calculates minimum bound-to-bound distance.
HRectBoundoperator= (const HRectBound &other)
math::Rangeoperator[] (const size_t i)
 Sets and gets the range for a particular dimension.
const math::Rangeoperator[] (const size_t i) const
template<typename MatType >
HRectBoundoperator|= (const MatType &data)
 Expands this region to include new points.
HRectBoundoperator|= (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) const
 Calculates minimum and maximum bound-to-point distance.

Private Attributes

math::Rangebounds
 The bounds for each dimension.
size_t dim
 The dimensionality of the bound.

Detailed Description

template<int Power = 2, bool TakeRoot = false>
class mlpack::bound::HRectBound< Power, TakeRoot >

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:
PowerThe metric to use; use 2 for Euclidean (L2).
TakeRootWhether or not the root should be taken (see LMetric documentation).

Definition at line 43 of file hrectbound.hpp.


Constructor & Destructor Documentation

template<int Power = 2, bool TakeRoot = false>
mlpack::bound::HRectBound< Power, TakeRoot >::HRectBound ( )

Empty constructor; creates a bound of dimensionality 0.

template<int Power = 2, bool TakeRoot = false>
mlpack::bound::HRectBound< Power, TakeRoot >::HRectBound ( const size_t  dimension)

Initializes to specified dimensionality with each dimension the empty set.

template<int Power = 2, bool TakeRoot = false>
mlpack::bound::HRectBound< Power, TakeRoot >::HRectBound ( const HRectBound< Power, TakeRoot > &  other)
template<int Power = 2, bool TakeRoot = false>
mlpack::bound::HRectBound< Power, TakeRoot >::~HRectBound ( )

Destructor: clean up memory.


Member Function Documentation

template<int Power = 2, bool TakeRoot = false>
void mlpack::bound::HRectBound< Power, TakeRoot >::Centroid ( arma::vec &  centroid) const

Calculates the centroid of the range, placing it into the given vector.

Parameters:
centroidVector which the centroid will be written to.
template<int Power = 2, bool TakeRoot = false>
void mlpack::bound::HRectBound< Power, TakeRoot >::Clear ( )

Resets all dimensions to the empty set (so that this bound contains nothing).

template<int Power = 2, bool TakeRoot = false>
template<typename VecType >
bool mlpack::bound::HRectBound< Power, TakeRoot >::Contains ( const VecType &  point) const

Determines if a point is within this bound.

template<int Power = 2, bool TakeRoot = false>
size_t mlpack::bound::HRectBound< Power, TakeRoot >::Dim ( ) const [inline]

Gets the dimensionality.

Definition at line 75 of file hrectbound.hpp.

References mlpack::bound::HRectBound< Power, TakeRoot >::dim.

template<int Power = 2, bool TakeRoot = false>
template<typename VecType >
double mlpack::bound::HRectBound< Power, TakeRoot >::MaxDistance ( const VecType &  point) const

Calculates maximum bound-to-point squared distance.

Parameters:
pointPoint to which the maximum distance is requested.
template<int Power = 2, bool TakeRoot = false>
double mlpack::bound::HRectBound< Power, TakeRoot >::MaxDistance ( const HRectBound< Power, TakeRoot > &  other) const

Computes maximum distance.

Parameters:
otherBound to which the maximum distance is requested.
template<int Power = 2, bool TakeRoot = false>
template<typename VecType >
double mlpack::bound::HRectBound< Power, TakeRoot >::MinDistance ( const VecType &  point) const

Calculates minimum bound-to-point distance.

Parameters:
pointPoint to which the minimum distance is requested.
template<int Power = 2, bool TakeRoot = false>
double mlpack::bound::HRectBound< Power, TakeRoot >::MinDistance ( const HRectBound< Power, TakeRoot > &  other) const

Calculates minimum bound-to-bound distance.

Parameters:
otherBound to which the minimum distance is requested.
template<int Power = 2, bool TakeRoot = false>
HRectBound& mlpack::bound::HRectBound< Power, TakeRoot >::operator= ( const HRectBound< Power, TakeRoot > &  other)
template<int Power = 2, bool TakeRoot = false>
math::Range& mlpack::bound::HRectBound< Power, TakeRoot >::operator[] ( const size_t  i)

Sets and gets the range for a particular dimension.

template<int Power = 2, bool TakeRoot = false>
const math::Range& mlpack::bound::HRectBound< Power, TakeRoot >::operator[] ( const size_t  i) const
template<int Power = 2, bool TakeRoot = false>
template<typename MatType >
HRectBound& mlpack::bound::HRectBound< Power, TakeRoot >::operator|= ( const MatType &  data)

Expands this region to include new points.

Template Parameters:
MatTypeType of matrix; could be Mat, SpMat, a subview, or just a vector.
Parameters:
dataData points to expand this region to include.
template<int Power = 2, bool TakeRoot = false>
HRectBound& mlpack::bound::HRectBound< Power, TakeRoot >::operator|= ( const HRectBound< Power, TakeRoot > &  other)

Expands this region to encompass another bound.

template<int Power = 2, bool TakeRoot = false>
math::Range mlpack::bound::HRectBound< Power, TakeRoot >::RangeDistance ( const HRectBound< Power, TakeRoot > &  other) const

Calculates minimum and maximum bound-to-bound distance.

Parameters:
otherBound to which the minimum and maximum distances are requested.
template<int Power = 2, bool TakeRoot = false>
template<typename VecType >
math::Range mlpack::bound::HRectBound< Power, TakeRoot >::RangeDistance ( const VecType &  point) const

Calculates minimum and maximum bound-to-point distance.

Parameters:
pointPoint to which the minimum and maximum distances are requested.

Member Data Documentation

template<int Power = 2, bool TakeRoot = false>
math::Range* mlpack::bound::HRectBound< Power, TakeRoot >::bounds [private]

The bounds for each dimension.

Definition at line 162 of file hrectbound.hpp.

template<int Power = 2, bool TakeRoot = false>
size_t mlpack::bound::HRectBound< Power, TakeRoot >::dim [private]

The dimensionality of the bound.

Definition at line 160 of file hrectbound.hpp.

Referenced by mlpack::bound::HRectBound< Power, TakeRoot >::Dim().


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