QUADRULE_FAST
Efficient Quadrature Rule Implementation
QUADRULE_FAST
is a MATLAB library which
implements fast and
efficient forms of several popular quadrature rules.
The quadrature rules are defined on the interval [-1,1], and
assume there is no additional weighting factor in the data.
The fast implementations are exhibited and discussed in
the papers by Trefethen and Waldvogel.
Related Data and Programs:
CLENSHAW_CURTIS_RULE,
a MATLAB program which
can compute Clenshaw Curtis rules
for 1 dimensional or multidimensional problems.
FELIPPA,
a MATLAB library which
defines quadrature rules for lines, triangles, quadrilaterals,
pyramids, wedges, tetrahedrons and hexahedrons.
PRODUCT_RULE,
a MATLAB program which
can create a multidimensional quadrature rule as a product of
one dimensional rules.
QUADPACK,
a FORTRAN90 library which
contains a variety of routines for
numerical estimation of integrals in 1D.
QUADRATURE_TEST,
a MATLAB program which
reads the definition of a
multidimensional quadrature rule from three files, applies
the rule to a number of test integrals, and prints the
results.
QUADRULE,
a MATLAB library which
contains quadrature rules.
STROUD,
a MATLAB library which
contains quadrature
rules for a variety of unusual areas, surfaces and volumes in 2D,
3D and N-dimensions.
Reference:
-
Philip Davis, Philip Rabinowitz,
Methods of Numerical Integration,
Second Edition,
Dover, 2007,
ISBN: 0486453391,
LC: QA299.3.D28.
-
Charles Clenshaw, Alan Curtis,
A Method for Numerical Integration on an Automatic Computer,
Numerische Mathematik,
Volume 2, Number 1, December 1960, pages 197-205.
-
Lloyd Trefethen,
Is Gauss Quadrature Better Than Clenshaw-Curtis?,
SIAM Review,
Volume 50, Number 1, 2008, pages 67-87.
-
Joerg Waldvogel,
Fast Construction of the Fejer and Clenshaw-Curtis Quadrature Rules,
BIT Numerical Mathematics,
Volume 43, Number 1, 2003, pages 1-18.
Source Code:
Examples and Tests:
-
quadrule_fast_test.m,
a sample calling program.
-
quadrule_fast_test.out,
the output from a run of the sample program.
-
quadrule_fast_test01.m,
compares CLENSHAW_CURTIS_RULE_COMPUTE and CLENSHAW_CURTIS_RULE_SET.
-
quadrule_fast_test02.m,
tests CLENSHAW_CURTIS_RULE_COMPUTE.
-
quadrule_fast_test03.m,
tests CLENSHAW_CURTIS_INTEGRATE and CLENSHAW_CURTIS_INTEGRATE_FAST.
-
quadrule_fast_test04.m,
compares GAUSS_LEGENDRE_RULE_COMPUTE and GAUSS_LEGENDRE_RULE_SET.
-
quadrule_fast_test05.m,
tests GAUSS_LEGENDRE_RULE_COMPUTE.
-
quadrule_fast_test06.m,
tests GAUSS_LEGENDRE_INTEGRATE_FAST.
-
quadrule_fast_test07.m,
compares FEJER1_RULE_COMPUTE and FEJER1_RULE_SET.
-
quadrule_fast_test08.m,
tests FEJER1_RULE_COMPUTE.
-
quadrule_fast_test09.m,
tests FEJER1_INTEGRATE_FAST.
-
quadrule_fast_test10.m,
compares FEJER2_RULE_COMPUTE and FEJER2_RULE_SET.
-
quadrule_fast_test11.m,
tests FEJER2_RULE_COMPUTE.
-
quadrule_fast_test12.m,
tests FEJER2_INTEGRATE_FAST.
-
f1.m,
test integrand function #1.
-
f2.m,
test integrand function #2.
-
f3.m,
test integrand function #3.
You can go up one level to
the MATLAB source codes.
Last revised on 06 March 2007.