Dakota  Version 6.15
Explore and Predict with Confidence
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
NonDMultilevelPolynomialChaos Class Reference

Nonintrusive polynomial chaos expansion approaches to uncertainty quantification. More...

Inheritance diagram for NonDMultilevelPolynomialChaos:
NonDPolynomialChaos NonDExpansion NonD Analyzer Iterator

Public Member Functions

 NonDMultilevelPolynomialChaos (ProblemDescDB &problem_db, Model &model)
 standard constructor More...
 
 NonDMultilevelPolynomialChaos (Model &model, short exp_coeffs_approach, const UShortArray &num_int_seq, const RealVector &dim_pref, short u_space_type, short refine_type, short refine_control, short covar_control, short ml_alloc_cntl, short ml_discrep, short rule_nest, short rule_growth, bool piecewise_basis, bool use_derivs)
 alternate constructor for numerical integration (tensor, sparse, cubature) More...
 
 NonDMultilevelPolynomialChaos (unsigned short method_name, Model &model, short exp_coeffs_approach, const UShortArray &exp_order_seq, const RealVector &dim_pref, const SizetArray &colloc_pts_seq, Real colloc_ratio, const SizetArray &seed_seq, short u_space_type, short refine_type, short refine_control, short covar_control, short ml_alloc_cntl, short ml_discrep, bool piecewise_basis, bool use_derivs, bool cv_flag, const String &import_build_pts_file, unsigned short import_build_format, bool import_build_active_only)
 alternate constructor for regression (least squares, CS, OLI) More...
 
 ~NonDMultilevelPolynomialChaos ()
 destructor
 
- Public Member Functions inherited from NonDPolynomialChaos
 NonDPolynomialChaos (ProblemDescDB &problem_db, Model &model)
 standard constructor More...
 
 NonDPolynomialChaos (Model &model, short exp_coeffs_approach, unsigned short num_int, const RealVector &dim_pref, short u_space_type, short refine_type, short refine_control, short covar_control, short rule_nest, short rule_growth, bool piecewise_basis, bool use_derivs)
 alternate constructor for numerical integration (tensor, sparse, cubature) More...
 
 NonDPolynomialChaos (Model &model, short exp_coeffs_approach, unsigned short exp_order, const RealVector &dim_pref, size_t colloc_pts, Real colloc_ratio, int seed, short u_space_type, short refine_type, short refine_control, short covar_control, bool piecewise_basis, bool use_derivs, bool cv_flag, const String &import_build_pts_file, unsigned short import_build_format, bool import_build_active_only)
 alternate constructor for regression (least squares, CS, OLI) More...
 
 ~NonDPolynomialChaos ()
 destructor
 
bool resize ()
 reinitializes iterator based on new variable size
 
- Public Member Functions inherited from NonDExpansion
 NonDExpansion (ProblemDescDB &problem_db, Model &model)
 standard constructor
 
 NonDExpansion (unsigned short method_name, Model &model, 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
 
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)
 
const Modelalgorithm_space_model () const
 
virtual void append_expansion ()
 generate numSamplesOnModel, append to approximation data, and update QoI expansions
 
virtual void assign_discrepancy_mode ()
 verify supported and define default discrepancy emulation mode
 
virtual void assign_hierarchical_response_mode ()
 define the surrogate response mode for a hierarchical model in multilevel/multifidelity expansions
 
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
 
int 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()))
 alternate envelope constructor that assigns a representation pointer 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 RealVector & 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 unsigned short uses_method () const
 return name of any enabling iterator used by this iterator More...
 
virtual void method_recourse ()
 perform a method switch, if possible, due to a detected conflict
 
virtual void sampling_reset (int min_samples, bool all_data_flag, bool stats_flag)
 reset sampling iterator to use at least min_samples
 
virtual void sampling_reference (int 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 run (ParLevLIter pl_iter)
 invoke set_communicators(pl_iter) prior to run()
 
void run ()
 orchestrate initialize/pre/core/post/finalize phases More...
 
void assign_rep (std::shared_ptr< Iterator > iterator_rep)
 replaces existing letter with a new one More...
 
void iterated_model (const Model &model)
 set the iteratedModel (iterators and meta-iterators using a single model instance)
 
Modeliterated_model ()
 return the iteratedModel (iterators & meta-iterators using a single model instance)
 
ProblemDescDBproblem_description_db () const
 return the problem description database (probDescDB)
 
ParallelLibraryparallel_library () const
 return the parallel library (parallelLib)
 
void method_name (unsigned short m_name)
 set the method name to an enumeration value
 
unsigned short method_name () const
 return the method name via its native enumeration value
 
void method_string (const String &m_str)
 set the method name by string
 
String method_string () const
 return the method name by string
 
String method_enum_to_string (unsigned short method_enum) const
 convert a method name enumeration value to a string
 
unsigned short method_string_to_enum (const String &method_str) const
 convert a method name string to an enumeration value
 
String submethod_enum_to_string (unsigned short submethod_enum) const
 convert a sub-method name enumeration value to a string
 
const String & method_id () const
 return the method identifier (methodId)
 
int maximum_evaluation_concurrency () const
 return the maximum evaluation concurrency supported by the iterator
 
void maximum_evaluation_concurrency (int max_conc)
 set the maximum evaluation concurrency supported by the iterator
 
size_t maximum_iterations () const
 return the maximum iterations for this iterator
 
void maximum_iterations (size_t max_iter)
 set the maximum iterations for this iterator
 
void convergence_tolerance (Real conv_tol)
 set the method convergence tolerance (convergenceTol)
 
Real convergence_tolerance () const
 return the method convergence tolerance (convergenceTol)
 
void output_level (short out_lev)
 set the method output level (outputLevel)
 
short output_level () const
 return the method output level (outputLevel)
 
void summary_output (bool summary_output_flag)
 Set summary output control; true enables evaluation/results summary.
 
size_t num_final_solutions () const
 return the number of solutions to retain in best variables/response arrays
 
void num_final_solutions (size_t num_final)
 set the number of solutions to retain in best variables/response arrays
 
void active_set (const ActiveSet &set)
 set the default active set (for use with iterators that employ evaluate_parameter_sets())
 
const ActiveSetactive_set () const
 return the default active set (used by iterators that employ evaluate_parameter_sets())
 
void active_set_request_vector (const ShortArray &asv)
 return the default active set request vector (used by iterators that employ evaluate_parameter_sets())
 
const ShortArray & active_set_request_vector () const
 return the default active set request vector (used by iterators that employ evaluate_parameter_sets())
 
void active_set_request_values (short asv_val)
 return the default active set request vector (used by iterators that employ evaluate_parameter_sets())
 
void sub_iterator_flag (bool si_flag)
 set subIteratorFlag (and update summaryOutputFlag if needed)
 
bool is_null () const
 function to check iteratorRep (does this envelope contain a letter?)
 
std::shared_ptr< Iteratoriterator_rep () const
 returns iteratorRep for access to derived class member functions that are not mapped to the top Iterator level
 
virtual void eval_tag_prefix (const String &eval_id_str)
 set the hierarchical eval ID tag prefix More...
 
std::shared_ptr< TraitsBasetraits () const
 returns methodTraits for access to derived class member functions that are not mapped to the top TraitsBase level
 
bool top_level ()
 Return whether the iterator is the top level iterator.
 
void top_level (const bool &tflag)
 Set the iterator's top level flag.
 

Protected Member Functions

void core_run ()
 perform a forward uncertainty propagation using PCE/SC methods
 
void assign_specification_sequence ()
 assign the current values from the input specification sequence
 
void increment_specification_sequence ()
 increment the input specification sequence and assign values More...
 
size_t collocation_points () const
 return specification for number of collocation points (may be part of a sequence specification)
 
int random_seed () const
 return specification for random seed (may be part of a sequence specification)
 
int first_seed () const
 return first seed in sequence specification (defaults to random_seed())
 
void initialize_ml_regression (size_t num_lev, bool &import_pilot)
 initializations for multilevel_regression()
 
void infer_pilot_sample (size_t num_steps, SizetArray &delta_N_l)
 
void increment_sample_sequence (size_t new_samp, size_t total_samp, size_t step)
 increment sequence in numSamplesOnModel for multilevel_regression()
 
void compute_sample_increment (const RealVector &sparsity, const SizetArray &N_l, SizetArray &delta_N_l)
 compute delta_N_l for {RIP,RANK}_SAMPLING cases
 
void print_results (std::ostream &s, short results_state=FINAL_RESULTS)
 print the final statistics
 
void assign_allocation_control ()
 assign defaults related to allocation control (currently for ML regression approaches)
 
- Protected Member Functions inherited from NonDPolynomialChaos
 NonDPolynomialChaos (unsigned short method_name, ProblemDescDB &problem_db, Model &model)
 base constructor for DB construction of multilevel/multifidelity PCE (method_name is not necessary, rather it is just a convenient overload allowing the derived ML PCE class to bypass the standard PCE ctor) More...
 
 NonDPolynomialChaos (unsigned short method_name, Model &model, short exp_coeffs_approach, const RealVector &dim_pref, short u_space_type, short refine_type, short refine_control, short covar_control, short ml_alloc_control, short ml_discrep, short rule_nest, short rule_growth, bool piecewise_basis, bool use_derivs)
 base constructor for lightweight construction of multifidelity PCE using numerical integration More...
 
 NonDPolynomialChaos (unsigned short method_name, Model &model, short exp_coeffs_approach, const RealVector &dim_pref, short u_space_type, short refine_type, short refine_control, short covar_control, const SizetArray &colloc_pts_seq, Real colloc_ratio, short ml_alloc_control, short ml_discrep, bool piecewise_basis, bool use_derivs, bool cv_flag)
 base constructor for lightweight construction of multilevel PCE using regression More...
 
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 resolve_inputs (short &u_space_type, short &data_order)
 perform error checks and mode overrides
 
void initialize_u_space_model ()
 initialize uSpaceModel polynomial approximations with PCE/SC data
 
size_t collocation_points () const
 return specification for number of collocation points (may be part of a sequence specification)
 
void compute_expansion ()
 form the expansion by calling uSpaceModel.build_approximation()
 
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
 
void select_refinement_points_deprecated (const RealVectorArray &candidate_samples, unsigned short batch_size, RealMatrix &best_samples)
 
void append_expansion (const RealMatrix &samples, const IntResponseMap &resp_map)
 append new data to uSpaceModel and, when appropriate, update expansion order
 
void update_samples_from_order_increment ()
 update numSamplesOnModel after an order increment
 
void sample_allocation_metric (Real &sparsity_metric, Real power)
 accumulate one of the level metrics for {RIP,RANK}_SAMPLING cases
 
void print_results (std::ostream &s, short results_state=FINAL_RESULTS)
 print the final coefficients and final statistics
 
void print_coefficients (std::ostream &s)
 print the PCE coefficient array for the orthogonal basis
 
void export_coefficients ()
 export the PCE coefficient array to expansionExportFile
 
void archive_coefficients ()
 archive the PCE coefficient array for the orthogonal basis
 
bool config_integration (unsigned short quad_order, unsigned short ssg_level, unsigned short cub_int, Iterator &u_space_sampler, Model &g_u_model, String &approx_type)
 configure u_space_sampler and approx_type based on numerical integration specification
 
bool config_expectation (size_t exp_samples, unsigned short sample_type, int seed, const String &rng, Iterator &u_space_sampler, Model &g_u_model, String &approx_type)
 configure u_space_sampler and approx_type based on expansion_samples specification
 
bool config_regression (const UShortArray &exp_orders, size_t colloc_pts, Real colloc_ratio_order, short regress_type, short ls_regress_type, const UShortArray &tensor_grid_order, unsigned short sample_type, int seed, const String &rng, const String &pt_reuse, Iterator &u_space_sampler, Model &g_u_model, String &approx_type)
 configure u_space_sampler and approx_type based on regression specification
 
void increment_order_from_grid ()
 define an expansion order that is consistent with an advancement in structured/unstructured grid level/density More...
 
void ratio_samples_to_order (Real colloc_ratio, int num_samples, UShortArray &exp_order, bool less_than_or_equal)
 convert collocation ratio and number of samples to expansion order
 
- Protected Member Functions inherited from NonDExpansion
virtual void initialize_expansion ()
 initialize random variable definitions and final stats arrays
 
virtual void finalize_expansion ()
 finalize mappings for the uSpaceModel
 
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 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 finalize_ml_regression ()
 finalizations for multilevel_regression()
 
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 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 random_seed (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, const RealVector &lower_bnds, const RealVector &upper_bnds)
 alternate constructor for sample generation "on the fly"
 
 ~NonD ()
 destructor
 
void initialize_run ()
 utility function to perform common operations prior to pre_run(); typically memory initialization; setting of instance pointers More...
 
void finalize_run ()
 utility function to perform common operations following post_run(); deallocation and resetting of instance pointers More...
 
const Responseresponse_results () const
 return the final statistics from the nondeterministic iteration
 
void response_results_active_set (const ActiveSet &set)
 set the active set within finalStatistics
 
virtual void initialize_final_statistics ()
 initializes finalStatistics for storing NonD final results More...
 
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 &fixed_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
 
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, const Sizet3DArray &N_l, Sizet2DArray &delta_N_l)
 distribute pilot sample specification across model forms and levels
 
