Skip to content

Latest commit

 

History

History
205 lines (162 loc) · 8.36 KB

sparse_grid_laguerre_dataset.md

File metadata and controls

205 lines (162 loc) · 8.36 KB

SPARSE_GRID_LAGUERRE_DATASET
Create Gauss-Laguerre Sparse Grid Dataset {#sparse_grid_laguerre_dataset-create-gauss-laguerre-sparse-grid-dataset align="center"}


SPARSE_GRID_LAGUERRE_DATASET is a C++ program which creates a Gauss-Laguerre sparse grid dataset.

Usage: {#usage align="center"}

sparse_grid_laguerre_dataset dim_num level_max

where

  • dim_num is the spatial dimension, typically between 2 and 10;
  • level_max is the sparse grid level, typically between 0 and 6, which controls the number of points in the grid. The 1D rules used will have order 2^(level_max)+1.

Licensing: {#licensing align="center"}

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

Languages: {#languages align="center"}

SPARSE_GRID_LAGUERRE_DATASET is available in a C++ version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs: {#related-data-and-programs align="center"}

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

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

QUADRULE, a C++ library which defines quadrature rules for various intervals and weight functions.

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 dataset directory which contains the abscissas of sparse grids based on a Clenshaw Curtis rule.

SPARSE_GRID_CC_DATASET, a C++ program which creates a sparse grid dataset based on Clenshaw-Curtis rules.

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

SPARSE_GRID_GL, a C++ library which can create a Gauss-Legendre sparse grid.

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

SPARSE_GRID_HERMITE, a C++ library which creates a Gauss-Hermite sparse grid.

SPARSE_GRID_LAGUERRE, a C++ library which can create a Gauss-Laguerre sparse grid.

SPARSE_GRID_LAGUERRE, a dataset directory which contains Gauss-Laguerre sparse grids.

SPARSE_GRID_MIXED, a C++ library which constructs a sparse grid using different rules in each spatial dimension.

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: {#reference align="center"}

  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: {#source-code align="center"}

Examples and Tests: {#examples-and-tests align="center"}

Here are the three quadrature files created by the command

sparse_grid_laguerre_dataset 2 3

List of Routines: {#list-of-routines align="center"}

  • MAIN is the main program for SPARSE_GRID_LAGUERRE_DATASET.
  • CHOOSE computes the binomial coefficient C(N,K).
  • COMP_NEXT computes the compositions of the integer N into K parts.
  • I4_LOG_2 returns the integer part of the logarithm base 2 of an I4.
  • I4_MAX returns the maximum of two I4's.
  • I4_MIN returns the smaller of two I4's.
  • I4_MODP returns the nonnegative remainder of I4 division.
  • I4_POWER returns the value of I^J.
  • I4_TO_STRING converts an I4 to a C++ string.
  • I4VEC_PRODUCT multiplies the entries of an I4VEC.
  • LAGUERRE_ABSCISSA sets abscissas for multidimensional Gauss-Laguerre quadrature.
  • LAGUERRE_WEIGHTS returns weights for certain Gauss-Laguerre quadrature rules.
  • LEVEL_TO_ORDER_OPEN converts a level to an order for open rules.
  • MULTIGRID_INDEX_ONE returns an indexed multidimensional grid.
  • PRODUCT_WEIGHT_LAGUERRE: weights for a product Gauss-Laguerre rule.
  • R8_EPSILON returns the R8 roundoff unit.
  • R8_HUGE returns a "huge" R8.
  • R8MAT_TRANSPOSE_PRINT_SOME prints some of an R8MAT, transposed.
  • R8MAT_WRITE writes an R8MAT file.
  • R8VEC_DIRECT_PRODUCT2 creates a direct product of R8VEC's.
  • R8VEC_PRINT_SOME prints "some" of an R8VEC.
  • S_LEN_TRIM returns the length of a string to the last nonblank.
  • SPARSE_GRID_LAGUERRE computes a sparse grid of Gauss-Laguerre points.
  • SPARSE_GRID_LAGUERRE_INDEX indexes points in a Gauss-Laguerre sparse grid.
  • SPARSE_GRID_LAGUERRE_SIZE sizes a sparse grid of Gauss-Laguerre points.
  • TIMESTAMP prints the current YMDHMS date as a time stamp.
  • VEC_COLEX_NEXT2 generates vectors in colex order.

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


Last revised on 08 November 2009.