Continuous Fast Multipole Method
   HOME

TheInfoList



OR:

__NOTOC__ The fast multipole method (FMM) is a numerical technique that was developed to speed up the calculation of long-ranged forces in the ''n''-body problem. It does this by expanding the system
Green's function In mathematics, a Green's function (or Green function) is the impulse response of an inhomogeneous linear differential operator defined on a domain with specified initial conditions or boundary conditions. This means that if L is a linear dif ...
using a
multipole expansion A multipole expansion is a mathematical series representing a function that depends on angles—usually the two angles used in the spherical coordinate system (the polar and azimuthal angles) for three-dimensional Euclidean space, \R^3. Multipo ...
, which allows one to group sources that lie close together and treat them as if they are a single source. The FMM has also been applied in accelerating the
iterative solver In computational mathematics, an iterative method is a mathematical procedure that uses an initial value to generate a sequence of improving approximate solutions for a class of problems, in which the ''i''-th approximation (called an "iterate") ...
in the method of moments (MOM) as applied to
computational electromagnetics Computational electromagnetics (CEM), computational electrodynamics or electromagnetic modeling is the process of modeling the interaction of electromagnetic fields with physical objects and the environment using computers. It typically involve ...
problems, and in particular in computational bioelectromagnetism. The FMM was first introduced in this manner by Leslie Greengard and Vladimir Rokhlin Jr. and is based on the
multipole expansion A multipole expansion is a mathematical series representing a function that depends on angles—usually the two angles used in the spherical coordinate system (the polar and azimuthal angles) for three-dimensional Euclidean space, \R^3. Multipo ...
of the vector
Helmholtz equation In mathematics, the Helmholtz equation is the eigenvalue problem for the Laplace operator. It corresponds to the elliptic partial differential equation: \nabla^2 f = -k^2 f, where is the Laplace operator, is the eigenvalue, and is the (eigen)fun ...
. By treating the interactions between far-away basis functions using the FMM, the corresponding matrix elements do not need to be explicitly stored, resulting in a significant reduction in required memory. If the FMM is then applied in a hierarchical manner, it can improve the complexity of matrix-vector products in an iterative solver from \mathcal(N^2) to \mathcal(N) in finite arithmetic, i.e., given a tolerance \varepsilon, the matrix-vector product is guaranteed to be within a tolerance \varepsilon. The dependence of the complexity on the tolerance \varepsilon is \mathcal(\log(1/\varepsilon)), i.e., the complexity of FMM is \mathcal(N\log(1/\varepsilon)). This has expanded the area of applicability of the MOM to far greater problems than were previously possible. The FMM, introduced by Rokhlin Jr. and Greengard has been said to be one of the top ten
algorithm In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
s of the 20th century. The FMM algorithm reduces the complexity of matrix-vector multiplication involving a certain type of dense matrix which can arise out of many physical systems. The FMM has also been applied for efficiently treating the Coulomb interaction in the
Hartree–Fock method In computational physics and chemistry, the Hartree–Fock (HF) method is a method of approximation for the determination of the wave function and the energy of a quantum many-body system in a stationary state. The method is named after Douglas ...
and
density functional theory Density functional theory (DFT) is a computational quantum mechanical modelling method used in physics, chemistry and materials science to investigate the electronic structure (or nuclear structure) (principally the ground state) of many-body ...
calculations in
quantum chemistry Quantum chemistry, also called molecular quantum mechanics, is a branch of physical chemistry focused on the application of quantum mechanics to chemical systems, particularly towards the quantum-mechanical calculation of electronic contributions ...
.


Sketch of the Algorithm

