58 const std::vector<std::vector<Real>> &
getSamples()
const;
63 const std::vector<const Distribution *>
getPriors()
const;
86 virtual Real
computeSample(dof_id_type row_index, dof_id_type col_index)
override;
100 unsigned int randomIndex(
const unsigned int & upper_bound,
const unsigned int & exclude);
108 std::pair<unsigned int, unsigned int>
randomIndexPair(
const unsigned int & upper_bound,
109 const unsigned int & exclude);
const InputParameters & parameters() const
A base class used to perform Parallel Markov Chain Monte Carlo (MCMC) sampling.
const std::vector< Real > * _lower_bound
Lower bounds for making the next proposal.
const std::vector< std::vector< Real > > & getSamples() const
Return the proposed samples to facilitate decision making in reporters.
std::vector< const Distribution * > _priors
Storage for prior distribution objects to be utilized.
const std::vector< Real > & getVarSamples() const
Return the proposed variance samples to facilitate decision making in reporters.
void combineWithExperimentalConfig()
Generates combinations of the new samples with the experimental configurations.
const std::vector< const Distribution * > getPriors() const
Return the priors to facilitate decision making in reporters.
static InputParameters validParams()
dof_id_type getNumberOfConfigParams() const
Return the number of configuration parameters.
Real random()
Sample a random number between 0 and 1.
unsigned int _seed_index
Generator index when requesting random numbers.
const std::vector< Real > & _initial_values
Initial values of the input params to get the MCMC scheme started.
virtual void executeSetUp() override
virtual int decisionStep() const
Return the step after which decision making can begin.
const Distribution * getVarPrior() const
Return the prior over variance to facilitate decision making in reporters.
virtual void proposeSamples()
Fill in the _new_samples vector of vectors (happens within sampleSetUp)
const Distribution * _var_prior
Storage for prior distribution object of the variance to be utilized.
std::pair< unsigned int, unsigned int > randomIndexPair(const unsigned int &upper_bound, const unsigned int &exclude)
Sample two random indices without repitition excluding a specified index.
const unsigned int _num_random_seeds
Initialize a certain number of random seeds. Change from the default only if you have to.
std::vector< std::vector< Real > > _new_samples
Vectors of new proposed samples.
std::size_t _rand_index
Running index for the random number generators.
const std::vector< Real > & getRandomNumbers() const
Return the random numbers to facilitate decision making in reporters.
std::vector< std::vector< Real > > _confg_values
Configuration values.
std::vector< Real > _new_var_samples
Vector of new proposed variance samples.
dof_id_type getNumberOfConfigValues() const
Return the number of configuration parameters.
std::vector< Real > _rnd_vec
Vector of random numbers for decision making.
virtual Real computeSample(dof_id_type row_index, dof_id_type col_index) override
const unsigned int _num_parallel_proposals
Number of parallel proposals to be made and subApps to be executed.
std::vector< std::vector< Real > > _new_samples_confg
Vectors of new proposed samples combined with the experimental configuration values.
const Real & _variance_bound
Upper bound for variance for making the next proposal.
unsigned int randomIndex(const unsigned int &upper_bound, const unsigned int &exclude)
Sample a random index excluding a specified index.
const std::vector< Real > * _upper_bound
Upper bounds for making the next proposal.
dof_id_type getNumParallelProposals() const
Return the number of parallel proposals.