Skip to main content

Black Box Fast Multipole Method (BBFMM)

This crate is a parallel implementation of the Black Box Fast Multipole Method in Rust.

BBFMM is a kernel-independent, hierarchical algorithm for rapidly evaluating all pairwise interactions in a collection of particles.

While originally developed for radial basis function (RBF) interpolation problems, ferreus_bbfmm has been generalised to support a broad range of FMM use cases where the kernel is smooth (i.e. non-oscillatory).


Features

  • 1D (binary tree), 2D (quadtree) and 3D (octree)
  • Optimised low-rank M2L interactions that leverage symmetries and compression
  • Both adaptive and non-adaptive tree structures
  • Multiple right-hand sides
  • Optional simultaneous evaluation of kernel values and gradients

Install

pip install ferreus_bbfmm

Then in Python:

import ferreus_bbfmm

See the docs and examples/ directories in this package for more detailed usage and API documentation.


Attribution and licensing

This package was developed while the author was working at Maptek and has been approved for open‑source distribution under the terms of the MIT license.

Unless otherwise stated, the following copyright applies:

Copyright (c) 2025 Maptek Pty Ltd.
All rights reserved.

This copyright applies to all files in this repository, whether or not an individual file contains an explicit notice.

The code is released under the MIT License – see the top‑level LICENSE file for details.


References

  1. Fong, W., & Darve, E. (2009). The black-box fast multipole method. Journal of Computational Physics, 228(23), 8712–8725.
  2. Messner, M., Bramas, B., Coulaud, O., & Darve, E. (2012). Optimized M2L kernels for the Chebyshev interpolation-based fast multipole method.
  3. Pouransari, H., & Darve, E. (2015). Optimizing the adaptive fast multipole method for fractal sets. SIAM Journal on Scientific Computing, 37, A1040–A1066.

Metadata

Release files for ferreus-bbfmm 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for ferreus-bbfmm 0.2.0
File
ferreus_bbfmm-0.2.0-cp38-abi3-win_amd64.whl CPython 3.8 abi3 Windows x86-64 Details
ferreus_bbfmm-0.2.0-cp38-abi3-manylinux_2_39_x86_64.whl CPython 3.8 abi3 Linux glibc 2.39+ x86-64 Details
ferreus_bbfmm-0.2.0-cp38-abi3-macosx_11_0_arm64.whl CPython 3.8 abi3 macOS 11.0+ ARM64 Details
ferreus_bbfmm-0.2.0-cp38-abi3-macosx_10_12_x86_64.whl CPython 3.8 abi3 macOS 10.12+ x86-64 Details

Total release size: 4.9 MB

Release files / ferreus_bbfmm-0.2.0-cp38-abi3-win_amd64.whl

Download URL ferreus_bbfmm-0.2.0-cp38-abi3-win_amd64.whl
Size 1.3 MB
Tags CPython 3.8 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
b7efe4d337d2d41635714a39e73b839088973685b3a5aee46883e949efd26ae5
BLAKE2b-256 checksum
How to use checksums
7ce335b2d41bb2b5a57d0bc0d3b77a1d932f57064871e3df874848560727d59c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 22, 2026.

Transparency log

Release files / ferreus_bbfmm-0.2.0-cp38-abi3-manylinux_2_39_x86_64.whl

Download URL ferreus_bbfmm-0.2.0-cp38-abi3-manylinux_2_39_x86_64.whl
Size 1.4 MB
Tags CPython 3.8 Linux glibc 2.39+ x86-64 abi3
SHA-256 checksum
How to use checksums
560839ab064797c84e4d1508ae78e1d67313eb28ff5ec776add7ff312db1c199
BLAKE2b-256 checksum
How to use checksums
e340e19a3fb8abf00c3375f75828e7a9a3fbd2fb95c6f120f62cd7300dbd856c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 22, 2026.

Transparency log

Release files / ferreus_bbfmm-0.2.0-cp38-abi3-macosx_11_0_arm64.whl

Download URL ferreus_bbfmm-0.2.0-cp38-abi3-macosx_11_0_arm64.whl
Size 941.4 kB
Tags CPython 3.8 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
213a8f5968cee609d1a78342019bce2da25c5e9a2098da0b2479c1528f9bb50d
BLAKE2b-256 checksum
How to use checksums
61afcf9923d0ef98c77dc67826f0b844bd611eb22c63e375fa8ccc2127e3aae8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 22, 2026.

Transparency log

Release files / ferreus_bbfmm-0.2.0-cp38-abi3-macosx_10_12_x86_64.whl

Download URL ferreus_bbfmm-0.2.0-cp38-abi3-macosx_10_12_x86_64.whl
Size 1.3 MB
Tags CPython 3.8 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
5705805a9f6ef55908730d52cf62e69cd4c730fd1d5f22481268905de93d3be8
BLAKE2b-256 checksum
How to use checksums
90bca92c8c4ef4847b2c28882df21b15f4080aa0d36568720a56d7e8adfb40be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 22, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

4 release files

0.1.1

4 release files

0.1.0

4 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page