This continues a conversation that started here:
SciML/MultiScaleArrays.jl#25 (comment)
HierarchicalMatrices.jl gives a convenient way to implement the fast multipole method, which exploits low rank structure to make matrix multiplication fast. This can be used for efficient simulations: O(n) cost for n bodies.