Derived approximation class for global basis polynomials. More...
Public Member Functions | |
PecosApproximation () | |
default constructor | |
PecosApproximation (const String &approx_type, const UShortArray &approx_order, size_t num_vars, unsigned short data_order) | |
alternate constructor | |
PecosApproximation (ProblemDescDB &problem_db, size_t num_vars) | |
standard ProblemDescDB-driven constructor | |
~PecosApproximation () | |
destructor | |
void | solution_approach (short soln_approach) |
set pecosBasisApprox.configOptions.expCoeffsSolnApproach | |
short | solution_approach () const |
get pecosBasisApprox.configOptions.expCoeffsSolnApproach | |
void | expansion_coefficient_flag (bool coeff_flag) |
set pecosBasisApprox.configOptions.expansionCoeffFlag | |
bool | expansion_coefficient_flag () const |
get pecosBasisApprox.configOptions.expansionCoeffFlag | |
void | expansion_gradient_flag (bool grad_flag) |
set pecosBasisApprox.configOptions.expansionGradFlag | |
bool | expansion_gradient_flag () const |
get pecosBasisApprox.configOptions.expansionGradFlag | |
void | refinement_control (short refine_cntl) |
set pecosBasisApprox.configOptions.refinementControl | |
short | refinement_control () const |
get pecosBasisApprox.configOptions.refinementControl | |
void | vbd_control (short vbd_cntl) |
set pecosBasisApprox.configOptions.vbdControl | |
short | vbd_control () const |
get pecosBasisApprox.configOptions.vbdControl | |
void | compute_component_effects () |
Performs global sensitivity analysis using Sobol' Indices by computing component (main and interaction) effects. | |
void | compute_total_effects () |
Performs global sensitivity analysis using Sobol' Indices by computing total effects. | |
const Pecos::IntIntMap & | sobol_index_map () const |
return pecosBasisApprox.sobol_index_map | |
const Pecos::RealVector & | sobol_indices () const |
return pecosBasisApprox.sobolIndices | |
const Pecos::RealVector & | total_sobol_indices () const |
return pecosBasisApprox.totalSobolIndices | |
void | random_variables_key (const Pecos::BoolDeque &random_vars_key) |
set pecosBasisApprox.randomVarsKey | |
void | integration_iterator (const Iterator &iterator) |
set pecosBasisApprox.driverRep | |
void | distribution_types (const Pecos::ShortArray &u_types, const Pecos::IntArray &rules) |
invoke Pecos::OrthogPolyApproximation::distribution_types() | |
void | polynomial_basis (const std::vector< Pecos::BasisPolynomial > &poly_basis) |
invoke Pecos::OrthogPolyApproximation::polynomial_basis() | |
const std::vector < Pecos::BasisPolynomial > & | polynomial_basis () const |
return Pecos::OrthogPolyApproximation::polynomial_basis() | |
void | distributions (const Pecos::ShortArray &u_types, const Pecos::IntArray &int_rules, const Pecos::DistributionParams &dp) |
invoke Pecos::OrthogPolyApproximation::distributions() | |
void | coefficients_norms_flag (bool flag) |
invoke Pecos::OrthogPolyApproximation::coefficients_norms_flag() | |
void | expansion_terms (size_t terms) |
invoke Pecos::OrthogPolyApproximation::expansion_terms() | |
size_t | expansion_terms () const |
return Pecos::OrthogPolyApproximation::expansion_terms() | |
void | allocate_arrays () |
invoke Pecos::PolynomialApproximation::allocate_arrays() | |
const Real & | get_mean () |
return the mean of the expansion, treating all variables as random | |
const Real & | get_mean (const Pecos::RealVector &x) |
return the mean of the expansion for a given parameter vector, treating a subset of the variables as random | |
const Pecos::RealVector & | get_mean_gradient () |
return the gradient of the expansion mean for a given parameter vector, treating all variables as random | |
const Pecos::RealVector & | get_mean_gradient (const Pecos::RealVector &x, const Pecos::SizetArray &dvv) |
return the gradient of the expansion mean for a given parameter vector 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 Pecos::RealVector &x) |
return the variance of the expansion for a given parameter vector, treating a subset of the variables as random | |
const Pecos::RealVector & | get_variance_gradient () |
return the gradient of the expansion variance for a given parameter vector, treating all variables as random | |
const Pecos::RealVector & | get_variance_gradient (const Pecos::RealVector &x, const Pecos::SizetArray &dvv) |
return the gradient of the expansion variance for a given parameter vector and given DVV, treating a subset of the variables as random | |
Real | get_covariance (const Pecos::RealVector &exp_coeffs_2) |
return the variance of the expansion, treating all variables as random | |
Real | get_covariance (const Pecos::RealVector &x, const Pecos::RealVector &exp_coeffs_2) |
return the variance of the expansion, treating a subset of the variables as random | |
void | compute_moments () |
compute moments up to the order supported by the Pecos polynomial approximation | |
void | compute_moments (const Pecos::RealVector &x) |
compute moments in all-variables mode up to the order supported by the Pecos polynomial approximation | |
const RealVector & | moments () const |
return virtual Pecos::PolynomialApproximation::moments() | |
const RealVector & | expansion_moments () const |
return Pecos::PolynomialApproximation::expansionMoments | |
const RealVector & | numerical_moments () const |
return Pecos::PolynomialApproximation::numericalMoments | |
Pecos::BasisApproximation & | pecos_basis_approximation () |
return pecosBasisApprox | |
Protected Member Functions | |
const Real & | get_value (const Pecos::RealVector &x) |
retrieve the approximate function value for a given parameter vector | |
const Pecos::RealVector & | get_gradient (const Pecos::RealVector &x) |
retrieve the approximate function gradient for a given parameter vector | |
const Pecos::RealSymMatrix & | get_hessian (const Pecos::RealVector &x) |
retrieve the approximate function Hessian for a given parameter vector | |
int | min_coefficients () const |
return the minimum number of samples (unknowns) required to build the derived class approximation type in numVars dimensions | |
void | build () |
builds the approximation from scratch | |
void | rebuild () |
rebuilds the approximation incrementally | |
void | pop (bool save_sdp_set) |
removes entries from end of currentPoints (last points appended) | |
size_t | pop_count () |
returns number of entries to pop from end of currentPoints, based on size of last data set appended | |
void | restore () |
restores state prior to previous append() | |
bool | restore_available () |
queries availability of restoration for trial set | |
size_t | restoration_index () |
return index of trial set within restorable bookkeeping sets | |
void | finalize () |
finalize approximation by applying all remaining trial sets | |
size_t | finalization_index (size_t i) |
return index of i-th trailing trial set within restorable bookkeeping sets | |
void | print_coefficients (std::ostream &s) const |
print the coefficient array computed in build()/rebuild() | |
const RealVector & | approximation_coefficients () const |
return the coefficient array computed by build()/rebuild() | |
void | approximation_coefficients (const RealVector &approx_coeffs) |
set the coefficient array from external sources, rather than computing with build()/rebuild() | |
Private Member Functions | |
void | append_from_current () |
synchronize Pecos dataPoints with updated Approximation currentPoints | |
Private Attributes | |
Pecos::BasisApproximation | pecosBasisApprox |
the Pecos basis approximation, encompassing OrthogPolyApproximation and InterpPolyApproximation | |
Pecos::PolynomialApproximation * | polyApproxRep |
convenience pointer to representation |
Derived approximation class for global basis polynomials.
The PecosApproximation class provides a global approximation based on basis polynomials. This includes orthogonal polynomials used for polynomial chaos expansions and interpolation polynomials used for stochastic collocation.