Minkowski distance#

The Minkowski distances are the set of distance metrics with different degree \((p > 0)\) and are widely used for distance computation in different algorithms. The most commonly used distance metric, Euclidean distance, is also a Minkowski distance with \(p = 2.0\).


Computational methods



Mathematical formulation#

Refer to Developer Guide: Minkowski distance.

Programming Interface#

All types and functions in this section are declared in the oneapi::dal::minkowski_distance namespace.


template<typename Float = float, typename Method = method::by_default, typename Task = task::by_default>
class descriptor#
Template Parameters
  • Float – The floating-point type that the algorithm uses for intermediate computations. Can be float or double.

  • Method – Tag-type that specifies an the implementation of the algorithm. Can be method::dense.

  • Task – Tag-type that specifies the type of the problem to solve. Can be task::compute.


descriptor() = default#

Creates a new instance of the class with the default property values.

descriptor(double degree)#

Creates a new instance of the class with the external property values.


double degree#

The coefficient \(p\) of the Minkowski distance. Default value: 2.0.

Getter & Setter
double get_degree() const
auto & set_degree(double value)

Method tags#

struct dense#
using by_default = dense#

Alias tag-type for the dense method.

Task tags#

struct compute#

Tag-type that parameterizes entities that are used to compute distances.

using by_default = compute#

Alias tag-type for the compute task.