| Dakota Version 6.19 Explore and Predict with Confidence

Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
NonDExpansion Class Reference

Base class for polynomial chaos expansions (PCE), stochastic collocation (SC) and functional tensor train (FT) More...

Inheritance diagram for NonDExpansion:

## Public Member Functions
| 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 Model & | algorithm_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 | update_callback_data (const RealVector &cv_initial, const RealVector &cv_lower_bnds, const RealVector &cv_upper_bnds, 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, const RealVector &nln_ineq_lb, const RealVector &nln_ineq_ub, const RealVector &nln_eq_tgt)
| assign variable values and bounds and constraint coefficients and bounds for this iterator (user-functions mode for which iteratedModel is null)
virtual const RealMatrix & | callback_linear_ineq_coefficients () const
| return linear constraint coefficients for this iterator (user-functions mode for which iteratedModel is null)
virtual const RealVector & | callback_linear_ineq_lower_bounds () const
| return linear constraint lower bounds for this iterator (user-functions mode for which iteratedModel is null)
virtual const RealVector & | callback_linear_ineq_upper_bounds () const
| return linear constraint upper bounds for this iterator (user-functions mode for which iteratedModel is null)
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 (unsigned short method_name)
| perform a method switch, if possible, due to a detected conflict with the simultaneous use of method_name at an higher-level
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)
Model & | iterated_model ()
| return the iteratedModel (iterators & meta-iterators using a single model instance)
ProblemDescDB & | problem_description_db () const
| return the problem description database (probDescDB)
ParallelLibrary & | parallel_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 ActiveSet & | active_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< Iterator > | iterator_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< TraitsBase > | traits () 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
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 Response & | response_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 Variables & | variables_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...
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 | 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...

## Protected Attributes
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
NonD * | prevNondInstance
| 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
bool | vbdFlag
| flag indicating the activation of variance-bsaed decomposition for computing Sobol' indices, via either PCE or sampling
Real | vbdDropTol
| tolerance for omitting output of small VBD indices computed via either PCE or sampling
Protected Attributes inherited from Iterator
ProblemDescDB & | probDescDB
| class member reference to the problem description database More...
ParallelLibrary & | parallelLib
| 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
ResultsManager & | resultsDB
| 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< TraitsBase > | methodTraits
| 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

## Private Member Functions
void | initialize_counts ()
| initialize data based on variable counts
void | multifidelity_reference_expansion ()
| generate a set of reference expansions across a model hierarchy
void | multifidelity_individual_refinement ()
| separately refine each of the multifidelity reference expansions
void | multifidelity_integrated_refinement ()
| refine each of the multifidelity reference expansions within an integrated competition
void | reduce_total_sobol_sets (RealVector &avg_sobol)
| compute average of total Sobol' indices (from VBD) across the response set for use as an anisotropy indicator
void | reduce_decay_rate_sets (RealVector &min_decay)
| compute minimum of spectral coefficient decay rates across the response set for use as an anisotropy indicator
void | print_refinement_diagnostics (std::ostream &s)
| print additional refinement diagnostics not covered by compute_*_metric()
size_t | increment_sets (Real &delta_star, bool revert, bool print_metric)
| perform an adaptive refinement increment using generalized sparse grids
void | finalize_sets (bool converged_within_tol, bool reverted=false)
| finalization of adaptive refinement using generalized sparse grids
void | select_candidate (size_t best_candidate)
| promote selected candidate into reference grid + expansion
void | select_index_set_candidate (std::set< UShortArray >::const_iterator cit_star)
| promote selected index set candidate into reference grid + expansion
void | select_increment_candidate ()
| promote selected refinement increment candidate into reference grid + expansion
void | compute_analytic_statistics ()
| analytic portion of compute_statistics() from post-processing of expansion coefficients (used for FINAL_RESULTS)
void | compute_numerical_statistics ()
| numerical portion of compute_statistics() from sampling on the expansion (used for FINAL_RESULTS)
void | compute_numerical_stat_refinements (RealVectorArray &imp_sampler_stats, RealRealPairArray &min_max_fns)
| refinements to numerical probability statistics from importanceSampler
void | define_sampler_asv (ShortArray &sampler_asv)
| helper to define the expansionSampler's data requests when sampling on the expansion
void | run_sampler (const ShortArray &sampler_asv, RealVector &exp_sampler_stats)
| helper to run the expansionSampler and compute its statistics
void | refine_sampler (RealVectorArray &imp_sampler_stats, RealRealPairArray &min_max_fns)
| helper to refine the results from expansionSampler with importance sampling (for probability levels) or bounds post-processing (for PDFs)
void | print_moments (std::ostream &s)
| print expansion and numerical moments
void | print_local_sensitivity (std::ostream &s)
| print local sensitivities evaluated at initialPtU

