TRIANGLE_SYMQ_RULE
Symmetric Quadrature Rules for Triangles.
TRIANGLE_SYMQ_RULE
is a MATLAB library which
returns symmetric quadrature rules,
with exactness up to total degree 50,
over the interior of an arbitrary triangle in 2D,
by Hong Xiao and Zydrunas Gimbutas.
The original source code, from which this library was developed,
is available from the Courant Mathematics and Computing Laboratory, at
http://www.cims.nyu.edu/cmcl/quadratures/quadratures.html ,
Licensing:
The computer code and data files made available on this
web page are distributed under
the GNU LGPL license.
Languages:
TRIANGLE_SYMQ_RULE is available in
a C version and
a C++ version and
a FORTRAN77 version and
a FORTRAN90 version and
a MATLAB version.
Related Data and Programs:
CUBE_FELIPPA_RULE,
a MATLAB library which
returns the points and weights of a Felippa quadrature rule
over the interior of a cube in 3D.
GNUPLOT,
MATLAB programs which
illustrate how a program can write data and command files
so that gnuplot can create plots of the program results.
PYRAMID_FELIPPA_RULE,
a MATLAB library which
returns Felippa's quadratures rules for approximating integrals
over the interior of a pyramid in 3D.
SIMPLEX_GM_RULE,
a MATLAB library which
defines GrundmannMoeller quadrature rules
over the interior of a simplex in M dimensions.
SQUARE_FELIPPA_RULE,
a MATLAB library which
returns the points and weights of a Felippa quadrature rule
over the interior of a square in 2D.
SQUARE_SYMQ_RULE,
a MATLAB library which
returns symmetric quadrature rules,
with exactness up to total degree 20,
over the interior of the symmetric square in 2D,
by Hong Xiao and Zydrunas Gimbutas.
STROUD,
a MATLAB library which
defines quadrature rules for a variety of Mdimensional regions,
including the interior of the square, cube and hypercube, the pyramid,
cone and ellipse, the hexagon, the Mdimensional octahedron,
the circle, sphere and hypersphere, the triangle, tetrahedron and simplex,
and the surface of the circle, sphere and hypersphere.
TETRAHEDRON_FELIPPA_RULE,
a MATLAB library which
returns Felippa's quadratures rules for approximating integrals
over the interior of a tetrahedron in 3D.
TOMS886,
a MATLAB library which
defines the Padua points for interpolation in a 2D region,
including the rectangle, triangle, and ellipse,
by Marco Caliari, Stefano de Marchi, Marco Vianello.
This is a version of ACM TOMS algorithm 886.
TRIANGLE_DUNAVANT_RULE,
a MATLAB library which
sets up a Dunavant quadrature rule
over the interior of a triangle in 2D.
TRIANGLE_FEKETE_RULE,
a MATLAB library which
defines Fekete rules for quadrature or interpolation
over the interior of a triangle in 2D.
TRIANGLE_FELIPPA_RULE,
a MATLAB library which
returns Felippa's quadratures rules for approximating integrals
over the interior of a triangle in 2D.
TRIANGLE_INTEGRALS,
a MATLAB library which
returns the exact value of the integral of any monomial
over the interior of the unit triangle in 2D.
TRIANGLE_LYNESS_RULE,
a MATLAB library which
returns LynessJespersen quadrature rules
over the interior of a triangle in 2D.
TRIANGLE_MONTE_CARLO,
a MATLAB library which
uses the Monte Carlo method to estimate the integral of a function
over the interior of the unit triangle in 2D.
TRIANGLE_NCC_RULE,
a MATLAB library which
defines NewtonCotes closed quadrature
rules on a triangle.
TRIANGLE_NCO_RULE,
a MATLAB library which
defines NewtonCotes open quadrature rules
over the interior of a triangle in 2D.
TRIANGLE_WANDZURA_RULE,
a MATLAB library which
sets up a quadrature rule of exactness 5, 10, 15, 20, 25 or 30
over the interior of a triangle in 2D.
WEDGE_FELIPPA_RULE,
a MATLAB library which
returns quadratures rules for approximating integrals
over the interior of the unit wedge in 3D.
Reference:

Hong Xiao, Zydrunas Gimbutas,
A numerical algorithm for the construction of efficient quadrature
rules in two and higher dimensions,
Computers and Mathematics with Applications,
Volume 59, 2010, pages 663676.
Source Code:

kjacopols2.m,
evaluates Jacobi polynomials and derivatives.

kjacopols.m,
evaluates Jacobi polynomials.

klegeypols3.m,
evaluate scaled Legendre polynomials and derivatives.

klegeypols.m,
evaluates scaled Legendre polynomials.

ortho2eva0.m,
evaluates the orthonormal polynomials on the triangle.

ortho2eva30.m,
orthonormal polynomials and derivatives on triangle.

ortho2eva3.m,
orthogonal polynomial values and derivatives, reference triangle.

ortho2eva.m,
evaluates orthogonal polynomials on the reference triangle.

