Skip to content
Snippets Groups Projects
distances.py 365 B
Newer Older
  • Learn to ignore specific revisions
  • andersct's avatar
    andersct committed
    import numpy as np
    
    
    def circular_1d(x, c):
        """
        Wrap values in circular space to smallest magnitude representation
        :param x: n, | values in circular space (eg S^1)
        :param c: period of circular space [0, c) (eg 2pi)
        :return: n, | distances
        """
        b = np.array([-c, 0])
        d = np.min(np.abs((x % c) + b[:, np.newaxis]), axis=0)
        return d