Dakota
Version
Explore and Predict with Confidence
|
Base class for polynomial chaos expansions (PCE), stochastic collocation (SC) and functional tensor train (FT) More...
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 | 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) | |
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 ¤t, 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 ¤t, 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... | |
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... | |
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 | |
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) | |
bool | vbdFlag |
flag indicating the activation of variance-bsaed decomposition for computing Sobol' indices | |
unsigned short | vbdOrderLimit |
limits the order of interactions within the component Sobol' indices | |
Real | vbdDropTol |
tolerance for omitting output of small VBD 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 | |
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.
|
inlinevirtual |
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().
|
virtual |
Default implementation redefined by Multilevel derived classes.
Reimplemented in NonDMultilevelPolynomialChaos, and NonDMultilevelFunctionTrain.
References Dakota::abort_handler().
Referenced by NonDExpansion::multilevel_regression().
|
protectedvirtual |
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().
|
protectedvirtual |
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().
|
protectedvirtual |
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().
|
protectedvirtual |
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().
|
protectedvirtual |
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 NonDExpansion::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().
|
protectedvirtual |
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().
|
inlineprotected |
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().
|
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().
|
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().
|
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().