To complete my Master's thesis, I am working on a problem that deals with an arrangement of initial atoms, and their positions are then changed according to a pseudo-random number generator with low discrepancy. My advisor told me that instead of computing the interactions between the atoms for each sample (which would take M*N), I could use an algorithm to make it faster (M+N). He told me to just google it I'm not sure what algorithm can do this. I'm guessing either the FMM, FFT, or Multilevel FMM would be the algorithm. I thought FFT might work since its used for equispaced points, but we are not dealing with time/frequency here. And I don't see how FMM or Multilevel FMM deal with equispaced points. Any ideas?