Source code for UQpy.utilities.distances.baseclass.Distance

from abc import abstractmethod, ABC
from typing import Union

import numpy as np


[docs]class Distance(ABC): """ This is the baseclass for all distances in :py:mod:`UQpy`. This serves as a blueprint to show the methods for distances implemented in the :py:mod:`.distances` module . """ def __init__(self): self.distance_matrix: np.ndarray = None """Distance matrix defining the pairwise distances between the points"""
[docs] def calculate_distance_matrix(self, points): """ Using the distance-specific :py:meth:`.compute_distance` method, this function assembles the distance matrix. :param points: Set of data points. Depending on the type of kernel these should be either :class:`numpy.ndarray` or of type :class:`.GrassmannPoint`. """ pass
[docs] @abstractmethod def compute_distance(self, xi, xj) -> float: """ Given two points, this method calculates their distance. Each concrete distance implementation must override this method and provide its own implementation. :param xi: First point. :param xj: Second point. :return: A float representing the distance between the points. """ pass