void inflate_final_samples (const Sizet2DArray &N_l_2D, bool multilev, size_t fixed_index, Sizet3DArray &N_l_3D)
 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_samp)
 print evaluation summary for multilevel sampling across 1D profile
 
void print_multilevel_evaluation_summary (std::ostream &s, const Sizet2DArray &N_samp)
 print evaluation summary for multilevel sampling across 2D profile
 
void print_multilevel_evaluation_summary (std::ostream &s, const Sizet3DArray &N_samp, String type="Final")
 print evaluation summary for multilevel sampling across 3D profile
 
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_SQP)
 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
 
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)
 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 int num_samples, RealMatrix &design_matrix)
 Generate one block of numSamples samples (ndim * num_samples), populating design_matrix.
 
virtual void update_model_from_sample (Model &model, const Real *sample_vars)
 update model's current variables with data from sample
 
virtual void update_model_from_variables (Model &model, const Variables &vars)
 update model's current variables with data from vars
 
virtual void sample_to_variables (const Real *sample_vars, Variables &vars)
 convert column of samples array to variables; derived classes may reimplement for more than active continuous variables More...
 
void update_from_model (const Model &model)
 set inherited data attributes based on extractions from incoming model
 
void pre_run ()
 pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a priori More...
 
void post_run (std::ostream &s)
 post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way More...
 
void pre_output ()
 
const Variablesvariables_results () const
 return a single final iterator solution (variables)
 
const VariablesArray & variables_array_results ()
 return multiple final iterator solutions (variables). This should only be used if returns_multiple_points() returns true.
 
const ResponseArray & response_array_results ()
 return multiple final iterator solutions (response). This should only be used if returns_multiple_points() returns true.
 
bool compact_mode () const
 returns Analyzer::compactMode
 
bool returns_multiple_points () const
 indicates if this iterator returns multiple final points. Default return is false. Override to return true if appropriate.
 
void evaluate_parameter_sets (Model &model, bool log_resp_flag, bool log_best_flag)
 perform function evaluations to map parameter sets (allVariables) into response sets (allResponses) More...
 
void get_vbd_parameter_sets (Model &model, int num_samples)
 generate replicate parameter sets for use in variance-based decomposition More...
 
void compute_vbd_stats (const int 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...
 
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...
 

Private Member Functions

size_t expansion_samples (size_t index) const
 
unsigned short expansion_order (size_t index) const
 
unsigned short quadrature_order (size_t index) const
 
unsigned short sparse_grid_level (size_t index) const
 
size_t expansion_samples () const
 
unsigned short expansion_order () const
 
unsigned short quadrature_order () const
 
unsigned short sparse_grid_level () const
 
void update_from_specification (bool update_exp, bool update_sampler, bool update_from_ratio)
 perform specification updates (shared code from
 

Private Attributes

UShortArray expOrderSeqSpec
 user specification for expansion_order (array for multifidelity)
 
SizetArray expSamplesSeqSpec
 user specification for expansion_samples (array for multifidelity)
 
UShortArray quadOrderSeqSpec
 user request of quadrature order
 
UShortArray ssgLevelSeqSpec
 user request of sparse grid level
 
size_t sequenceIndex
 sequence index for {...}SeqSpec
 

Additional Inherited Members

- Static Protected Member Functions inherited from Iterator
static void gnewton_set_recast (const Variables &recast_vars, const ActiveSet &recast_set, ActiveSet &sub_model_set)
 conversion of request vector values for the Gauss-Newton Hessian approximation More...
 
- Protected Attributes inherited from NonDPolynomialChaos
short uSpaceType
 user requested expansion type
 
unsigned short cubIntSpec
 cubature integrand
 
bool crossValidation
 flag for use of cross-validation for selection of parameter settings in regression approaches
 
bool crossValidNoiseOnly
 flag to restrict cross-validation to only estimate the noise tolerance in order to manage computational cost
 
unsigned short maxCVOrderCandidates
 maximum number of expansion order candidates for cross-validation in regression-based PCE
 
bool respScaling
 flag for scaling response data to [0,1] for alignment with regression tols
 
String importBuildPointsFile
 user-specified file for importing build points
 
String expansionImportFile
 filename for import of chaos coefficients
 
String expansionExportFile
 filename for export of chaos coefficients
 
- Static Protected Attributes inherited from NonD
static NonDnondInstance
 pointer to the active object instance used within static evaluator functions in order to avoid the need for static data
 

Detailed Description

Nonintrusive polynomial chaos expansion approaches to uncertainty quantification.

The NonDMultilevelPolynomialChaos class uses a polynomial chaos expansion (PCE) approach to approximate the effect of parameter uncertainties on response functions of interest. It utilizes the OrthogPolyApproximation class to manage multiple types of orthogonal polynomials within a Wiener-Askey scheme to PCE. It supports PCE coefficient estimation via sampling, quadrature, point-collocation, and file import.

Constructor & Destructor Documentation

NonDMultilevelPolynomialChaos ( ProblemDescDB problem_db,
Model model 
)
NonDMultilevelPolynomialChaos ( Model model,
short  exp_coeffs_approach,
const UShortArray &  num_int_seq,
const RealVector &  dim_pref,
short  u_space_type,
short  refine_type,
short  refine_control,
short  covar_control,
short  ml_alloc_control,
short  ml_discrep,
short  rule_nest,
short  rule_growth,
bool  piecewise_basis,
bool  use_derivs 
)
NonDMultilevelPolynomialChaos ( unsigned short  method_name,
Model model,
short  exp_coeffs_approach,
const UShortArray &  exp_order_seq,
const RealVector &  dim_pref,
const SizetArray &  colloc_pts_seq,
Real  colloc_ratio,
const SizetArray &  seed_seq,
short  u_space_type,
short  refine_type,
short  refine_control,
short  covar_control,
short  ml_alloc_control,
short  ml_discrep,
bool  piecewise_basis,
bool  use_derivs,
bool  cv_flag,
const String &  import_build_pts_file,
unsigned short  import_build_format,
bool  import_build_active_only 
)

Member Function Documentation

void increment_specification_sequence ( )
protectedvirtual
void infer_pilot_sample ( size_t  num_steps,
SizetArray &  delta_N_l 
)
protectedvirtual

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