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)
const 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.
std::vector< Real > & _rnd_vec
Vector of random numbers for decision making.
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.
std::vector< std::vector< Real > > & _new_samples_confg
Vectors of new proposed samples combined with the experimental configuration values.
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 Real computeSample(dof_id_type row_index, dof_id_type col_index) const override
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.
dof_id_type getNumberOfConfigValues() const
Return the number of configuration parameters.
const unsigned int _num_parallel_proposals
Number of parallel proposals to be made and subApps to be executed.
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.
std::vector< Real > & _new_var_samples
Vector of new proposed variance samples.