File uniform_accelerated_billiard_walk_parallel.hpp

struct AcceleratedBilliardWalkParallel

Public Functions

inline AcceleratedBilliardWalkParallel()
template<typename NT, typename Point>
struct thread_parameters

Public Functions

inline thread_parameters(unsigned int d, unsigned int m)

Public Members

update_parameters update_step_parameters
Point p
Point v
NT lambda_prev
Point::Coeff lambdas
Point::Coeff Av
struct update_parameters

Public Functions

inline update_parameters()

Public Members

int facet_prev
bool hit_ball
double inner_vi_ak
double ball_inner_norm
template<typename Polytope, typename RandomNumberGenerator>
struct Walk

Public Types

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

Public Functions

template<typename GenericPolytope>
inline Walk(GenericPolytope &P)
template<typename GenericPolytope>
inline Walk(GenericPolytope &P, NT const &L)
template<typename GenericPolytope, typename thread_params>
inline void apply(GenericPolytope &P, thread_params &params, unsigned int const &walk_length, RandomNumberGenerator &rng)
template<typename GenericPolytope, typename thread_params>
inline void get_starting_point(GenericPolytope &P, Point const &center, thread_params &params, unsigned int const &walk_length, RandomNumberGenerator &rng)
template<typename GenericPolytope, typename thread_params>
inline void parameters_burnin(GenericPolytope &P, Point const &center, unsigned int const &num_points, unsigned int const &walk_length, RandomNumberGenerator &rng, thread_params &params)
inline void update_delta(NT L)
inline NT get_delta()

Private Functions

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

Private Members

NT _L
MT _AA
Point _p0
unsigned int _rho