The Sparse Grids Matlab Kit provides a Matlab implementation of sparse grids, and can be used for approximating high-dimensional functions and, in particular, for surrogate-model-based uncertainty quantification.
It is lightweight, high-level and (hopefully) easy to use, good for quick prototyping and teaching. It comes with a very extensive documentation and examples (8800 lines of code, 4800 lines of comments).
Lorenzo Tamellini (main developer, maintainer)
Chiara Piazzola (main developer, maintainer)
Benjamin Micheal Kent (main developer, maintainer)
Fabio Nobile
Björn Sprungk
Giovanni Porta
Diane Guignard
Francesco Tesei
The Sparse Grids Matlab Kit is distributed with a BSD2 License
Source code available at https://github.com/lorenzo-tamellini/sparse-grids-matlab-kit
Releases:
23-5 ("Robert") - current release.
Implementation based on the combination technique form of sparse grids
Sparse-grid-based quadrature and interpolation for several measures/pdf:
uniform: Gauss-Legendre, Leja, Clenshaw-Curtis, midpoints, equispaced points
normal: Gauss-Hermite, weighted Leja, Genz-Keister
exponential: Gauss-Laguerre, weighted Leja
gamma: Gauss-Laguerre (generalized), weighted Leja
beta: Gauss-Jacobi, weighted Leja
triangular: weighted Leja
Dimension-adaptive sparse grid algorithm that:
supports non-nested knots
supports vector-valued functions
provides multiple profit definitions
implements a buffering strategy for reducing costs for high-dimensional functions
Seamless integration of the Matlab Parallel Toolbox
Can recycle function evaluations that might be already available
Conversion of a sparse-grid interpolant to a Polynomial Chaos Representation (Legendre, Chebyshev, Hermite, Laguerre, Generalized Laguerre, Jacobi polynomials supported)
Sparse-grid-based global and local sensitivity analysis (by computation of Sobol Indices and gradients of a sparse grid interpolant)
Computation of gradients and Hessians
Export of sparse grid collocation points and weights to ASCII file
Visualization functions (plot of sparse grid points and sparse grid interpolant)
Fully compatible with UM-Bridge Matlab client for connecting with third-party model solvers (more info at https://github.com/UM-Bridge/umbridge and https://arxiv.org/abs/2304.14087)
Testing unit available
Several tutorials available
Please cite our toolbox by mentioning the webpage containing the package and adding the following references to your work:
1) C. Piazzola, L. Tamellini. Algorithm 1040: The Sparse Grids Matlab Kit - a Matlab implementation of sparse grids for high-dimensional function approximation and uncertainty quantification. ACM Transactions on Mathematical Software, 2023.
Paper available at this link
Codes available here
@article{piazzola.tamellini:SGK,
author = {Piazzola, C. and Tamellini, L.},
title = {{Algorithm 1040: The Sparse Grids Matlab Kit - a Matlab implementation of sparse grids for high-dimensional function approximation and uncertainty quantification}},
journal= {ACM Transactions on Mathematical Software},
year = {2024},
volume = {50},
number = {1},
doi = {10.1145/3630023}
}
Linus Seelinger, Anne Reinarz et al. Democratizing Uncertainty Quantification, arXiv, 2024.
Paper available here.
Codes available here
Chiara Piazzola, Lorenzo Tamellini, Raúl Tempone. A note on tools for prediction under uncertainty and identifiability of SIR-like dynamical systems for epidemiology, Mathematical Biosciences, 2022.
Paper available here.
Matlab code available here
Jesús Martínez-Frutos, Francisco Periago Esparza. Optimal Control of PDEs under Uncertainty - An Introduction with Application to Optimal Shape Design of Structures. Springer International Publishing, 2018.
Book available here.
Matlab code available here
For any questions or to report a bug, send an email to lorenzo DOT tamellini AT gmail DOT com .
Send us your email if you want to be notified when a new version is released online