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.
1.7.6.1