## Private Attributes
RealMatrix | expGradsMeanX
| derivative of the expansion with respect to the x-space variables evaluated at the means (used as uncertainty importance metrics)
size_t | maxRefineIterations
| maximum number of uniform/adaptive refinement iterations (specialization of maxIterations)
size_t | maxSolverIterations
| maximum number of regression solver iterations (specialization of maxIterations)
unsigned short | vbdOrderLimit
| limits the order of interactions within the component Sobol' indices

## 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...
Static Protected Attributes inherited from NonD
static NonD * | nondInstance
| pointer to the active object instance used within static evaluator functions in order to avoid the need for static data

## Detailed Description

Base class for polynomial chaos expansions (PCE), stochastic collocation (SC) and functional tensor train (FT)

The NonDExpansion class provides a base class for methods that use polynomial expansions to approximate the effect of parameter uncertainties on response functions of interest.

## Member Function Documentation

## ◆ algorithm_space_model()

const Model & algorithm_space_model | ( |  | ) | const
| inline virtual

default definition that gets redefined in selected derived Minimizers

Reimplemented from Analyzer.

References NonDExpansion::uSpaceModel.

Referenced by AdaptedBasisModel::compute_subspace(), and AdaptedBasisModel::get_sub_model().

## ◆ infer_pilot_sample()

void infer_pilot_sample | ( | size_t | num_steps,
|  | SizetArray & | delta_N_l
| ) |  |
| virtual

Default implementation redefined by Multilevel derived classes.

Reimplemented in NonDMultilevelPolynomialChaos, and NonDMultilevelFunctionTrain.

References Dakota::abort_handler().

Referenced by NonDExpansion::multilevel_regression().

## ◆ increment_specification_sequence()

void increment_specification_sequence | ( |  | ) |
| protected virtual

increment the input specification sequence and assign values

Default implementation redefined by Multilevel derived classes.

Reimplemented in NonDMultilevelStochCollocation, NonDMultilevelPolynomialChaos, and NonDMultilevelFunctionTrain.

References Dakota::abort_handler().

Referenced by NonDExpansion::multifidelity_reference_expansion().

## ◆ update_expansion()

void update_expansion | ( |  | ) |
| protected virtual

update an expansion; avoids overhead in compute_expansion()

leave sampler_set, expansion flags, and distribution parameter settings as set previously by compute_expansion(); there should be no need to update these for an expansion refinement.

References Model::append_approximation(), NonDExpansion::expansionCoeffsApproach, NonDExpansion::increment_grid(), Iterator::iterator_rep(), Model::push_approximation(), Model::push_available(), Model::rebuild_approximation(), Model::subordinate_iterator(), Model::update_approximation(), and NonDExpansion::uSpaceModel.

Referenced by NonDExpansion::core_refinement(), and NonDExpansion::multilevel_regression().

## ◆ compute_covariance_metric()

Real compute_covariance_metric | ( | bool | revert,
|  | bool | print_metric
| ) |  |
| protected virtual

compute 2-norm of change in response covariance

computes the default refinement metric based on change in respCovariance

Reimplemented in NonDStochCollocation.

References NonDExpansion::compute_moments(), NonDExpansion::compute_off_diagonal_covariance(), NonDExpansion::covarianceControl, NonDExpansion::print_covariance(), NonDExpansion::relativeMetric, NonDExpansion::respCovariance, and NonDExpansion::respVariance.

Referenced by NonDStochCollocation::compute_covariance_metric(), NonDExpansion::core_refinement(), and NonDExpansion::increment_sets().

## ◆ compute_level_mappings_metric()

Real compute_level_mappings_metric | ( | bool | revert,
|  | bool | print_metric
| ) |  |
| protected virtual

compute 2-norm of change in final statistics

computes a "goal-oriented" refinement metric employing computed*Levels

Reimplemented in NonDStochCollocation.

References NonDExpansion::compute_level_mappings(), NonD::print_level_mappings(), NonD::pull_level_mappings(), NonD::push_level_mappings(), NonDExpansion::relativeMetric, and NonD::totalLevelRequests.

Referenced by NonDStochCollocation::compute_level_mappings_metric(), NonDExpansion::core_refinement(), and NonDExpansion::increment_sets().

## ◆ compute_statistics()

void compute_statistics | ( | short | results_state = `FINAL_RESULTS` | ) |
| protected virtual

calculate analytic and numerical statistics from the expansion, supporting {REFINEMENT,INTERMEDIATE,FINAL}_RESULTS modes

