RBF
Python package containing tools for radial basis function (RBF)
applications. Applications include interpolating/smoothing scattered
data and solving PDEs over irregular domains. This package was
heavily influenced by the books "Meshfree Approximation Methods with
Matlab" by Gregory Fasshauer and "A Primer on Radial Basis Functions
with Applications to the Geosciences" by Bengt Fornberg and Natasha
Flyer. The complete documentation for this package can be found here.
Features
Functions for evaluating RBFs and their exact derivatives.
A class for RBF interpolation, which is used for interpolating and
smoothing scattered, noisy, N-dimensional data.
An algorithm for generating Radial Basis Function Finite Difference
(RBF-FD) weights. This is used for solving large scale PDEs over
irregular domains.
A node generation algorithm which can be used for solving PDEs with
the spectral RBF method or the RBF-FD method.
An abstraction for Gaussian processes. Gaussian processes are
primarily used here for Gaussian process regression (GPR), which is
a nonparametric Bayesian interpolation/smoothing method.
Halton sequence generator.
Computational geometry functions (e.g. point in polygon testing) for
two and three spatial dimensions.
Installation
RBF requires the following python packages: numpy, scipy, sympy,
cython, and rtree. These dependencies should be satisfied with just
the base Anaconda python package (https://www.continuum.io/downloads)
download the RBF package
$ git clone http://github.com/treverhines/RBF.git
compile and install
$ cd RBF
$ python setup.py install
test that everything works
$ cd test
$ python -m unittest discover
Demonstration
Smoothing Scattered Data
'''
In this example we generate synthetic scattered data with added
noise and then fit it with a smoothed RBF interpolant. The
interpolant in this example is equivalent to a thin plate spline.
'''
import numpy as np
from rbf.interpolate import RBFInterpolant</