5 #ifndef HMC_VSP_MONTECARLO_HPP 6 #define HMC_VSP_MONTECARLO_HPP 51 bool useGeneralisedMomentumPropose,
bool useGeneralisedMomentumKinetic,
bool normalizeMomentum,
bool 52 evaluateHamiltonianBeforeLeap);
60 void sample(
bool hamilton);
89 std::vector<std::vector<double>>
_A;
90 std::vector<double>
_bT;
98 void leap_frog(
int &uturns,
bool writeTrajectory);
104 void write_sample(std::ofstream &outfile,
double misfit);
113 #endif //HMC_VSP_MONTECARLO_HPP
std::vector< std::vector< double > > _inverseMassMatrix
montecarlo(prior &in_prior, data &in_data, forwardModel in_model, int in_nt, double in_dt, int in_iterations, bool useGeneralisedMomentumPropose, bool useGeneralisedMomentumKinetic, bool normalizeMomentum, bool evaluateHamiltonianBeforeLeap)
std::vector< double > precomp_misfitGrad()
std::vector< std::vector< double > > _inverseMassMatrixDiagonal
bool _useGeneralisedMomentumPropose
void write_sample(std::ofstream &outfile, double misfit)
std::vector< double > _currentMomentum
void sample(bool hamilton)
std::vector< std::vector< double > > _CholeskyLowerMassMatrix
bool _evaluateHamiltonianBeforeLeap
std::vector< double > _bT
std::vector< double > _currentModel
std::vector< double > _proposedMomentum
std::vector< std::vector< double > > _massMatrix
std::vector< double > _proposedModel
void propose_metropolis()
bool _useGeneralisedMomentumKinetic
void leap_frog(int &uturns, bool writeTrajectory)
std::vector< std::vector< double > > _A
Prior information in parameter space.
void propose_hamilton(int &uturns)