# simplex_gm_rule

simplex_gm_rule, a MATLAB code which defines Grundmann-Moeller quadrature rules over the interior of a triangle in 2D, a tetrahedron in 3D, or over the interior of the 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.

### Languages:

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

### Related Data and Programs:

annulus_rule, a MATLAB code which computes a quadrature rule for estimating integrals of a function over the interior of a circular annulus in 2d.

cube_felippa_rule, a MATLAB code which returns the points and weights of a felippa quadrature rule over the interior of a cube in 3d.

pyramid_felippa_rule, a MATLAB code which returns felippa's quadratures rules for approximating integrals over the interior of a pyramid in 3d.

simplex_grid, a MATLAB code which generates a regular grid of points over the interior of an arbitrary simplex in m dimensions.

square_felippa_rule, a MATLAB code which returns the points and weights of a felippa quadrature rule over the interior of a square in 2d.

stroud, a MATLAB code which defines quadrature rules for a variety of unusual areas, surfaces and volumes in 2d, 3d and m-dimensions.

tetrahedron_exactness, a MATLAB code which investigates the monomial exactness of a quadrature rule over the interior of a tetrahedron in 3d.

tetrahedron_felippa_rule, a MATLAB code which returns felippa's quadratures rules for approximating integrals over the interior of a tetrahedron in 3d.

tetrahedron_integrals, a MATLAB code which returns the exact value of the integral of any monomial over the interior of the unit tetrahedron in 3d.

tetrahedron_keast_rule, a MATLAB code which defines ten quadrature rules, with exactness degrees 0 through 8, over the interior of a tetrahedron in 3d.

tetrahedron_monte_carlo, a MATLAB code which uses the monte carlo method to estimate integrals over the interior of the unit tetrahedron in 3d.

tetrahedron_ncc_rule, a MATLAB code which defines newton-cotes closed (ncc) quadrature rules over the interior of a tetrahedron in 3d.

tetrahedron_nco_rule, a MATLAB code which defines newton-cotes open (nco) quadrature rules over the interior of a tetrahedron in 3d.

triangle_dunavant_rule, a MATLAB code which sets up a dunavant quadrature rule over the interior of a triangle in 2d.

triangle_fekete_rule, a MATLAB code which defines fekete rules for quadrature or interpolation over the interior of a triangle in 2d.

triangle_felippa_rule, a MATLAB code which returns felippa's quadratures rules for approximating integrals over the interior of a triangle in 2d.

triangle_lyness_rule, a MATLAB code which returns lyness-jespersen quadrature rules over the interior of a triangle in 2d.

triangle_ncc_rule, a MATLAB code which defines newton-cotes closed (ncc) quadrature rules over the interior of a triangle in 2d.

triangle_nco_rule, a MATLAB code which defines newton-cotes open (nco) quadrature rules over the interior of a triangle in 2d.

triangle_wandzura_rule, a MATLAB code which defines wandzura rules for quadrature over the interior of a triangle in 2d.

wedge_felippa_rule, a MATLAB code which returns quadratures rules for approximating integrals over the interior of the unit wedge in 3d.

### Reference:

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,