PolyBoRi
|
typedef boost::minstd_rand polybori::groebner::base_generator_type |
typedef boost::variate_generator<base_generator_type&, distribution_type> polybori::groebner::bool_gen_type |
typedef int polybori::groebner::deg_type |
typedef boost::uniform_smallint polybori::groebner::distribution_type |
typedef polybori ::CacheManager<CCacheTypes::divisorsof> polybori::groebner::fixed_divisors_cache_type |
typedef long polybori::groebner::len_type |
typedef LessWeightedLengthInStratModified polybori::groebner::StratComparerForSelect |
typedef long long polybori::groebner::wlen_type |
Polynomial polybori::groebner::add_up_exponents | ( | const std::vector< Exponent > & | vec | ) |
Referenced by random_set_using_generator().
Polynomial polybori::groebner::add_up_generic | ( | const std::vector< T > & | res_vec, |
Polynomial | init | ||
) |
Polynomial polybori::groebner::add_up_generic | ( | const std::vector< T > & | res_vec, |
int | start, | ||
int | end, | ||
Polynomial | init | ||
) |
References add_up_generic().
Polynomial polybori::groebner::add_up_monomials | ( | const std::vector< Monomial > & | vec | ) |
References add_up_generic().
Referenced by gen_random_subset().
Polynomial polybori::groebner::add_up_polynomials | ( | const std::vector< Polynomial > & | vec | ) |
References add_up_generic().
Referenced by red_tail_general(), and red_tail_generic().
void polybori::groebner::addPolynomialToReductor | ( | Polynomial & | p, |
MonomialSet & | m | ||
) |
References polybori::BooleExponent::begin(), polybori::BooleMonomial::begin(), polybori::BoolePolynomial::diagram(), polybori::CDDInterface< CuddLikeZDD >::emptiness(), polybori::BooleExponent::end(), polybori::BooleSet::expBegin(), polybori::BoolePolynomial::lead(), ll_red_nf(), polybori::BoolePolynomial::navigation(), and recursively_insert().
deg_type polybori::groebner::common_literal_factors_deg | ( | const LiteralFactorization & | a, |
const LiteralFactorization & | b | ||
) |
MonomialSet polybori::groebner::contained_deg2_cudd_style | ( | const MonomialSet & | m | ) |
MonomialSet polybori::groebner::contained_variables_cudd_style | ( | const MonomialSet & | m | ) |
References polybori::CDDInterface< CuddLikeZDD >::manager(), and polybori::CDDInterface< CuddLikeZDD >::navigation().
Referenced by contained_deg2_cudd_style().
Polynomial polybori::groebner::do_is_rewriteable | ( | const Polynomial & | p, |
const MonomialSet & | leading_terms | ||
) |
References polybori::BoolePolynomial::diagram(), polybori::BoolePolynomial::isOne(), polybori::BoolePolynomial::isZero(), polybori::CDDInterface< CuddLikeZDD >::manager(), polybori::BoolePolynomial::navigation(), polybori::CDDInterface< CuddLikeZDD >::navigation(), polybori::CDDInterface< CuddLikeZDD >::ownsOne(), and polybori::BoolePolynomial::ring().
Referenced by is_rewriteable().
Polynomial polybori::groebner::do_plug_1 | ( | const Polynomial & | p, |
const MonomialSet & | m_plus_ones | ||
) |
std::vector<Polynomial> polybori::groebner::full_implication_gb | ( | const Polynomial & | p, |
CacheManager & | cache, | ||
GroebnerStrategy & | strat_param | ||
) |
MonomialSet polybori::groebner::gen_random_subset | ( | const std::vector< Monomial > & | vec, |
bool_gen_type & | bit_gen | ||
) |
References add_up_monomials(), polybori::BooleSet::begin(), and polybori::BoolePolynomial::diagram().
Referenced by random_interpolation().
MonomialSet polybori::groebner::include_divisors | ( | const MonomialSet & | m | ) |
References polybori::CDDInterface< CuddLikeZDD >::manager(), and polybori::CDDInterface< CuddLikeZDD >::navigation().
Referenced by variety_lex_leading_terms().
Polynomial polybori::groebner::interpolate | ( | MonomialSet | to_zero, |
MonomialSet | to_one | ||
) |
Polynomial polybori::groebner::interpolate_smallest_lex | ( | MonomialSet | to_zero, |
MonomialSet | to_one | ||
) |
References polybori::BoolePolynomial::diagram(), polybori::BooleSet::diff(), polybori::CDDInterface< CuddLikeZDD >::emptiness(), polybori::BooleSet::intersect(), polybori::CDDInterface< CuddLikeZDD >::manager(), polybori::CDDInterface< CuddLikeZDD >::navigation(), polybori::BooleSet::subset0(), polybori::BooleSet::subset1(), polybori::BooleSet::unite(), and zeros().
Referenced by nf_lex_points(), and random_interpolation().
bool polybori::groebner::is_rewriteable | ( | const Polynomial & | p, |
const MonomialSet & | leading_terms | ||
) |
References do_is_rewriteable().
Polynomial polybori::groebner::ll_red_nf | ( | const Polynomial & | p, |
const BooleSet & | reductors | ||
) |
Referenced by addPolynomialToReductor(), and red_tail_generic().
Polynomial polybori::groebner::ll_red_nf_generic | ( | const Polynomial & | p, |
const BooleSet & | reductors | ||
) |
Polynomial polybori::groebner::ll_red_nf_generic | ( | const Polynomial & | p, |
const BooleSet::navigator | navi | ||
) |
Polynomial polybori::groebner::ll_red_nf_noredsb | ( | const Polynomial & | p, |
const BooleSet & | reductors | ||
) |
Polynomial polybori::groebner::map_every_x_to_x_plus_one | ( | const CacheMgr & | cache_mgr, |
MonomialSet::navigator | nav | ||
) |
References polybori::BoolePolynomial::diagram(), and polybori::CDDInterface< CuddLikeZDD >::navigation().
Referenced by map_every_x_to_x_plus_one().
Polynomial polybori::groebner::map_every_x_to_x_plus_one | ( | Polynomial | p | ) |
bool polybori::groebner::maps_to_one | ( | const std::pair< const polybori::groebner::idx_type, int > | v | ) |
bool polybori::groebner::maps_to_zero | ( | const std::pair< const polybori::groebner::idx_type, int > | v | ) |
MonomialSet polybori::groebner::minimal_elements | ( | const MonomialSet & | s | ) |
MonomialSet polybori::groebner::minimal_elements_cudd_style | ( | MonomialSet | m | ) |
MonomialSet polybori::groebner::minimal_elements_cudd_style_unary | ( | MonomialSet | m | ) |
MonomialSet polybori::groebner::minimal_elements_internal | ( | const MonomialSet & | s | ) |
References polybori::BooleSet::begin(), polybori::BooleSet::change(), polybori::BooleMonomial::diagram(), polybori::BooleSet::diff(), polybori::CDDInterface< CuddLikeZDD >::emptiness(), polybori::BoolePolynomial::isOne(), polybori::CDDInterface< CuddLikeZDD >::length(), polybori::CDDInterface< CuddLikeZDD >::navigation(), polybori::BooleMonomial::reducibleBy(), polybori::BooleSet::subset0(), polybori::BooleSet::subset1(), polybori::CDDInterface< CuddLikeZDD >::unateProduct(), and polybori::BooleSet::unite().
Referenced by minimal_elements().
MonomialSet polybori::groebner::minimal_elements_internal2 | ( | MonomialSet | s | ) |
References polybori::BooleSet::change(), polybori::BooleMonomial::diagram(), polybori::BooleSet::diff(), polybori::CDDInterface< CuddLikeZDD >::emptiness(), polybori::BoolePolynomial::hasConstantPart(), polybori::BoolePolynomial::isOne(), polybori::CDDInterface< CuddLikeZDD >::length(), polybori::CDDInterface< CuddLikeZDD >::navigation(), polybori::BooleSet::ring(), polybori::BooleSet::subset0(), polybori::BooleSet::subset1(), polybori::CDDInterface< CuddLikeZDD >::unateProduct(), and polybori::BooleSet::unite().
std::vector<Exponent> polybori::groebner::minimal_elements_internal3 | ( | MonomialSet | s | ) |
References polybori::CDDInterface< CuddLikeZDD >::emptiness(), polybori::BooleSet::expBegin(), polybori::BooleSet::expEnd(), polybori::BoolePolynomial::hasConstantPart(), polybori::BooleExponent::insert(), polybori::BooleExponent::push_back(), polybori::BooleEnv::ring(), and polybori::BooleSet::subset0().
MonomialSet polybori::groebner::mod_deg2_set | ( | const MonomialSet & | as, |
const MonomialSet & | vs | ||
) |
References polybori::CDDInterface< CuddLikeZDD >::manager(), and polybori::CDDInterface< CuddLikeZDD >::navigation().
Referenced by mod_deg2_set().
MonomialSet polybori::groebner::mod_deg2_set | ( | const CacheMgr & | cache_mgr, |
MonomialSet::navigator | a, | ||
MonomialSet::navigator | v | ||
) |
References mod_deg2_set(), mod_var_set(), and polybori::CDDInterface< CuddLikeZDD >::navigation().
MonomialSet polybori::groebner::mod_mon_set | ( | const MonomialSet & | as, |
const MonomialSet & | vs | ||
) |
MonomialSet polybori::groebner::mod_var_set | ( | const CacheMgr & | cache_mgr, |
MonomialSet::navigator | a, | ||
MonomialSet::navigator | v | ||
) |
References polybori::CDDInterface< CuddLikeZDD >::emptiness(), and polybori::CDDInterface< CuddLikeZDD >::navigation().
Referenced by mod_deg2_set(), and mod_var_set().
MonomialSet polybori::groebner::mod_var_set | ( | const MonomialSet & | as, |
const MonomialSet & | vs | ||
) |
Polynomial polybori::groebner::mult_fast_sim | ( | const std::vector< Polynomial > & | vec | ) |
References polybori::BoolePolynomial::ring().
Polynomial polybori::groebner::nf1 | ( | GroebnerStrategy & | strat, |
Polynomial | p | ||
) |
References select1(), and polybori::spoly().
Polynomial polybori::groebner::nf2 | ( | GroebnerStrategy & | strat, |
Polynomial | p | ||
) |
Polynomial polybori::groebner::nf2_short | ( | GroebnerStrategy & | strat, |
Polynomial | p | ||
) |
References polybori::BoolePolynomial::diagram(), polybori::BoolePolynomial::isZero(), reduce_by_binom(), reduce_by_monom(), reduce_complete(), polybori::BoolePolynomial::reducibleBy(), polybori::spoly(), polybori::CDDInterface< CuddLikeZDD >::subset0(), and polybori::CDDInterface< CuddLikeZDD >::subset1().
Polynomial polybori::groebner::nf3 | ( | const GroebnerStrategy & | strat, |
Polynomial | p, | ||
Monomial | rest_lead | ||
) |
Polynomial polybori::groebner::nf3_db | ( | GroebnerStrategy & | strat, |
Polynomial | p, | ||
int | deg_bound | ||
) |
Polynomial polybori::groebner::nf3_degree_order | ( | const GroebnerStrategy & | strat, |
Polynomial | p, | ||
Monomial | lead | ||
) |
References polybori::BoolePolynomial::boundedLead(), polybori::BooleExponent::deg(), polybori::BoolePolynomial::deg(), polybori::BooleMonomial::exp(), polybori::BoolePolynomial::gradedPart(), polybori::BoolePolynomial::isZero(), polybori::BoolePolynomial::lead(), polybori::BoolePolynomial::lmDeg(), reduce_complete(), and select1().
Referenced by polybori::groebner::DegOrderHelper::nf(), and red_tail_general().
Polynomial polybori::groebner::nf3_lexbuckets | ( | const GroebnerStrategy & | strat, |
Polynomial | p, | ||
Monomial | rest_lead | ||
) |
Polynomial polybori::groebner::nf3_no_deg_growth | ( | const GroebnerStrategy & | strat, |
Polynomial | p, | ||
Monomial | rest_lead | ||
) |
Polynomial polybori::groebner::nf3_short | ( | const GroebnerStrategy & | strat, |
Polynomial | p | ||
) |
References polybori::BoolePolynomial::lead(), reduce_complete(), and polybori::spoly().
Referenced by red_tail_self_tuning(), and red_tail_short().
Polynomial polybori::groebner::nf_delaying | ( | GroebnerStrategy & | strat, |
Polynomial | p | ||
) |
References polybori::BoolePolynomial::diagram(), polybori::BoolePolynomial::eliminationLength(), polybori::BoolePolynomial::length(), polybori::BoolePolynomial::navigation(), polybori::BoolePolynomial::nNodes(), select1(), polybori::spoly(), polybori::CDDInterface< CuddLikeZDD >::subset0(), and polybori::CDDInterface< CuddLikeZDD >::subset1().
Polynomial polybori::groebner::nf_delaying_exchanging | ( | GroebnerStrategy & | strat, |
Polynomial | p | ||
) |
References polybori::BoolePolynomial::diagram(), polybori::BoolePolynomial::eliminationLength(), polybori::BoolePolynomial::lead(), polybori::BoolePolynomial::length(), polybori::BoolePolynomial::navigation(), polybori::BoolePolynomial::nNodes(), select1(), polybori::spoly(), polybori::CDDInterface< CuddLikeZDD >::subset0(), and polybori::CDDInterface< CuddLikeZDD >::subset1().
MonomialSet polybori::groebner::nf_lex_points | ( | const Polynomial & | f, |
const MonomialSet & | p | ||
) |
References polybori::BooleSet::diff(), interpolate_smallest_lex(), and zeros().
Referenced by variety_lex_groebner_basis().
value_type polybori::groebner::p2code | ( | Polynomial | p, |
const std::vector< char > & | ring_2_0123, | ||
int | max_vars | ||
) |
std::vector< Polynomial > polybori::groebner::parallel_reduce | ( | std::vector< Polynomial > | inp, |
GroebnerStrategy & | strat, | ||
int | average_steps, | ||
double | delay_f | ||
) |
Polynomial polybori::groebner::plug_1 | ( | const Polynomial & | p, |
const MonomialSet & | m_plus_ones | ||
) |
References plug_1_top().
Polynomial polybori::groebner::plug_1_top | ( | const Polynomial & | p, |
const MonomialSet & | m_plus_ones | ||
) |
References polybori::BoolePolynomial::diagram(), polybori::CDDInterface< CuddLikeZDD >::diff(), do_plug_1(), and mod_mon_set().
Referenced by plug_1().
bool polybori::groebner::polynomial_in_one_block | ( | const Polynomial | p | ) |
MonomialSet polybori::groebner::random_interpolation | ( | const MonomialSet & | as_set, |
const std::vector< Monomial > & | as_vector, | ||
bool_gen_type & | bit_gen | ||
) |
References polybori::BooleSet::diff(), gen_random_subset(), and interpolate_smallest_lex().
Referenced by variety_lex_leading_terms().
MonomialSet polybori::groebner::random_set | ( | const Monomial & | variables, |
unsigned int | len | ||
) |
References random_set_using_generator().
MonomialSet polybori::groebner::random_set_using_generator | ( | const Monomial & | variables, |
unsigned int | len, | ||
bool_gen_type & | bit_gen | ||
) |
MonomialSet polybori::groebner::recursively_insert | ( | const MgrType & | mgr, |
MonomialSet::navigator | p, | ||
idx_type | idx, | ||
MonomialSet::navigator | m | ||
) |
Referenced by addPolynomialToReductor(), and recursively_insert().
MonomialSet polybori::groebner::recursively_insert | ( | MonomialSet::navigator | p, |
idx_type | idx, | ||
MonomialSet | mset | ||
) |
References polybori::CDDInterface< CuddLikeZDD >::manager(), polybori::CDDInterface< CuddLikeZDD >::navigation(), and recursively_insert().
Polynomial polybori::groebner::red_tail | ( | const GroebnerStrategy & | strat, |
Polynomial | p | ||
) |
References red_tail_general().
Referenced by red_tail_in_last_block().
Polynomial polybori::groebner::red_tail_general | ( | const GroebnerStrategy & | strat, |
Polynomial | p | ||
) |
References add_up_generic(), add_up_polynomials(), polybori::BoolePolynomial::deg(), polybori::BooleMonomial::diagram(), polybori::BoolePolynomial::diagram(), polybori::CDDInterface< CuddLikeZDD >::diff(), polybori::BoolePolynomial::isZero(), polybori::BoolePolynomial::lead(), polybori::BoolePolynomial::length(), nf3(), nf3_degree_order(), polybori::BoolePolynomial::orderedBegin(), polybori::BoolePolynomial::orderedEnd(), and polybori::BoolePolynomial::ring().
Referenced by red_tail().
Polynomial polybori::groebner::red_tail_generic | ( | const GroebnerStrategy & | strat, |
Polynomial | p | ||
) |
References add_up_polynomials(), polybori::BoolePolynomial::deg(), polybori::BooleMonomial::diagram(), polybori::BoolePolynomial::diagram(), polybori::CDDInterface< CuddLikeZDD >::diff(), polybori::BoolePolynomial::isZero(), polybori::BoolePolynomial::lead(), polybori::BoolePolynomial::length(), ll_red_nf(), mod_mon_set(), and polybori::BoolePolynomial::ring().
Polynomial polybori::groebner::red_tail_in_last_block | ( | const GroebnerStrategy & | strat, |
Polynomial | p | ||
) |
Polynomial polybori::groebner::red_tail_self_tuning | ( | const GroebnerStrategy & | strat, |
Polynomial | p | ||
) |
Polynomial polybori::groebner::red_tail_short | ( | const GroebnerStrategy & | strat, |
Polynomial | p | ||
) |
References polybori::BoolePolynomial::isZero(), polybori::BoolePolynomial::lead(), and nf3_short().
Polynomial polybori::groebner::reduce_by_binom | ( | const Polynomial & | p, |
const Polynomial & | binom | ||
) |
Polynomial polybori::groebner::reduce_by_monom | ( | const Polynomial & | p, |
const Monomial & | m | ||
) |
References polybori::BooleMonomial::begin(), polybori::BooleMonomial::deg(), polybori::BooleMonomial::diagram(), polybori::BooleMonomial::end(), polybori::BoolePolynomial::ring(), polybori::BooleSet::subset1(), and polybori::CDDInterface< CuddLikeZDD >::unateProductAssign().
Referenced by nf2(), and nf2_short().
Polynomial polybori::groebner::reduce_complete | ( | const Polynomial & | p, |
const Polynomial & | reductor | ||
) |
References polybori::BoolePolynomial::begin(), polybori::BoolePolynomial::end(), polybori::BooleMonomial::GCD(), polybori::BoolePolynomial::lead(), polybori::BooleSet::subset1(), and polybori::CDDInterface< CuddLikeZDD >::unateProduct().
Referenced by nf2(), nf2_short(), nf3(), nf3_db(), nf3_degree_order(), nf3_no_deg_growth(), and nf3_short().
Polynomial polybori::groebner::reduce_complete | ( | const Polynomial & | p, |
const PolyEntry & | reductor, | ||
wlen_type & | len | ||
) |
int polybori::groebner::select1 | ( | const GroebnerStrategy & | strat, |
const Polynomial & | p | ||
) |
References polybori::BooleSet::divisorsOf(), polybori::CDDInterface< CuddLikeZDD >::emptiness(), polybori::BooleSet::expBegin(), polybori::BooleSet::expEnd(), and polybori::BoolePolynomial::lead().
Referenced by nf1(), nf2(), nf3(), nf3_db(), nf3_degree_order(), nf3_lexbuckets(), nf_delaying(), nf_delaying_exchanging(), parallel_reduce(), and polybori::groebner::SlimgbReduction< variant >::reduce().
int polybori::groebner::select1 | ( | const GroebnerStrategy & | strat, |
const Monomial & | m | ||
) |
int polybori::groebner::select_no_deg_growth | ( | const GroebnerStrategy & | strat, |
const Monomial & | m | ||
) |
void polybori::groebner::set_up_translation_vectors | ( | std::vector< idx_type1 > & | ring_2_0123, |
std::vector< idx_type2 > & | back_2_ring, | ||
const Exponent & | used_variables | ||
) |
References polybori::BooleExponent::begin(), and polybori::BooleExponent::end().
Referenced by polybori::groebner::CacheManager::insert(), and polybori::groebner::CacheManager::lookup().
bool polybori::groebner::should_propagate | ( | const PolyEntry & | e | ) |
int polybori::groebner::sum_size | ( | const MonomialSet & | s1, |
const MonomialSet & | s2 | ||
) |
Polynomial polybori::groebner::translate_indices | ( | const Polynomial & | p, |
const std::vector< idx_type > & | table | ||
) |
References polybori::BooleSet::change(), polybori::dd_backward_transform(), polybori::BoolePolynomial::diagram(), polybori::BoolePolynomial::isConstant(), polybori::BoolePolynomial::navigation(), polybori::BoolePolynomial::ring(), polybori::CDDInterface< CuddLikeZDD >::subset0(), polybori::CDDInterface< CuddLikeZDD >::subset1(), and polybori::BooleSet::unite().
Referenced by polybori::groebner::CacheManager::insert(), and polybori::groebner::CacheManager::lookup().
std::vector< Polynomial > polybori::groebner::variety_lex_groebner_basis | ( | const MonomialSet & | points, |
const Monomial & | variables | ||
) |
MonomialSet polybori::groebner::variety_lex_leading_terms | ( | const MonomialSet & | points, |
const Monomial & | variables | ||
) |
References polybori::BooleSet::begin(), polybori::BooleSet::diff(), polybori::BooleMonomial::divisors(), polybori::BooleSet::end(), include_divisors(), polybori::CDDInterface< CuddLikeZDD >::manager(), polybori::BooleSet::minimalElements(), random_interpolation(), polybori::CDDInterface< CuddLikeZDD >::size(), and polybori::BooleSet::unite().
Referenced by variety_lex_groebner_basis().
Polynomial polybori::groebner::without_prior_part | ( | Polynomial | p, |
idx_type | tail_start | ||
) |
MonomialSet polybori::groebner::zeros | ( | Polynomial | p, |
MonomialSet | candidates | ||
) |
References polybori::BoolePolynomial::diagram(), polybori::BooleSet::diff(), polybori::CDDInterface< CuddLikeZDD >::emptiness(), polybori::BoolePolynomial::hasConstantPart(), polybori::BoolePolynomial::isOne(), polybori::BoolePolynomial::isZero(), polybori::CDDInterface< CuddLikeZDD >::manager(), polybori::CDDInterface< CuddLikeZDD >::navigation(), polybori::BooleSet::subset0(), polybori::BooleSet::subset1(), and polybori::BooleSet::Xor().
Referenced by interpolate_smallest_lex(), and nf_lex_points().
const unsigned short polybori::groebner::dlex4var_data[][7] |
const unsigned short polybori::groebner::dp_asc4var_data[][7] |
const int polybori::groebner::FARE_WORSE = 10 |
const unsigned short polybori::groebner::lp4var_data[][7] |
const int polybori::groebner::SLIMGB_SIMPLEST = 0 |