import numpy as np from decimal import Decimal from ..units import HighPrecisionMatrix def calculate_distances(positions): N = len(positions) dists = HighPrecisionMatrix(N,N) for i in range(N): dists[i][i] = Decimal(0) for j in range(i+1, N): d = sum([x**2 for x in (positions[i]-positions[j])]).sqrt() dists[i][j] = Decimal(d) dists[j][i] = Decimal(d) return dists