SPARSE_GRID_CC_DATASET
Create Clenshaw-Curtis Sparse Grid Dataset


SPARSE_GRID_CC_DATASET is a C++ program which creates a Clenshaw-Curtis sparse grid dataset.

Usage:

sparse_grid_cc_dataset dim_num level_max
where

Each sparse grid is stored using the "quadrature rule" format, that is, as three files:

The abscissas are ordered to respect the natural nesting of the sparse grids by level. That is, the file of level 3 points begins by listing the points in the level 2 grid.

Licensing:

The code described and made available on this web page is distributed under the GNU LGPL license.

Languages:

SPARSE_GRID_CC_DATASET is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

CC_DISPLAY, a MATLAB library which can compute and display Clenshaw Curtis grids in two dimensions, as well as sparse grids formed from sums of Clenshaw Curtis grids.

QUADRATURE_RULES, a dataset directory of files which defines quadrature rules; a number of examples of sparse grid quadrature rules are included.

SGMGA, a C++ library which creates sparse grids based on a mixture of 1D quadrature rules, allowing anisotropic weights for each dimension.

SMOLPACK, a C library which implements Novak and Ritter's method for estimating the integral of a function over a multidimensional hypercube using sparse grids.

SPARSE_GRID_CC, a C++ library which creates a Clenshaw-Curtis sparse grid.

SPARSE_GRID_CC, a dataset directory which contains examples of Clenshaw-Curtis sparse grids.

SPARSE_GRID_F2, a dataset directory which conains the abscissas of sparse grids based on a Fejer Type 2 rule.

SPARSE_GRID_GL_DATASET, a C++ program which creates a Gauss-Legendre sparse grid and writes the data to three files.

SPARSE_GRID_GP, a dataset directory which contains the abscissas of sparse grids based on a Gauss Patterson rule.

SPARSE_GRID_HERMITE_DATASET, a C++ program which creates a Gauss-Hermite sparse grid and write the data to three files.

SPARSE_GRID_LAGUERRE_DATASET, a C++ program which creates a Gauss-Laguerre sparse grid and write the data to three files.

SPARSE_GRID_MIXED_DATASET, a C++ program which creates a sparse grid dataset based on a mixture of 1D rules.

SPARSE_GRID_NCC, a dataset directory which contains the abscissas of sparse grids based on a Newton Cotes closed rule.

SPARSE_GRID_NCO, a dataset directory which contains the abscissas of sparse grids based on a Newton Cotes open rule.

SPARSE_GRID_OPEN_DATASET, a C++ program which creates a sparse grid dataset based on open rules (Fejer 2, Gauss-Patterson, Newton-Cotes-Open).

TOMS847, a MATLAB program which uses sparse grids to carry out multilinear hierarchical interpolation. It is commonly known as SPINTERP, and is by Andreas Klimke.

Reference:

  1. Volker Barthelmann, Erich Novak, Klaus Ritter,
    High Dimensional Polynomial Interpolation on Sparse Grids,
    Advances in Computational Mathematics,
    Volume 12, Number 4, 2000, pages 273-288.
  2. Thomas Gerstner, Michael Griebel,
    Numerical Integration Using Sparse Grids,
    Numerical Algorithms,
    Volume 18, Number 3-4, 1998, pages 209-232.
  3. Albert Nijenhuis, Herbert Wilf,
    Combinatorial Algorithms for Computers and Calculators,
    Second Edition,
    Academic Press, 1978,
    ISBN: 0-12-519260-6,
    LC: QA164.N54.
  4. Fabio Nobile, Raul Tempone, Clayton Webster,
    A Sparse Grid Stochastic Collocation Method for Partial Differential Equations with Random Input Data,
    SIAM Journal on Numerical Analysis,
    Volume 46, Number 5, 2008, pages 2309-2345.
  5. Sergey Smolyak,
    Quadrature and Interpolation Formulas for Tensor Products of Certain Classes of Functions,
    Doklady Akademii Nauk SSSR,
    Volume 4, 1963, pages 240-243.
  6. Dennis Stanton, Dennis White,
    Constructive Combinatorics,
    Springer, 1986,
    ISBN: 0387963472,
    LC: QA164.S79.

Source Code:

Examples and Tests:

Here are the files created by the command

sparse_grid_cc_dataset 2 3

List of Routines:

You can go up one level to the C++ source codes.


Last revised on 12 January 2010