Cool--this works perfectly now :-)<br><br>Unfortunately, it's actually slower :P  Most of the slowest part is in the removing doubles section.  <br><br>Some of the costliest calls:<br><br>#takes 0.04 seconds<br>inner = np.inner(ns, v1s - some_point)<br>

<br>#0.0840001106262<br>sum_1 = sum.reshape((len(sum), 1)).repeat(len(sum), axis = 1)<br><br>#0.0329999923706<br>sum_2 = sum.reshape((1, len(sum))).repeat(len(sum), axis = 0)<br><br>#0.0269999504089<br>comparison_sum = (sum_1 == sum_2)<br>

<br>#0.0909998416901<br>diff_1 = diff.reshape((len(diff), 1)).repeat(len(diff), axis = 1)<br><br>#0.0340001583099<br>diff_2 = diff.reshape((1, len(diff))).repeat(len(diff), axis = 0)<br><br>#0.0269999504089<br>comparison_diff = (diff_1 == diff_2)<br>

<br>#0.0230000019073<br>same_edges = comparison_sum * comparison_diff<br><br>#0.128999948502<br>doublet_count = same_edges.sum(axis = 0)<br><br>Ian<br>