Inheritance diagram for InterpPolyApproximation:

Public Member Functions | |
| InterpPolyApproximation () | |
| default constructor | |
| InterpPolyApproximation (const ProblemDescDB &problem_db, const size_t &num_acv) | |
| standard constructor | |
| ~InterpPolyApproximation () | |
| destructor | |
Protected Member Functions | |
| int | min_coefficients () const |
| build the derived class approximation type in numVars dimensions | |
| void | find_coefficients () |
| interpolation polynomials | |
| const Real & | get_value (const RealVector &x) |
| retrieve the response expansion value for a given parameter vector | |
| const RealBaseVector & | get_gradient (const RealVector &x) |
| and default DVV | |
| const RealBaseVector & | get_gradient (const RealVector &x, const UIntArray &dvv) |
| and given DVV | |
| const Real & | get_mean () |
| return the mean of the expansion, treating all variables as random | |
| const Real & | get_mean (const RealVector &x) |
| treating a subset of the variables as random | |
| const RealBaseVector & | get_mean_gradient () |
| treating all variables as random | |
| const RealBaseVector & | get_mean_gradient (const RealVector &x, const UIntArray &dvv) |
| and given DVV, treating a subset of the variables as random | |
| const Real & | get_variance () |
| return the variance of the expansion, treating all variables as random | |
| const Real & | get_variance (const RealVector &x) |
| treating a subset of the variables as random | |
| const RealBaseVector & | get_variance_gradient () |
| vector, treating all variables as random | |
| const RealBaseVector & | get_variance_gradient (const RealVector &x, const UIntArray &dvv) |
| vector and given DVV, treating a subset of the variables as random | |
Private Member Functions | |
| const Real & | tensor_product_value (const RealVector &x, size_t tp_index) |
| tensor-product grid; contributes to get_value(x) | |
| const RealBaseVector & | tensor_product_gradient (const RealVector &x, size_t tp_index) |
| tensor-product grid; contributes to get_gradient(x) | |
| const RealBaseVector & | tensor_product_gradient (const RealVector &x, size_t tp_index, const UIntArray &dvv) |
| tensor-product grid for given DVV; contributes to get_gradient(x, dvv) | |
| const Real & | tensor_product_mean (const RealVector &x, size_t tp_index) |
| tensor-product grid; contributes to get_mean(x) | |
| const RealBaseVector & | tensor_product_mean_gradient (const RealVector &x, size_t tp_index, const UIntArray &dvv) |
| tensor-product grid; contributes to get_mean(x) | |
| const Real & | tensor_product_variance (const RealVector &x, size_t tp_index) |
| tensor-product grid; contributes to get_variance(x) | |
| const RealBaseVector & | tensor_product_variance_gradient (const RealVector &x, size_t tp_index, const UIntArray &dvv) |
| tensor-product grid; contributes to get_variance(x) | |
Private Attributes | |
| Array< Array< BasisPolynomial > > | polynomialBasis |
| constructing the multivariate orthogonal/interpolation polynomials. | |
| int | numCollocPts |
| expansion (length of expansionCoeffs) | |
| UShort2DArray | smolyakMultiIndex |
| within the polynomialBasis for a particular variable | |
| RealArray | smolyakCoeffs |
| precomputed array of Smolyak combinatorial coefficients | |
| UShort3DArray | collocKey |
| the 1-D interpolant indices for sets of tensor-product collocation points. | |
| Sizet2DArray | expansionCoeffIndices |
| set of tensor products to the expansionCoeffs array. | |
| Real | tpValue |
| the value of a tensor-product interpolant; a contributor to approxValue | |
| RealBaseVector | tpGradient |
| approxGradient | |
| Real | tpMean |
| the mean of a tensor-product interpolant; a contributor to expansionMean | |
| RealBaseVector | tpMeanGrad |
| contributor to expansionMeanGrad | |
| Real | tpVariance |
| expansionVariance | |
| RealBaseVector | tpVarianceGrad |
| contributor to expansionVarianceGrad | |
The InterpPolyApproximation class provides a global approximation based on interpolation polynomials. It is used primarily for stochastic collocation approaches to uncertainty quantification.
| const Real & get_mean | ( | ) | [protected, virtual] |
return the mean of the expansion, treating all variables as random
In this case, all expansion variables are random variables and the mean of the expansion is simply the sum over i of r_i w_i.
Implements BasisPolyApproximation.
| const Real & get_mean | ( | const RealVector & | x | ) | [protected, virtual] |
treating a subset of the variables as random
In this case, a subset of the expansion variables are random variables and the mean of the expansion involves evaluating the expectation over this subset.
Implements BasisPolyApproximation.
| const RealBaseVector & get_mean_gradient | ( | ) | [protected, virtual] |
treating all variables as random
In this function, all expansion variables are random variables and any design/state variables are omitted from the expansion. In this case, the derivative of the expectation is the expectation of the derivative. The mixed derivative case (some design variables are inserted and some are augmented) requires no special treatment.
Implements BasisPolyApproximation.
| const RealBaseVector & get_mean_gradient | ( | const RealVector & | x, | |
| const UIntArray & | dvv | |||
| ) | [protected, virtual] |
and given DVV, treating a subset of the variables as random
In this function, a subset of the expansion variables are random variables and any augmented design/state variables (i.e., not inserted as random variable distribution parameters) are included in the expansion. In this case, the mean of the expansion is the expectation over the random subset and the derivative of the mean is the derivative of the remaining expansion over the non-random subset. This function must handle the mixed case, where some design/state variables are augmented (and are part of the expansion: derivatives are evaluated as described above) and some are inserted (derivatives are obtained from expansionCoeffGrads).
Implements BasisPolyApproximation.
| const Real & get_variance | ( | ) | [protected, virtual] |
return the variance of the expansion, treating all variables as random
In this case, all expansion variables are random variables and the variance of the expansion is the sum over all but the first term of the coefficients squared times the polynomial norms squared.
Implements BasisPolyApproximation.
| const Real & get_variance | ( | const RealVector & | x | ) | [protected, virtual] |
treating a subset of the variables as random
In this case, a subset of the expansion variables are random variables and the variance of the expansion involves summations over this subset.
Implements BasisPolyApproximation.
| const RealBaseVector & get_variance_gradient | ( | ) | [protected, virtual] |
vector, treating all variables as random
In this function, all expansion variables are random variables and any design/state variables are omitted from the expansion. The mixed derivative case (some design variables are inserted and some are augmented) requires no special treatment.
Implements BasisPolyApproximation.
| const RealBaseVector & get_variance_gradient | ( | const RealVector & | x, | |
| const UIntArray & | dvv | |||
| ) | [protected, virtual] |
vector and given DVV, treating a subset of the variables as random
In this function, a subset of the expansion variables are random variables and any augmented design/state variables (i.e., not inserted as random variable distribution parameters) are included in the expansion. This function must handle the mixed case, where some design/state variables are augmented (and are part of the expansion) and some are inserted (derivatives are obtained from expansionCoeffGrads).
Implements BasisPolyApproximation.
Array< Array< BasisPolynomial > > polynomialBasis [private] |
constructing the multivariate orthogonal/interpolation polynomials.
Each variable (outer array size = numVars) may have multiple integration orders associated with it (inner array size = num_levels_per_var = 1 for quadrature, w + numVars for sparse grid).
UShort2DArray smolyakMultiIndex [private] |
within the polynomialBasis for a particular variable
The index sets correspond to j (0-based) for use as indices, which are offset from the i indices (1-based) normally used in the Smolyak expressions. For quadrature, the indices are zero (irrespective of integration order) since there is one polynomialBasis per variable; for sparse grid, the index corresponds to level - 1 within each anisotropic tensor-product integration of a Smolyak recursion.
1.5.1