nint_exactness_mixed, an Octave code which investigates the polynomial exactness of a multidimensional quadrature rule based on a direct product of one-dimensional rules. The one dimensional rules, in turn, may be any mixture of rules for 6 standard quadrature problems.
The six standard 1d quadrature problems that may be used as factors for the multidimensional problem are:
The M-dimensional quadrature region R based on mixed factors is formed by the direct product
R = R1 x R2 x ... x Rmwhere each factor region Ri is the region associated with one of the six rules. Thus, R is a sort of generalized hyperrectangle, with the understanding that in some coordinate directions the region may be semi-infinite or infinite.
The M-dimensional weight function W based on mixed factors is formed by the dproduct
w(x1,x2,...xm) = w1(x1) x w2(x2) x ... x wm(xm)where each factor weight wi(xi) is the weight function associated with one of the six rules. Some weight functions include parameters alpha and beta, and these parameters may be specified independently in each dimension.
For a quadrature region R based on mixed factors, the corresponding monomial integrand has the form
Mono(X,E) = X1^E1 x X2^E2 x ... x Xm^Emwhere each exponent Ei is a nonnegative integer.
The total degree of a monomial Mono(X,E) is:
TotalDegree(Mono(X,E)) = Sum ( 1 <= I <= M ) E(I)
Thus, for instance, the total degree of
x12 * x2 * x35is 2+1+5=8.
The corresponding monomial integral is:
Integral ( X in R ) Mono(X,E) W(X) dXwhere each exponent Ei is a nonnegative integer.
The monomial exactness of a quadrature rule is the maximum number D such that, for every monomial of total degree D or less, the quadrature rule produces the exact value of the monomial integral.
The polynomial exactness of a quadrature rule is the maximum number D such that, for every polynomial of total degree D or less, the quadrature rule produces the exact value of the polynomial integral. The total degree of a polynomial is simply the maximum of the total degrees of the monomials that form the polynomial.
This program is given a quadrature rule based on mixed factors, and seeks to determine the polynomial exactness of the rule. It does this simply by applying the quadrature rule to all the monomials of a total degree 0 up to some limit specified by the user.
The program is very flexible and interactive. The quadrature rule is defined by five files, to be read at input, and the maximum degree is specified by the user as well.
The files that define the quadrature rule are assumed to have related names, of the form
nint_exactness_mixed ( 'prefix', degree_max )where
If the arguments are not supplied on the command line, the program will prompt for them.
The information on this web page is distributed under the MIT license.
nint_exactness_mixed is available in a C++ version and a Fortran90 version and a MATLAB version and an Octave version.
exactness, an Octave code which tests the polynomial exactness of one dimensional quadrature rules.
nintlib, an Octave code which numerically estimates integrals in multiple dimensions.
pyramid_exactness, an Octave code which investigates the polynomial exactness of a quadrature rule for the pyramid.
sphere_exactness, an Octave code which tests the polynomial exactness of a quadrature rule for the unit sphere;
test_nint, an Octave code which defines integrand functions for testing multidimensional quadrature routines.
tetrahedron_exactness, an Octave code which investigates the polynomial exactness of a quadrature rule for the tetrahedron.