Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 0.2.2 instead.
Reason given by maintainers: Released updated version with bug fix for isosurface evaluator

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ferreus_rbf-0.2.0-cp38-abi3-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.8+Windows x86-64

ferreus_rbf-0.2.0-cp38-abi3-manylinux_2_39_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.39+ x86-64

ferreus_rbf-0.2.0-cp38-abi3-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

ferreus_rbf-0.2.0-cp38-abi3-macosx_10_12_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file ferreus_rbf-0.2.0-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: ferreus_rbf-0.2.0-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

Hashes for ferreus_rbf-0.2.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 cc010c16fa68d71932ffc4f694eb24c6f21ed076c447e56a4b67e56205ac926c
MD5 a500d6b435c1083cef8b38d9fe856cf2
BLAKE2b-256 2e2397141a6b059b585938071ae7fec7da2d196e6fdf234d25bc91ae67f16cf2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ferreus_rbf-0.2.0-cp38-abi3-win_amd64.whl:

Publisher: publish-py-ferreus-rbf.yml on graphic-goose/ferreus_rbf_rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ferreus_rbf-0.2.0-cp38-abi3-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for ferreus_rbf-0.2.0-cp38-abi3-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 d522a7c376cf8cc3a8b73dff71c9117e1be2afe79c937c02580981a63aa274f6
MD5 014e2269863674637364d093baaaa291
BLAKE2b-256 8ef664f6427873ea8c987cf1fc5fa8738be6416c1cb5877a288504e1b1077fbb

See more details on using hashes here.

Provenance

The following attestation bundles were made for ferreus_rbf-0.2.0-cp38-abi3-manylinux_2_39_x86_64.whl:

Publisher: publish-py-ferreus-rbf.yml on graphic-goose/ferreus_rbf_rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ferreus_rbf-0.2.0-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ferreus_rbf-0.2.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c4ac96132297f475e61bb78050a63c5af85f0ae8397f3cdd17b426acb4114139
MD5 084ffe63141ceb4893c634e778bdbc23
BLAKE2b-256 097262a2300f566cdec9b7c01091b49645c3c129676e067db0b70bec1c4d7155

See more details on using hashes here.

Provenance

The following attestation bundles were made for ferreus_rbf-0.2.0-cp38-abi3-macosx_11_0_arm64.whl:

Publisher: publish-py-ferreus-rbf.yml on graphic-goose/ferreus_rbf_rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ferreus_rbf-0.2.0-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ferreus_rbf-0.2.0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 88ab4dfee3ba56f6fdb9ca12b4c4f2eb0d4ce77b541fca37a9b40186ebabd1ba
MD5 c117b063bea7c8ca5dd5464347721b5b
BLAKE2b-256 7f213d077a866040382dfce66ccee744ec68b7b6a3a9134f8362a5578a965dfd

See more details on using hashes here.

Provenance

The following attestation bundles were made for ferreus_rbf-0.2.0-cp38-abi3-macosx_10_12_x86_64.whl:

Publisher: publish-py-ferreus-rbf.yml on graphic-goose/ferreus_rbf_rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page