TransWikia.com

Help understanding and implementing fast multipole method for N-body

Computational Science Asked on December 14, 2021

I’ve been trying to understand the Fast Multipole Method but not really getting anywhere.

It seems like the fastest mainstream N-body simulation algorithm, and I would like to implement it in an efficient javascript version, mostly for amusement in browsers.

My math is pretty weak, but my programming is strong, relatively speaking. For example, I’m not even sure what “expansion” means mathematically in this context.

Can the implementation of FMM be described simply with words? Or is understanding of the math required?

2 Answers

I've put together a graphical, non-mathematical explanation of the fast multipole method here.

The animations help a lot, but in words: the fast multipole method would be a lot less scary if it were called 'the recursive approximation method'. It constructs a hierarchy of approximations to the field you're trying to calculate, and uses the big approximations at big scales and small approximations at small scales.

The 'multipole' bit of the name comes from the traditional choice of approximation to use, a Laurent series. The Laurent series is defined around a 'pole', and multiple approximations make for multiple poles! But really, the choice of approximation is not the crucial bit of the whole scheme.

Answered by Andy Jones on December 14, 2021

Actually I might have found a good explanation of the algorithm here: https://github.com/davidson16807/fast-multipole-method

Answered by Magnus Wolffelt on December 14, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP