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:
distributions (
Union
[Distribution
,list
[Distribution
]]) – List of univariate distributions.max_degree (
int
) – Maximum polynomial degree of the 1D chaos polynomials.
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:
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>