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