15 #ifndef MLPACK_CORE_METRICS_LMETRIC_HPP 16 #define MLPACK_CORE_METRICS_LMETRIC_HPP 62 template<
int TPower,
bool TTakeRoot = true>
82 template<
typename VecTypeA,
typename VecTypeB>
83 static typename VecTypeA::elem_type
Evaluate(
const VecTypeA& a,
87 template<
typename Archive>
91 static const int Power = TPower;
124 #include "lmetric_impl.hpp" Linear algebra utility functions, generally performed on matrices or vectors.
static const bool TakeRoot
Whether or not the root is taken.
LMetric< INT_MAX, false > ChebyshevDistance
The L-infinity distance.
The core includes that mlpack expects; standard C++ includes and Armadillo.
static VecTypeA::elem_type Evaluate(const VecTypeA &a, const VecTypeB &b)
Computes the distance between two points.
void serialize(Archive &, const uint32_t)
Serialize the metric (nothing to do).
The L_p metric for arbitrary integer p, with an option to take the root.
LMetric< 2, false > SquaredEuclideanDistance
The squared Euclidean (L2) distance.
LMetric< 1, false > ManhattanDistance
The Manhattan (L1) distance.
static const int Power
The power of the metric.
LMetric()
Default constructor does nothing, but is required to satisfy the Metric policy.
LMetric< 2, true > EuclideanDistance
The Euclidean (L2) distance.