Struct UnderdampedLangevinWalk::Walk

template<typename Point, typename Polytope, typename RandomNumberGenerator, typename NegativeGradientFunctor, typename NegativeLogprobFunctor, typename Solver_>
struct Walk

Public Types

typedef std::vector<Point> pts
typedef Point::FT NT
typedef std::vector<Polytope*> bounds
typedef RandomizedMipointSDESolver<Point, NT, Polytope, NegativeGradientFunctor, RandomNumberGenerator> Solver

Public Functions

inline Walk(Polytope *P, Point &initial_x, NegativeGradientFunctor &neg_grad_f, NegativeLogprobFunctor &neg_logprob_f, parameters<NT, NegativeGradientFunctor> &param)
inline void apply(RandomNumberGenerator &rng, int walk_length = 1, bool metropolis_filter = false)
inline NT hamiltonian(Point &pos, Point &vel) const
inline void disable_adaptive()
inline void enable_adaptive()

Public Members

parameters<NT, NegativeGradientFunctor> &params
Solver *solver
unsigned int dim
Point x
Point v
Point x_tilde
Point v_tilde
NegativeGradientFunctor &F
NegativeLogprobFunctor &f
NT H_tilde
NT H
NT log_prob
NT u_logprob