File exponential_hamiltonian_monte_carlo_exact_walk.hpp

Defines

INSIDE_BODY_TOLLERANCE
struct ExponentialHamiltonianMonteCarloExactWalk

Public Functions

inline ExponentialHamiltonianMonteCarloExactWalk(double L)
inline ExponentialHamiltonianMonteCarloExactWalk(double L, unsigned int rho)
inline ExponentialHamiltonianMonteCarloExactWalk()

Public Members

parameters param
struct parameters

Public Functions

inline parameters(double L, bool set, unsigned int _rho, bool _set_rho)

Public Members

double m_L
bool set_L
unsigned int rho
bool set_rho
template<typename Polytope, typename RandomNumberGenerator>
struct Walk

Public Types

typedef Polytope::PointType Point
typedef Point::FT NT
typedef Polytope::MT MT
typedef Polytope::VT VT

Public Functions

template<typename GenericPolytope>
inline Walk(GenericPolytope &P, Point const &p, Point const &c, NT const &T, RandomNumberGenerator &rng)
template<typename GenericPolytope>
inline Walk(GenericPolytope &P, Point const &p, Point const &c, NT const &T, RandomNumberGenerator &rng, parameters const &params)
template<typename GenericPolytope>
inline bool apply(GenericPolytope &P, Point &p, unsigned int const &walk_length, RandomNumberGenerator &rng)
template<typename GenericPolytope>
inline void get_starting_point(GenericPolytope &P, Point const &center, Point &q, unsigned int const &walk_length, RandomNumberGenerator &rng)
template<typename GenericPolytope>
inline void parameters_burnin(GenericPolytope &P, Point const &center, unsigned int const &num_points, unsigned int const &walk_length, RandomNumberGenerator &rng)
inline void update_delta(NT L)

Private Functions

template<typename GenericPolytope>
inline void initialize(GenericPolytope &P, Point const &p, RandomNumberGenerator &rng)
inline double get_max_distance(std::vector<Point> &pointset, Point const &q, double &rad)

Private Members

NT _Len
VT _Ac
Point _p
Point _v
Point _c
NT _Temp
NT _lambda_prev
int _facet_prev
unsigned int _rho
Point::Coeff _lambdas
Point::Coeff _Av