simplex_gm_rule
simplex_gm_rule,
an Octave 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 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:
The computer code and data files described and made available on this web page
are distributed under
the MIT license
Languages:
simplex_gm_rule is available in
a C version and
a C++ version and
a Fortran90 version and
a MATLAB version and
an Octave version and
a Python version.
Related Data and Programs:
simplex_gm_rule_test
Reference:
-
Paul Bratley, Bennett Fox, Linus Schrage,
A Guide to Simulation,
Second Edition,
Springer, 1987,
ISBN: 0387964673,
LC: QA76.9.C65.B73.
-
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.
-
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.
-
Pierre LEcuyer,
Random Number Generation,
in Handbook of Simulation,
edited by Jerry Banks,
Wiley, 1998,
ISBN: 0471134031,
LC: T57.62.H37.
-
Peter Lewis, Allen Goodman, James Miller,
A Pseudo-Random Number Generator for the System/360,
IBM Systems Journal,
Volume 8, 1969, pages 136-143.
-
Albert Nijenhuis, Herbert Wilf,
Combinatorial Algorithms for Computers and Calculators,
Second Edition,
Academic Press, 1978,
ISBN: 0-12-519260-6,
LC: QA164.N54.
-
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:
-
comp_next.m,
computes the compositions of the integer N into K parts.
-
gm_rule_set.m,
sets a Grundmann-Moeller rule.
-
gm_rule_set_old.m,
sets a Grundmann-Moeller rule. (OBSOLETE VERSION)
-
gm_rule_size.m,
determines the size of a Grundmann-Moeller rule.
-
monomial_value.m,
evaluates a monomial.
-
r8vec_uniform_01.m,
returns a unit pseudorandom R8VEC.
-
simplex_unit_monomial_int.m,
integrates a monomial over a simplex.
-
simplex_unit_monomial_quadrature.m,
quadrature of monomials in a unit simplex.
-
simplex_unit_sample.m,
returns uniformly random points from a general simplex.
-
simplex_unit_to_general.m,
maps the unit simplex to a general simplex.
-
simplex_unit_volume.m,
computes the volume of the unit simplex.
Last revised on 13 October 2022.