Calculate analytic and numerical statistics from the expansion and log results within final_stats for use in OUU.

References ResultsManager::active(), NonDExpansion::allVars, NonDExpansion::archive_coefficients(), NonDExpansion::archive_moments(), NonDExpansion::archive_sobol_indices(), NonDExpansion::compute_analytic_statistics(), NonDExpansion::compute_level_mappings(), NonDExpansion::compute_moments(), NonDExpansion::compute_numerical_statistics(), NonDExpansion::compute_off_diagonal_covariance(), Model::continuous_variable_labels(), Model::continuous_variables(), NonDExpansion::covarianceControl, NonDExpansion::initialPtU, ResultsManager::insert(), Iterator::iteratedModel, NonDExpansion::refineMetric, Model::response_labels(), Iterator::resultsDB, Iterator::resultsNames, Iterator::run_identifier(), NonD::totalLevelRequests, NonDExpansion::update_final_statistics(), NonDExpansion::uSpaceModel, and Analyzer::vbdFlag.

Referenced by NonDExpansion::core_refinement(), NonDExpansion::core_run(), NonDMultilevelFunctionTrain::core_run(), NonDMultilevelPolynomialChaos::core_run(), NonDMultilevelStochCollocation::core_run(), NonDExpansion::increment_sets(), NonDExpansion::multifidelity_individual_refinement(), and NonDExpansion::multifidelity_reference_expansion().

## ◆ update_samples_from_order_decrement()

void update_samples_from_order_decrement | ( |  | ) |
| protected virtual

update (restore previous) numSamplesOnModel after an order decrement

Default implementation: increment/decrement update process is identical

References NonDExpansion::update_samples_from_order_increment().

Referenced by NonDExpansion::decrement_order_and_grid().

## ◆ seed_sequence()

int seed_sequence | ( | size_t | index | ) | const
| inline protected

return random seed for index within model sequence

extract an active seed from a seed sequence

References NonDExpansion::fixedSeed, NonDExpansion::mlmfIter, and NonDExpansion::randomSeedSeqSpec.

Referenced by NonDMultilevelFunctionTrain::first_seed(), NonDMultilevelPolynomialChaos::first_seed(), NonDMultilevelStochCollocation::first_seed(), NonDMultilevelFunctionTrain::random_seed(), NonDMultilevelPolynomialChaos::random_seed(), NonDMultilevelStochCollocation::random_seed(), and NonDExpansion::update_u_space_sampler().

## ◆ increment_order_and_grid()

void increment_order_and_grid | ( |  | ) |
| protected

uniformly increment the expansion order and structured/unstructured grid (PCE and FT)

Used for uniform refinement of regression-based PCE / FT.

References SharedApproxData::increment_order(), Iterator::iterator_rep(), NonDExpansion::numSamplesOnModel, Model::shared_approximation(), Model::subordinate_iterator(), NonDExpansion::tensorRegression, NonDExpansion::update_model_from_samples(), NonDExpansion::update_samples_from_order_increment(), and NonDExpansion::uSpaceModel.

Referenced by NonDExpansion::increment_grid().

## ◆ decrement_order_and_grid()

void decrement_order_and_grid | ( |  | ) |
| protected

uniformly decrement the expansion order and structured/unstructured grid (PCE and FT)

Used for uniform de-refinement of regression-based PCE / FT.

References SharedApproxData::decrement_order(), Iterator::iterator_rep(), NonDExpansion::numSamplesOnModel, Model::shared_approximation(), Model::subordinate_iterator(), NonDExpansion::tensorRegression, NonDExpansion::update_model_from_samples(), NonDExpansion::update_samples_from_order_decrement(), and NonDExpansion::uSpaceModel.

Referenced by NonDExpansion::decrement_grid().

## Member Data Documentation

## ◆ useDerivs

bool useDerivs
| protected

flag for `use_derivatives` specification, indicating usage of derivative data (with respect to expansion variables) to enhance the calculation of the stochastic expansion.

This is part of the method specification since the instantiation of the global data fit surrogate is implicit with no user specification. This behavior is distinct from the usage of response derivatives with respect to auxilliary variables (design, epistemic) for computing derivatives of aleatory expansion statistics with respect to these variables.

Referenced by NonDExpansion::compute_expansion(), NonDExpansion::configure_pecos_options(), NonDPolynomialChaos::ratio_samples_to_order(), NonDPolynomialChaos::resolve_inputs(), NonDStochCollocation::resolve_inputs(), NonDExpansion::terms_ratio_to_samples(), and NonDExpansion::terms_samples_to_ratio().

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

- NonDExpansion.hpp
- NonDExpansion.cpp