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.3.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-rbf 0.3.0
File Actions
ferreus_rbf-0.3.0-cp38-abi3-win_amd64.whl CPython 3.8 abi3 Windows x86-64 Details for ferreus_rbf-0.3.0-cp38-abi3-win_amd64.whl
ferreus_rbf-0.3.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 abi3 Linux glibc 2.17+ x86-64 Details for ferreus_rbf-0.3.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ferreus_rbf-0.3.0-cp38-abi3-macosx_11_0_arm64.whl CPython 3.8 abi3 macOS 11.0+ ARM64 Details for ferreus_rbf-0.3.0-cp38-abi3-macosx_11_0_arm64.whl
ferreus_rbf-0.3.0-cp38-abi3-macosx_10_12_x86_64.whl CPython 3.8 abi3 macOS 10.12+ x86-64 Details for ferreus_rbf-0.3.0-cp38-abi3-macosx_10_12_x86_64.whl

Total release size: 11.9 MB

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

Download URL ferreus_rbf-0.3.0-cp38-abi3-win_amd64.whl
Size 3.2 MB
Tags CPython 3.8 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
da356b5a7163ea2b922ec303a8363861cb722e089f5aa78fc0aec86c99c904f2
BLAKE2b-256 checksum
How to use checksums
0823cbf540f3670067e3a3e10716bb0937467106500df93928bd84824d76d93f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 19, 2026.

Transparency log

Release files / ferreus_rbf-0.3.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ferreus_rbf-0.3.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 3.2 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
50882276cde97ff069301f2e8a7d338d86ed884d65021d07fbcd3e2c25320f61
BLAKE2b-256 checksum
How to use checksums
830f7f0a651cf08f348a610d9b5cfaf437f1fb5c331f6596c38f7a7695404000
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 19, 2026.

Transparency log

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

Download URL ferreus_rbf-0.3.0-cp38-abi3-macosx_11_0_arm64.whl
Size 2.4 MB
Tags CPython 3.8 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3be709920cb428ea4a95443ddf0df8d8792ba11b63923a17a43aa9b839393601
BLAKE2b-256 checksum
How to use checksums
fd9597c4199f3508ca7798022337c2d506d22933a8dc3183855f40c99d07afb1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 19, 2026.

Transparency log

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

Download URL ferreus_rbf-0.3.0-cp38-abi3-macosx_10_12_x86_64.whl
Size 3.0 MB
Tags CPython 3.8 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
7f8079ec75b60c3f08542ec1298338d420b409807afcc41218d44229d0238d87
BLAKE2b-256 checksum
How to use checksums
c45b30ca43f0ba7aad77c3ae730a86a245368739e6d5385b864e73cd51a97a1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 19, 2026.

Transparency log

Security for ferreus-rbf 0.3.0

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.

Full provenance

All 4 files in this release have been uploaded with provenance metadata.

Select from 4 files

Attestation for ferreus_rbf-0.3.0-cp38-abi3-win_amd64.whl

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 Oct 19, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.3.0 This release

4 release files Full provenance

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