14 #ifndef VMCMC_PROPOSAL_H_ 15 #define VMCMC_PROPOSAL_H_ 44 virtual double Transition(
const Vector& s1, Vector& s2) = 0;
58 template <
typename DistributionT>
63 fDistribution( std::forward<DistributionT>(dist) ),
64 fCholeskyDecomp( ublas::identity_matrix<double>() )
68 double Transition(
const Vector& s1, Vector& s2)
override;
71 void UpdateParameterConfig(
const ParameterConfig& paramConfig)
override;
73 const MatrixLower& GetCholeskyDecomp()
const {
return fCholeskyDecomp; }
76 DistributionT fDistribution;
77 MatrixLower fCholeskyDecomp;
104 void SetDOF(
double n = 1.0) { fDistribution = std::student_t_distribution<double>(n); }
105 double GetDOF()
const {
return fDistribution.n(); }
Abstract proposal function class, which randomly draws from a multivariate random distribution center...
Definition: proposal.hpp:59
Definition: algorithm.cpp:28
A list of parameters, describing the parameter space of the target function to be evaluated...
Definition: parameter.hpp:109
Base class for proposal functions (alias transition kernels) used by Metropolis-Hastings algorithms t...
Definition: proposal.hpp:30
Contains the Sample class definition for data sampled from the target parameter space.
virtual double Transition(const Vector &s1, Vector &s2)=0
Propose a new state.
BLAS (Basic Linear Algebra Subprograms) utility functions.
Proposal function drawing randomly from a multivariate Student-T distribution.
Definition: proposal.hpp:95
Contains the prototype class for thread-safe random number generators.
Proposal function drawing randomly from a multivariate normal distribution.
Definition: proposal.hpp:83
Class definitions representing input parameter configurations.
A 'sample' represents a node or data point in a Markov Chain.
Definition: sample.hpp:31