sparse_grid_hw, a MATLAB code which can compute sparse grids for multidimensional integration, based on 1D rules for the unit interval with unit weight function, or for the real line with the Gauss-Hermite weight function. The original version of the code is by Florian Heiss and Viktor Winschel.

The original version of this software, and other information, is available at .

Four built-in 1D families of quadrature rules are supplied, and the user can extend the package by supplying any family of 1D quadrature rules.

The built-in families are identified by a 3-letter key which is also the name of the MATLAB function that returns members of the family:

The user can build new sparse grids by supplying a 1D quadrature family. Examples provided include:


The computer code and data files described and made available on this web page are distributed under the MIT license


sparse_grid_hw is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version

Related Data and Programs:

grid_display, a MATLAB code which can display a 2d or 3d grid or sparse grid.

nint_exactness_mixed, a MATLAB code which measures the polynomial exactness of a multidimensional quadrature rule based on a mixture of 1d quadrature rule factors.

product_rule, a MATLAB code which constructs a product quadrature rule from identical 1d factor rules.

quadrule, a MATLAB code which defines quadrature rules for various intervals and weight functions.

sparse_grid_cc, a MATLAB code which can define a multidimensional sparse grid based on a 1d clenshaw curtis rule.

sparse_grid_gl, a MATLAB code which creates sparse grids based on gauss-legendre rules.

sparse_grid_hermite, a MATLAB code which creates sparse grids based on gauss-hermite rules.


sparse_grid_laguerre, a MATLAB code which creates sparse grids based on gauss-laguerre rules.

spinterp, a MATLAB code which carries out piecewise multilinear hierarchical sparse grid interpolation; an earlier version of this software is acm toms algorithm 847, by andreas klimke;

spquad, a MATLAB code which computes the points and weights of a sparse grid quadrature rule for a multidimensional integral, based on the clenshaw-curtis quadrature rule, by greg von winckel.


Original MATLAB code by Florian Heiss and Viktor Winschel.


Source Code:

Last revised on 20 March 2019.