jburkardt

SIMPLEX_GM_RULE\ Grundmann-Moeller Quadrature Rules for the Simplex in M dimensions {#simplex_gm_rule-grundmann-moeller-quadrature-rules-for-the-simplex-in-m-dimensions align=”center”} ==================================================================


SIMPLEX_GM_RULE is a C++ library which defines Grundmann-Moeller quadrature rules over the interior of a simplex in M dimensions.

The user can choose the spatial dimension M, thus defining the region to be a triangle (M = 2), tetrahedron (M = 3) or a general M-dimensional simplex.

The user chooses the index S of the rule. Rules are available with index S = 0 on up. A rule of index S will exactly integrate any polynomial of total degree 2*S+1 or less.

The rules are defined on the unit M-dimensional simplex. A simple linear transformation can be used to map the vertices and weights to an arbitrary simplex, while preserving the accuracy of the rule.

Licensing: {#licensing align=”center”}

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

Languages: {#languages align=”center”}

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

CUBE_FELIPPA_RULE, a C++ library which returns the points and weights of a Felippa quadrature rule over the interior of a cube in 3D.

PYRAMID_FELIPPA_RULE, a C++ library which returns Felippa’s quadratures rules for approximating integrals over the interior of a pyramid in 3D.

SIMPLEX_GRID, a C++ library which generates a regular grid of points over the interior of an arbitrary simplex in M dimensions.

SQUARE_FELIPPA_RULE, a C++ library which returns the points and weights of a Felippa quadrature rule over the interior of a square in 2D.

TETRAHEDRON_EXACTNESS, a C++ program which investigates the monomial exactness of a quadrature rule over the interior of a tetrahedron in 3D.

TETRAHEDRON_FELIPPA_RULE, a C++ library which returns Felippa’s quadratures rules for approximating integrals over the interior of a tetrahedron in 3D.

TETRAHEDRON_INTEGRALS, a C++ library which returns the exact value of the integral of any monomial over the interior of the unit tetrahedron in 3D.

TETRAHEDRON_KEAST_RULE, a C++ library which defines ten quadrature rules, with exactness degrees 0 through 8, over the interior of a tetrahedron in 3D.

TETRAHEDRON_MONTE_CARLO, a C++ program which uses the Monte Carlo method to estimate integrals over the interior of a tetrahedron in 3D.

TETRAHEDRON_NCC_RULE, a C++ library which defines Newton-Cotes Closed (NCC) quadrature rules over the interior of a tetrahedron in 3D.

TETRAHEDRON_NCO_RULE, a C++ library which defines Newton-Cotes Open (NCO) quadrature rules over the interior of a tetrahedron in 3D.

TRIANGLE_DUNAVANT_RULE, a C++ library which defines Dunavant quadrature rules over the interior of a triangle in 2D.

TRIANGLE_FEKETE_RULE, a C++ library which defines Fekete rules for interpolation or quadrature over the interior of a triangle in 2D.

TRIANGLE_FELIPPA_RULE, a C++ library which returns Felippa’s quadratures rules for approximating integrals over the interior of a triangle in 2D.

TRIANGLE_LYNESS_RULE, a C++ library which returns Lyness-Jespersen quadrature rules for the triangle.

TRIANGLE_MONTE_CARLO, a C++ program which uses the Monte Carlo method to estimate integrals over a triangle.

TRIANGLE_NCC_RULE, a C++ library which defines Newton-Cotes Closed (NCC) quadrature rules over the interior of a triangle in 2D.

TRIANGLE_NCO_RULE, a C++ library which defines Newton-Cotes Open (NCO) quadrature rules over the interior of a triangle in 2D.

TRIANGLE_WANDZURA_RULE, a C++ library which defines Wandzura rules for quadrature over the interior of a triangle in 2D.

WEDGE_FELIPPA_RULE, a C++ library which returns quadratures rules for approximating integrals over the interior of the unit wedge in 3D.

Reference: {#reference align=”center”}

  1. Paul Bratley, Bennett Fox, Linus Schrage,\ A Guide to Simulation,\ Second Edition,\ Springer, 1987,\ ISBN: 0387964673,\ LC: QA76.9.C65.B73.
  2. Bennett Fox,\ Algorithm 647: Implementation and Relative Efficiency of Quasirandom Sequence Generators,\ ACM Transactions on Mathematical Software,\ Volume 12, Number 4, December 1986, pages 362-376.
  3. Axel Grundmann, Michael Moeller,\ Invariant Integration Formulas for the N-Simplex by Combinatorial Methods,\ SIAM Journal on Numerical Analysis,\ Volume 15, Number 2, April 1978, pages 282-290.
  4. Pierre LEcuyer,\ Random Number Generation,\ in Handbook of Simulation,\ edited by Jerry Banks,\ Wiley, 1998,\ ISBN: 0471134031,\ LC: T57.62.H37.
  5. Peter Lewis, Allen Goodman, James Miller,\ A Pseudo-Random Number Generator for the System/360,\ IBM Systems Journal,\ Volume 8, 1969, pages 136-143.
  6. Albert Nijenhuis, Herbert Wilf,\ Combinatorial Algorithms for Computers and Calculators,\ Second Edition,\ Academic Press, 1978,\ ISBN: 0-12-519260-6,\ LC: QA164.N54.
  7. ML Wolfson, HV Wright,\ Algorithm 160: Combinatorial of M Things Taken N at a Time,\ Communications of the ACM,\ Volume 6, Number 4, April 1963, page 161.

Source Code: {#source-code align=”center”}

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

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

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


Last revised on 26 June 2008.