File mmcs.hpp
Functions
-
template<typename Polytope, typename RandomNumberGenerator, typename MT, typename Point, typename WalkTypePolicy>
bool perform_mmcs_step(Polytope &P, RandomNumberGenerator &rng, unsigned int const &walk_length, unsigned int const &target_ess, unsigned int const &max_num_samples, unsigned int const &window, unsigned int &Neff_sampled, unsigned int &total_samples, unsigned int const &num_rounding_steps, MT &TotalRandPoints, const Point &starting_point, unsigned int const &nburns, bool request_rounding, WalkTypePolicy &WalkType) The class implements a single step of the Multiphase Monte Carlo Sampling algorithm given in,
A. Chalkis, V. Fisikopoulos, E. Tsigaridas, H. Zafeiropoulos, Geometric algorithms for sampling the flux space of metabolic networks, SoCG 21.
- Template Parameters:
Polytope – convex polytope type
RandomNumberGenerator – random number generator type
MT – matrix type
Point – cartensian point type
WalkTypePolicy – random walk type
-
template<typename Polytope, typename MT>
void mmcs(Polytope const &Pin, int const &Neff, MT &S, int &total_neff)
-
template<typename Polytope, typename MT>
void mmcs(Polytope const &Pin, int const &Neff, MT &S, int &total_neff, unsigned int const &walk_length)
-
template<typename Polytope, typename MT, typename RandomNumberGenerator>
void mmcs(Polytope const &Pin, int const &Neff, MT &S, int &total_neff, unsigned int const &walk_length, RandomNumberGenerator &rng)