Polynomial Bases

The PolynomialBasis class is imported using the following command:

>>> from UQpy.surrogates.polynomial_chaos.polynomials.baseclass.PolynomialBasis import PolynomialBasis
class PolynomialBasis(inputs_number, polynomials_number, multi_index_set, polynomials, distributions)[source]

Create polynomial basis for a given multi index set.

TotalDegreeBasis Class

The TotalDegreeBasis class is imported using the following command:

>>> from UQpy.surrogates.polynomial_chaos.polynomials.TotalDegreeBasis import TotalDegreeBasis
class TotalDegreeBasis(distributions, max_degree, hyperbolic=1)[source]

Create total-degree polynomial basis. The size is equal to (total_degree+n_inputs)!/(total_degree!*n_inputs!) (polynomial complexity).

Parameters:
  • distributions (Union[Distribution, list[Distribution]]) – List of univariate distributions.

  • max_degree (int) – Maximum polynomial degree of the 1D chaos polynomials.

  • hyperbolic (float) – Parameter of hyperbolic truncation reducing interaction terms <0,1>

TensorProductBasis Class

The TensorProductBasis class is imported using the following command:

>>> from UQpy.surrogates.polynomial_chaos.polynomials.TensorProductBasis import TensorProductBasis
class TensorProductBasis(distributions, max_degree)[source]

Create tensor-product polynomial basis. The size is equal to (max_degree+1)**n_inputs (exponential complexity).

Parameters:

HyperbolicBasis Class

According to effect-of-sparsity, it is often beneficial to neglect higher-order interaction terms in basis set using hyperbolic truncation [59].

The selection of a reducing parameter \(q=1\) corresponds to the total-degree truncation scheme according to and, for \(q<1\), terms representing higher-order interactions are eliminated. Such an approach leads to a~dramatic reduction in the cardinality of the truncated set for high total polynomial orders \(p\) and high input dimensions \(M\). Set of basis functions \(\mathcal{A}\) defined by multi-indices \(\alpha\) is obtained as:

\[\mathcal A^{M,p,q}= \{ \alpha \in \mathbb{N}^{M} : || \alpha ||_q \equiv ( \sum_{i=1}^{M} \alpha_i^q )^{1/q} \leq p \}.\]

The HyperbolicBasis class is imported using the following command:

>>> from UQpy.surrogates.polynomial_chaos.polynomials.HyperbolicBasis import HyperbolicBasis
class HyperbolicBasis(distributions, max_degree, hyperbolic=1)[source]

Create hyperbolic set from total-degree polynomial basis set.

Parameters:
  • distributions (Union[Distribution, list[Distribution]]) – List of univariate distributions.

  • max_degree (int) – Maximum polynomial degree of the 1D chaos polynomials.

  • hyperbolic (float) – Parameter of hyperbolic truncation reducing interaction terms <0,1>