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_bbfmmcrate, 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
faerfor 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
- 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.
- 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.
- Fasshauer, G., 2007. Meshfree Approximation Methods with Matlab. World Scientific Publishing Co.
- J. B. Cherrie. Fast Evaluation of Radial Basis Functions: Theory and Application. PhD thesis, University of Canterbury, 2000.
- G.M. Treece, R.W. Prager, and A.H. Gee. Regularised marching tetrahedra: improved iso-surface extraction. Computers & Graphics, 23(4):583–598, 1999.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ferreus_rbf-0.2.2-cp38-abi3-win_amd64.whl.
File metadata
- Download URL: ferreus_rbf-0.2.2-cp38-abi3-win_amd64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.8+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0c39821a3ba2e0ac9bd12e44ca50a9dff08fa7ca4d1f49cce1d58aefcdcafb1
|
|
| MD5 |
141816723293802898a529074aa5ddb5
|
|
| BLAKE2b-256 |
09a84bd798c83d2fbb9375f23b491bce5b2e3005846b3e4dc4bf4e5eb343d19a
|
Provenance
The following attestation bundles were made for ferreus_rbf-0.2.2-cp38-abi3-win_amd64.whl:
Publisher:
publish-py-ferreus-rbf.yml on graphic-goose/ferreus_rbf_rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ferreus_rbf-0.2.2-cp38-abi3-win_amd64.whl -
Subject digest:
a0c39821a3ba2e0ac9bd12e44ca50a9dff08fa7ca4d1f49cce1d58aefcdcafb1 - Sigstore transparency entry: 1919947544
- Sigstore integration time:
-
Permalink:
graphic-goose/ferreus_rbf_rs@0f0288d78f64dc5f7ce852fe0acbacf77d55631b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/graphic-goose
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-py-ferreus-rbf.yml@0f0288d78f64dc5f7ce852fe0acbacf77d55631b -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file ferreus_rbf-0.2.2-cp38-abi3-manylinux_2_39_x86_64.whl.
File metadata
- Download URL: ferreus_rbf-0.2.2-cp38-abi3-manylinux_2_39_x86_64.whl
- Upload date:
- Size: 2.1 MB
- Tags: CPython 3.8+, manylinux: glibc 2.39+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
deab24b76e1842bb08942be088856165fae217b0eafb63d1ddf45daf63993495
|
|
| MD5 |
5c11512d9bf558b092f48a595699e936
|
|
| BLAKE2b-256 |
3a8d273e1ea4241c8660cc0bb4804ddc883fb71b6dccbaaa5c30e1024b69a112
|
Provenance
The following attestation bundles were made for ferreus_rbf-0.2.2-cp38-abi3-manylinux_2_39_x86_64.whl:
Publisher:
publish-py-ferreus-rbf.yml on graphic-goose/ferreus_rbf_rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ferreus_rbf-0.2.2-cp38-abi3-manylinux_2_39_x86_64.whl -
Subject digest:
deab24b76e1842bb08942be088856165fae217b0eafb63d1ddf45daf63993495 - Sigstore transparency entry: 1919947667
- Sigstore integration time:
-
Permalink:
graphic-goose/ferreus_rbf_rs@0f0288d78f64dc5f7ce852fe0acbacf77d55631b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/graphic-goose
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-py-ferreus-rbf.yml@0f0288d78f64dc5f7ce852fe0acbacf77d55631b -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file ferreus_rbf-0.2.2-cp38-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: ferreus_rbf-0.2.2-cp38-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.8+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
209d4c31c532d7800e8308ac5d9c3badd76a0cf4ef2e7e0e21f97235171e89c1
|
|
| MD5 |
2fa679f5550d6873e74508d71425e2b4
|
|
| BLAKE2b-256 |
fd43601d5a544598fc92b252c6a53af83033de7624ee62953be6662485ce868c
|
Provenance
The following attestation bundles were made for ferreus_rbf-0.2.2-cp38-abi3-macosx_11_0_arm64.whl:
Publisher:
publish-py-ferreus-rbf.yml on graphic-goose/ferreus_rbf_rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ferreus_rbf-0.2.2-cp38-abi3-macosx_11_0_arm64.whl -
Subject digest:
209d4c31c532d7800e8308ac5d9c3badd76a0cf4ef2e7e0e21f97235171e89c1 - Sigstore transparency entry: 1919947258
- Sigstore integration time:
-
Permalink:
graphic-goose/ferreus_rbf_rs@0f0288d78f64dc5f7ce852fe0acbacf77d55631b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/graphic-goose
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-py-ferreus-rbf.yml@0f0288d78f64dc5f7ce852fe0acbacf77d55631b -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file ferreus_rbf-0.2.2-cp38-abi3-macosx_10_12_x86_64.whl.
File metadata
- Download URL: ferreus_rbf-0.2.2-cp38-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.8+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f3021a18935dd8e50b72135ca6aa7c5241447054cac33032f1e259457bbb193
|
|
| MD5 |
9f6fd534a4822fd1f9fbc62d89d521ab
|
|
| BLAKE2b-256 |
408038f44984ebe5104c0032107ec3c18972b61f83757590d5bb6ed222ca6646
|
Provenance
The following attestation bundles were made for ferreus_rbf-0.2.2-cp38-abi3-macosx_10_12_x86_64.whl:
Publisher:
publish-py-ferreus-rbf.yml on graphic-goose/ferreus_rbf_rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ferreus_rbf-0.2.2-cp38-abi3-macosx_10_12_x86_64.whl -
Subject digest:
7f3021a18935dd8e50b72135ca6aa7c5241447054cac33032f1e259457bbb193 - Sigstore transparency entry: 1919947380
- Sigstore integration time:
-
Permalink:
graphic-goose/ferreus_rbf_rs@0f0288d78f64dc5f7ce852fe0acbacf77d55631b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/graphic-goose
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-py-ferreus-rbf.yml@0f0288d78f64dc5f7ce852fe0acbacf77d55631b -
Trigger Event:
workflow_dispatch
-
Statement type: