This work introduces the kernel-independent multi-level algorithm "skelFMM"
for evaluating all pairwise interactions between N points connected through a
kernel such as the fundamental solution of the Laplace or the Helmholtz
equations. The method is based on linear algebraic tools such as randomized low
rank approximation and "skeleton representations" of far-field interactions.
The work is related to previously proposed linear algebraic reformulations of
the fast multipole method (FMM), but is distinguished by relying on simpler
data structures. In particular, skelFMM does not require an "interaction list",
as it relies instead on algebraically-modified kernel interactions between
near-neighbors at every level. Like other kernel independent algorithms, it
only requires evaluation of the kernel function, allowing the methodology to
easily be extended to a range of different kernels in 2D and 3D. The simplicity
of the algorithm makes it particularly amenable to parallel implementation on
heterogeneous hardware architectures.
The performance of the algorithm is demonstrated through numerical
experiments conducted on uniform and non-uniform point distributions in 2D and
3D, involving Laplace and (low frequency) Helmholtz kernels. The algorithm
relies on a precomputation stage that constructs a tailored representation for
a given geometry of points. Once the precomputation has completed, the
matrix-vector multiplication attains high speed through GPU acceleration that
leverages batched linear algebra