Skip to main content

Fast global Radial Basis Function (RBF) interpolation.

Radial Basis Function (RBF) interpolation is a powerful but computationally expensive technique. Direct solvers (e.g. LU factorisation) require O(N²) memory and O(N³) operations, which quickly becomes impractical beyond ~10,000 points on a typical machine.

This library provides a scalable alternative by combining two key techniques:

  • Domain Decomposition - following 1, used as a preconditioner within a Flexible Generalised Minimal Residual (FGMRES) iterative solver.
  • The Fast Multipole Method (FMM) - via the ferreus_bbfmm crate, used as a fast evaluator to reduce per-iteration cost.

Together, these methods reduce the overall complexity to O(N log N), enabling efficient interpolation on datasets with millions of points in up to three dimensions.


Features

  • Written in Rust
  • Supports 1D, 2D, and 3D input domains
  • Scales efficiently to datasets with over 1,000,000 input source points
  • Optional global trend transforms to capture large-scale patterns in the data
  • Provides fast 3D isosurface extraction using a surface-following regularised marching tetrahedra method via the 'ferreus_rmt' crate
  • Optional simultaneous evaluation of RBF values and gradients
  • Built on faer for linear algebra, avoiding complex build dependencies

Install

pip install ferreus_rbf

Then in Python:

import ferreus_rbf

See the docs and examples directory 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. R. K. Beatson, W. A. Light, and S. Billings. Fast solution of the radial basis function interpolation equations: domain decomposition methods. SIAM J. Sci. Comput., 22(5):1717–1740 (electronic), 2000.
  2. Haase, G., Martin, D., Schiffmann, P., Offner, G. (2018). A Domain Decomposition Multilevel Preconditioner for Interpolation with Radial Basis Functions. In: Lirkov, I., Margenov, S. (eds) Large-Scale Scientific Computing. LSSC 2017.
  3. Fasshauer, G., 2007. Meshfree Approximation Methods with Matlab. World Scientific Publishing Co.
  4. J. B. Cherrie. Fast Evaluation of Radial Basis Functions: Theory and Application. PhD thesis, University of Canterbury, 2000.
  5. G.M. Treece, R.W. Prager, and A.H. Gee. Regularised marching tetrahedra: improved iso-surface extraction. Computers & Graphics, 23(4):583–598, 1999.

Metadata

Release files for ferreus-rbf 0.2.2

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-rbf 0.2.2
File
ferreus_rbf-0.2.2-cp38-abi3-win_amd64.whl CPython 3.8 abi3 Windows x86-64 Details
ferreus_rbf-0.2.2-cp38-abi3-manylinux_2_39_x86_64.whl CPython 3.8 abi3 Linux glibc 2.39+ x86-64 Details
ferreus_rbf-0.2.2-cp38-abi3-macosx_11_0_arm64.whl CPython 3.8 abi3 macOS 11.0+ ARM64 Details
ferreus_rbf-0.2.2-cp38-abi3-macosx_10_12_x86_64.whl CPython 3.8 abi3 macOS 10.12+ x86-64 Details

Total release size: 7.4 MB

Release files / ferreus_rbf-0.2.2-cp38-abi3-win_amd64.whl

Download URL ferreus_rbf-0.2.2-cp38-abi3-win_amd64.whl
Size 1.9 MB
Tags CPython 3.8 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
a0c39821a3ba2e0ac9bd12e44ca50a9dff08fa7ca4d1f49cce1d58aefcdcafb1
BLAKE2b-256 checksum
How to use checksums
09a84bd798c83d2fbb9375f23b491bce5b2e3005846b3e4dc4bf4e5eb343d19a
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 23, 2026.

Transparency log

Release files / ferreus_rbf-0.2.2-cp38-abi3-manylinux_2_39_x86_64.whl

Download URL ferreus_rbf-0.2.2-cp38-abi3-manylinux_2_39_x86_64.whl
Size 2.1 MB
Tags CPython 3.8 Linux glibc 2.39+ x86-64 abi3
SHA-256 checksum
How to use checksums
deab24b76e1842bb08942be088856165fae217b0eafb63d1ddf45daf63993495
BLAKE2b-256 checksum
How to use checksums
3a8d273e1ea4241c8660cc0bb4804ddc883fb71b6dccbaaa5c30e1024b69a112
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 23, 2026.

Transparency log

Release files / ferreus_rbf-0.2.2-cp38-abi3-macosx_11_0_arm64.whl

Download URL ferreus_rbf-0.2.2-cp38-abi3-macosx_11_0_arm64.whl
Size 1.5 MB
Tags CPython 3.8 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
209d4c31c532d7800e8308ac5d9c3badd76a0cf4ef2e7e0e21f97235171e89c1
BLAKE2b-256 checksum
How to use checksums
fd43601d5a544598fc92b252c6a53af83033de7624ee62953be6662485ce868c
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 23, 2026.

Transparency log

Release files / ferreus_rbf-0.2.2-cp38-abi3-macosx_10_12_x86_64.whl

Download URL ferreus_rbf-0.2.2-cp38-abi3-macosx_10_12_x86_64.whl
Size 1.9 MB
Tags CPython 3.8 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
7f3021a18935dd8e50b72135ca6aa7c5241447054cac33032f1e259457bbb193
BLAKE2b-256 checksum
How to use checksums
408038f44984ebe5104c0032107ec3c18972b61f83757590d5bb6ed222ca6646
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 23, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.2 This release

4 release files

0.2.0

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