kerneldmsuite

A MATLAB suite of methods for constructing differentiation matrices on point clouds using kernel methods

https://github.com/gradywright/kerneldmsuite

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.4%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

A MATLAB suite of methods for constructing differentiation matrices on point clouds using kernel methods

Basic Info
  • Host: GitHub
  • Owner: gradywright
  • License: mit
  • Language: MATLAB
  • Default Branch: main
  • Homepage:
  • Size: 44.9 KB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Created about 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

Kernel DM Suite

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.

Installation and requirements

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

Getting started

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 ($\phi(r) = r^4 \log(r)$) with degree 2 spherical harmonics precision. matlab % 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.

References:

[1] T. Hangelbroek, C. Rieger, and G. B. Wright. Spectral stability and perturbation results for kernel differentiation matrices on the sphere. arXiv:2311.06982

Acknowledgements

This software development was partially supported by National Science Foundation grant 2309712.

https://github.com/gradywright/kerneldmsuite#references

Owner

  • Name: Grady Wright
  • Login: gradywright
  • Kind: user
  • Company: Boise State Univeristy

Professor of Computational Mathematics

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: kerneldmsuite
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Grady B
    name-particle: 
    family-names: Wright
    email: gradywright@boisestate.edu
    affiliation: Boise State University
identifiers:
  - type: url
    value: 'https://github.com/gradywright/kerneldmsuite'
repository-code: 'https://github.com/gradywright/kerneldmsuite'
license: MIT
version: '0.1'
date-released: '2024-12-05'

GitHub Events

Total
  • Watch event: 1
  • Public event: 1
  • Push event: 1
Last Year
  • Watch event: 1
  • Public event: 1
  • Push event: 1