Struct AcceleratedBilliardWalk

struct AcceleratedBilliardWalk

Public Functions

inline AcceleratedBilliardWalk(double L)
inline AcceleratedBilliardWalk()

Public Members

parameters param
struct parameters

Public Functions

inline parameters(double L, bool set)

Public Members

double m_L
bool set_L
struct update_parameters

Public Functions

inline update_parameters()

Public Members

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

Public Types

typedef Polytope::PointType Point
typedef Polytope::MT MT
typedef Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic> DenseMT
typedef Point::FT NT
using AA_type = std::conditional_t<SPARSE, typename Eigen::SparseMatrix<NT>, DenseMT>

Public Functions

template<typename GenericPolytope>
inline Walk(GenericPolytope &P, Point const &p, RandomNumberGenerator &rng)
template<typename GenericPolytope>
inline Walk(GenericPolytope &P, Point const &p, RandomNumberGenerator &rng, parameters const &params)
template<typename GenericPolytope>
inline void 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)
inline NT get_delta()

Public Static Attributes

static constexpr bool SPARSE = std::is_same_v<MT, Eigen::SparseMatrix<NT, Eigen::RowMajor>>