In its simplest form, the fast multipole method seeks to evaluate the following function: :f(y) = \sum_^N \frac, where x_\alpha \in
1, 1 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 399 at the 2020 census. The village is located on the northeast shore of Portage Lake and is surrounded by Onekama Township. The town's name is deri ...
/math> are a set of poles and \phi_\alpha\in\mathbb C are the corresponding pole weights on a set of points \ with y_\beta \in
1, 1 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 399 at the 2020 census. The village is located on the northeast shore of Portage Lake and is surrounded by Onekama Township. The town's name is deri ...
/math>. This is the one-dimensional form of the problem, but the algorithm can be easily generalized to multiple dimensions and kernels other than (y - x)^. Naively, evaluating f(y) on M points requires \mathcal O(MN) operations. The crucial observation behind the fast multipole method is that if the distance between y and x is large enough, then (y - x)^ is well-approximated by a
polynomial In mathematics, a polynomial is a Expression (mathematics), mathematical expression consisting of indeterminate (variable), indeterminates (also called variable (mathematics), variables) and coefficients, that involves only the operations of addit ...
. Specifically, let -1 < t_1 < \ldots < t_p < 1 be the
Chebyshev nodes In numerical analysis, Chebyshev nodes (also called Chebyshev points or a Chebyshev grid) are a set of specific algebraic numbers used as nodes for polynomial interpolation and numerical integration. They are the Projection (linear algebra), pr ...
of order p \ge 2 and let u_1(y), \ldots, u_p(y) be the corresponding Lagrange basis polynomials. One can show that the interpolating polynomial: :\frac = \sum_^p \frac u_i(y) + \epsilon_p(y) converges quickly with polynomial order, , \epsilon_, < 5^, provided that the pole is far enough away from the region of interpolation, , x, \ge 3 and , y, < 1. This is known as the "local expansion". The speed-up of the fast multipole method derives from this interpolation: provided that all the poles are "far away", we evaluate the sum only on the Chebyshev nodes at a cost of \mathcal O(N p), and then interpolate it onto all the desired points at a cost of \mathcal O(M p): :\sum_^N \frac = \sum_^p u_i(y_\beta) \sum_^N \frac \phi_\alpha Since p = -\log_5\epsilon, where \epsilon is the numerical tolerance, the total cost is \mathcal O((M + N) \log(1/\epsilon)). To ensure that the poles are indeed well-separated, one recursively subdivides the unit interval such that only \mathcal O(p) poles end up in each interval. One then uses the explicit formula within each interval and interpolation for all intervals that are well-separated. This does not spoil the scaling, since one needs at most \log(1/\epsilon) levels within the given tolerance.


See also

*
Barnes–Hut simulation The Barnes–Hut simulation (named after Joshua Barnes and Piet Hut) is an approximation algorithm for performing an N-body simulation. It is notable for having Big O notation, order O(''n'' log ''n'') compared to a direct-sum algorithm ...
*
Multipole expansion A multipole expansion is a mathematical series representing a function that depends on angles—usually the two angles used in the spherical coordinate system (the polar and azimuthal angles) for three-dimensional Euclidean space, \R^3. Multipo ...
* ''n''-body simulation


References


Further readings

* Yijun Liu: ''Fast Multipole Boundary Element Method: Theory and Applications in Engineering'', Cambridge Univ. Press, ISBN 978-0-521-11659-6 (2009).


External links

*Gibson, Walton C. ''The Method of Moments in Electromagnetics'' (3rd ed.), Chapman & Hall/CRC, 2021. .
Abstract of Greengard and Rokhlin's original paper

A short course on fast multipole methods
by Rick Beatson and Leslie Greengard.
JAVA Animation of the Fast Multipole Method
Nice animation of the Fast Multipole Method with different adaptations.


Free software


Puma-EM
A high performance, parallelized, open source Method of Moments / Multilevel Fast Multipole Method electromagnetics code.

The Kernel-Independent Fast Multipole 3d Method (kifmm3d) is a new FMM implementation which does not require the explicit multipole expansions of the underlying kernel, and it is based on kernel evaluations.
PVFMM
An optimized parallel implementation of KIFMM for computing potentials from particle and volume sources.
FastBEM
Free fast multipole boundary element programs for solving 2D/3D potential, elasticity, stokes flow and acoustic problems.
FastFieldSolvers
maintains the distribution of the tools, called FastHenry and FastCap, developed at M.I.T. for the solution of Maxwell equations and extraction of circuit parasites (inductance and capacitance) using the FMM.
ExaFMM
ExaFMM is a CPU/GPU capable 3D FMM code for Laplace/Helmholtz kernels that focuses on parallel scalability.
ScalFMM
ScalFMM is a C++ software library developed at
Inria The National Institute for Research in Digital Science and Technology (Inria) () is a French national research institution focusing on computer science and applied mathematics. It was created under the name French Institute for Research in Comp ...
Bordeaux with high emphasis on genericity and parallelization (using
OpenMP OpenMP is an application programming interface (API) that supports multi-platform shared-memory multiprocessing programming in C, C++, and Fortran, on many platforms, instruction-set architectures and operating systems, including Solaris, ...
/
MPI MPI or Mpi may refer to: Science and technology Biology and medicine * Magnetic particle imaging, a tomographic technique * Myocardial perfusion imaging, a medical procedure that illustrates heart function * Mannose phosphate isomerase, an enzyme ...
).
DASHMM
DASHMM is a C++ Software library developed at Indiana University using Asynchronous Multi-Tasking HPX-5 runtime system. It provides a unified execution on shared and distributed memory computers and provides 3D Laplace, Yukawa, and Helmholtz kernels.
RECFMM
Adaptive FMM with dynamic parallelism on multicores.
FMM3D
A library for efficient 3D N-body interaction computation on multicore machines. {{Portal bar, Mathematics, Physics, Astronomy Numerical analysis Numerical differential equations Computational science