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.
LMetric< 2, true > EuclideanDistance
The Euclidean (L2) distance.
The core includes that mlpack expects; standard C++ includes and Armadillo.
LMetric< 2, false > SquaredEuclideanDistance
The squared Euclidean (L2) distance.
static VecTypeA::elem_type Evaluate(const VecTypeA &a, const VecTypeB &b)
Computes the distance between two points.
void Serialize(Archive &, const unsigned int)
Serialize the metric (nothing to do).
LMetric< 1, false > ManhattanDistance
The Manhattan (L1) distance.
The L_p metric for arbitrary integer p, with an option to take the root.
static const int Power
The power of the metric.
LMetric< INT_MAX, false > ChebyshevDistance
The L-infinity distance.
static const bool TakeRoot
Whether or not the root is taken.