GaussQR v2.1 comments/questions: Gregory Fasshauer <fasshauer@mines.edu> Mike McCourt <mccourt@sigopt.com> (previously referred to as RBF-QR 1.x in documentation) ********* NEWS ********* June 6, 2017 A LOT has happened since the last real push in this repository. Both Greg and Mike have new jobs which has pushed up in new and exciting directions. We now, however, have a desire to start contributing new content, along with colleagues. To move this project to a more portable location it will now primarily be hosted on GitHub. June 26, 2015 With the release of the text "Kernel-Based Approximation Methods in MATLAB" in September 2015, the developers are releasing a new version of this software with content relevant to that book. ************************** **** Basic Library Structure Source code is kept in the source folder Examples are kept in the examples folder Book content is kept in the book folder Files from external sources are kept in the fromothers folder Experimental data is kept in the data folder (set in rbfsetup) **** Basic Bootup Information To run an example, you first boot up Matlab Then, from the base gaussqr directory, run the setup: >> rbfsetup This makes sure the necessary files are in the path If you so choose, you can create a startup.m file somewhere on your base MATLAB directory which will be executed when MATLAB starts. Including the commands cd /path/to/gaussqr rbfsetup will start your MATLAB with GaussQR ready each time. **** GaussQR Functionality Options rbfsetup must always be called to prepare the directories for GaussQR. You can use also use rbfsetup to set parameters for GaussQR; see the file for a full list of possible parameters and default values. After rbfsetup is called initially, you can manually access the GaussQR object with >> global GAUSSQR_PARAMETERS and then set whatever parameter you'd like. If you do that, don't call rbfsetup again or it will erase any changes you made. **** Examples of GaussQR After calling rbfsetup, you can run examples, including >> ex1 The examples directory has 8 subdirectories approximation - Approximate interpolation examples bvps - Boundary value problem examples dipole - MEG/EEG research eig_appx - Approximate eigenfunction research finitediff - Kernel-based finite difference examples functionality - GaussQR function demonstrations interpolation - Interpolation examples parameterization - Parameterization (MLE,CV,etc) examples Examples have been indexed by numbers across the directories, but these numbers are not important and provide only a mechanism for calling examples from the command line. Examples with the same number and different letters are often related in content/context. List of examples: interpolation ex1 : Basic interpolation example ex4 : Quality for different global parameters ex8 : Analysis of stability for different parameters ex9 : Computational cost demostration ex17 : Analysis of boundary contributions in IBB kernels parameterization ex14 : Computation of cross-validation ex14b : Computation of likelihood function ex14c : Attempt to draw from posterior distribution ex19 : 2D tensor product likelihood computation ex19b : 2D comparison of likelihood/joint metric ex19c : Stable parameterization on the sphere ex19d : 4D comparison of likelihood/joint metric functionality ex3 : Computation with asymptotic Hermite polynomials ex11 : Fast QR speed test (still in research) ex11b : Eigenfunction recurrence presentation ex11c : Analysis of accuracy and quality for fast QR ex16 : Demonstration of pivoting in HS-SVD basis ex18 : Demonstration of tensor product HS-SVD finitedifferences ex15 : Solution of Poisson equation ex15b : Helmholtz equation, L-shaped domain ex15c : Studies stencil size impact on derivative quality eig_appx research content only dipole research content only bvps ex5 : Basic 2-pt BVP solver with HS-SVD ex10 : Demonstration of kernel solver as an MPS component ex10b : Kernel-MPS solver for L-shaped domain ex12 : Nonlinear diffusion equation ex12b : Burgers equation, semi-linear time discretization ex13 : Tensor product collocation grid ex13b : Tensor product collocation grid, parameter analysis ex20 : Confirmation of components of low rank cheap LOOCV ex20b : Comparison of cheap LOOCV to true LOOCV approximation ex2 : Basic study of eigenfunction series length quality ex2b : 2D eigenfunction series quality study ex6 : Study of function complexity through series ex7 : Analysis of epsilon on series computation Function descriptions: General Functions errcompute : Computes the difference between two vectors pick2Dpoints : Returns points spaced in a certain design in 2D pickfunc : Returns a function for RBF testing pickpoints : Returns points spaced in a certain design in 1D pickRBF : Returns an RBF and maybe derivatives of it ranksolve : Solves a system of the form (eye(n)+U*VT)*X=B GaussQR Functions computeUinvHermite : Computes a fast QR decomposition of the Hermite matrix computeQReig : Fast QR decomp of the GQR eigenfunction matrix gqr_alphasearch : Finds a good alpha for RBF-QR via orthogonality gqr_formMarr : Orders the eigenfunction indices for stability gqr_phi : Evaluates the eigenfunctions gqr_eval : Evaluates an RBF-QR approximation gqr_solve : Computes an RBF-QR interpolant gqr_rsolve : Computes an RBF-QR regression gqr_roots : Finds the roots of the eigenfunctions gqr_solveprep : Checks passed arguments to confirm they are acceptable HermiteAppx : Asymptotic approximation to Hermite polynomials HermitePoly : Evaluates 1D Hermite polynomials HermiteProd : Evaluates n-dim Hermite polynomials via tensor product MaternQR Functions BernoulliPoly : Evaluates the Bernoulli polynomials cmatern : Evaluates a series approximation to Compact Materns mqr_eval : Evaluate a MaternQR interpolant mqr_phi : Evaluate the Compact Matern eigenfunctions mqr_solve : Compute a Compact Matern interpolant mqr_solveprep : Prepares for a Compact Matern interpolation ppsplinekernel : Computes a piecewise polynomial spline interpolant External function descriptions: cheb : Produces the Trefethen Chebyshev differentiation matrix DifferenceMatrix : Computes matrix of differences between nodes DistanceMatrix : Computes matrix A_ij = ||x_i-x_j|| haltonseq : Generates an n-dimensional Halton sequence sinc : Evaluates the function sin(x)/x splinetx_natural : Finds and evaluates the natural cubic spline of data wamdisk : Defines a WAM inside a 2D disk wamquadrangle : Defines a WAM inside a parametrized quadrangle
mikemccourt/gaussqr
Tools for computation with positive definite kernels (RBFs) in approximation, optimization and PDEs
MATLABMIT