A MATLAB suite of methods for constructing differentiation matrices (DMs) on point clouds using kernel methods.
Techniques supported so far:
- Sphere (see [1]) for details)
- Radial Basis Function Finite Difference (RBF-FD)
- Local Lagrange
- Global or Pseudospectral
All of the techniques support various kernels and the inclusion of polynomials in the approximation space.
The Kernel DM Suite is compatible with MATLAB R2018a and later. It requires that the MATLAB statistics toolbox be installed because it makes use of the KD-tree in that toolbox.
To install, clone the directory with Git:
git clone https://github.com/gradywright/kerneldmsuite.git
You will then need to add the kerneldmsuite directory to the MATLAB path:
addpath(kdmroot), savepath
where kdmroot is the path to the kerneldmsuite directory
The following example shows how to use the code to produce different DMs for the Laplace-Beltrami operator on the sphere. This example uses the Hammersley point set on the sphere and the restricted surface spline kernel of order 2 (
% Point cloud - Hammersley points
N = 4096;
x = kdmutil.sphHammersleyNodes(N);
% Kernel: r^4*log(r)
rbf = kernel.phseven(2);
% Stencil size
n = 41;
% Spherical harmonic degree
deg = 2;
% DM using RBF-FD method
L = kdmsphere.rbffdlap(x,rbf,n,deg);
% DM using Local Lagrange method
L = kdmsphere.loclaglap(x,rbf,n,deg);
% DM using Global method
L = kdmsphere.globrbflap(x,rbf,deg);More examples can be found in examples folder.
To create DMs based on different point clouds on the sphere, use the spherepts package.
[1] T. Hangelbroek, C. Rieger, and G. B. Wright. Spectral stability and perturbation results for kernel differentiation matrices on the sphere. arXiv:2311.06982
This software development was partially supported by National Science Foundation grant 2309712.