Source code for UQpy.utilities.distances.euclidean_distances.MinkowskiDistance

from typing import Union

from UQpy.utilities.ValidationTypes import NumpyFloatArray, Numpy2DFloatArray
from UQpy.utilities.distances.baseclass.EuclideanDistance import EuclideanDistance
from scipy.spatial.distance import pdist


[docs]class MinkowskiDistance(EuclideanDistance): def __init__(self, p: float = 2): """ :param p: Order of the norm. """ self.p = p
[docs] def compute_distance(self, xi: NumpyFloatArray, xj: NumpyFloatArray) -> float: """ Given two points, this method calculates the Minkowski distance. :param xi: First point. :param xj: Second point. :return: A float representing the distance between the points. """ return pdist([xi, xj], "minkowski", p=self.p)[0]