![]() |
Dakota
Version 6.19
Explore and Predict with Confidence
|
Perform Approximate Control Variate Monte Carlo sampling for UQ. More...
Public Member Functions | |
| NonDMultifidelitySampling (ProblemDescDB &problem_db, Model &model) | |
| standard constructor More... | |
| ~NonDMultifidelitySampling () | |
| destructor | |
Public Member Functions inherited from NonDNonHierarchSampling | |
| NonDNonHierarchSampling (ProblemDescDB &problem_db, Model &model) | |
| standard constructor More... | |
| ~NonDNonHierarchSampling () | |
| destructor | |
Public Member Functions inherited from NonDEnsembleSampling | |
| NonDEnsembleSampling (ProblemDescDB &problem_db, Model &model) | |
| standard constructor More... | |
| ~NonDEnsembleSampling () | |
| destructor (virtual declaration should be redundant with ~Iterator, but this is top of MLMF diamond so doesn't hurt to be explicit) | |
| bool | resize () |
| reinitializes iterator based on new variable size | |
Public Member Functions inherited from NonDSampling | |
| NonDSampling (Model &model, const RealMatrix &sample_matrix) | |
| alternate constructor for evaluating and computing statistics for the provided set of samples More... | |
| ~NonDSampling () | |
| destructor | |
| void | compute_statistics (const RealMatrix &vars_samples, const IntResponseMap &resp_samples) |
| For the input sample set, computes mean, standard deviation, and probability/reliability/response levels (aleatory uncertainties) or intervals (epsitemic or mixed uncertainties) | |
| void | compute_intervals (RealRealPairArray &extreme_fns) |
| called by compute_statistics() to calculate min/max intervals using allResponses | |
| void | compute_intervals (const IntResponseMap &samples) |
| called by compute_statistics() to calculate extremeValues from samples | |
| void | compute_intervals (RealRealPairArray &extreme_fns, const IntResponseMap &samples) |
| called by compute_statistics() to calculate min/max intervals using samples | |
| void | compute_moments (const RealVectorArray &fn_samples) |
| calculates sample moments from a matrix of observations for a set of QoI | |
| void | compute_moments (const IntResponseMap &samples) |
| calculate sample moments and confidence intervals from a map of response observations | |
| void | compute_moments (const IntResponseMap &samples, RealMatrix &moment_stats, RealMatrix &moment_grads, RealMatrix &moment_conf_ints, short moments_type, const StringArray &labels) |
| convert IntResponseMap to RealVectorArray and invoke helpers | |
| void | compute_moment_gradients (const RealVectorArray &fn_samples, const RealMatrixArray &grad_samples, const RealMatrix &moment_stats, RealMatrix &moment_grads, short moments_type) |
| compute moment_grads from function and gradient samples | |
| void | compute_moment_confidence_intervals (const RealMatrix &moment_stats, RealMatrix &moment_conf_ints, const SizetArray &sample_counts, short moments_type) |
| compute moment confidence intervals from moment values | |
| void | archive_moments (size_t inc_id=0) |
| archive moment statistics in results DB | |
| void | archive_moment_confidence_intervals (size_t inc_id=0) |
| archive moment confidence intervals in results DB | |
| void | archive_std_regress_coeffs () |
| archive standardized regression coefficients in results DB | |
| void | archive_extreme_responses (size_t inc_id=0) |
| archive extreme values (epistemic result) in results DB | |
| void | compute_level_mappings (const IntResponseMap &samples) |
| called by compute_statistics() to calculate CDF/CCDF mappings of z to p/beta and of p/beta to z as well as PDFs More... | |
| void | print_statistics (std::ostream &s) const |
| prints the statistics computed in compute_statistics() | |
| void | print_intervals (std::ostream &s) const |
| prints the intervals computed in compute_intervals() with default qoi_type and moment_labels | |
| void | print_intervals (std::ostream &s, String qoi_type, const StringArray &interval_labels) const |
| prints the intervals computed in compute_intervals() | |
| void | print_moments (std::ostream &s) const |
| prints the moments computed in compute_moments() with default qoi_type and moment_labels | |
| void | print_moments (std::ostream &s, String qoi_type, const StringArray &moment_labels) const |
| prints the moments computed in compute_moments() | |
| void | print_wilks_stastics (std::ostream &s) const |
| prints the Wilks stastics | |
| void | print_tolerance_intervals_statistics (std::ostream &s) const |
| prints the tolerance intervals stastics | |
| void | archive_tolerance_intervals (size_t inc_id=0) |
| archive the tolerance intervals statistics in results DB | |
| void | update_final_statistics () |
| update finalStatistics from minValues/maxValues, momentStats, and computedProbLevels/computedRelLevels/computedRespLevels | |
| void | transform_samples (Model &src_model, Model &tgt_model, bool x_to_u=true) |
| transform allSamples using configuration data from the source and target models | |
| void | transform_samples (Pecos::ProbabilityTransformation &nataf, bool x_to_u=true) |
| alternate version to transform allSamples. This is needed since random variable distribution parameters are not updated until run time and an imported sample_matrix is typically in x-space. More... | |
| void | transform_samples (Pecos::ProbabilityTransformation &nataf, RealMatrix &sample_matrix, bool x_to_u=true) |
| transform the specified samples matrix from x to u or u to x, assuming identical view and ids | |
| void | transform_samples (Pecos::ProbabilityTransformation &nataf, RealMatrix &sample_matrix, SizetMultiArrayConstView src_cv_ids, SizetMultiArrayConstView tgt_cv_ids, bool x_to_u=true) |
| transform the specified samples matrix from x to u or u to x | |
| unsigned short | sampling_scheme () const |
| return sampleType | |
| const String & | random_number_generator () const |
| return rngName | |
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 | |
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 | derived_free_communicators (ParLevLIter pl_iter) |
| derived class contributions to freeing the communicators associated with this Iterator instance | |
| 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_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) | |
| 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 bool | accepts_multiple_points () const |
| indicates if this iterator accepts multiple initial points. Default return is false. Override to return true if appropriate. | |
| virtual void | initial_point (const Variables &pt) |
| sets the initial point for this iterator (user-functions mode for which Model updating is not used) | |
| virtual void | initial_point (const RealVector &pt) |
| sets the initial point (active continuous variables) for this iterator (user-functions mode for which Model updating is not used) | |
| virtual void | initial_points (const VariablesArray &pts) |
| sets the multiple initial points for this iterator. This should only be used if accepts_multiple_points() returns true. | |
| virtual void | update_callback_data (const RealVector &cv_initial, const RealVector &cv_lower_bnds, const RealVector &cv_upper_bnds, const RealMatrix &lin_ineq_coeffs, const RealVector &lin_ineq_lb, const RealVector &lin_ineq_ub, const RealMatrix &lin_eq_coeffs, const RealVector &lin_eq_tgt, const RealVector &nln_ineq_lb, const RealVector &nln_ineq_ub, const RealVector &nln_eq_tgt) |
| assign variable values and bounds and constraint coefficients and bounds for this iterator (user-functions mode for which iteratedModel is null) | |
| virtual const RealMatrix & | callback_linear_ineq_coefficients () const |
| return linear constraint coefficients for this iterator (user-functions mode for which iteratedModel is null) | |
| virtual const RealVector & | callback_linear_ineq_lower_bounds () const |
| return linear constraint lower bounds for this iterator (user-functions mode for which iteratedModel is null) | |
| virtual const RealVector & | callback_linear_ineq_upper_bounds () const |
| return linear constraint upper bounds for this iterator (user-functions mode for which iteratedModel is null) | |
| virtual void | initialize_graphics (int iterator_server_id=1) |
| initialize the 2D graphics window and the tabular graphics data More... | |
| virtual void | check_sub_iterator_conflict () |
| detect any conflicts due to recursive use of the same Fortran solver More... | |
| virtual void | sampling_increment () |
| increment to next in sequence of refinement samples | |
| 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 | |
| void | core_run () |
| core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post More... | |
| Real | estimator_accuracy_metric () |
| void | print_variance_reduction (std::ostream &s) |
| void | estimator_variance_ratios (const RealVector &r_and_N, RealVector &estvar_ratios) |
| compute estimator variance ratios from HF samples and oversample ratios | |
| void | augment_linear_ineq_constraints (RealMatrix &lin_ineq_coeffs, RealVector &lin_ineq_lb, RealVector &lin_ineq_ub) |
| augment linear inequality constraints as required by derived algorithm | |
| Real | augmented_linear_ineq_violations (const RealVector &cd_vars, const RealMatrix &lin_ineq_coeffs, const RealVector &lin_ineq_lb, const RealVector &lin_ineq_ub) |
| return quadratic constraint violation for augment linear inequality constraints | |
| void | multifidelity_mc () |
| void | multifidelity_mc_offline_pilot () |
| void | multifidelity_mc_pilot_projection () |
| void | mfmc_eval_ratios (const RealMatrix &var_L, const RealMatrix &rho2_LH, const RealVector &cost, SizetArray &approx_sequence, DAGSolutionData &soln) |
| void | mfmc_numerical_solution (const RealMatrix &var_L, const RealMatrix &rho2_LH, const RealVector &cost, SizetArray &approx_sequence, DAGSolutionData &soln) |
| void | approx_increments (IntRealMatrixMap &sum_L_baseline, IntRealVectorMap &sum_H, IntRealMatrixMap &sum_LL, IntRealMatrixMap &sum_LH, const SizetArray &N_H_actual, size_t N_H_alloc, const SizetArray &approx_sequence, const DAGSolutionData &soln) |
| bool | mfmc_approx_increment (const DAGSolutionData &soln, const Sizet2DArray &N_L_actual_refined, SizetArray &N_L_alloc_refined, size_t iter, const SizetArray &approx_sequence, size_t start, size_t end) |
| void | update_hf_target (const RealVector &cost, DAGSolutionData &soln) |
| void | update_hf_target (const RealMatrix &rho2_LH, const SizetArray &approx_sequence, const RealVector &var_H, const RealVector &estvar_iter0, RealVector &estvar_ratios, DAGSolutionData &soln) |
| void | mfmc_estimator_variance (const RealMatrix &rho2_LH, const RealVector &var_H, const SizetArray &N_H, const SizetArray &approx_sequence, RealVector &estvar_ratios, DAGSolutionData &soln) |
| void | mfmc_estvar_ratios (const RealMatrix &rho2_LH, const SizetArray &approx_sequence, const RealVector &avg_eval_ratios, RealVector &estvar_ratios) |
Protected Member Functions inherited from NonDNonHierarchSampling | |
| void | pre_run () |
| pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a priori More... | |
| unsigned short | uses_method () const |
| return name of active optimizer method | |
| void | method_recourse (unsigned short method_name) |
| perform a numerical solver method switch due to a detected conflict | |
| virtual void | numerical_solution_counts (size_t &num_cdv, size_t &num_lin_con, size_t &num_nln_con) |
| virtual void | numerical_solution_bounds_constraints (const DAGSolutionData &soln, const RealVector &cost, Real avg_N_H, RealVector &x0, RealVector &x_lb, RealVector &x_ub, RealVector &lin_ineq_lb, RealVector &lin_ineq_ub, RealVector &lin_eq_tgt, RealVector &nln_ineq_lb, RealVector &nln_ineq_ub, RealVector &nln_eq_tgt, RealMatrix &lin_ineq_coeffs, RealMatrix &lin_eq_coeffs) |
| virtual void | finite_solution_bounds (const RealVector &cost, Real avg_N_H, RealVector &x_lb, RealVector &x_ub) |
| When looping through a minimizer sequence/competition, this function enables per-minimizer updates to the parameter bounds, e.g. for providing a bounded domain for methods that require it, while removing it for those that don't. | |
| virtual void | recover_results (const RealVector &cv_star, const RealVector &fn_star, Real &avg_estvar, RealVector &avg_eval_ratios, Real &avg_hf_target, Real &equiv_hf_cost) |
| post-process optimization final results to recover solution data | |
| virtual Real | linear_cost (const RealVector &N_vec) |
| constraint helper function shared by NPSOL/OPT++ static evaluators | |
| virtual Real | nonlinear_cost (const RealVector &r_and_N) |
| constraint helper function shared by NPSOL/OPT++ static evaluators | |
| virtual void | linear_cost_gradient (const RealVector &N_vec, RealVector &grad_c) |
| constraint gradient helper fn shared by NPSOL/OPT++ static evaluators | |
| virtual void | nonlinear_cost_gradient (const RealVector &r_and_N, RealVector &grad_c) |
| constraint gradient helper fn shared by NPSOL/OPT++ static evaluators | |
| virtual size_t | num_approximations () const |
| void | shared_increment (size_t iter) |
| void | shared_increment (size_t iter, const UShortArray &approx_set) |
| void | shared_approx_increment (size_t iter) |
| bool | approx_increment (size_t iter, const SizetArray &approx_sequence, size_t start, size_t end) |
| bool | approx_increment (size_t iter, const SizetArray &approx_sequence, size_t start, size_t end, const UShortArray &approx_set) |
| bool | approx_increment (size_t iter, unsigned short root, const UShortSet &reverse_dag) |
| void | ensemble_sample_increment (size_t iter, size_t step) |
| void | assign_active_key (bool multilev) |
| void | recover_online_cost (RealVector &seq_cost) |
| recover estimates of simulation cost using aggregated response metadata | |
| void | initialize_sums (IntRealMatrixMap &sum_L_baseline, IntRealVectorMap &sum_H, IntRealMatrixMap &sum_LH, RealVector &sum_HH) |
| void | initialize_counts (Sizet2DArray &num_L_baseline, SizetArray &num_H, Sizet2DArray &num_LH) |
| void | finalize_counts (Sizet2DArray &N_L_actual, SizetArray &N_L_alloc) |
| Real | compute_equivalent_cost (Real avg_hf_target, const RealVector &avg_eval_ratios, const RealVector &cost) |
| Real | compute_equivalent_cost (Real avg_hf_target, const RealVector &avg_eval_ratios, const RealVector &cost, const UShortArray &approx_set) |
| void | increment_equivalent_cost (size_t new_samp, const RealVector &cost, size_t index, Real &equiv_hf_evals) |
| void | increment_equivalent_cost (size_t new_samp, const RealVector &cost, size_t start, size_t end, Real &equiv_hf_evals) |
| void | increment_equivalent_cost (size_t new_samp, const RealVector &cost, const SizetArray &approx_sequence, size_t start, size_t end, Real &equiv_hf_evals) |
| void | increment_equivalent_cost (size_t new_samp, const RealVector &cost, const SizetArray &approx_sequence, size_t start, size_t end, const UShortArray &approx_set, Real &equiv_hf_evals) |
| void | increment_equivalent_cost (size_t new_samp, const RealVector &cost, unsigned short root, const UShortSet &reverse_dag, Real &equiv_hf_evals) |
| void | increment_equivalent_cost (size_t new_samp, const RealVector &cost, unsigned short root, const UShortArray &approx_set, Real &equiv_hf_evals) |
| void | increment_sample_range (SizetArray &N_L, size_t incr, const SizetArray &approx_sequence, size_t start, size_t end) |
| void | increment_sample_range (SizetArray &N_L, size_t incr, unsigned short root, const UShortSet &reverse_dag) |
| void | increment_sample_range (SizetArray &N_L, size_t incr, const SizetArray &approx_sequence, size_t start, size_t end, const UShortArray &approx_set) |
| void | hf_indices (size_t &hf_form_index, size_t &hf_lev_index) |
| define model form and resolution level indices | |
| void | compute_variance (Real sum_Q, Real sum_QQ, size_t num_Q, Real &var_Q) |
| void | compute_variance (const RealVector &sum_Q, const RealVector &sum_QQ, const SizetArray &num_Q, RealVector &var_Q) |
| void | compute_correlation (Real sum_Q1, Real sum_Q2, Real sum_Q1Q1, Real sum_Q1Q2, Real sum_Q2Q2, size_t N_shared, Real &var_Q1, Real &var_Q2, Real &rho2_Q1Q2) |
| void | compute_covariance (Real sum_Q1, Real sum_Q2, Real sum_Q1Q2, size_t N_shared, Real &cov_Q1Q2) |
| void | mfmc_analytic_solution (const UShortArray &approx_set, const RealMatrix &rho2_LH, const RealVector &cost, DAGSolutionData &soln, bool monotonic_r=false) |
| void | mfmc_reordered_analytic_solution (const UShortArray &approx_set, const RealMatrix &rho2_LH, const RealVector &cost, SizetArray &approx_sequence, DAGSolutionData &soln, bool monotonic_r=false) |
| void | ensemble_numerical_solution (const RealVector &cost, DAGSolutionData &soln, size_t &num_samples) |
| void | configure_minimizers (const RealVector &cost, Real avg_N_H, RealVector &x0, RealVector &x_lb, RealVector &x_ub, RealVector &lin_ineq_lb, RealVector &lin_ineq_ub, RealVector &lin_eq_tgt, RealVector &nln_ineq_lb, RealVector &nln_ineq_ub, RealVector &nln_eq_tgt, RealMatrix &lin_ineq_coeffs, RealMatrix &lin_eq_coeffs) |
| void | run_minimizers (DAGSolutionData &soln) |
| Real | allocate_budget (const RealVector &avg_eval_ratios, const RealVector &cost) |
| Real | allocate_budget (const UShortArray &approx_set, const RealVector &avg_eval_ratios, const RealVector &cost) |
| void | scale_to_budget_with_pilot (RealVector &avg_eval_ratios, const RealVector &cost, Real avg_N_H) |
| Real | average_estimator_variance (const RealVector &cd_vars) |
| helper function that supports optimization APIs passing design variables | |
| void | print_estimator_performance (std::ostream &s, const DAGSolutionData &soln) |
| helper function that supports virtual print_variance_reduction(s) | |
| void | r_and_N_to_N_vec (const RealVector &avg_eval_ratios, Real N_H, RealVector &N_vec) |
| void | r_and_N_to_design_vars (const RealVector &avg_eval_ratios, Real N_H, RealVector &cd_vars) |
| bool | ordered_approx_sequence (const RealVector &metric, SizetArray &approx_sequence, bool descending_keys=false) |
| define approx_sequence in increasing metric order | |
| bool | ordered_approx_sequence (const RealMatrix &metric) |
| determine whether metric is in increasing order by columns for all rows | |
| bool | ordered_approx_sequence (const RealMatrix &metric, const UShortArray &approx_set) |
| determine whether metric is in increasing order by active columns for all rows | |
| void | apply_control (Real sum_L_shared, size_t num_shared, Real sum_L_refined, size_t num_refined, Real beta, Real &H_raw_mom) |
| void | inflate (size_t N_0D, SizetArray &N_1D) |
| promote scalar to 1D array | |
| void | inflate (size_t N_0D, SizetArray &N_1D, const UShortArray &approx_set) |
| promote scalar to portion of 1D array | |
| void | inflate (const SizetArray &N_1D, Sizet2DArray &N_2D) |
| promote 1D array to 2D array | |
| void | inflate (const SizetArray &N_1D, Sizet2DArray &N_2D, const UShortArray &approx_set) |
| promote 1D array to active portion of 2D array | |
| void | inflate (const RealVector &avg_eval_ratios, RealMatrix &eval_ratios) |
| promote vector of averaged values to full matrix | |
| void | inflate (Real r_i, size_t num_rows, Real *eval_ratios_col) |
| promote scalar to column vector | |
| Real | nh_penalty_merit (const RealVector &c_vars, const RealVector &fn_vals) |
| compute a penalty merit function after an optimization solve | |
| Real | nh_penalty_merit (const DAGSolutionData &soln) |
| compute a penalty merit function after a DAGSolutionData instance | |
Protected Member Functions inherited from NonDEnsembleSampling | |
| 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 | print_results (std::ostream &s, short results_state=FINAL_RESULTS) |
| print the final iterator results More... | |
| void | initialize_final_statistics () |
| initializes finalStatistics for storing NonD final results More... | |
| void | update_final_statistics () |
| update finalStatistics::functionValues | |
| bool | seed_updated () |
| void | active_set_mapping () |
| in the case of sub-iteration, map from finalStatistics.active_set() requests to activeSet used in evaluate_parameter_sets() More... | |
| Real | estimator_cost_metric () |
| return cost metric for entry into finalStatistics | |
| void | assign_specification_sequence (size_t index) |
| advance any sequence specifications | |
| int | seed_sequence (size_t index) |
| extract current random seed from randomSeedSeqSpec More... | |
| void | resize_active_set () |
| synchronize activeSet with iteratedModel's response size | |
| void | increment_samples (SizetArray &N_l, size_t incr) |
| increment samples array with a shared scalar | |
| void | increment_samples (Sizet2DArray &N_l, const SizetArray &incr) |
| increment 2D samples array with a shared 1D array (additional dim is QoI) | |
| void | compute_mc_estimator_variance (const RealVector &var_l, const SizetArray &N_l, RealVector &mc_est_var) |
| compute the variance of the mean estimator (Monte Carlo sample average) | |
| void | project_mc_estimator_variance (const RealVector &var_l, const SizetArray &N_l, size_t new_samp, RealVector &mc_est_var) |
| compute the variance of the mean estimator (Monte Carlo sample average) after projection with additional samples (var_l remains fixed) | |
| void | estvar_ratios_to_avg_estvar (const RealVector &estvar_ratios, const RealVector &var_H, const SizetArray &N_H, Real &avg_est_var) |
| convert estimator variance ratios to average estimator variance | |
| void | compute_mf_control (Real sum_L, Real sum_H, Real sum_LL, Real sum_LH, size_t N_shared, Real &beta) |
| compute scalar control variate parameters | |
| void | compute_mf_control (const RealMatrix &sum_L, const RealMatrix &sum_H, const RealMatrix &sum_LL, const RealMatrix &sum_LH, const SizetArray &N_shared, size_t lev, RealVector &beta) |
| compute matrix control variate parameters | |
| void | compute_mf_control (const RealVector &sum_L, const RealVector &sum_H, const RealVector &sum_LL, const RealVector &sum_LH, const SizetArray &N_shared, RealVector &beta) |
| compute vector control variate parameters | |
| void | export_all_samples (String root_prepend, const Model &model, size_t iter, size_t step) |
| export allSamples to tagged tabular file | |
| void | convert_moments (const RealMatrix &raw_mom, RealMatrix &final_mom) |
| convert uncentered raw moments (multilevel expectations) to standardized moments | |
Protected Member Functions inherited from NonDSampling | |
| NonDSampling (ProblemDescDB &problem_db, Model &model) | |
| constructor More... | |
| NonDSampling (unsigned short method_name, Model &model, unsigned short sample_type, size_t samples, int seed, const String &rng, bool vary_pattern, short sampling_vars_mode) | |
| alternate constructor for sample generation and evaluation "on the fly" More... | |
| NonDSampling (unsigned short sample_type, size_t samples, int seed, const String &rng, const RealVector &lower_bnds, const RealVector &upper_bnds) | |
| alternate constructor for sample generation "on the fly" More... | |
| NonDSampling (unsigned short sample_type, size_t samples, int seed, const String &rng, const RealVector &means, const RealVector &std_devs, const RealVector &lower_bnds, const RealVector &upper_bnds, RealSymMatrix &correl) | |
| alternate constructor for sample generation of correlated normals "on the fly" More... | |
| void | pre_run () |
| pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a priori More... | |
| void | core_run () |
| size_t | num_samples () const |
| void | sampling_reset (size_t min_samples, bool all_data_flag, bool stats_flag) |
| resets number of samples and sampling flags More... | |
| void | sampling_reference (size_t samples_ref) |
| set reference number of samples, which is a lower bound during reset | |
| void | random_seed (int seed) |
| assign randomSeed | |
| void | vary_pattern (bool pattern_flag) |
| set varyPattern | |
| void | get_parameter_sets (Model &model) |
| Uses lhsDriver to generate a set of samples from the distributions/bounds defined in the incoming model. More... | |
| void | get_parameter_sets (Model &model, const size_t num_samples, RealMatrix &design_matrix) |
| Uses lhsDriver to generate a set of samples from the distributions/bounds defined in the incoming model and populates the specified design matrix. More... | |
| void | get_parameter_sets (Model &model, const size_t num_samples, RealMatrix &design_matrix, bool write_msg) |
| core of get_parameter_sets that accepts message print control | |
| void | get_parameter_sets (const RealVector &lower_bnds, const RealVector &upper_bnds) |
| Uses lhsDriver to generate a set of uniform samples over lower_bnds/upper_bnds. More... | |
| void | get_parameter_sets (const RealVector &means, const RealVector &std_devs, const RealVector &lower_bnds, const RealVector &upper_bnds, RealSymMatrix &correl) |
| Uses lhsDriver to generate a set of normal samples. More... | |
| void | update_model_from_sample (Model &model, const Real *sample_vars) |
| Override default update of continuous vars only. | |
| void | sample_to_variables (const Real *sample_vars, Variables &vars) |
| override default mapping of continuous variables only | |
| void | variables_to_sample (const Variables &vars, Real *sample_vars) |
| override default mapping of continuous variables only | |
| const RealSymMatrix & | response_error_estimates () const |
| return error estimates associated with each of the finalStatistics | |
| void | initialize_sample_driver (bool write_message, size_t num_samples) |
| increments numLHSRuns, sets random seed, and initializes lhsDriver | |
| void | mode_counts (const Variables &vars, size_t &cv_start, size_t &num_cv, size_t &div_start, size_t &num_div, size_t &dsv_start, size_t &num_dsv, size_t &drv_start, size_t &num_drv) const |
| compute sampled subsets (all, active, uncertain) within all variables (acv/adiv/adrv) from samplingVarsMode and model More... | |
| void | mode_bits (const Variables &vars, BitArray &active_vars, BitArray &active_corr) const |
| define subset views for sampling modes | |
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 | derived_set_communicators (ParLevLIter pl_iter) |
| derived class contributions to setting the communicators associated with this Iterator instance | |
| 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_response_covariance () |
| initializes respCovariance | |
| 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 | update_model_from_variables (Model &model, const Variables &vars) |
| update model's current variables with data from vars | |
| void | update_from_model (const Model &model) |
| set inherited data attributes based on extractions from incoming model | |
| void | pre_output () |
| const Model & | algorithm_space_model () const |
| const Variables & | variables_results () const |
| return a single final iterator solution (variables) | |
| const VariablesArray & | variables_array_results () |
| return multiple final iterator solutions (variables). This should only be used if returns_multiple_points() returns true. | |
| const ResponseArray & | response_array_results () |
| return multiple final iterator solutions (response). This should only be used if returns_multiple_points() returns true. | |
| bool | compact_mode () const |
| returns Analyzer::compactMode | |
| bool | returns_multiple_points () const |
| indicates if this iterator returns multiple final points. Default return is false. Override to return true if appropriate. | |
| void | evaluate_parameter_sets (Model &model, bool log_resp_flag, bool log_best_flag) |
| perform function evaluations to map parameter sets (allVariables) into response sets (allResponses) More... | |
| void | get_vbd_parameter_sets (Model &model, size_t num_samples) |
| generate replicate parameter sets for use in variance-based decomposition More... | |
| virtual void | archive_model_variables (const Model &, size_t idx) const |
| archive model evaluation points | |
| virtual void | archive_model_response (const Response &, size_t idx) const |
| archive model evaluation responses | |
| void | read_variables_responses (int num_evals, size_t num_vars) |
| convenience function for reading variables/responses (used in derived classes post_input) More... | |
| void | samples_to_variables_array (const RealMatrix &sample_matrix, VariablesArray &vars_array) |
| convert samples array to variables array; e.g., allSamples to allVariables | |
| 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 void | derived_init_communicators (ParLevLIter pl_iter) |
| derived class contributions to initializing the communicators associated with this Iterator instance | |
| 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 | |
| void | initialize_mf_sums (IntRealMatrixMap &sum_L_baseline, IntRealVectorMap &sum_H, IntRealMatrixMap &sum_LL, IntRealMatrixMap &sum_LH, RealVector &sum_HH) |
| void | accumulate_mf_sums (IntRealMatrixMap &sum_L_baseline, IntRealVectorMap &sum_H, IntRealMatrixMap &sum_LL, IntRealMatrixMap &sum_LH, RealVector &sum_HH, SizetArray &N_shared) |
| void | accumulate_mf_sums (RealMatrix &sum_L_baseline, RealVector &sum_H, RealMatrix &sum_LL, RealMatrix &sum_LH, RealVector &sum_HH, SizetArray &N_shared) |
| void | accumulate_mf_sums (IntRealMatrixMap &sum_L_shared, IntRealMatrixMap &sum_L_refined, Sizet2DArray &num_L_shared, Sizet2DArray &num_L_refined, const SizetArray &approx_sequence, size_t sequence_start, size_t sequence_end) |
| void | compute_LH_correlation (const RealMatrix &sum_L_shared, const RealVector &sum_H, const RealMatrix &sum_LL, const RealMatrix &sum_LH, const RealVector &sum_HH, const SizetArray &N_shared, RealMatrix &var_L, RealVector &var_H, RealMatrix &rho2_LH) |
| void | correlation_sq_to_covariance (const RealMatrix &rho2_LH, const RealMatrix &var_L, const RealVector &var_H, RealMatrix &cov_LH) |
| void | matrix_to_diagonal_array (const RealMatrix &var_L, RealSymMatrixArray &cov_LL) |
| void | mf_raw_moments (IntRealMatrixMap &sum_L_baseline, IntRealMatrixMap &sum_L_shared, IntRealMatrixMap &sum_L_refined, IntRealVectorMap &sum_H, IntRealMatrixMap &sum_LL, IntRealMatrixMap &sum_LH, const Sizet2DArray &num_L_shared, const Sizet2DArray &num_L_refined, const SizetArray &num_H, RealMatrix &H_raw_mom) |
| void | update_projected_lf_samples (const DAGSolutionData &soln, const SizetArray &N_H_actual, size_t &N_H_alloc, Real &delta_equiv_hf) |
| void | update_projected_samples (const DAGSolutionData &soln, const SizetArray &N_H_actual, size_t &N_H_alloc, size_t &delta_N_H_actual, Real &delta_equiv_hf) |
Private Attributes | |
| SizetArray | approxSequence |
| tracks ordering of a metric (correlations, eval ratios) across set of approximations | |
| RealVector | estVarRatios |
| ratio of MFMC to MC estimator variance for the same HF samples, also known as (1 - R^2) | |
| unsigned short | numericalSolveMode |
| controls use of numerical solve option: either a fallback in case of model misordering (default = NUMERICAL_FALLBACK) or override for robustness, e.g., to pilot over-estimation (NUMERICAL_OVERRIDE) | |
| DAGSolutionData | mfmcSolnData |
| final solution data for MFMC (default DAG = 1,2,...,numApprox) | |
Additional Inherited Members | |
Static Public Member Functions inherited from NonDSampling | |
| static void | compute_moments (const RealVectorArray &fn_samples, SizetArray &sample_counts, RealMatrix &moment_stats, short moments_type, const StringArray &labels) |
| core compute_moments() implementation with all data as inputs | |
| static void | compute_moments (const RealVectorArray &fn_samples, RealMatrix &moment_stats, short moments_type) |
| core compute_moments() implementation with all data as inputs | |
| static void | compute_moments (const RealMatrix &fn_samples, RealMatrix &moment_stats, short moments_type) |
| alternate RealMatrix samples API for use by external clients | |
| static void | print_moments (std::ostream &s, const RealMatrix &moment_stats, const RealMatrix moment_cis, String qoi_type, short moments_type, const StringArray &moment_labels, bool print_cis) |
| core print moments that can be called without object | |
| static int | compute_wilks_sample_size (unsigned short order, Real alpha, Real beta, bool twosided=false) |
| calculates the number of samples using the Wilks formula Static so I can test without instantiating a NonDSampling object - RWH | |
| static Real | compute_wilks_residual (unsigned short order, int nsamples, Real alpha, Real beta, bool twosided) |
| Helper function - calculates the Wilks residual. | |
| static Real | compute_wilks_alpha (unsigned short order, int nsamples, Real beta, bool twosided=false) |
| calculates the alpha paramter given number of samples using the Wilks formula Static so I can test without instantiating a NonDSampling object - RWH | |
| static Real | compute_wilks_beta (unsigned short order, int nsamples, Real alpha, bool twosided=false) |
| calculates the beta parameter given number of samples using the Wilks formula Static so I can test without instantiating a NonDSampling object - RWH | |
| static Real | get_wilks_alpha_min () |
| Get the lower and upper bounds supported by Wilks bisection solves. | |
| static Real | get_wilks_alpha_max () |
| static Real | get_wilks_beta_min () |
| static Real | get_wilks_beta_max () |
Static Protected Member Functions inherited from NonDEnsembleSampling | |
| static void | uncentered_to_centered (Real rm1, Real rm2, Real rm3, Real rm4, Real &cm1, Real &cm2, Real &cm3, Real &cm4, size_t Nlq) |
| convert uncentered (raw) moments to centered moments; biased estimators More... | |
| static void | uncentered_to_centered (Real rm1, Real rm2, Real rm3, Real rm4, Real &cm1, Real &cm2, Real &cm3, Real &cm4) |
| convert uncentered (raw) moments to centered moments; unbiased estimators More... | |
| static void | centered_to_standard (Real cm1, Real cm2, Real cm3, Real cm4, Real &sm1, Real &sm2, Real &sm3, Real &sm4) |
| convert centered moments to standardized moments | |
| static void | check_negative (Real &cm) |
| detect, warn, and repair a negative central moment (for even orders) | |
| static Real | sum (const Real *vec, size_t vec_len) |
| compute sum of a set of observations | |
| static Real | average (const Real *vec, size_t vec_len) |
| compute average of a set of observations | |
| static Real | average (const RealVector &vec) |
| compute average of a set of observations | |
| static Real | average (const SizetArray &sa) |
| compute average of a set of observations | |
| static void | average (const RealMatrix &mat, size_t avg_index, RealVector &avg_vec) |
| compute row-averages for each column or column-averages for each row | |
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 NonDNonHierarchSampling | |
| Iterator2DArray | varianceMinimizers |
| the minimizer(s) used to optimize the estimator variance over the number of truth model samples and approximation eval_ratios. Minimizers are arranged in a sequence (first dimension) where each step in the sequence may have multiple competitors (second dimension) | |
| SizetSizetPair | varMinIndices |
| active indices for numerical solutions: varianceMinimizers[first][second] | |
| unsigned short | mlmfSubMethod |
| variance minimization algorithm selection: SUBMETHOD_MFMC or SUBMETHOD_ACV_{IS,MF,KL} | |
| size_t | numApprox |
| number of approximation models managed by non-hierarchical iteratedModel | |
| short | optSubProblemForm |
| formulation for optimization sub-problem that minimizes R^2 subject to different variable sets and different linear/nonlinear constraints | |
| unsigned short | optSubProblemSolver |
| SQP or NIP. | |
| bool | truthFixedByPilot |
| user specification to suppress any increments in the number of HF evaluations (e.g., because too expensive and no more can be performed) | |
| RealMatrix | covLH |
| covariances between each LF approximation and HF truth (the c vector in ACV); organized numFunctions x numApprox | |
| RealSymMatrixArray | covLL |
| covariances among all LF approximations (the C matrix in ACV); organized as a numFunctions array of symmetic numApprox x numApprox matrices | |
| RealMatrix | rho2LH |
| squared Pearson correlations among approximations and truth | |
| size_t | deltaNActualHF |
| for sample projections, the calculated increment in HF samples that would be evaluated if full iteration/statistics were pursued | |
| SizetArray | numHIter0 |
| number of successful pilot evaluations of HF truth model (exclude faults) | |
Protected Attributes inherited from NonDEnsembleSampling | |
| size_t | numSteps |
| number of model forms/resolution in the (outer) sequence | |
| short | sequenceType |
| type of model sequence enumerated with primary MF/ACV loop over steps | |
| size_t | secondaryIndex |
| setting for the inactive model dimension not traversed by primary MF/ACV loop over steps | |
| RealVector | sequenceCost |
| relative costs of model forms/resolution levels within a 1D sequence | |
| Sizet3DArray | NLevActual |
| total number of successful sample evaluations (excluding faults) for each model form, discretization level, and QoI | |
| Sizet2DArray | NLevAlloc |
| total number of allocated sample evaluations (prior to any faults) for each model form and discretization level (same for all QoI) | |
| SizetArray | pilotSamples |
| store the pilot_samples input specification, prior to run-time invocation of load_pilot_sample() | |
| short | pilotMgmtMode |
| enumeration for pilot management modes: ONLINE_PILOT (default), OFFLINE_PILOT, PILOT_PROJECTION | |
| bool | onlineCost |
| indicates use of online cost recovery rather than offline user-specified cost ratios | |
| SizetSizetPairArray | costMetadataIndices |
| indices of cost data within response metadata, one per model form | |
| SizetArray | randomSeedSeqSpec |
| user specification for seed_sequence | |
| size_t | mlmfIter |
| major iteration counter | |
| bool | backfillFailures |
| (inactive) option to backfill simulation failures by comparing targets against successful sample completions rather than sample allocations | |
| Real | equivHFEvals |
| equivalent number of high fidelity evaluations accumulated using samples across multiple model forms and/or discretization levels | |
| Real | deltaEquivHF |
| for sample projections, the calculated increment in equivHFEvals that would be incurred if full iteration/statistics were needed | |
| RealVector | varH |
| variances for HF truth (length numFunctions) | |
| RealVector | estVarIter0 |
| initial estimator variance from shared pilot (no CV reduction) | |
| short | finalStatsType |
| QOI_STATISTICS (moments, level mappings) or ESTIMATOR_PERFORMANCE (for model tuning of estVar,equivHFEvals by an outer loop) | |
| bool | exportSampleSets |
| if defined, export each of the sample increments in ML, CV, MLCV using tagged tabular files | |
| unsigned short | exportSamplesFormat |
| format for exporting sample increments using tagged tabular files | |
Protected Attributes inherited from NonDSampling | |
| int | seedSpec |
| the user seed specification (default is 0) | |
| int | randomSeed |
| the current seed | |
| const int | samplesSpec |
| initial specification of number of samples | |
| size_t | samplesRef |
| reference number of samples updated for refinement | |
| size_t | numSamples |
| the current number of samples to evaluate | |
| String | rngName |
| name of the random number generator | |
| unsigned short | sampleType |
| the sample type: default, random, lhs, incremental random, or incremental lhs | |
| bool | wilksFlag |
| flags use of Wilks formula to calculate num samples | |
| unsigned short | wilksOrder |
| Real | wilksAlpha |
| Real | wilksBeta |
| short | wilksSidedness |
| RealMatrix | momentGrads |
| gradients of standardized or central moments of response functions, as determined by finalMomentsType. Calculated in compute_moments() and indexed as (var,moment) when moment id runs from 1:2*numFunctions. | |
| RealSymMatrix | finalStatErrors |
| standard errors (estimator std deviation) for each of the finalStatistics | |
| int | samplesIncrement |
| current increment in a sequence of samples | |
| Pecos::LHSDriver | lhsDriver |
| the C++ wrapper for the F90 LHS library | |
| size_t | numLHSRuns |
| counter for number of sample set generations | |
| bool | stdRegressionCoeffs |
| flags computation/output of standardized regression coefficients | |
| bool | toleranceIntervalsFlag |
| flags of double sided tolerance interval equivalent normal | |
| Real | tiCoverage |
| coverage to be used in the calculation of the double sided tolerance interval equivaluent normal | |
| Real | tiConfidenceLevel |
| confidence interval to be used in the calculation of the double sided tolerance interval equivalent normal | |
| size_t | tiNumValidSamples |
| RealVector | tiDstienMus |
| Real | tiDeltaMultiplicativeFactor |
| RealVector | tiSampleSigmas |
| RealVector | tiDstienSigmas |
| bool | statsFlag |
| flags computation/output of statistics | |
| bool | allDataFlag |
| flags update of allResponses (allVariables or allSamples already defined) | |
| short | samplingVarsMode |
| the sampling mode: ALEATORY_UNCERTAIN{,_UNIFORM}, EPISTEMIC_UNCERTAIN{,_UNIFORM}, UNCERTAIN{,_UNIFORM}, ACTIVE{,_UNIFORM}, or ALL{,_UNIFORM}. This is a secondary control on top of the variables view that allows sampling over subsets of variables that may differ from the view. | |
| short | sampleRanksMode |
| mode for input/output of LHS sample ranks: IGNORE_RANKS, GET_RANKS, SET_RANKS, or SET_GET_RANKS | |
| bool | varyPattern |
| flag for generating a sequence of seed values within multiple get_parameter_sets() calls so that these executions (e.g., for SBO/SBNLS) are not repeated, but are still repeatable | |
| RealMatrix | sampleRanks |
| data structure to hold the sample ranks | |
| SensAnalysisGlobal | nonDSampCorr |
| initialize statistical post processing | |
| bool | backfillDuplicates |
| flags whether to use backfill to enforce uniqueness of discrete LHS samples | |
| RealRealPairArray | extremeValues |
| Minimum and maximum values of response functions for epistemic calculations (calculated in compute_intervals()),. | |
| bool | functionMomentsComputed |
| Function moments have been computed; used to determine whether to archive the moments. | |
Protected Attributes inherited from NonD | |
| NonD * | prevNondInstance |
| pointer containing previous value of nondInstance | |
| size_t | startCAUV |
| starting index of continuous aleatory uncertain variables within active continuous variables (convenience for managing offsets) | |
| size_t | numCAUV |
| number of active continuous aleatory uncertain variables | |
| bool | epistemicStats |
| flag for computing interval-type metrics instead of integrated metrics If any epistemic vars are active in a metric evaluation, then flag is set. | |
| RealMatrix | momentStats |
| standardized or central resp moments, as determined by finalMomentsType. Calculated in compute_moments()) and indexed as (moment,fn). | |
| RealVectorArray | requestedRespLevels |
| requested response levels for all response functions | |
| RealVectorArray | computedProbLevels |
| output probability levels for all response functions resulting from requestedRespLevels | |
| RealVectorArray | computedRelLevels |
| output reliability levels for all response functions resulting from requestedRespLevels | |
| RealVectorArray | computedGenRelLevels |
| output generalized reliability levels for all response functions resulting from requestedRespLevels | |
| short | respLevelTarget |
| indicates mapping of z->p (PROBABILITIES), z->beta (RELIABILITIES), or z->beta* (GEN_RELIABILITIES) | |
| short | respLevelTargetReduce |
| indicates component or system series/parallel failure metrics | |
| RealVectorArray | requestedProbLevels |
| requested probability levels for all response functions | |
| RealVectorArray | requestedRelLevels |
| requested reliability levels for all response functions | |
| RealVectorArray | requestedGenRelLevels |
| requested generalized reliability levels for all response functions | |
| RealVectorArray | computedRespLevels |
| output response levels for all response functions resulting from requestedProbLevels, requestedRelLevels, or requestedGenRelLevels | |
| size_t | totalLevelRequests |
| total number of levels specified within requestedRespLevels, requestedProbLevels, and requestedRelLevels | |
| bool | cdfFlag |
| flag for type of probabilities/reliabilities used in mappings: cumulative/CDF (true) or complementary/CCDF (false) | |
| bool | pdfOutput |
| flag for managing output of response probability density functions (PDFs) | |
| RealVectorArray | computedPDFAbscissas |
| sorted response PDF intervals bounds extracted from min/max sample and requested/computedRespLevels (vector lengths = num bins + 1) | |
| RealVectorArray | computedPDFOrdinates |
| response PDF densities computed from bin counts divided by (unequal) bin widths (vector lengths = num bins) | |
| Response | finalStatistics |
| final statistics from the uncertainty propagation used in strategies: response means, standard deviations, and probabilities of failure | |
| short | finalMomentsType |
| type of moments logged within finalStatistics: none, central, standard | |
| size_t | miPLIndex |
| index for the active ParallelLevel within ParallelConfiguration::miPLIters | |
| BitArray | pdfComputed |
| Whether PDF was computed for function i; used to determine whether a pdf should be archived. | |
Protected Attributes inherited from Analyzer | |
| size_t | numFunctions |
| number of response functions | |
| size_t | numContinuousVars |
| number of active continuous vars | |
| size_t | numDiscreteIntVars |
| number of active discrete integer vars | |
| size_t | numDiscreteStringVars |
| number of active discrete string vars | |
| size_t | numDiscreteRealVars |
| number of active discrete real vars | |
| bool | compactMode |
| switch for allSamples (compact mode) instead of allVariables (normal mode) | |
| VariablesArray | allVariables |
| array of all variables to be evaluated in evaluate_parameter_sets() | |
| RealMatrix | allSamples |
| compact alternative to allVariables | |
| IntResponseMap | allResponses |
| array of all responses to be computed in evaluate_parameter_sets() | |
| StringArray | allHeaders |
| array of headers to insert into output while evaluating allVariables | |
| size_t | numObjFns |
| number of objective functions | |
| size_t | numLSqTerms |
| number of least squares terms | |
| RealPairPRPMultiMap | bestVarsRespMap |
| map which stores best set of solutions | |
| bool | vbdFlag |
| flag indicating the activation of variance-bsaed decomposition for computing Sobol' indices, via either PCE or sampling | |
| Real | vbdDropTol |
| tolerance for omitting output of small VBD indices computed via either PCE or sampling | |
Protected Attributes inherited from Iterator | |
| ProblemDescDB & | probDescDB |
| class member reference to the problem description database More... | |
| ParallelLibrary & | parallelLib |
| class member reference to the parallel library | |
| ParConfigLIter | methodPCIter |
| the active ParallelConfiguration used by this Iterator instance | |
| Model | iteratedModel |
| the model to be iterated (for iterators and meta-iterators employing a single model instance) | |
| size_t | myModelLayers |
| number of Models locally (in Iterator or derived classes) wrapped around the initially passed in Model | |
| unsigned short | methodName |
| name of the iterator (the user's method spec) | |
| Real | convergenceTol |
| iteration convergence tolerance | |
| size_t | maxIterations |
| maximum number of iterations for the method | |
| size_t | maxFunctionEvals |
| maximum number of fn evaluations for the method | |
| int | maxEvalConcurrency |
| maximum number of concurrent model evaluations More... | |
| ActiveSet | activeSet |
| the response data requirements on each function evaluation | |
| size_t | numFinalSolutions |
| number of solutions to retain in best variables/response arrays | |
| VariablesArray | bestVariablesArray |
| collection of N best solution variables found during the study; always in context of Model originally passed to the Iterator (any in-flight Recasts must be undone) | |
| ResponseArray | bestResponseArray |
| collection of N best solution responses found during the study; always in context of Model originally passed to the Iterator (any in-flight Recasts must be undone) | |
| bool | subIteratorFlag |
| flag indicating if this Iterator is a sub-iterator (NestedModel::subIterator or DataFitSurrModel::daceIterator) | |
| short | outputLevel |
| output verbosity level: {SILENT,QUIET,NORMAL,VERBOSE,DEBUG}_OUTPUT | |
| bool | summaryOutputFlag |
| flag for summary output (evaluation stats, final results); default true, but false for on-the-fly (helper) iterators and sub-iterator use cases | |
| ResultsManager & | resultsDB |
| reference to the global iterator results database | |
| EvaluationStore & | evaluationsDB |
| reference to the global evaluation database | |
| EvaluationsDBState | evaluationsDBState |
| State of evaluations DB for this iterator. | |
| ResultsNames | resultsNames |
| valid names for iterator results | |
| std::shared_ptr< TraitsBase > | methodTraits |
| pointer that retains shared ownership of a TraitsBase object, or child thereof | |
| bool | topLevel |
| Whether this is the top level iterator. | |
| bool | exportSurrogate = false |
| whether to export final surrogates | |
| String | surrExportPrefix |
| base filename for exported surrogates | |
| unsigned short | surrExportFormat = NO_MODEL_FORMAT |
| (bitwise) format(s) to export | |
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 | |
Perform Approximate Control Variate Monte Carlo sampling for UQ.
Multifidelity Monte Carlo (MFMC) is a variance-reduction technique that utilitizes lower fidelity simulations that have response QoI that are correlated with the high-fidelity response QoI.
| NonDMultifidelitySampling | ( | ProblemDescDB & | problem_db, |
| Model & | model | ||
| ) |
standard constructor
This constructor is called for a standard letter-envelope iterator instantiation. In this case, set_db_list_nodes has been called and probDescDB can be queried for settings from the method specification.
References NonDNonHierarchSampling::mlmfSubMethod.
|
protectedvirtual |
core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post
Virtual run function for the iterator class hierarchy. All derived classes need to redefine it.
Reimplemented from Iterator.
References NonDMultifidelitySampling::multifidelity_mc(), NonDMultifidelitySampling::multifidelity_mc_offline_pilot(), NonDMultifidelitySampling::multifidelity_mc_pilot_projection(), NonDNonHierarchSampling::numApprox, NonDSampling::numSamples, NonDEnsembleSampling::pilotMgmtMode, and NonDEnsembleSampling::pilotSamples.
|
protected |
This is the standard MFMC version that integrates the pilot alongside the sample adaptation and iterates to determine N_H.
References NonDMultifidelitySampling::accumulate_mf_sums(), NonDMultifidelitySampling::approxSequence, NonDEnsembleSampling::backfillFailures, NonDEnsembleSampling::compute_mc_estimator_variance(), NonDEnsembleSampling::deltaEquivHF, NonDEnsembleSampling::equivHFEvals, NonDEnsembleSampling::estVarIter0, NonDMultifidelitySampling::estVarRatios, NonDEnsembleSampling::finalStatsType, NonDNonHierarchSampling::hf_indices(), Iterator::maxIterations, NonDMultifidelitySampling::mfmcSolnData, NonDEnsembleSampling::mlmfIter, NonDEnsembleSampling::NLevActual, NonDEnsembleSampling::NLevAlloc, Analyzer::numFunctions, NonDNonHierarchSampling::numHIter0, NonDSampling::numSamples, NonDEnsembleSampling::numSteps, NonD::one_sided_delta(), NonDEnsembleSampling::onlineCost, NonDNonHierarchSampling::recover_online_cost(), NonDNonHierarchSampling::rho2LH, NonDEnsembleSampling::sequenceCost, NonDMultifidelitySampling::update_projected_lf_samples(), and NonDEnsembleSampling::varH.
Referenced by NonDMultifidelitySampling::core_run().
|
protected |
This MFMC version treats the pilot sample as a separate offline process.
References NonDMultifidelitySampling::accumulate_mf_sums(), NonDMultifidelitySampling::approxSequence, NonDEnsembleSampling::deltaEquivHF, NonDNonHierarchSampling::deltaNActualHF, NonDEnsembleSampling::equivHFEvals, NonDMultifidelitySampling::estVarRatios, NonDEnsembleSampling::finalStatsType, NonDNonHierarchSampling::hf_indices(), NonDEnsembleSampling::increment_samples(), NonDMultifidelitySampling::mfmcSolnData, NonDEnsembleSampling::mlmfIter, NonDEnsembleSampling::NLevActual, NonDEnsembleSampling::NLevAlloc, NonDNonHierarchSampling::numApprox, Analyzer::numFunctions, NonDSampling::numSamples, NonDEnsembleSampling::numSteps, NonD::one_sided_delta(), NonDEnsembleSampling::onlineCost, NonDNonHierarchSampling::recover_online_cost(), NonDNonHierarchSampling::rho2LH, NonDEnsembleSampling::sequenceCost, NonDMultifidelitySampling::update_projected_samples(), and NonDEnsembleSampling::varH.
Referenced by NonDMultifidelitySampling::core_run().
|
protected |
This MFMC version is for algorithm selection; it estimates the variance reduction from pilot-only sampling.
References NonDMultifidelitySampling::accumulate_mf_sums(), NonDMultifidelitySampling::approxSequence, NonDEnsembleSampling::compute_mc_estimator_variance(), NonDEnsembleSampling::deltaEquivHF, NonDNonHierarchSampling::deltaNActualHF, NonDEnsembleSampling::equivHFEvals, NonDEnsembleSampling::estVarIter0, NonDMultifidelitySampling::estVarRatios, NonDNonHierarchSampling::hf_indices(), NonDEnsembleSampling::increment_samples(), NonDMultifidelitySampling::mfmcSolnData, NonDEnsembleSampling::mlmfIter, NonDEnsembleSampling::NLevActual, NonDEnsembleSampling::NLevAlloc, NonDNonHierarchSampling::numApprox, Analyzer::numFunctions, NonDNonHierarchSampling::numHIter0, NonDSampling::numSamples, NonDEnsembleSampling::numSteps, NonDEnsembleSampling::onlineCost, NonDNonHierarchSampling::recover_online_cost(), NonDNonHierarchSampling::rho2LH, NonDEnsembleSampling::sequenceCost, NonDMultifidelitySampling::update_projected_samples(), and NonDEnsembleSampling::varH.
Referenced by NonDMultifidelitySampling::core_run().
|
private |
Multi-moment map-based, coarse-grained counter version used by MFMC following shared_increment()
References Analyzer::allResponses, Response::function_values(), NonDNonHierarchSampling::numApprox, and Analyzer::numFunctions.
Referenced by NonDMultifidelitySampling::multifidelity_mc(), NonDMultifidelitySampling::multifidelity_mc_offline_pilot(), and NonDMultifidelitySampling::multifidelity_mc_pilot_projection().
|
private |
Single moment, coarse-grained counter version used by offline-pilot and pilot-projection MFMC following shared_increment()
References Analyzer::allResponses, Response::function_values(), NonDNonHierarchSampling::numApprox, and Analyzer::numFunctions.
|
private |
Multi-moment map-based, fine-grained counter version used by MFMC following shared_increment() void NonDMultifidelitySampling:: accumulate_mf_sums(IntRealMatrixMap& sum_L_baseline, IntRealVectorMap& sum_H, IntRealMatrixMap& sum_LL, // each L with itself IntRealMatrixMap& sum_LH, // each L with H RealVector& sum_HH, Sizet2DArray& num_L_baseline, SizetArray& num_H, Sizet2DArray& num_LH) { uses one set of allResponses with QoI aggregation across all Models, ordered by unorderedModels[i-1], i=1:numApprox --> truthModel
using std::isfinite; Real lf_fn, hf_fn, lf_prod, hf_prod; IntRespMCIter r_it; IntRVMIter h_it; IntRMMIter lb_it, ll_it, lh_it; int lb_ord, h_ord, ll_ord, lh_ord, active_ord, m; size_t qoi, approx, lf_index, hf_index; bool hf_is_finite;
for (r_it=allResponses.begin(); r_it!=allResponses.end(); ++r_it) { const Response& resp = r_it->second; const RealVector& fn_vals = resp.function_values(); const ShortArray& asv = resp.active_set_request_vector();
if (outputLevel >= DEBUG_OUTPUT) { // sample dump for MATLAB checking size_t index = 0; for (approx=0; approx<=numApprox; ++approx) for (qoi=0; qoi<numFunctions; ++qoi, ++index) Cout << fn_vals[index] << ' '; Cout << '
'; }
hf_index = numApprox * numFunctions;
for (qoi=0; qoi<numFunctions; ++qoi, ++hf_index) {
hf_fn = fn_vals[hf_index];
hf_is_finite = isfinite(hf_fn);
High accumulations: if (hf_is_finite) { // neither NaN nor +/-Inf ++num_H[qoi]; High-High: sum_HH[qoi] += hf_fn * hf_fn; // a single vector for ord 1 High: h_it = sum_H.begin(); h_ord = (h_it == sum_H.end()) ? 0 : h_it->first; hf_prod = hf_fn; active_ord = 1; while (h_ord) { if (h_ord == active_ord) { // support general key sequence h_it->second[qoi] += hf_prod; ++h_it; h_ord = (h_it == sum_H.end()) ? 0 : h_it->first; } hf_prod *= hf_fn; ++active_ord; } }
for (approx=0; approx<numApprox; ++approx) { lf_index = approx * numFunctions + qoi; lf_fn = fn_vals[lf_index];
Low accumulations: if (isfinite(lf_fn)) { ++num_L_baseline[approx][qoi]; if (hf_is_finite) ++num_LH[approx][qoi];
lb_it = sum_L_baseline.begin(); ll_it = sum_LL.begin(); lh_it = sum_LH.begin(); lb_ord = (lb_it == sum_L_baseline.end()) ? 0 : lb_it->first; ll_ord = (ll_it == sum_LL.end()) ? 0 : ll_it->first; lh_ord = (lh_it == sum_LH.end()) ? 0 : lh_it->first; lf_prod = lf_fn; hf_prod = hf_fn; active_ord = 1; while (lb_ord || ll_ord || lh_ord) {
Low baseline if (lb_ord == active_ord) { // support general key sequence lb_it->second(qoi,approx) += lf_prod; ++lb_it; lb_ord = (lb_it == sum_L_baseline.end()) ? 0 : lb_it->first; } Low-Low if (ll_ord == active_ord) { // support general key sequence ll_it->second(qoi,approx) += lf_prod * lf_prod; ++ll_it; ll_ord = (ll_it == sum_LL.end()) ? 0 : ll_it->first; } Low-High if (lh_ord == active_ord) { if (hf_is_finite) lh_it->second(qoi,approx) += lf_prod * hf_prod; ++lh_it; lh_ord = (lh_it == sum_LH.end()) ? 0 : lh_it->first; }
lf_prod *= lf_fn; ++active_ord; if (hf_is_finite) hf_prod *= hf_fn; } } } } } } Single moment, fine-grained counter version used by offline-pilot and pilot-projection MFMC following shared_increment() void NonDMultifidelitySampling:: accumulate_mf_sums(RealMatrix& sum_L_baseline, RealVector& sum_H, RealMatrix& sum_LL, RealMatrix& sum_LH, RealVector& sum_HH, Sizet2DArray& num_L_baseline, SizetArray& num_H, Sizet2DArray& num_LH) { uses one set of allResponses with QoI aggregation across all Models, ordered by unorderedModels[i-1], i=1:numApprox --> truthModel
using std::isfinite; Real lf_fn, hf_fn; size_t qoi, approx, lf_index, hf_index; IntRespMCIter r_it; bool hf_is_finite;
for (r_it=allResponses.begin(); r_it!=allResponses.end(); ++r_it) { const Response& resp = r_it->second; const RealVector& fn_vals = resp.function_values(); const ShortArray& asv = resp.active_set_request_vector();
if (outputLevel >= DEBUG_OUTPUT) { // sample dump for MATLAB checking size_t index = 0; for (approx=0; approx<=numApprox; ++approx) for (qoi=0; qoi<numFunctions; ++qoi, ++index) Cout << fn_vals[index] << ' '; Cout << '
'; }
hf_index = numApprox * numFunctions;
for (qoi=0; qoi<numFunctions; ++qoi, ++hf_index) {
hf_fn = fn_vals[hf_index];
hf_is_finite = isfinite(hf_fn);
High accumulations: if (hf_is_finite) { // neither NaN nor +/-Inf ++num_H[qoi]; sum_H[qoi] += hf_fn; // High sum_HH[qoi] += hf_fn * hf_fn; // High-High }
for (approx=0; approx<numApprox; ++approx) { lf_index = approx * numFunctions + qoi; lf_fn = fn_vals[lf_index];
Low accumulations: if (isfinite(lf_fn)) { ++num_L_baseline[approx][qoi]; sum_L_baseline(qoi,approx) += lf_fn; // Low sum_LL(qoi,approx) += lf_fn * lf_fn; // Low-Low if (hf_is_finite) { ++num_LH[approx][qoi]; sum_LH(qoi,approx) += lf_fn * hf_fn;// Low-High } } } } } } This version used by MFMC following approx_increment()
References Analyzer::allResponses, Response::function_values(), and Analyzer::numFunctions.
|
private |
LF only
References NonDEnsembleSampling::backfillFailures, NonDNonHierarchSampling::inflate(), NonDNonHierarchSampling::numApprox, NonD::one_sided_delta(), and NonDEnsembleSampling::sequenceCost.
Referenced by NonDMultifidelitySampling::multifidelity_mc(), and NonDMultifidelitySampling::update_projected_samples().
|
private |
LF and HF
References NonDEnsembleSampling::backfillFailures, NonDNonHierarchSampling::numApprox, NonD::one_sided_delta(), NonDNonHierarchSampling::optSubProblemForm, NonDEnsembleSampling::pilotMgmtMode, NonDEnsembleSampling::sequenceCost, and NonDMultifidelitySampling::update_projected_lf_samples().
Referenced by NonDMultifidelitySampling::multifidelity_mc_offline_pilot(), and NonDMultifidelitySampling::multifidelity_mc_pilot_projection().