Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
PecosApproximation Class Reference

Derived approximation class for global basis polynomials. More...

Inheritance diagram for PecosApproximation:
Approximation

List of all members.

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

Detailed Description

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.


Member Function Documentation

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.


The documentation for this class was generated from the following files: