Dakota  Version
Explore and Predict with Confidence
Public Member Functions | Protected Member Functions | List of all members
NonDSurrogateExpansion Class Reference

Generic uncertainty quantification with Model-based stochastic expansions. More...

Inheritance diagram for NonDSurrogateExpansion:
NonDExpansion NonD Analyzer Iterator

Public Member Functions

 NonDSurrogateExpansion (ProblemDescDB &problem_db, Model &model)
 standard constructor More...
 
 ~NonDSurrogateExpansion ()
 destructor
 
- Public Member Functions inherited from NonDExpansion
 NonDExpansion (ProblemDescDB &problem_db, Model &model)
 standard constructor
 
 NonDExpansion (unsigned short method_name, Model &model, const ShortShortPair &approx_view, short exp_coeffs_approach, const RealVector &dim_pref, int seed, short refine_type, short refine_control, short covar_control, Real colloc_ratio, short rule_nest, short rule_growth, bool piecewise_basis, bool use_derivs)
 alternate constructor
 
 ~NonDExpansion ()
 destructor
 
bool resize ()
 reinitializes iterator based on new variable size
 
void derived_init_communicators (ParLevLIter pl_iter)
 derived class contributions to initializing the communicators associated with this Iterator instance
 
void derived_set_communicators (ParLevLIter pl_iter)
 derived class contributions to setting the communicators associated with this Iterator instance
 
void derived_free_communicators (ParLevLIter pl_iter)
 derived class contributions to freeing the communicators associated with this Iterator instance
 
void nested_variable_mappings (const SizetArray &c_index1, const SizetArray &di_index1, const SizetArray &ds_index1, const SizetArray &dr_index1, const ShortArray &c_target2, const ShortArray &di_target2, const ShortArray &ds_target2, const ShortArray &dr_target2)
 set primaryA{CV,DIV,DRV}MapIndices, secondaryA{CV,DIV,DRV}MapTargets within derived Iterators; supports computation of higher-level sensitivities in nested contexts (e.g., derivatives of statistics w.r.t. inserted design variables)
 
void core_run ()
 perform a forward uncertainty propagation using PCE/SC methods
 
void print_results (std::ostream &s, short results_state=FINAL_RESULTS)
 print the final statistics
 
const Modelalgorithm_space_model () const
 
virtual size_t collocation_points () const
 return specification for number of collocation points (may be part of a sequence specification)
 
virtual int random_seed () const
 return specification for random seed (may be part of a sequence specification)
 
virtual int first_seed () const
 return first seed in sequence specification (defaults to random_seed())
 
virtual void select_refinement_points (const RealVectorArray &candidate_samples, unsigned short batch_size, RealMatrix &best_samples)
 evaluate allSamples for inclusion in the (PCE regression) approximation and retain the best set (well spaced) of size batch_size
 
virtual void append_expansion ()
 generate numSamplesOnModel, append to approximation data, and update QoI expansions
 
virtual void append_expansion (const RealMatrix &samples, const IntResponseMap &resp_map)
 append new data to uSpaceModel and, when appropriate, update expansion order
 
virtual void infer_pilot_sample (size_t num_steps, SizetArray &delta_N_l)
 
size_t maximum_refinement_iterations () const
 return maxRefineIterations
 
void maximum_refinement_iterations (size_t max_refine_iter)
 set maxRefineIterations
 
- Public Member Functions inherited from NonD
void requested_levels (const RealVectorArray &req_resp_levels, const RealVectorArray &req_prob_levels, const RealVectorArray &req_rel_levels, const RealVectorArray &req_gen_rel_levels, short resp_lev_tgt, short resp_lev_tgt_reduce, bool cdf_flag, bool pdf_output)
 set requestedRespLevels, requestedProbLevels, requestedRelLevels, requestedGenRelLevels, respLevelTarget, cdfFlag, and pdfOutput (used in combination with alternate ctors)
 
void print_level_mappings (std::ostream &s) const
 prints the z/p/beta/beta* mappings reflected in {requested,computed}{Resp,Prob,Rel,GenRel}Levels for default qoi_type and qoi_labels
 
void print_level_mappings (std::ostream &s, String qoi_type, const StringArray &qoi_labels) const
 prints the z/p/beta/beta* mappings reflected in {requested,computed}{Resp,Prob,Rel,GenRel}Levels More...
 
void print_level_mappings (std::ostream &s, const RealVector &level_maps, bool moment_offset, const String &prepend="")
 print level mapping statistics using optional pre-pend More...
 
bool pdf_output () const
 get pdfOutput
 
void pdf_output (bool output)
 set pdfOutput
 
short final_moments_type () const
 get finalMomentsType
 
void final_moments_type (short type)
 set finalMomentsType
 
- Public Member Functions inherited from Analyzer
const VariablesArray & all_variables ()
 return the complete set of evaluated variables
 
const RealMatrix & all_samples ()
 return the complete set of evaluated samples
 
const IntResponseMap & all_responses () const
 return the complete set of computed responses
 
size_t num_samples () const
 
virtual void vary_pattern (bool pattern_flag)
 sets varyPattern in derived classes that support it
 
- Public Member Functions inherited from Iterator
 Iterator (std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase()))
 default constructor More...
 
 Iterator (ProblemDescDB &problem_db, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase()))
 standard envelope constructor, which constructs its own model(s) More...
 
 Iterator (ProblemDescDB &problem_db, Model &model, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase()))
 alternate envelope constructor which uses the ProblemDescDB but accepts a model from a higher level (meta-iterator) context, instead of constructing its own More...
 
 Iterator (const String &method_string, Model &model, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase()))
 alternate envelope constructor for instantiations by name without the ProblemDescDB More...
 
 Iterator (const Iterator &iterator)
 copy constructor More...
 
virtual ~Iterator ()
 destructor
 
Iterator operator= (const Iterator &iterator)
 assignment operator
 
virtual void post_input ()
 read tabular data for post-run mode
 
virtual void reset ()
 restore initial state for repeated sub-iterator executions
 
virtual void nested_response_mappings (const RealMatrix &primary_coeffs, const RealMatrix &secondary_coeffs)
 set primaryResponseCoefficients, secondaryResponseCoefficients within derived Iterators; Necessary for scalarization case in MLMC NonDMultilevelSampling to map scalarization in nested context
 
virtual void initialize_iterator (int job_index)
 used by IteratorScheduler to set the starting data for a run
 
virtual void pack_parameters_buffer (MPIPackBuffer &send_buffer, int job_index)
 used by IteratorScheduler to pack starting data for an iterator run
 
virtual void unpack_parameters_buffer (MPIUnpackBuffer &recv_buffer, int job_index)
 used by IteratorScheduler to unpack starting data for an iterator run
 
virtual void unpack_parameters_initialize (MPIUnpackBuffer &recv_buffer, int job_index)
 used by IteratorScheduler to unpack starting data and initialize an iterator run
 
virtual void pack_results_buffer (MPIPackBuffer &send_buffer, int job_index)
 used by IteratorScheduler to pack results data from an iterator run
 
virtual void unpack_results_buffer (MPIUnpackBuffer &recv_buffer, int job_index)
 used by IteratorScheduler to unpack results data from an iterator run
 
virtual void update_local_results (int job_index)
 used by IteratorScheduler to update local results arrays
 
virtual const RealSymMatrix & response_error_estimates () const
 return error estimates associated with the final iterator solution
 
virtual bool accepts_multiple_points () const
 indicates if this iterator accepts multiple initial points. Default return is false. Override to return true if appropriate.
 
virtual void initial_point (const Variables &pt)
 sets the initial point for this iterator (user-functions mode for which Model updating is not used)
 
virtual void initial_point (const RealVector &pt)
 sets the initial point (active continuous variables) for this iterator (user-functions mode for which Model updating is not used)
 
virtual void initial_points (const VariablesArray &pts)
 sets the multiple initial points for this iterator. This should only be used if accepts_multiple_points() returns true.
 
virtual void variable_bounds (const RealVector &cv_lower_bnds, const RealVector &cv_upper_bnds)
 assign nonlinear inequality and equality constraint allowables for this iterator (user-functions mode for which Model updating is not used)
 
virtual void linear_constraints (const RealMatrix &lin_ineq_coeffs, const RealVector &lin_ineq_lb, const RealVector &lin_ineq_ub, const RealMatrix &lin_eq_coeffs, const RealVector &lin_eq_tgt)
 assign linear inequality and linear equality constraints for this iterator (user-functions mode for which Model updating is not used)
 
virtual void nonlinear_constraints (const RealVector &nln_ineq_lb, const RealVector &nln_ineq_ub, const RealVector &nln_eq_tgt)
 assign nonlinear inequality and equality constraint allowables for this iterator (user-functions mode for which Model updating is not used)
 
virtual void initialize_graphics (int iterator_server_id=1)
 initialize the 2D graphics window and the tabular graphics data More...
 
virtual void check_sub_iterator_conflict ()
 detect any conflicts due to recursive use of the same Fortran solver More...
 
virtual unsigned short uses_method () const
 return name of any enabling iterator used by this iterator
 
virtual void method_recourse ()
 perform a method switch, if possible, due to a detected conflict
 
virtual void sampling_reset (size_t min_samples, bool all_data_flag, bool stats_flag)
 reset sampling iterator to use at least min_samples
 
virtual void sampling_reference (size_t samples_ref)
 set reference number of samples, which is a lower bound during reset
 
virtual void sampling_increment ()
 increment to next in sequence of refinement samples
 
virtual void random_seed (int seed)
 set randomSeed, if present
 
virtual unsigned short sampling_scheme () const
 return sampling name
 
virtual IntIntPair estimate_partition_bounds ()
 estimate the minimum and maximum partition sizes that can be utilized by this Iterator
 
virtual void declare_sources ()
 Declare sources to the evaluations database.
 
void init_communicators (ParLevLIter pl_iter)
 initialize the communicators associated with this Iterator instance
 
void set_communicators (ParLevLIter pl_iter)
 set the communicators associated with this Iterator instance
 
void free_communicators (ParLevLIter pl_iter)
 free the communicators associated with this Iterator instance
 
void resize_communicators (ParLevLIter pl_iter, bool reinit_comms)
 Resize the communicators. This is called from the letter's resize()
 
void parallel_configuration_iterator (ParConfigLIter pc_iter)
 set methodPCIter
 
ParConfigLIter parallel_configuration_iterator () const
 return methodPCIter
 
void parallel_configuration_iterator_map (std::map< size_t, ParConfigLIter > pci_map)
 set methodPCIterMap
 
std::map< size_t, ParConfigLIter > parallel_configuration_iterator_map () const
 return methodPCIterMap
 
void run (ParLevLIter pl_iter)
 invoke set_communicators(pl_iter) prior to run()
 
void run ()
 orchestrate initialize/pre/core/post/finalize phases More...
 
void assign_rep (std::shared_ptr< Iterator > iterator_rep)
 replaces existing letter with a new one More...
 
void iterated_model (const Model &model)
 set the iteratedModel (iterators and meta-iterators using a single model instance)
 
Modeliterated_model ()
 return the iteratedModel (iterators & meta-iterators using a single model instance)
 
ProblemDescDBproblem_description_db () const
 return the problem description database (probDescDB)
 
ParallelLibraryparallel_library () const
 return the parallel library (parallelLib)
 
void method_name (unsigned short m_name)
 set the method name to an enumeration value
 
unsigned short method_name () const
 return the method name via its native enumeration value
 
void method_string (const String &m_str)
 set the method name by string
 
String method_string () const
 return the method name by string
 
String method_enum_to_string (unsigned short method_enum) const
 convert a method name enumeration value to a string
 
unsigned short method_string_to_enum (const String &method_str) const
 convert a method name string to an enumeration value
 
String submethod_enum_to_string (unsigned short submethod_enum) const
 convert a sub-method name enumeration value to a string
 
const String & method_id () const
 return the method identifier (methodId)
 
int maximum_evaluation_concurrency () const
 return the maximum evaluation concurrency supported by the iterator
 
void maximum_evaluation_concurrency (int max_conc)
 set the maximum evaluation concurrency supported by the iterator
 
size_t maximum_iterations () const
 return the maximum iterations for this iterator
 
void maximum_iterations (size_t max_iter)
 set the maximum iterations for this iterator
 
void convergence_tolerance (Real conv_tol)
 set the method convergence tolerance (convergenceTol)
 
Real convergence_tolerance () const
 return the method convergence tolerance (convergenceTol)
 
void output_level (short out_lev)
 set the method output level (outputLevel)
 
short output_level () const
 return the method output level (outputLevel)
 
void summary_output (bool summary_output_flag)
 Set summary output control; true enables evaluation/results summary.
 
size_t num_final_solutions () const
 return the number of solutions to retain in best variables/response arrays
 
void num_final_solutions (size_t num_final)
 set the number of solutions to retain in best variables/response arrays
 
void active_set (const ActiveSet &set)
 set the default active set (for use with iterators that employ evaluate_parameter_sets())
 
const ActiveSetactive_set () const
 return the default active set (used by iterators that employ evaluate_parameter_sets())
 
void active_set_request_vector (const ShortArray &asv)
 return the default active set request vector (used by iterators that employ evaluate_parameter_sets())
 
const ShortArray & active_set_request_vector () const
 return the default active set request vector (used by iterators that employ evaluate_parameter_sets())
 
void active_set_request_values (short asv_val)
 return the default active set request vector (used by iterators that employ evaluate_parameter_sets())
 
void sub_iterator_flag (bool si_flag)
 set subIteratorFlag (and update summaryOutputFlag if needed)
 
bool is_null () const
 function to check iteratorRep (does this envelope contain a letter?)
 
std::shared_ptr< Iteratoriterator_rep () const
 returns iteratorRep for access to derived class member functions that are not mapped to the top Iterator level
 
virtual void eval_tag_prefix (const String &eval_id_str)
 set the hierarchical eval ID tag prefix More...
 
std::shared_ptr< TraitsBasetraits () const
 returns methodTraits for access to derived class member functions that are not mapped to the top TraitsBase level
 
bool top_level ()
 Return whether the iterator is the top level iterator.
 
void top_level (bool tflag)
 Set the iterator's top level flag.
 

Protected Member Functions

void print_results (std::ostream &)
 
- Protected Member Functions inherited from NonDExpansion
virtual void resolve_inputs (short &u_space_type, short &data_order)
 perform error checks and mode overrides
 
virtual void initialize_u_space_model ()
 initialize uSpaceModel polynomial approximations with PCE/SC data
 
virtual void initialize_expansion ()
 initialize random variable definitions and final stats arrays
 
virtual void compute_expansion ()
 form the expansion by calling uSpaceModel.build_approximation()
 
virtual void finalize_expansion ()
 finalize mappings for the uSpaceModel
 
virtual void assign_specification_sequence ()
 assign the current values from the input specification sequence
 
virtual void increment_specification_sequence ()
 increment the input specification sequence and assign values More...
 
virtual void update_expansion ()
 update an expansion; avoids overhead in compute_expansion() More...
 
virtual void combined_to_active ()
 combine coefficients, promote to active, and update statsMetricMode
 
virtual void archive_coefficients ()
 archive expansion coefficients, as supported by derived instance
 
virtual void push_increment ()
 helper function to manage different push increment cases
 
virtual void pop_increment ()
 helper function to manage different pop increment cases
 
virtual Real compute_covariance_metric (bool revert, bool print_metric)
 compute 2-norm of change in response covariance More...
 
virtual Real compute_level_mappings_metric (bool revert, bool print_metric)
 compute 2-norm of change in final statistics More...
 
virtual void compute_statistics (short results_state=FINAL_RESULTS)
 calculate analytic and numerical statistics from the expansion, supporting {REFINEMENT,INTERMEDIATE,FINAL}_RESULTS modes More...
 
virtual void pull_candidate (RealVector &stats_star)
 extract statistics from native stats arrays for a selected candidate
 
virtual void push_candidate (const RealVector &stats_star)
 restore statistics into native stats arrays for a selected candidate
 
virtual void initialize_ml_regression (size_t num_lev, bool &import_pilot)
 initializations for multilevel_regression()
 
virtual void increment_sample_sequence (size_t new_samp, size_t total_samp, size_t step)
 increment sequence in numSamplesOnModel for multilevel_regression()
 
virtual void sample_allocation_metric (Real &metric, Real power)
 accumulate one of the level metrics for {RIP,RANK}_SAMPLING cases
 
virtual void compute_sample_increment (const RealVector &lev_metrics, const SizetArray &N_l, SizetArray &delta_N_l)
 compute delta_N_l for {RIP,RANK}_SAMPLING cases
 
virtual void finalize_ml_regression ()
 finalizations for multilevel_regression()
 
virtual void update_samples_from_order_increment ()
 update numSamplesOnModel after an order increment
 
virtual void update_samples_from_order_decrement ()
 update (restore previous) numSamplesOnModel after an order decrement More...
 
virtual void print_sobol_indices (std::ostream &s)
 print global sensitivity indices
 
void initialize_response_covariance ()
 set covarianceControl defaults and shape respCovariance
 
void update_final_statistics ()
 update function values within finalStatistics
 
void update_final_statistics_gradients ()
 update function gradients within finalStatistics
 
void assign_modes ()
 verify supported and define default correction / emulation modes
 
void assign_surrogate_response_mode ()
 define the surrogate response mode for an ensemble model in multilevel/multifidelity expansions
 
void initialize_u_space_grid ()
 helper for initializing a numerical integration grid
 
void check_dimension_preference (const RealVector &dim_pref) const
 check length and content of dimension preference vector
 
void construct_cubature (Iterator &u_space_sampler, Model &g_u_model, unsigned short cub_int_order)
 assign a NonDCubature instance within u_space_sampler
 
void construct_quadrature (Iterator &u_space_sampler, Model &g_u_model, unsigned short quad_order, const RealVector &dim_pref)
 assign a NonDQuadrature instance within u_space_sampler based on a quad_order specification
 
void construct_quadrature (Iterator &u_space_sampler, Model &g_u_model, unsigned short quad_order, const RealVector &dim_pref, int filtered_samples)
 assign a NonDQuadrature instance within u_space_sampler that generates a filtered tensor product sample set
 
void construct_quadrature (Iterator &u_space_sampler, Model &g_u_model, unsigned short quad_order, const RealVector &dim_pref, int random_samples, int seed)
 assign a NonDQuadrature instance within u_space_sampler that samples randomly from a tensor product multi-index
 
void construct_sparse_grid (Iterator &u_space_sampler, Model &g_u_model, unsigned short ssg_level, const RealVector &dim_pref)
 assign a NonDSparseGrid instance within u_space_sampler
 
void configure_expansion_orders (unsigned short exp_order, const RealVector &dim_pref, UShortArray &exp_orders)
 configure exp_orders from inputs
 
void configure_pecos_options ()
 configure expansion and basis configuration options for Pecos polynomial approximations
 
void construct_expansion_sampler (unsigned short sample_type, const String &rng, unsigned short integration_refine=NO_INT_REFINE, const IntVector &refine_samples=IntVector(), const String &import_approx_file=String(), unsigned short import_approx_format=TABULAR_ANNOTATED, bool import_approx_active_only=false)
 construct the expansionSampler for evaluating samples on uSpaceModel
 
void multifidelity_expansion ()
 construct a multifidelity expansion, across model forms or discretization levels
 
void multilevel_regression ()
 allocate a multilevel expansion based on some approximation to an optimal resource allocation across model forms/discretization levels
 
void configure_indices (size_t group, size_t form, size_t lev, short seq_type)
 configure response mode and active/truth/surrogate model keys within a hierarchical model. seq_type is the type of sequence that defines the active dimension for traversing a model sequence.
 
Real sequence_cost (size_t step, const RealVector &cost)
 return aggregate cost (one or more models) for a level sample
 
void compute_equivalent_cost (const SizetArray &N_l, const RealVector &cost)
 compute equivHFEvals from samples per level and cost per evaluation
 
void compute_sample_increment (const RealVector &agg_var, const RealVector &cost, Real sum_root_var_cost, Real eps_sq_div_2, const SizetArray &N_l, SizetArray &delta_N_l)
 compute increment in samples for multilevel_regression() based on ESTIMATOR_VARIANCE
 
size_t collocation_points (size_t index) const
 return number of collocation points for index within model sequence
 
int seed_sequence (size_t index) const
 return random seed for index within model sequence More...
 
void refine_expansion ()
 refine the reference expansion found by compute_expansion() using uniform/adaptive p-/h-refinement strategies
 
void pre_refinement ()
 initialization of expansion refinement, if necessary
 
size_t core_refinement (Real &metric, bool revert=false, bool print_metric=true)
 advance the refinement strategy one step
 
void post_refinement (Real &metric, bool reverted=false)
 finalization of expansion refinement, if necessary
 
void increment_grid (bool update_anisotropy=true)
 helper function to manage different grid increment cases
 
void decrement_grid ()
 helper function to manage different grid decrement cases
 
void merge_grid ()
 helper function to manage different grid merge cases
 
void increment_order_and_grid ()
 uniformly increment the expansion order and structured/unstructured grid (PCE and FT) More...
 
void decrement_order_and_grid ()
 uniformly decrement the expansion order and structured/unstructured grid (PCE and FT) More...
 
void update_model_from_samples ()
 publish numSamplesOnModel update to the DataFitSurrModel instance
 
void update_u_space_sampler (size_t sequence_index, const UShortArray &approx_orders)
 perform sampler updates after a change to numSamplesOnModel (shared code from ML/MF updaters)
 
void refinement_statistics_mode (short stats_mode)
 update statsMetricMode, here and in Pecos::ExpansionConfigOptions
 
void metric_roll_up (short results_state=FINAL_RESULTS)
 perform any required expansion roll-ups prior to metric computation
 
void aggregate_variance (Real &agg_var_l)
 Aggregate variance across the set of QoI for a particular model level.
 
void compute_covariance ()
 calculate the response covariance (diagonal or full matrix) for the expansion indicated by statsMetricMode
 
void compute_active_covariance ()
 calculate the response covariance of the active expansion
 
void compute_combined_covariance ()
 calculate the response covariance of the combined expansion
 
void compute_active_diagonal_variance ()
 calculate the diagonal response variance of the active expansion
 
void compute_combined_diagonal_variance ()
 calculate the diagonal response variance of the cmbined expansion
 
void compute_off_diagonal_covariance ()
 calculate off diagonal terms in respCovariance(i,j) for j<i for the expansion indicated by statsMetricMode
 
void compute_active_off_diagonal_covariance ()
 calculate off diagonal terms in respCovariance(i,j) for j<i using the active expansion coefficients
 
void compute_combined_off_diagonal_covariance ()
 calculate off diagonal terms in respCovariance(i,j) for j<i using the combined expansion coefficients
 
void compute_moments ()
 compute expansion moments; this uses a lightweight approach for incremental statistics (no additional moments; no finalStatistics update)
 
void compute_level_mappings ()
 compute all analytic/numerical level mappings; this uses a lightweight approach for incremental statistics (no derivatives, no finalStatistics update)
 
void compute_numerical_level_mappings ()
 compute only numerical level mappings; this uses a lightweight approach for incremental statistics (no derivatives, no finalStatistics update)
 
void compute_sobol_indices ()
 compute Sobol' indices for main, interaction, and total effects; this is intended for incremental statistics
 
void print_covariance (std::ostream &s)
 print resp{Variance,Covariance}
 
void print_variance (std::ostream &s, const RealVector &resp_var, const String &prepend="")
 print resp_var (response variance vector) using optional pre-pend
 
void print_covariance (std::ostream &s, const RealSymMatrix &resp_covar, const String &prepend="")
 print resp_covar (response covariance matrix) using optional pre-pend
 
void archive_moments ()
 archive the central moments (numerical and expansion) to ResultsDB
 
void archive_sobol_indices ()
 archive the Sobol' indices to the resultsDB
 
void pull_reference (RealVector &stats_ref)
 
void push_reference (const RealVector &stats_ref)
 
void pull_lower_triangle (const RealSymMatrix &mat, RealVector &vec, size_t offset=0)
 pull lower triangle of symmetric matrix into vector
 
void push_lower_triangle (const RealVector &vec, RealSymMatrix &mat, size_t offset=0)
 push vector into lower triangle of symmetric matrix
 
int terms_ratio_to_samples (size_t num_exp_terms, Real colloc_ratio)
 convert number of regression terms and collocation ratio to a number of collocation samples
 
Real terms_samples_to_ratio (size_t num_exp_terms, int samples)
 convert number of regression terms and number of collocation samples to a collocation ratio
 
- Protected Member Functions inherited from NonD
 NonD (ProblemDescDB &problem_db, Model &model)
 constructor
 
 NonD (unsigned short method_name, Model &model)
 alternate constructor for sample generation and evaluation "on the fly"
 
 NonD (unsigned short method_name, Model &model, const ShortShortPair &approx_view)
 alternate constructor for sample generation and evaluation "on the fly"
 
 NonD (unsigned short method_name, const RealVector &lower_bnds, const RealVector &upper_bnds)
 alternate constructor for sample generation "on the fly"
 
 ~NonD ()
 destructor
 
void initialize_run ()
 utility function to perform common operations prior to pre_run(); typically memory initialization; setting of instance pointers More...
 
void finalize_run ()
 utility function to perform common operations following post_run(); deallocation and resetting of instance pointers More...
 
const Responseresponse_results () const
 return the final statistics from the nondeterministic iteration
 
void response_results_active_set (const ActiveSet &set)
 set the active set within finalStatistics
 
virtual void initialize_final_statistics ()
 initializes finalStatistics for storing NonD final results More...
 
virtual bool discrepancy_sample_counts () const
 flag identifying whether sample counts correspond to level discrepancies
 
void pull_level_mappings (RealVector &level_maps, size_t offset)
 concatenate computed{Resp,Prob,Rel,GenRel}Levels into level_maps
 
void push_level_mappings (const RealVector &level_maps, size_t offset)
 update computed{Resp,Prob,Rel,GenRel}Levels from level_maps
 
void configure_sequence (size_t &num_steps, size_t &secondary_index, short &seq_type)
 configure fidelity/level counts from model hierarchy More...
 
void configure_cost (unsigned short num_steps, bool multilevel, RealVector &cost)
 extract cost estimates from model hierarchy (forms or resolutions)
 
bool query_cost (unsigned short num_steps, bool multilevel, RealVector &cost)
 extract cost estimates from model hierarchy, if available
 
bool query_cost (unsigned short num_steps, Model &model, RealVector &cost)
 extract cost estimates from model hierarchy, if available
 
bool valid_cost_values (const RealVector &cost)
 test cost for valid values > 0
 
void load_pilot_sample (const SizetArray &pilot_spec, size_t num_steps, SizetArray &delta_N_l)
 distribute pilot sample specification across model forms or levels
 
void load_pilot_sample (const SizetArray &pilot_spec, short seq_type, const Sizet3DArray &N_l, Sizet2DArray &delta_N_l)
 distribute pilot sample specification across model forms and levels
 
template<typename ArrayType >
void inflate_approx_samples (const ArrayType &N_l, bool multilev, size_t secondary_index, std::vector< ArrayType > &N_l_vec)
 update the relevant slice of N_l_3D from the final 2D multilevel or 2D multifidelity sample profile
 
template<typename ArrayType >
void inflate_sequence_samples (const ArrayType &N_l, bool multilev, size_t secondary_index, std::vector< ArrayType > &N_l_vec)
 update the relevant slice of N_l_3D from the final 2D multilevel or 2D multifidelity sample profile
 
void resize_final_statistics_gradients ()
 resizes finalStatistics::functionGradients based on finalStatistics ASV
 
void update_aleatory_final_statistics ()
 update finalStatistics::functionValues from momentStats and computed{Prob,Rel,GenRel,Resp}Levels
 
void update_system_final_statistics ()
 update system metrics from component metrics within finalStatistics
 
void update_system_final_statistics_gradients ()
 update finalStatistics::functionGradients
 
void initialize_level_mappings ()
 size computed{Resp,Prob,Rel,GenRel}Levels
 
void compute_densities (const RealRealPairArray &min_max_fns, bool prob_refinement=false, bool all_levels_computed=false)
 compute the PDF bins from the CDF/CCDF values and store in computedPDF{Abscissas,Ordinates} More...
 
void print_densities (std::ostream &s) const
 output the PDFs reflected in computedPDF{Abscissas,Ordinates} using default qoi_type and pdf_labels
 
void print_densities (std::ostream &s, String qoi_type, const StringArray &pdf_labels) const
 output the PDFs reflected in computedPDF{Abscissas,Ordinates}
 
void print_system_mappings (std::ostream &s) const
 print system series/parallel mappings for response levels
 
void print_multilevel_evaluation_summary (std::ostream &s, const SizetArray &N_m)
 print evaluation summary for multilevel sampling across 1D level profile
 
void print_multilevel_evaluation_summary (std::ostream &s, const Sizet2DArray &N_m)
 print evaluation summary for multilevel sampling across 2D level+QoI profile
 
void print_multilevel_discrepancy_summary (std::ostream &s, const SizetArray &N_m)
 print evaluation summary for multilevel sampling across 1D level profile for discrepancy across levels
 
void print_multilevel_discrepancy_summary (std::ostream &s, const SizetArray &N_m, const SizetArray &N_mp1)
 print evaluation summary for multilevel sampling across 1D level profile for discrepancy across model forms
 
void print_multilevel_discrepancy_summary (std::ostream &s, const Sizet2DArray &N_m)
 print evaluation summary for multilevel sampling across 2D level+QoI profile for discrepancy across levels
 
void print_multilevel_discrepancy_summary (std::ostream &s, const Sizet2DArray &N_m, const Sizet2DArray &N_mp1)
 print evaluation summary for multilevel sampling across 2D level+QoI profile for discrepancy across model forms
 
template<typename ArrayType >
void print_multilevel_model_summary (std::ostream &s, const std::vector< ArrayType > &N_samp, String type, short seq_type, bool discrep_flag)
 print evaluation summary for multilevel sampling across 2D model+level profile (allocations) or 3D model+level+QoI profile (actual)
 
void construct_lhs (Iterator &u_space_sampler, Model &u_model, unsigned short sample_type, int num_samples, int seed, const String &rng, bool vary_pattern, short sampling_vars_mode=ACTIVE)
 assign a NonDLHSSampling instance within u_space_sampler
 
unsigned short sub_optimizer_select (unsigned short requested_sub_method, unsigned short default_sub_method=SUBMETHOD_NPSOL)
 utility for vetting sub-method request against optimizers within the package configuration
 
size_t one_sided_delta (Real current, Real target)
 compute a one-sided sample increment for multilevel methods to move current sampling level to a new target
 
size_t one_sided_delta (const SizetArray &current, const RealVector &targets, size_t power)
 compute a one-sided sample increment for multilevel methods to move current sampling level to a new target
 
size_t one_sided_delta (const SizetArray &current, Real target, size_t power)
 compute a one-sided sample increment for multilevel methods to move current sampling level to a new target
 
bool differ (size_t N_alloc_ij, const SizetArray &N_actual_ij) const
 return true if fine-grained reporting differs from coarse-grained
 
bool differ (const SizetArray &N_alloc_i, const Sizet2DArray &N_actual_i) const
 return true if fine-grained reporting differs from coarse-grained
 
bool differ (const Sizet2DArray &N_alloc, const Sizet3DArray &N_actual) const
 return true if fine-grained reporting differs from coarse-grained
 
void archive_allocate_mappings ()
 allocate results array storage for distribution mappings
 
void archive_from_resp (size_t fn_index, size_t inc_id=0)
 archive the mappings from specified response levels for specified fn
 
void archive_to_resp (size_t fn_index, size_t inc_id=0)
 archive the mappings to computed response levels for specified fn and (optional) increment id.
 
void archive_allocate_pdf ()
 allocate results array storage for pdf histograms
 
void archive_pdf (size_t fn_index, size_t inc_id=0)
 archive a single pdf histogram for specified function
 
void archive_equiv_hf_evals (const Real equiv_hf_evals)
 archive the equivalent number of HF evals (used by ML/MF methods)
 
- Protected Member Functions inherited from Analyzer
 Analyzer ()
 default constructor
 
 Analyzer (ProblemDescDB &problem_db, Model &model)
 standard constructor
 
 Analyzer (unsigned short method_name, Model &model)
 alternate constructor for instantiations "on the fly" with a Model
 
 Analyzer (unsigned short method_name, Model &model, const ShortShortPair &view_override)
 alternate constructor for instantiations "on the fly" with a Model
 
 Analyzer (unsigned short method_name)
 alternate constructor for instantiations "on the fly" without a Model
 
 ~Analyzer ()
 destructor
 
virtual void get_parameter_sets (Model &model)
 Generate one block of numSamples samples (ndim * num_samples), populating allSamples; ParamStudy is the only class that specializes to use allVariables.
 
virtual void get_parameter_sets (Model &model, const size_t num_samples, RealMatrix &design_matrix)
 Generate one block of numSamples samples (ndim * num_samples), populating design_matrix.
 
virtual void update_model_from_sample (Model &model, const Real *sample_vars)
 update model's current variables with data from sample
 
virtual void update_model_from_variables (Model &model, const Variables &vars)
 update model's current variables with data from vars
 
virtual void sample_to_variables (const Real *sample_vars, Variables &vars)
 convert column of samples array to variables; derived classes may reimplement for more than active continuous variables More...
 
void update_from_model (const Model &model)
 set inherited data attributes based on extractions from incoming model
 
void pre_run ()
 pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a priori More...
 
void post_run (std::ostream &s)
 post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way More...
 
void pre_output ()
 
const Variablesvariables_results () const
 return a single final iterator solution (variables)
 
const VariablesArray & variables_array_results ()
 return multiple final iterator solutions (variables). This should only be used if returns_multiple_points() returns true.
 
const ResponseArray & response_array_results ()
 return multiple final iterator solutions (response). This should only be used if returns_multiple_points() returns true.
 
bool compact_mode () const
 returns Analyzer::compactMode
 
bool returns_multiple_points () const
 indicates if this iterator returns multiple final points. Default return is false. Override to return true if appropriate.
 
void evaluate_parameter_sets (Model &model, bool log_resp_flag, bool log_best_flag)
 perform function evaluations to map parameter sets (allVariables) into response sets (allResponses) More...
 
void get_vbd_parameter_sets (Model &model, size_t num_samples)
 generate replicate parameter sets for use in variance-based decomposition More...
 
void compute_vbd_stats (const size_t num_samples, const IntResponseMap &resp_samples)
 compute VBD-based Sobol indices More...
 
void archive_sobol_indices () const
 archive VBD-based Sobol indices More...
 
virtual void archive_model_variables (const Model &, size_t idx) const
 archive model evaluation points
 
virtual void archive_model_response (const Response &, size_t idx) const
 archive model evaluation responses
 
void read_variables_responses (int num_evals, size_t num_vars)
 convenience function for reading variables/responses (used in derived classes post_input) More...
 
void print_sobol_indices (std::ostream &s) const
 Printing of VBD results. More...
 
void samples_to_variables_array (const RealMatrix &sample_matrix, VariablesArray &vars_array)
 convert samples array to variables array; e.g., allSamples to allVariables
 
virtual void variables_to_sample (const Variables &vars, Real *sample_c_vars)
 convert the active continuous variables into a column of allSamples More...
 
void variables_array_to_samples (const VariablesArray &vars_array, RealMatrix &sample_matrix)
 convert variables array to samples array; e.g., allVariables to allSamples
 
- Protected Member Functions inherited from Iterator
 Iterator (BaseConstructor, ProblemDescDB &problem_db, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase()))
 constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion in the derived class constructors - Coplien, p. 139) More...
 
 Iterator (NoDBBaseConstructor, unsigned short method_name, Model &model, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase()))
 alternate constructor for base iterator classes constructed on the fly More...
 
 Iterator (NoDBBaseConstructor, unsigned short method_name, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase()))
 alternate constructor for base iterator classes constructed on the fly More...
 
 Iterator (NoDBBaseConstructor, Model &model, size_t max_iter, size_t max_eval, Real conv_tol, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase()))
 alternate envelope constructor for instantiations without ProblemDescDB More...
 
virtual const VariablesArray & initial_points () const
 gets the multiple initial points for this iterator. This will only be meaningful after a call to initial_points mutator.
 
StrStrSizet run_identifier () const
 get the unique run identifier based on method name, id, and number of executions
 
void initialize_model_graphics (Model &model, int iterator_server_id)
 helper function that encapsulates initialization operations, modular on incoming Model instance More...
 
void export_final_surrogates (Model &data_fit_surr_model)
 export final surrogates generated, e.g., GP in EGO and friends More...
 

Additional Inherited Members

- Static Protected Member Functions inherited from Iterator
static void gnewton_set_recast (const Variables &recast_vars, const ActiveSet &recast_set, ActiveSet &sub_model_set)
 conversion of request vector values for the Gauss-Newton Hessian approximation More...
 
- Protected Attributes inherited from NonDExpansion
Model uSpaceModel
 Model representing the approximate response function in u-space, after u-space recasting and polynomial data fit recursions.
 
Iterator expansionSampler
 Iterator used for sampling on the uSpaceModel to generate approximate probability/reliability/response level statistics. Currently this is an LHS sampling instance, but AIS could also be used.
 
Iterator importanceSampler
 Iterator used to refine the approximate probability estimates generated by the expansionSampler using importance sampling.
 
short expansionCoeffsApproach
 method for collocation point generation and subsequent calculation of the expansion coefficients
 
short expansionBasisType
 type of expansion basis: DEFAULT_BASIS or Pecos::{NODAL,HIERARCHICAL}_INTERPOLANT for SC or Pecos::{TENSOR_PRODUCT,TOTAL_ORDER,ADAPTED}_BASIS for PCE regression
 
short statsMetricMode
 type of statistical metric roll-up: {NO,ACTIVE,COMBINED}_EXPANSION_STATS
 
bool relativeMetric
 flag indicating the use of relative scaling in refinement metrics
 
RealVector dimPrefSpec
 user specification for dimension_preference
 
SizetArray collocPtsSeqSpec
 user specification of number of initial samples per model instance, including adaptive cases where an optimal sample profile is the target of iteration (e.g., multilevel_regression())
 
Real collocRatio
 factor applied to terms^termsOrder in computing number of regression points, either user-specified or inferred
 
Real termsOrder
 exponent applied to number of expansion terms for computing number of regression points (usually 1)
 
int randomSeed
 seed for random number generator (used for regression with LHS and sub-sampled tensor grids, as well as for expansionSampler)
 
SizetArray randomSeedSeqSpec
 user specification for seed_sequence
 
bool fixedSeed
 don't continue an existing random number sequence, rather reset seed each time within some sampling-based iteration
 
size_t mlmfIter
 top level iteration counter in adaptive NonDExpansion ML/MF algorithms, allowing special updating logic for some sequence handlers
 
bool allVars
 flag for combined variable expansions which include a non-probabilistic subset (design, epistemic, state)
 
bool tensorRegression
 option for regression FT using a filtered set of tensor-product quadrature points
 
short multilevAllocControl
 type of sample allocation scheme for discretization levels / model forms within multilevel / multifidelity methods
 
short multilevDiscrepEmulation
 emulation approach for multilevel / multifidelity discrepancy: distinct or recursive
 
SizetArray NLev
 number of samples allocated to each level of a discretization/model hierarchy within multilevel/multifidelity methods
 
Real equivHFEvals
 equivalent number of high fidelity evaluations accumulated using samples across multiple model forms and/or discretization levels
 
Real kappaEstimatorRate
 rate parameter for allocation by ESTIMATOR_VARIANCE in multilevel_regression()
 
Real gammaEstimatorScale
 scale parameter for allocation by ESTIMATOR_VARIANCE in multilevel_regression()
 
int numSamplesOnModel
 number of truth samples performed on g_u_model to form the expansion
 
int numSamplesOnExpansion
 number of approximation samples performed on the polynomial expansion in order to estimate probabilities
 
bool nestedRules
 flag for indicating state of nested and non_nested overrides of default rule nesting, which depends on the type of integration driver; this is defined in construct_{quadrature,sparse_grid}(), such that override attributes (defined in ctors) must be used upstream
 
short ruleNestingOverride
 user override of default rule nesting: NO_NESTING_OVERRIDE, NESTED, or NON_NESTED
 
short ruleGrowthOverride
 user override of default rule growth: NO_GROWTH_OVERRIDE, RESTRICTED, or UNRESTRICTED
 
bool piecewiseBasis
 flag for piecewise specification, indicating usage of local basis polynomials within the stochastic expansion
 
bool useDerivs
 flag for use_derivatives specification, indicating usage of derivative data (with respect to expansion variables) to enhance the calculation of the stochastic expansion. More...
 
RealVector initialPtU
 stores the initial variables data in u-space
 
short refineType
 refinement type: NO_REFINEMENT, P_REFINEMENT, or H_REFINEMENT
 
short refineControl
 refinement control: NO_CONTROL, UNIFORM_CONTROL, LOCAL_ADAPTIVE_CONTROL, DIMENSION_ADAPTIVE_CONTROL_SOBOL, DIMENSION_ADAPTIVE_CONTROL_DECAY, or DIMENSION_ADAPTIVE_CONTROL_GENERALIZED
 
short refineMetric
 refinement metric: NO_METRIC, COVARIANCE_METRIC, LEVEL_STATS_METRIC, or MIXED_STATS_METRIC
 
short covarianceControl
 enumeration for controlling response covariance calculation and output: {DEFAULT,DIAGONAL,FULL}_COVARIANCE
 
unsigned short softConvLimit
 number of consecutive iterations within tolerance required to indicate soft convergence
 
RealSymMatrix respCovariance
 symmetric matrix of analytic response covariance (full response covariance option)
 
RealVector respVariance
 vector of response variances (diagonal response covariance option)
 
RealVector statsStar
 stats of the best refinement candidate for the current model indices
 
size_t numUncertainQuant
 number of invocations of core_run()
 
- Protected Attributes inherited from NonD
NonDprevNondInstance
 pointer containing previous value of nondInstance
 
size_t startCAUV
 starting index of continuous aleatory uncertain variables within active continuous variables (convenience for managing offsets)
 
size_t numCAUV
 number of active continuous aleatory uncertain variables
 
bool epistemicStats
 flag for computing interval-type metrics instead of integrated metrics If any epistemic vars are active in a metric evaluation, then flag is set.
 
RealMatrix momentStats
 standardized or central resp moments, as determined by finalMomentsType. Calculated in compute_moments()) and indexed as (moment,fn).
 
RealVectorArray requestedRespLevels
 requested response levels for all response functions
 
RealVectorArray computedProbLevels
 output probability levels for all response functions resulting from requestedRespLevels
 
RealVectorArray computedRelLevels
 output reliability levels for all response functions resulting from requestedRespLevels
 
RealVectorArray computedGenRelLevels
 output generalized reliability levels for all response functions resulting from requestedRespLevels
 
short respLevelTarget
 indicates mapping of z->p (PROBABILITIES), z->beta (RELIABILITIES), or z->beta* (GEN_RELIABILITIES)
 
short respLevelTargetReduce
 indicates component or system series/parallel failure metrics
 
RealVectorArray requestedProbLevels
 requested probability levels for all response functions
 
RealVectorArray requestedRelLevels
 requested reliability levels for all response functions
 
RealVectorArray requestedGenRelLevels
 requested generalized reliability levels for all response functions
 
RealVectorArray computedRespLevels
 output response levels for all response functions resulting from requestedProbLevels, requestedRelLevels, or requestedGenRelLevels
 
size_t totalLevelRequests
 total number of levels specified within requestedRespLevels, requestedProbLevels, and requestedRelLevels
 
bool cdfFlag
 flag for type of probabilities/reliabilities used in mappings: cumulative/CDF (true) or complementary/CCDF (false)
 
bool pdfOutput
 flag for managing output of response probability density functions (PDFs)
 
RealVectorArray computedPDFAbscissas
 sorted response PDF intervals bounds extracted from min/max sample and requested/computedRespLevels (vector lengths = num bins + 1)
 
RealVectorArray computedPDFOrdinates
 response PDF densities computed from bin counts divided by (unequal) bin widths (vector lengths = num bins)
 
Response finalStatistics
 final statistics from the uncertainty propagation used in strategies: response means, standard deviations, and probabilities of failure
 
short finalMomentsType
 type of moments logged within finalStatistics: none, central, standard
 
size_t miPLIndex
 index for the active ParallelLevel within ParallelConfiguration::miPLIters
 
BitArray pdfComputed
 Whether PDF was computed for function i; used to determine whether a pdf should be archived.
 
- Protected Attributes inherited from Analyzer
size_t numFunctions
 number of response functions
 
size_t numContinuousVars
 number of active continuous vars
 
size_t numDiscreteIntVars
 number of active discrete integer vars
 
size_t numDiscreteStringVars
 number of active discrete string vars
 
size_t numDiscreteRealVars
 number of active discrete real vars
 
bool compactMode
 switch for allSamples (compact mode) instead of allVariables (normal mode)
 
VariablesArray allVariables
 array of all variables to be evaluated in evaluate_parameter_sets()
 
RealMatrix allSamples
 compact alternative to allVariables
 
IntResponseMap allResponses
 array of all responses to be computed in evaluate_parameter_sets()
 
StringArray allHeaders
 array of headers to insert into output while evaluating allVariables
 
size_t numObjFns
 number of objective functions
 
size_t numLSqTerms
 number of least squares terms
 
RealPairPRPMultiMap bestVarsRespMap
 map which stores best set of solutions
 
- Protected Attributes inherited from Iterator
ProblemDescDBprobDescDB
 class member reference to the problem description database More...
 
ParallelLibraryparallelLib
 class member reference to the parallel library
 
ParConfigLIter methodPCIter
 the active ParallelConfiguration used by this Iterator instance
 
Model iteratedModel
 the model to be iterated (for iterators and meta-iterators employing a single model instance)
 
size_t myModelLayers
 number of Models locally (in Iterator or derived classes) wrapped around the initially passed in Model
 
unsigned short methodName
 name of the iterator (the user's method spec)
 
Real convergenceTol
 iteration convergence tolerance
 
size_t maxIterations
 maximum number of iterations for the method
 
size_t maxFunctionEvals
 maximum number of fn evaluations for the method
 
int maxEvalConcurrency
 maximum number of concurrent model evaluations More...
 
ActiveSet activeSet
 the response data requirements on each function evaluation
 
size_t numFinalSolutions
 number of solutions to retain in best variables/response arrays
 
VariablesArray bestVariablesArray
 collection of N best solution variables found during the study; always in context of Model originally passed to the Iterator (any in-flight Recasts must be undone)
 
ResponseArray bestResponseArray
 collection of N best solution responses found during the study; always in context of Model originally passed to the Iterator (any in-flight Recasts must be undone)
 
bool subIteratorFlag
 flag indicating if this Iterator is a sub-iterator (NestedModel::subIterator or DataFitSurrModel::daceIterator)
 
short outputLevel
 output verbosity level: {SILENT,QUIET,NORMAL,VERBOSE,DEBUG}_OUTPUT
 
bool summaryOutputFlag
 flag for summary output (evaluation stats, final results); default true, but false for on-the-fly (helper) iterators and sub-iterator use cases
 
ResultsManagerresultsDB
 reference to the global iterator results database
 
EvaluationStore & evaluationsDB
 reference to the global evaluation database
 
EvaluationsDBState evaluationsDBState
 State of evaluations DB for this iterator.
 
ResultsNames resultsNames
 valid names for iterator results
 
std::shared_ptr< TraitsBasemethodTraits
 pointer that retains shared ownership of a TraitsBase object, or child thereof
 
bool topLevel
 Whether this is the top level iterator.
 
bool exportSurrogate = false
 whether to export final surrogates
 
String surrExportPrefix
 base filename for exported surrogates
 
unsigned short surrExportFormat = NO_MODEL_FORMAT
 (bitwise) format(s) to export
 
- Static Protected Attributes inherited from NonD
static NonDnondInstance
 pointer to the active object instance used within static evaluator functions in order to avoid the need for static data
 

Detailed Description

Generic uncertainty quantification with Model-based stochastic expansions.

The NonDSurrogateExpansion class leverages a Model specification for stochastic expansions (PCE, SC, FT) to build a stochastic emulator and then queries the emulator to generate the set of requested statistics.

Constructor & Destructor Documentation

◆ NonDSurrogateExpansion()

NonDSurrogateExpansion ( ProblemDescDB problem_db,
Model model 
)

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