Dakota  Version
Explore and Predict with Confidence
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
SharedPecosApproxData Class Reference

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

Inheritance diagram for SharedPecosApproxData:
SharedApproxData

Public Member Functions

 SharedPecosApproxData ()
 default constructor
 
 SharedPecosApproxData (const String &approx_type, const UShortArray &approx_order, size_t num_vars, short data_order, short output_level)
 alternate constructor
 
 SharedPecosApproxData (ProblemDescDB &problem_db, size_t num_vars)
 standard ProblemDescDB-driven constructor
 
 ~SharedPecosApproxData ()
 destructor
 
void random_variables_key (const Pecos::BitArray &random_vars_key)
 set pecosBasisApprox.randomVarsKey
 
void update_basis_distribution_parameters (const Pecos::MultivariateDistribution &u_dist)
 invoke Pecos::SharedPolyApproxData::update_basis_distribution_parameters()
 
void polynomial_basis (const std::vector< Pecos::BasisPolynomial > &poly_basis)
 set Pecos::SharedOrthogPolyApproxData::polynomialBasis
 
const std::vector< Pecos::BasisPolynomial > & polynomial_basis () const
 get Pecos::SharedOrthogPolyApproxData::polynomialBasis
 
std::vector< Pecos::BasisPolynomial > & polynomial_basis ()
 get Pecos::SharedOrthogPolyApproxData::polynomialBasis
 
void allocate (const UShort2DArray &mi)
 set Pecos::SharedOrthogPolyApproxData::multiIndex and allocate associated arrays
 
const UShort2DArray & multi_index () const
 get active Pecos::SharedOrthogPolyApproxData::multiIndex
 
const std::map< Pecos::ActiveKey, UShort2DArray > & multi_index_map () const
 get Pecos::SharedOrthogPolyApproxData::multiIndex
 
const Pecos::BitArrayULongMap & sobol_index_map () const
 return Pecos::SharedPolyApproxData::sobolIndexMap
 
void coefficients_norms_flag (bool flag)
 invoke Pecos::SharedOrthogPolyApproxData::coefficients_norms_flag()
 
size_t expansion_terms () const
 return Pecos::SharedOrthogPolyApproxData::expansion_terms()
 
const UShortArray & expansion_order () const
 return Pecos::SharedOrthogPolyApproxData::expansion_order()
 
void expansion_order (const UShortArray &order)
 invokes Pecos::SharedOrthogPolyApproxData::expansion_order(UShortArray&)
 
void configuration_options (const Pecos::ExpansionConfigOptions &ec_options)
 set the expansion configuration options within Pecos::SharedPolyApproxData
 
void configuration_options (const Pecos::BasisConfigOptions &bc_options)
 set the basis configuration options within Pecos::SharedPolyApproxData
 
void configuration_options (const Pecos::RegressionConfigOptions &rc_options)
 set the regression configuration options within Pecos::SharedRegressOrthogPolyApproxData
 
void refinement_statistics_mode (short stats_mode)
 update ExpansionConfigOptions::refineStatsType
 
- Public Member Functions inherited from SharedApproxData
 SharedApproxData ()
 default constructor More...
 
 SharedApproxData (ProblemDescDB &problem_db, size_t num_vars)
 standard constructor for envelope More...
 
 SharedApproxData (const String &approx_type, const UShortArray &approx_order, size_t num_vars, short data_order, short output_level)
 alternate constructor for envelope More...
 
 SharedApproxData (const SharedApproxData &approx)
 copy constructor More...
 
virtual ~SharedApproxData ()
 destructor
 
SharedApproxData operator= (const SharedApproxData &approx)
 assignment operator
 
virtual void random_variables_key (const BitArray &random_vars_key)
 assign key identifying a subset of variables that are to be treated as random for statistical purposes (e.g. expectation)
 
const Pecos::ActiveKey & active_model_key () const
 return active multi-index key
 
void discrepancy_emulation_mode (short mode)
 set discrepancy emulation mode for approximating response differences
 
short discrepancy_emulation_mode () const
 return discrepancy emulation mode for approximating response differences
 
bool formulation_updated () const
 query whether the form of an approximation has been updated
 
void formulation_updated (bool update)
 assign the status of approximation formulation updates
 
void set_bounds (const RealVector &c_l_bnds, const RealVector &c_u_bnds, const IntVector &di_l_bnds, const IntVector &di_u_bnds, const RealVector &dr_l_bnds, const RealVector &dr_u_bnds)
 set approximation lower and upper bounds (currently only used by graphics)
 
std::shared_ptr< SharedApproxDatadata_rep () const
 returns dataRep for access to derived class member functions that are not mapped to the top SharedApproxData level
 

Protected Member Functions

void active_model_key (const Pecos::ActiveKey &key)
 activate an approximation state based on its multi-index key
 
void clear_model_keys ()
 reset initial state by clearing all model keys for an approximation
 
void construct_basis (const Pecos::MultivariateDistribution &mv_dist)
 construct the shared basis for an expansion-based approximation
 
void integration_iterator (const Iterator &iterator)
 set integration driver for structured grid approximations
 
short discrepancy_reduction () const
 return the discrepancy type for approximations that support MLMF
 
void build ()
 builds the shared approximation data from scratch
 
void rebuild ()
 rebuilds the shared approximation data incrementally
 
void pop (bool save_surr_data)
 back out the previous increment to the shared approximation data
 
bool push_available ()
 queries availability of pushing data associated with a trial set
 
size_t push_index (const Pecos::ActiveKey &key)
 
void pre_push ()
 push a previous state of the shared approximation data
 
void post_push ()
 clean up popped bookkeeping following push
 
size_t finalize_index (size_t i, const Pecos::ActiveKey &key)
 return index of i-th trial set within restorable bookkeeping sets
 
void pre_finalize ()
 finalize the shared approximation data following a set of increments
 
void post_finalize ()
 clean up popped bookkeeping following aggregation
 
void pre_combine ()
 aggregate the shared approximation data from current and stored states
 
void post_combine ()
 clean up stored data sets after aggregation
 
void combined_to_active (bool clear_combined=true)
 promote aggregated data sets to active state
 
bool advancement_available ()
 queries availability of advancing the approximation resolution
 
void clear_inactive ()
 clear inactive approximation data
 
void increment_order ()
 increments polynomial expansion order (PCE, FT)
 
void decrement_order ()
 decrements polynomial expansion order (PCE, FT)
 
- Protected Member Functions inherited from SharedApproxData
 SharedApproxData (BaseConstructor, ProblemDescDB &problem_db, size_t num_vars)
 constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion in the derived class constructors - Coplien, p. 139) More...
 
 SharedApproxData (NoDBBaseConstructor, const String &approx_type, size_t num_vars, short data_order, short output_level)
 constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion in the derived class constructors - Coplien, p. 139) More...
 

Private Member Functions

Pecos::SharedBasisApproxData & pecos_shared_data ()
 return pecosSharedData
 
std::shared_ptr< Pecos::SharedPolyApproxData > pecos_shared_data_rep ()
 return pecosSharedDataRep
 
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::SharedBasisApproxData pecosSharedData
 the Pecos shared approximation data
 
std::shared_ptr< Pecos::SharedPolyApproxData > pecosSharedDataRep
 convenience pointer to derived letter within pecosSharedData
 

Friends

class PecosApproximation
 

Additional Inherited Members

- Protected Attributes inherited from SharedApproxData
size_t numVars
 number of variables in the approximation
 
String approxType
 approximation type identifier
 
short buildDataOrder
 order of the data used for surrogate construction, in ActiveSet request vector 3-bit format. More...
 
short outputLevel
 output verbosity level: {SILENT,QUIET,NORMAL,VERBOSE,DEBUG}_OUTPUT
 
Pecos::ActiveKey activeKey
 key indicating the active model or model-pair used for approximation data
 
short discrepEmulationMode
 approach for emulating response differences: {DEFAULT,DISTINCT,RECURSIVE}_EMULATION
 
String modelExportPrefix
 Prefix for model export files.
 
unsigned short modelExportFormat
 Bitmapped format request for exported models.
 
RealVector approxCLowerBnds
 approximation continuous lower bounds (used by 3D graphics and Surfpack KrigingModel)
 
RealVector approxCUpperBnds
 approximation continuous upper bounds (used by 3D graphics and Surfpack KrigingModel)
 
IntVector approxDILowerBnds
 approximation continuous lower bounds
 
IntVector approxDIUpperBnds
 approximation continuous upper bounds
 
RealVector approxDRLowerBnds
 approximation continuous lower bounds
 
RealVector approxDRUpperBnds
 approximation continuous upper bounds
 
std::map< Pecos::ActiveKey, bool > formUpdated
 tracker for changes in order,rank configuration since last build (used by DataFitSurrModel::rebuild_approximation())
 

Detailed Description

Derived approximation class for global basis polynomials.

The SharedPecosApproxData 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

◆ push_index()

size_t push_index ( const Pecos::ActiveKey &  key)
inlineprotectedvirtual

In Pecos, SharedPolyApproxData::push_index() is for internal use as it can be either a flattened (ISGDriver) or level-specific index (HSGDriver), as convenient for combined or hierarchical data restoration. SharedPolyApproxData::{restore,finalize}_index() are intended for external use and will map from push_index() to provide a consistent (flattened) representation. Dakota, however, does not make this distinction and uses {push,finalize}_index() semantics for consistency with {push,finalize}_data().

Reimplemented from SharedApproxData.

References SharedPecosApproxData::pecosSharedDataRep.


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