File volume_cooling_nonspherical_gaussians_crhmc.hpp
Functions
-
template<typename CRHMCWalkType, typename crhmc_walk_params, int simdLen, typename Grad, typename Func, typename CrhmcProblem, typename Point, typename NT, typename RandomNumberGenerator>
void burnIn(Point &p, const unsigned int &walk_length, RandomNumberGenerator &rng, Grad &g, Func &f, crhmc_walk_params ¶meters, CrhmcProblem &problem, CRHMCWalkType &crhmc_walk, NT burnIn_sample)
-
template<int simdLen, typename Polytope, typename Point, typename NT, typename MT, typename RandomNumberGenerator>
NT get_next_gaussian(Polytope &P, Point &p, NT const &a, const unsigned int &N, const NT &ratio, const NT &C, const unsigned int &walk_length, RandomNumberGenerator &rng, MT const &inv_covariance_matrix)
-
template<int simdLen, typename Point, typename Polytope, typename NT, typename MT, typename RandomNumberGenerator>
void compute_annealing_schedule(Polytope Pin_copy, Polytope P_copy, NT const &ratio, NT const &C, NT const &frac, unsigned int const &N, unsigned int const &walk_length, NT const &error, std::vector<NT> &a_vals, MT const &inv_covariance_matrix, RandomNumberGenerator &rng)
-
template<typename Polytope, typename RandomNumberGenerator, typename WalkTypePolicy = CRHMCWalk, int simdLen = 8>
double non_spherical_crhmc_volume_cooling_gaussians(Polytope &Pin, RandomNumberGenerator &rng, double const &error = 0.1, unsigned int const &walk_length = 1)