THE Sparse Grids Matlab Kit
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).
Contributors
Lorenzo Tamellini (main developer, maintainer) - CNR-IMATI, Pavia, Italy
Chiara Piazzola (main developer, maintainer) - Technische Universität München, Germany
Fabio Nobile - École Polytechnique Fédérale de Lausanne, Switzerland
Björn Sprungk - Technische Universität Bergakademie Freiberg, Germany
Giovanni Porta - Politecnico di Milano, Italy
Diane Guignard - University of Ottawa, Canada
Francesco Tesei - Credit Suisse, Switzerland
License
The Sparse Grids Matlab Kit is distributed with a BSD2 License
Download
Source code available at https://github.com/lorenzo-tamellini/sparse-grids-matlab-kit
Releases:
23-5 ("Robert") - current release.
Features
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
Cite us - sparse grids matlab kit paper (with code)
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}
}
OTHER selected PUBLICATIONs USING THE SPARSE GRIDS MATLAB KIT (with code)
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
Get in touch
For any questions or to report a bug, send an email to tamellini AT imati DOT cnr DOT it .
Send us your email if you want to be notified when a new version is released online
ACKNOWLEDGEMENTS
The projects listed below have supported the development of the Sparse Grids Matlab Kit (projects prior to 2017 not listed):
Lorenzo Tamellini has been partially supported by ICSC—Centro Nazionale di Ricerca in High Performance Computing, Big Data, and Quantum Computing funded by European Union—NextGenerationEU.
Lorenzo Tamellini and Chiara Piazzola have been partially supported by the PRIN 2017 project 201752HKH8 "Numerical Analysis for Full and Reduced Order Methods for the efficient and accurate solution of complex systems governed by Partial Differential Equations (NA-FROM-PDEs)".
Chiara Piazzola has been supported by the Alexander von Humboldt Foundation