Hi, def dtest(): A = random( [4,2]) B = random( [1000,2])
# drawback: memory usage temporarily doubled # solution see below d = A[:, newaxis, :] - B[newaxis, :, :] # written as 3 expressions for more clarity d = sqrt((d**2).sum(axis=2)) return d def dtest_lowmem(): A = random( [4,2]) B = random( [1000,2]) d = zeros([4, 1000], dtype='f') # stores result for i in range(len(A)): # the loop should not impose much loss in speed dtemp = A[i, newaxis, :] - B[:, :] dtemp = sqrt((dtemp**2).sum(axis=1)) d[i] = dtemp return d (both functions untested....) HTH, Johannes _______________________________________________ Numpy-discussion mailing list Numpy-discussion@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/numpy-discussion