quaecopy2.m,
copies a quadrature rule into a user arrays X, Y, and W.

quaecopy.m,
copies a quadrature rule into user arrays Z and W.

quaeinside.m,
checks whether a point is inside a triangle.

quaenodes2.m,
expands nodes from 1/6 to 1/3 of the triangle.

quaenodes.m,
expands nodes to the reference triangle.

quaequad0.m,
returns the requested quadrature rule.

quaequad.m,
returns a symmetric quadrature formula for a reference triangle.

quaerotate.m,
applies a rotation.

r8vec_uniform_01.m,
returns a unit pseudorandom R8VEC.

ref_to_koorn.m,
maps points from the reference to Koornwinder's triangle.

ref_to_triangle.m,
maps points from the reference triangle to a triangle.

rule_compressed_size.m,
returns the compressed size of the requested quadrature rule.

rule_full_size.m,
returns the full size of the requested quadrature rule.

rule01.m,
returns the rule of degree 1.

rule02.m,
returns the rule of degree 2.

rule03.m,
returns the rule of degree 3.

rule04.m,
returns the rule of degree 4.

rule05.m,
returns the rule of degree 5.

rule06.m,
returns the rule of degree 6.

rule07.m,
returns the rule of degree 7.

rule08.m,
returns the rule of degree 8.

rule09.m,
returns the rule of degree 9.

rule10.m,
returns the rule of degree 10.

rule11.m,
returns the rule of degree 11.

rule12.m,
returns the rule of degree 12.

rule13.m,
returns the rule of degree 13.

rule14.m,
returns the rule of degree 14.

rule15.m,
returns the rule of degree 15.

rule16.m,
returns the rule of degree 16.

rule17.m,
returns the rule of degree 17.

rule18.m,
returns the rule of degree 18.

rule19.m,
returns the rule of degree 19.

rule20.m,
returns the rule of degree 20.

rule21.m,
returns the rule of degree 21.

rule22.m,
returns the rule of degree 22.

rule23.m,
returns the rule of degree 23.

rule24.m,
returns the rule of degree 24.

rule25.m,
returns the rule of degree 25.

rule26.m,
returns the rule of degree 26.

rule27.m,
returns the rule of degree 29.

rule28.m,
returns the rule of degree 28.

rule29.m,
returns the rule of degree 29.

rule30.m,
returns the rule of degree 30.

rule31.m,
returns the rule of degree 31.

rule32.m,
returns the rule of degree 32.

rule33.m,
returns the rule of degree 33.

rule34.m,
returns the rule of degree 34.

rule35.m,
returns the rule of degree 35.

rule36.m,
returns the rule of degree 36.

rule37.m,
returns the rule of degree 37.

rule38.m,
returns the rule of degree 38.

rule39.m,
returns the rule of degree 39.

rule40.m,
returns the rule of degree 40.

rule41.m,
returns the rule of degree 41.

rule42.m,
returns the rule of degree 42.

rule43.m,
returns the rule of degree 43.

rule44.m,
returns the rule of degree 44.

rule45.m,
returns the rule of degree 45.

rule46.m,
returns the rule of degree 46.

rule47.m,
returns the rule of degree 47.

rule48.m,
returns the rule of degree 48.

rule49.m,
returns the rule of degree 49.

rule50.m,
the rule of degree 50.

simplex_to_triangle.m,
maps points from the simplex to a triangle.

timestamp.m,
prints out the current YMDHMS date as a timestamp.

triangle_area.m,
returns the area of a triangle.

triangle_to_ref.m,
maps points from any triangle to the reference triangle.

triangle_to_simplex.m,
maps points from any triangle to the simplex.

trianmap.m,
maps rules from the reference triangle to the user triangle.

triasimp.m,
maps a point from the reference triangle to the simplex.

triasymq.m,
returns a symmetric quadrature formula for a user triangle.

triasymq_gnuplot.m,
set up a GNUPLOT plot of the triangle quadrature rule.
Examples and Tests:

triangle_symq_rule_test.m,
a sample calling program.

triangle_symq_rule_test01.m,
tests TRIANGLE_TO_SIMPLEX, TRIANGLE_TO_REF, REF_TO_TRIANGLE, SIMPLEX_TO_TRIANGLE.

triangle_symq_rule_test02.m,
calls TRIASYMQ for a quadrature rule of given order and region.

triangle_symq_rule_test03.m,
calls TRIASYMQ_GNUPLOT to generate graphics files.

triangle_symq_rule_test04.m,
gets a rule and writes it to a file.

triangle_symq_rule_test05.m,
calls TRIASYMQ for a quadrature rule of given order and region.

triangle_symq_rule_test_output.txt,
the output file.
EQUI08 is a degree 8 rule in an equilateral triangle.
SIMP08 is a degree 8 rule in a simplex.
USER08 is a degree 8 rule in a user specified triangle at (1,0),
(4,4), (0,3).
You can go up one level to
the MATLAB source codes.
Last revised on 27 June 2014.