FastMMLib

Last update: July 9, 2026

The Fast Multipole Method (FMM) was introduced to reduce the cost of the resolution of numerical problems involving dense and large matrices. The resolution of integral equations using a finite element approximation and the N-body problem were the first two domains of application of the FMM. It is based on an expansion of the potential or the Green kernel which characterises the problem to be solved. The implementation of the method is rather sophisticated and its adaptation to the context of a user is often complicated.

The library FastMMLib, developed at IRMAR - Univ. Rennes, provides an implementation of the FMM based on a generic formulation adaptable to various physical and geometrical contexts. The library deals with all the technical aspects of the FMM and the user keeps the entire control of the discretisation of the geometry and the unknown of the problem to be solved (point-wise or finite element approximation). FastMMLib is written in C++ and the interaction with the context of the user is defined through dedicated C++ classes which contain specific functions to be implemented by the user.

The performance of the first version of the library, FastMMLib version 1.0, is illustrated with different applications (Coulomb potential or Helmholtz kernel, point-wise or finite element contexts) in the paper
https://hal.science/hal-05679634v1

The code of FastMMLib version 1.0 and its documentation are available on
https://plmlab.math.cnrs.fr/fastmmlib/fastmmlib