GM_RULE is a MATLAB library which defines Grundmann-Moeller quadrature rules for a simplex.
The user can choose the spatial dimension, thus defining the region to be a triangle (N = 2), tetrahedron (N = 3) or a general N-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 N-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.
The formula for the weight involves the ratio of factorials and a high power. Direct evaluation of this formula results in disastrous inaccuracies, even for relatively low order rules. The original code has been revised to take a more cautious and accurate approach to this computation.
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
GM_RULE is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version.
DUNAVANT, a MATLAB library which defines Dunavant rules for quadrature on a triangle.
FEKETE, a MATLAB library which defines Fekete rules for interpolation or quadrature on a triangle.
FELIPPA, a MATLAB library which defines quadrature rules for lines, triangles, quadrilaterals, pyramids, wedges, tetrahedrons and hexahedrons.
KEAST, a MATLAB library which defines a number of quadrature rules for a tetrahedron.
LYNESS_RULE, a MATLAB library which returns Lyness-Jespersen quadrature rules for the triangle.
NCC_TETRAHEDRON, a MATLAB library which defines Newton-Cotes Closed quadrature rules on a tetrahedron.
NCC_TRIANGLE, a MATLAB library which defines Newton-Cotes Closed quadrature rules on a triangle.
NCO_TETRAHEDRON, a MATLAB library which defines Newton-Cotes Open quadrature rules on a tetrahedron.
NCO_TRIANGLE, a MATLAB library which defines Newton-Cotes Open quadrature rules on a triangle.
QUADRATURE_RULES_TET, a dataset directory which contains triples of files defining various quadrature rules on tetrahedrons.
QUADRATURE_RULES_TRI, a dataset directory which contains triples of files defining various quadrature rules on triangles.
SIMPLEX_COORDINATES, a MATLAB library which computes the Cartesian coordinates of the vertices of a regular simplex in M dimensions.
STROUD, a MATLAB library which defines quadrature rules for a variety of unusual areas, surfaces and volumes in 2D, 3D and M-dimensions.
TEST_TRI_INT, a MATLAB library which can be used to test algorithms for quadrature over a triangle.
WANDZURA, a MATLAB library which defines Wandzura rules for quadrature on a triangle.
You can go up one level to the MATLAB source codes.