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