Dakota Reference Manual  Version 6.4
Large-Scale Engineering Optimization and Uncertainty Analysis
 All Pages

Cubature using tensor-products of Gaussian quadrature rules


Alias: none

Argument(s): INTEGERLIST


Multidimensional integration by a tensor-product of Gaussian quadrature rules (specified with quadrature_order, and, optionally, dimension_preference). The default rule selection is to employ non_nested Gauss rules including Gauss-Hermite (for normals or transformed normals), Gauss-Legendre (for uniforms or transformed uniforms), Gauss-Jacobi (for betas), Gauss-Laguerre (for exponentials), generalized Gauss-Laguerre (for gammas), and numerically-generated Gauss rules (for other distributions when using an Extended basis). For the case of p_refinement or the case of an explicit nested override, Gauss-Hermite rules are replaced with Genz-Keister nested rules and Gauss-Legendre rules are replaced with Gauss-Patterson nested rules, both of which exchange lower integrand precision for greater point reuse. By specifying a dimension_preference, where higher preference leads to higher order polynomial resolution, the tensor grid may be rendered anisotropic. The dimension specified to have highest preference will be set to the specified quadrature_order and all other dimensions will be reduced in proportion to their reduced preference; any non-integral portion is truncated. To synchronize with tensor-product integration, a tensor-product expansion is used, where the order $p_i$ of the expansion in each dimension is selected to be half of the integrand precision available from the rule in use, rounded down. In the case of non-nested Gauss rules with integrand precision $2m_i-1$, $p_i$ is one less than the quadrature order $m_i$ in each dimension (a one-dimensional expansion contains the same number of terms, $p+1$, as the number of Gauss points). The total number of terms, N, in a tensor-product expansion involving n uncertain input variables is

\[N ~=~ 1 + P ~=~ \prod_{i=1}^{n} (p_i + 1)\]

In some advanced use cases (e.g., multifidelity UQ), multiple grid resolutions can be employed; for this reason, the quadrature_order specification supports an array input.