#
Software

The field of computational electromagnetics has made
great strides over the last two decades due, in part, to the
development of * fast algorithms * -
that is numerical methods which scale
linearly (or nearly linearly) with the number of degrees of freedom required.
The fast multipole method (FMM) is one such scheme, requiring
* O(N) * or
* O(N log N) * work to compute all pairwise interactions
between * N * point scatterers whose interactions are described
by electrostatics, gravitation, acoustics or electromagnetics.
Naive methods, by contrast, require * O(N^2) * work.
. Because the algorithms are rather involved,
we have created open source distributions, available at the links below.
These FMM2D and FMM3D libraries are designed for the "low-frequency" regime,
assuming that the entire computational domain is a modest number of
wavelengths in size.
(The high-frequency version of the FMM requires a more complex algorithm,
and has not been incorporated in this software release.)

FMPS is an FMM-based package which allows for the rapid
simulation of multi-particle scattering gioverned by the full Maxwell
equations.

##
Fast Multipole and Related Libraries

- FMM2D Libraries:
Fast multipole methods for the Laplace and Helmholtz equations in two dimensions.
- FMM3D Libraries:
Fast multipole methods for the Laplace, Helmholtz and Stokes equations in three dimensions.
- FMPS:
Fast solvers for multiparticle electromagnetic scattering in 3 dimensions.