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 2.0) - local RBF method
- rbfPU - (new in version 2.0) - two versions of partition of
unity RBF methods
- AnimatePlot - module for animating the solutions of
time-dependent PDEs
- rbfc - (new in version 2.0) 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
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
PRBFT References
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.