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, short data_order) | |
alternate constructor | |
PecosApproximation (ProblemDescDB &problem_db, size_t num_vars) | |
standard ProblemDescDB-driven constructor | |
~PecosApproximation () | |
destructor | |
void | increment_order () |
increment OrthogPolyApproximation::approxOrder uniformly | |
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 polyApproxRep->sobolIndexMap | |
const Pecos::RealVector & | sobol_indices () const |
return polyApproxRep->sobolIndices | |
const Pecos::RealVector & | total_sobol_indices () const |
return polyApproxRep->totalSobolIndices | |
const Pecos::RealVector & | dimension_decay_rates () const |
return OrthogPolyApproximation::decayRates | |
void | random_variables_key (const Pecos::BoolDeque &random_vars_key) |
set pecosBasisApprox.randomVarsKey | |
void | integration_iterator (const Iterator &iterator) |
set pecosBasisApprox.driverRep | |
void | construct_basis (const Pecos::ShortArray &u_types, const Pecos::DistributionParams &dp, const Pecos::BasisConfigOptions &bc_options) |
invoke Pecos::OrthogPolyApproximation::construct_basis() | |
void | basis_types (const Pecos::ShortArray &basis_types) |
set Pecos::OrthogPolyApproximation::basisTypes | |
const Pecos::ShortArray & | basis_types () const |
get Pecos::OrthogPolyApproximation::basisTypes | |
void | polynomial_basis (const std::vector< Pecos::BasisPolynomial > &poly_basis) |
set Pecos::OrthogPolyApproximation::polynomialBasis | |
const std::vector < Pecos::BasisPolynomial > & | polynomial_basis () const |
get Pecos::OrthogPolyApproximation::polynomialBasis | |
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() | |
Real | mean () |
return the mean of the expansion, treating all variables as random | |
Real | 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 & | mean_gradient () |
return the gradient of the expansion mean for a given parameter vector, treating all variables as random | |
const Pecos::RealVector & | 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 | |
Real | variance () |
return the variance of the expansion, treating all variables as random | |
Real | 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 & | variance_gradient () |
return the gradient of the expansion variance for a given parameter vector, treating all variables as random | |
const Pecos::RealVector & | 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 | covariance (PecosApproximation *pecos_approx_2) |
return the variance of the expansion, treating all variables as random | |
Real | covariance (const Pecos::RealVector &x, PecosApproximation *pecos_approx_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 | |
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_data) |
removes entries from end of SurrogateData::{vars,resp}Data (last points 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 | store () |
store current approximation for later combination | |
void | combine (short corr_type) |
combine current approximation with previously stored approximation | |
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 | approx_type_to_basis_type (const String &approx_type, short &basis_type) |
utility to convert Dakota type string to Pecos type enumeration | |
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.
void build | ( | ) | [inline, protected, virtual] |
builds the approximation from scratch
This is the common base class portion of the virtual fn and is insufficient on its own; derived implementations should explicitly invoke (or reimplement) this base class contribution.
Reimplemented from Approximation.
References PecosApproximation::pecosBasisApprox.
void rebuild | ( | ) | [inline, protected, virtual] |
rebuilds the approximation incrementally
This is the common base class portion of the virtual fn and is insufficient on its own; derived implementations should explicitly invoke (or reimplement) this base class contribution.
Reimplemented from Approximation.
References PecosApproximation::pecosBasisApprox.
void pop | ( | bool | save_data | ) | [inline, protected, virtual] |
removes entries from end of SurrogateData::{vars,resp}Data (last points appended)
This is the common base class portion of the virtual fn and is insufficient on its own; derived implementations should explicitly invoke (or reimplement) this base class contribution.
Reimplemented from Approximation.
References PecosApproximation::pecosBasisApprox.
void restore | ( | ) | [inline, protected, virtual] |
restores state prior to previous append()
This is the common base class portion of the virtual fn and is insufficient on its own; derived implementations should explicitly invoke (or reimplement) this base class contribution.
Reimplemented from Approximation.
References PecosApproximation::pecosBasisApprox.
void finalize | ( | ) | [inline, protected, virtual] |
finalize approximation by applying all remaining trial sets
This is the common base class portion of the virtual fn and is insufficient on its own; derived implementations should explicitly invoke (or reimplement) this base class contribution.
Reimplemented from Approximation.
References PecosApproximation::pecosBasisApprox.