Line # Mem usage Increment Line Contents
================================================
1 77.64 MiB 0.00 MiB def euclidean_vectorized(a):
2 """ Calculate vectorized Euclidean distance."""
3 77.64 MiB 0.00 MiB r = a.shape[0]
4 77.78 MiB 0.14 MiB aa = np.sum(a*a, axis=1)
5 291.46 MiB 213.68 MiB dm = (aa[:, np.newaxis] + aa) - 2*np.dot(a, a.T)
6 315.22 MiB 23.76 MiB idx = np.rot90(np.tril(np.ones((r, r), dtype='bool'), -1), 2)
7 410.59 MiB 95.37 MiB euclideanDistance = np.sqrt(np.abs(dm[idx]))
8 410.59 MiB 0.00 MiB return euclideanDistance