The Python Radial Basis Function Toolbox
The Python Radial Basis Function Toolbox (RBFT) is software for implementing RBF interpolation methods and RBF methods for the
numerical solution of PDEs on scattered centers located in complexly shaped domains. The PRBFT is under constant
development as it is heavily used in RBF research projects.
The two earlier versions of the toolbox, versions 1.0 and 1.1, were programmed in Matlab. For a multitude of reasons Matlab
is no longer used. The Matlab versions will remain available for download (see the bottom of this page) and may see minor bug
fixes and improvements but will not be developed further. All future development will be in the Python version.
Comments, questions, bug reports, code requests, etc. can be sent to sarra@marshall.edu
Functionality
The functionality of the toolbox is organized via object oriented programming into several classes.
Classes and modules:
- rbfX - basic RBF method functionality and defines methods that all RBF classes must implement
- gax - Gaussian RBF
- iqx - Inverse Quadratic RBF
- imqx - inverse multiquadric RBF class (new in version 1.1)
- rbfCenters - center locations
- rbfCentro - reduced flop count and storage algorithms for RBF methods in symmetric domains.
- Functions - test functions and derivatives.
- rbfRational - (new in version 1.1) a rational RBF method
- rbfMisc - (new in version 1.1) miscellaneous functions used in examples such as a 4th order Runge-Kutta method, eigenvalues of
differentiation matrices, etc.
- rbfLocal - (new in version 1.2) - local RBF method
- rbfPU - (new in version 1.2) - two versions of partition of unity RBF methods
- AnimatePlot - module for animating the solutions of time-dependent PDEs
- rbfc - (new in version 1.2) parent class for compactly supported RBFs
- W32 - Wendland functions that are SPD in up to 3 space dimensions and in C4
- W33 - Wendland functions that are SPD in up to 3 space dimensions and in C6
Scripts: The toolbox comes with a collection of scripts that demonstrate its usage, benchmark its performance, and verify that
its algorithms produce the correct results. The scripts are located in the following folders.
- \examples
- \tests
- \benchmarks
- \papers
PRBFT Downloads - Python version
- version 2.0: coming in June 2022
new in version 2.0:
- artifical viscosity methods for the stabilization of time-dependent PDE problems
- local RBF method
- partition of unity (PU) RBF method
- a new partition of unity RBF method which is easier to implement than is the standard PU method
- new shape parameter selection method based on the RBF system matrix being numerical symmetric positive definite
- added a new quasi-random center algorithm which has a lower-discrepancy than methods such as Halton and Hammersly
points that are currently commonly used
- added a module to assist in the animation of the solution of time-dependent PDEs
Future plans
- add Mercer's method to the GA class
- expansion of the rbfCenters class
- improve documentation
- expand the number and variety of example scripts
- parallel implementation of local methods via openCL
- add option to augment the RBF interpolant with polynomials
- add extended precision to the Python version
Older Matlab version
MRBFT Downloads - Matlab version
The Matlab version uses the Multiprecision Computing Toolbox to seamlessly implement extended precision floating point arithmetic in all RBFT routines.
MRBFT References
The MRBFT is described in the manuscript
All the numerical results in the following manuscript were produced with the MRBFT (in particular the rbfCentro class was used)
The double and extended precision "standard basis" RBF results in the following used the MRBFT
The rbfRational class that is new in version 1.1 was used in
Citing the MRBFT
The academic reference for the MRBFT is this paper.
The BibTex entry for the paper is
@article{Sarra2017,
doi = {10.5334/jors.131},
year = {2017},
month = {March},
volume = {5},
author = {S. A. Sarra},
title = {The {M}atlab Radial Basis Function Toolbox},
journal = {Journal of Open Research Software}
}
or in plain text:
S. A. Sarra. The Matlab Radial Basis Function Toolbox.
Journal of Open Research Software, vol. 5, 2017.