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_fixedpath> polybori::groebner::fixed_divisors_cache_type |
typedef long polybori::groebner::len_type |
typedef PairE polybori::groebner::Pair |
typedef boost::shared_ptr<PairData> polybori::groebner::pair_data_ptr |
typedef std::vector<Polynomial> polybori::groebner::poly_vec |
typedef std::vector<Polynomial> polybori::groebner::PolynomialVector |
typedef long polybori::groebner::wlen_type |
Polynomial polybori::groebner::add_up_exponents | ( | const std::vector< Exponent > & | vec, | |
const Polynomial & | init | |||
) | [inline] |
References add_up_lex_sorted_exponents(), and polybori::BoolePolynomial::ring().
Referenced by polybori::groebner::GroebnerStrategy::noroStep(), and random_set_using_generator().
Polynomial polybori::groebner::add_up_generic | ( | const std::vector< T > & | res_vec, | |
Polynomial | init | |||
) | [inline] |
Polynomial polybori::groebner::add_up_generic | ( | const std::vector< T > & | res_vec, | |
int | start, | |||
int | end, | |||
Polynomial | init | |||
) | [inline] |
References add_up_generic().
MonomialSet polybori::groebner::add_up_lex_sorted_exponents | ( | const BoolePolyRing & | ring, | |
std::vector< Exponent > & | vec, | |||
int | start, | |||
int | end | |||
) | [inline] |
References polybori::BoolePolynomial::diagram(), polybori::BooleMonomial::diagram(), PBORI_ASSERT, and PBORI_UNLIKELY.
Referenced by add_up_exponents(), and translate_back().
MonomialSet polybori::groebner::add_up_lex_sorted_monomials | ( | const BoolePolyRing & | ring, | |
std::vector< Monomial > & | vec, | |||
int | start, | |||
int | end | |||
) | [inline] |
References polybori::BoolePolynomial::diagram(), and PBORI_ASSERT.
Polynomial polybori::groebner::add_up_monomials | ( | const std::vector< Monomial > & | vec, | |
const Polynomial & | init | |||
) | [inline] |
References add_up_generic().
Referenced by gen_random_subset(), polybori::groebner::FGLMStrategy::main(), and polybori::groebner::FGLMStrategy::rowToPoly().
Polynomial polybori::groebner::add_up_polynomials | ( | const std::vector< Polynomial > & | vec, | |
const Polynomial & | init | |||
) | [inline] |
Polynomial polybori::groebner::cancel_monomial_in_tail | ( | const Polynomial & | p, | |
const Monomial & | m | |||
) | [inline] |
References polybori::BoolePolynomial::isZero(), polybori::BoolePolynomial::lead(), and reduce_by_monom().
Referenced by reduce_by_small_entry().
Polynomial polybori::groebner::cheap_reductions | ( | const ReductionStrategy & | strat, | |
Polynomial | p | |||
) |
References polybori::BoolePolynomial::diagram(), polybori::BoolePolynomial::isZero(), ll_red_nf(), polybori::groebner::ReductionTerms::llReductor, mod_mon_set(), polybori::groebner::ReductionTerms::monomials, polybori::groebner::ReductionTerms::monomials_plus_one, polybori::groebner::ReductionOptions::optLL, plug_1(), and polybori::BoolePolynomial::ring().
Referenced by fix_point_iterate(), and red_tail_generic().
void polybori::groebner::clear_mat | ( | mzd_t * | mat | ) |
Monomial polybori::groebner::code_2_m_4 | ( | const BoolePolyRing & | ring, | |
unsigned int | code, | |||
const std::vector< idx_type > & | back_2_ring | |||
) | [inline] |
Polynomial polybori::groebner::code_2_poly_4 | ( | const BoolePolyRing & | ring, | |
unsigned int | code, | |||
const std::vector< idx_type > & | back_2_ring | |||
) | [inline] |
References code_2_m_4().
deg_type polybori::groebner::common_literal_factors_deg | ( | const LiteralFactorization & | a, | |
const LiteralFactorization & | b | |||
) |
MonomialSet polybori::groebner::contained_deg2_cudd_style | ( | const MonomialSet & | m | ) | [inline] |
References contained_variables_cudd_style(), polybori::CCuddNavigator::elseBranch(), polybori::CCuddNavigator::isConstant(), polybori::CCuddNavigator::isValid(), polybori::CCuddDDFacade< RingType, DiagramType >::navigation(), polybori::CCuddDDFacade< RingType, DiagramType >::ring(), and polybori::CCuddNavigator::thenBranch().
Referenced by do_minimal_elements_cudd_style().
std::vector<idx_type> polybori::groebner::contained_variables | ( | const MonomialSet & | m | ) | [inline] |
References polybori::CCuddNavigator::incrementElse(), polybori::CCuddNavigator::isConstant(), polybori::CCuddNavigator::isTerminated(), polybori::CCuddDDFacade< RingType, DiagramType >::navigation(), and polybori::CCuddNavigator::thenBranch().
Referenced by minimal_elements_internal2(), and minimal_elements_internal3().
MonomialSet polybori::groebner::contained_variables_cudd_style | ( | const MonomialSet & | m | ) | [inline] |
References polybori::CCuddNavigator::elseBranch(), polybori::CCuddNavigator::incrementElse(), polybori::CCuddNavigator::isConstant(), polybori::CCuddNavigator::isTerminated(), polybori::CCuddNavigator::isValid(), polybori::CCuddDDFacade< RingType, DiagramType >::navigation(), polybori::CCuddDDFacade< RingType, DiagramType >::ring(), and polybori::CCuddNavigator::thenBranch().
Referenced by contained_deg2_cudd_style(), and do_minimal_elements_cudd_style().
MonomialSet polybori::groebner::do_fixed_path_divisors | ( | MonomialSet | a, | |
MonomialSet | m, | |||
MonomialSet | n | |||
) | [inline] |
MonomialSet polybori::groebner::do_fixed_path_divisors | ( | const fixed_divisors_cache_type & | cache_mgr, | |
MonomialSet::navigator | a_nav, | |||
MonomialSet::navigator | m_nav, | |||
MonomialSet::navigator | n_nav | |||
) | [inline] |
References do_fixed_path_divisors(), polybori::CCuddNavigator::elseBranch(), polybori::CCuddNavigator::incrementElse(), polybori::CCuddNavigator::incrementThen(), polybori::CCuddNavigator::isConstant(), polybori::CCuddNavigator::isTerminated(), polybori::CCuddNavigator::isValid(), polybori::CCuddDDFacade< RingType, DiagramType >::isZero(), PBORI_ASSERT, polybori::CCuddNavigator::terminalValue(), and polybori::CCuddNavigator::thenBranch().
Polynomial polybori::groebner::do_is_rewriteable | ( | const Polynomial & | p, | |
const MonomialSet & | leading_terms | |||
) |
References polybori::CCuddNavigator::elseBranch(), polybori::CCuddNavigator::incrementElse(), polybori::CCuddNavigator::incrementThen(), polybori::CCuddNavigator::isConstant(), polybori::CCuddNavigator::isEmpty(), polybori::BoolePolynomial::isOne(), polybori::CCuddNavigator::isTerminated(), polybori::CCuddNavigator::isValid(), polybori::BoolePolynomial::isZero(), polybori::BoolePolynomial::navigation(), polybori::CCuddDDFacade< RingType, DiagramType >::navigation(), polybori::BooleSet::ownsOne(), PBORI_ASSERT, polybori::BoolePolynomial::ring(), and polybori::CCuddNavigator::thenBranch().
Referenced by is_rewriteable().
MonomialSet polybori::groebner::do_minimal_elements_cudd_style | ( | MonomialSet | m, | |
MonomialSet | mod | |||
) | [inline] |
References contained_deg2_cudd_style(), contained_variables_cudd_style(), polybori::CCuddNavigator::elseBranch(), polybori::CCuddNavigator::incrementElse(), polybori::CCuddNavigator::isConstant(), polybori::CCuddDDFacade< RingType, DiagramType >::isZero(), mod_deg2_set(), mod_var_set(), polybori::CCuddDDFacade< RingType, DiagramType >::navigation(), polybori::BooleSet::ownsOne(), PBORI_ASSERT, polybori::CCuddDDFacade< RingType, DiagramType >::ring(), and polybori::CCuddNavigator::thenBranch().
Referenced by minimal_elements_cudd_style().
Polynomial polybori::groebner::do_plug_1 | ( | const Polynomial & | p, | |
const MonomialSet & | m_plus_ones | |||
) |
References polybori::BoolePolynomial::diagram(), polybori::CCuddNavigator::elseBranch(), polybori::CCuddNavigator::incrementElse(), polybori::CCuddNavigator::isConstant(), mod_mon_set(), polybori::BoolePolynomial::navigation(), polybori::CCuddDDFacade< RingType, DiagramType >::navigation(), PBORI_ASSERT, PBORI_UNLIKELY, polybori::BoolePolynomial::ring(), and polybori::CCuddNavigator::thenBranch().
Referenced by plug_1_top().
void polybori::groebner::draw_matrix | ( | mzd_t * | mat, | |
const char * | filename | |||
) | [inline] |
std::vector< Polynomial > polybori::groebner::easy_linear_factors | ( | const Polynomial & | p | ) |
bool polybori::groebner::extended_product_criterion | ( | const PolyEntry & | m, | |
const PolyEntry & | m2 | |||
) | [inline] |
References common_literal_factors_deg(), polybori::BooleMonomial::GCD(), polybori::groebner::PolyEntryBase::lead, and polybori::groebner::PolyEntryBase::literal_factors.
Referenced by polybori::groebner::GroebnerStrategy::checkExtendedProductCriterion(), and polybori::groebner::HasTRepOrExtendedProductCriterion::operator()().
void polybori::groebner::fill_matrix | ( | mzd_t * | mat, | |
std::vector< Polynomial > | polys, | |||
from_term_map_type | from_term_map | |||
) | [inline] |
void polybori::groebner::fix_point_iterate | ( | const GroebnerStrategy & | strat, | |
std::vector< Polynomial > | extendable_system, | |||
std::vector< Polynomial > & | res1, | |||
MonomialSet & | res_terms, | |||
MonomialSet & | leads_from_strat | |||
) | [inline] |
References polybori::BooleSet::begin(), cheap_reductions(), polybori::BooleSet::end(), polybori::groebner::GroebnerStrategy::generators, polybori::BoolePolynomial::isZero(), polybori::groebner::ReductionTerms::minimalLeadingTerms, mod_mon_set(), PBORI_ASSERT, PBORI_LIKELY, PBORI_UNLIKELY, polybori::BooleMonomial::ring(), polybori::BoolePolynomial::ring(), polybori::CCuddDDFacade< RingType, DiagramType >::ring(), and select_largest_degree().
Referenced by polybori::groebner::GroebnerStrategy::faugereStepDense().
MonomialSet polybori::groebner::fixed_path_divisors | ( | MonomialSet | a, | |
Monomial | m, | |||
Monomial | n | |||
) | [inline] |
std::vector< Polynomial > polybori::groebner::full_implication_gb | ( | const Polynomial & | p, | |
CacheManager & | cache, | |||
GroebnerStrategy & | strat | |||
) |
References polybori::groebner::GroebnerStrategy::cache, polybori::groebner::CacheManager::insert(), polybori::groebner::GroebnerStrategy::log(), polybori::groebner::CacheManager::lookup(), and polybori::BoolePolynomial::ring().
Referenced by polybori::groebner::GroebnerStrategy::addGeneratorTrySplit().
std::vector<Polynomial> polybori::groebner::gauss_on_polys | ( | const std::vector< Polynomial > & | orig_system | ) | [inline] |
References linalg_step(), polybori::BoolePolynomial::ring(), and unite_polynomials().
MonomialSet polybori::groebner::gen_random_subset | ( | const BoolePolyRing & | ring, | |
const std::vector< Monomial > & | vec, | |||
bool_gen_type & | bit_gen | |||
) |
References add_up_monomials(), polybori::BooleSet::begin(), and polybori::BoolePolyRing::zero().
Referenced by random_interpolation().
unsigned int polybori::groebner::get_table_entry4 | ( | const BoolePolyRing & | ring, | |
int | p_code, | |||
int | pos | |||
) | [inline] |
void polybori::groebner::groebner | ( | GroebnerStrategy & | strat | ) |
bool polybori::groebner::have_base_ordering_for_tables | ( | const BoolePolyRing & | ring | ) | [inline] |
bool polybori::groebner::have_ordering_for_tables | ( | const BoolePolyRing & | ring | ) | [inline] |
bool polybori::groebner::have_ordering_for_tables | ( | const int | order_code | ) | [inline] |
References polybori::dlex, polybori::dp_asc, and polybori::lp.
Referenced by polybori::groebner::GroebnerStrategy::addGeneratorTrySplit(), and polybori::groebner::GroebnerStrategy::treatVariablePairs().
MonomialSet polybori::groebner::include_divisors | ( | const MonomialSet & | m | ) |
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::CCuddNavigator::isValid(), polybori::CCuddDDFacade< RingType, DiagramType >::isZero(), polybori::CCuddDDFacade< RingType, DiagramType >::navigation(), PBORI_ASSERT, polybori::CCuddDDFacade< RingType, DiagramType >::ring(), and zeros().
Referenced by nf_lex_points(), and random_interpolation().
bool polybori::groebner::irreducible_lead | ( | Monomial | lm, | |
const ReductionStrategy & | strat | |||
) | [inline] |
References polybori::BooleSet::hasTermOfVariables(), and polybori::groebner::ReductionTerms::minimalLeadingTerms.
Referenced by polybori::groebner::LexHelper::irreducible_lead(), polybori::groebner::DegOrderHelper::irreducible_lead(), polybori::groebner::BlockOrderHelper::irreducible_lead(), red_tail_general(), red_tail_generic(), and select_no_deg_growth().
bool polybori::groebner::is_rewriteable | ( | const Polynomial & | p, | |
const MonomialSet & | leading_terms | |||
) |
void polybori::groebner::linalg_step | ( | std::vector< Polynomial > & | polys, | |
MonomialSet | terms, | |||
MonomialSet | leads_from_strat, | |||
bool | log, | |||
bool | optDrawMatrices = false , |
|||
const char * | matrixPrefix = "mat" | |||
) | [inline] |
References draw_matrix(), fill_matrix(), polybori::groebner::MatrixMonomialOrderTables::from_term_map, PBORI_UNLIKELY, polybori::groebner::MatrixMonomialOrderTables::ring_order2lex, polybori::BooleSet::size(), polybori::groebner::MatrixMonomialOrderTables::terms_as_exp, polybori::groebner::MatrixMonomialOrderTables::terms_as_exp_lex, and translate_back().
Referenced by polybori::groebner::GroebnerStrategy::faugereStepDense(), and gauss_on_polys().
void polybori::groebner::linalg_step_modified | ( | std::vector< Polynomial > & | polys, | |
MonomialSet | terms, | |||
MonomialSet | leads_from_strat, | |||
bool | log, | |||
bool | optDrawMatrices, | |||
const char * | matrixPrefix | |||
) | [inline] |
This checks cols*rows > 20000000000 = 4*2^32 + 2820130816
References add_up_generic(), polybori::BoolePolynomial::diagram(), draw_matrix(), polybori::BoolePolynomial::expBegin(), polybori::BoolePolynomial::expEnd(), fill_matrix(), polybori::groebner::MatrixMonomialOrderTables::from_term_map, polybori::CCuddDDFacade< RingType, DiagramType >::isZero(), PBORI_ASSERT, PBORI_LIKELY, pbori_transpose(), PBORI_UNLIKELY, polybori::CCuddDDFacade< RingType, DiagramType >::ring(), polybori::groebner::MatrixMonomialOrderTables::ring_order2lex, polybori::BooleSet::size(), polybori::groebner::MatrixMonomialOrderTables::terms_as_exp, polybori::groebner::MatrixMonomialOrderTables::terms_as_exp_lex, and translate_back().
Referenced by polybori::groebner::GroebnerStrategy::faugereStepDense().
Polynomial polybori::groebner::ll_red_nf | ( | const Polynomial & | p, | |
const BooleSet & | reductors | |||
) | [inline] |
Polynomial polybori::groebner::ll_red_nf_generic | ( | const Polynomial & | p, | |
MonomialSet::navigator | r_nav | |||
) | [inline] |
Polynomial polybori::groebner::ll_red_nf_generic | ( | const Polynomial & | p, | |
const BooleSet & | reductors | |||
) | [inline] |
Polynomial polybori::groebner::ll_red_nf_noredsb | ( | const Polynomial & | p, | |
const BooleSet & | reductors | |||
) | [inline] |
Polynomial polybori::groebner::ll_red_nf_noredsb_single_recursive_call | ( | const Polynomial & | p, | |
const BooleSet & | reductors | |||
) | [inline] |
Polynomial polybori::groebner::map_every_x_to_x_plus_one | ( | const CacheMgr & | cache_mgr, | |
MonomialSet::navigator | nav | |||
) | [inline] |
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 | ) | [inline] |
MonomialSet polybori::groebner::minimal_elements_cudd_style | ( | MonomialSet | m | ) | [inline] |
MonomialSet polybori::groebner::minimal_elements_cudd_style_unary | ( | MonomialSet | m | ) | [inline] |
References polybori::CCuddNavigator::elseBranch(), polybori::CCuddDDFacade< RingType, DiagramType >::isZero(), mod_mon_set(), polybori::CCuddDDFacade< RingType, DiagramType >::navigation(), polybori::BooleSet::ownsOne(), polybori::CCuddDDFacade< RingType, DiagramType >::ring(), and polybori::CCuddNavigator::thenBranch().
Referenced by minimal_elements(), minimal_elements_divided(), and minimal_elements_multiplied_monoms().
void polybori::groebner::minimal_elements_divided | ( | MonomialSet | m, | |
Monomial | lm, | |||
MonomialSet | mod, | |||
std::vector< Exponent > & | result | |||
) | [inline] |
References polybori::BooleSet::expBegin(), polybori::BooleSet::expEnd(), and polybori::BooleSet::length().
Referenced by polybori::groebner::RelatedTermsBase::factors().
MonomialSet polybori::groebner::minimal_elements_divided | ( | MonomialSet | m, | |
Monomial | lm, | |||
MonomialSet | mod | |||
) | [inline] |
MonomialSet polybori::groebner::minimal_elements_internal | ( | const MonomialSet & | s | ) | [inline] |
References polybori::BooleSet::begin(), polybori::BooleSet::change(), polybori::BooleMonomial::diagram(), polybori::BoolePolynomial::isOne(), polybori::CCuddDDFacade< RingType, DiagramType >::isZero(), polybori::BooleSet::length(), polybori::CCuddDDFacade< RingType, DiagramType >::navigation(), polybori::BooleMonomial::reducibleBy(), and polybori::CCuddDDFacade< RingType, DiagramType >::ring().
Referenced by minimal_elements().
MonomialSet polybori::groebner::minimal_elements_internal2 | ( | MonomialSet | s | ) | [inline] |
References polybori::BooleSet::change(), contained_variables(), polybori::BooleMonomial::diagram(), polybori::BoolePolynomial::hasConstantPart(), polybori::CCuddNavigator::incrementElse(), polybori::CCuddNavigator::isConstant(), polybori::BoolePolynomial::isOne(), polybori::CCuddDDFacade< RingType, DiagramType >::isZero(), polybori::BooleSet::length(), polybori::CCuddDDFacade< RingType, DiagramType >::navigation(), PBORI_ASSERT, and polybori::CCuddDDFacade< RingType, DiagramType >::ring().
std::vector<Exponent> polybori::groebner::minimal_elements_internal3 | ( | MonomialSet | s | ) | [inline] |
std::vector<Monomial> polybori::groebner::minimal_elements_multiplied | ( | MonomialSet | m, | |
Monomial | lm | |||
) | [inline] |
MonomialSet polybori::groebner::minimal_elements_multiplied_monoms | ( | MonomialSet | m, | |
Monomial | lm | |||
) | [inline] |
MonomialSet polybori::groebner::mod_deg2_set | ( | const CacheMgr & | cache_mgr, | |
MonomialSet::navigator | a, | |||
MonomialSet::navigator | v | |||
) | [inline] |
References polybori::CCuddNavigator::elseBranch(), polybori::CCuddNavigator::incrementElse(), polybori::CCuddNavigator::isConstant(), polybori::CCuddNavigator::isValid(), mod_var_set(), polybori::CCuddDDFacade< RingType, DiagramType >::navigation(), PBORI_ASSERT, and polybori::CCuddNavigator::thenBranch().
Referenced by do_minimal_elements_cudd_style(), and mod_deg2_set().
MonomialSet polybori::groebner::mod_deg2_set | ( | const MonomialSet & | as, | |
const MonomialSet & | vs | |||
) |
MonomialSet polybori::groebner::mod_mon_set | ( | const MonomialSet & | as, | |
const MonomialSet & | vs | |||
) |
References polybori::dd_modulo_monomials(), polybori::CCuddDDFacade< RingType, DiagramType >::navigation(), and polybori::CCuddDDFacade< RingType, DiagramType >::ring().
Referenced by polybori::groebner::FGLMStrategy::analyzeGB(), cheap_reductions(), polybori::groebner::RelatedTermsBase::critical_terms_base(), do_plug_1(), fix_point_iterate(), minimal_elements_cudd_style_unary(), minimal_elements_divided(), plug_1_top(), and red_tail_generic().
MonomialSet polybori::groebner::mod_var_set | ( | const CacheMgr & | cache_mgr, | |
MonomialSet::navigator | a, | |||
MonomialSet::navigator | v | |||
) | [inline] |
References polybori::CCuddNavigator::elseBranch(), polybori::CCuddNavigator::incrementElse(), polybori::CCuddNavigator::isConstant(), polybori::CCuddNavigator::isValid(), polybori::CCuddDDFacade< RingType, DiagramType >::isZero(), polybori::CCuddDDFacade< RingType, DiagramType >::navigation(), polybori::CCuddDDFacade< RingType, DiagramType >::ring(), and polybori::CCuddNavigator::thenBranch().
Referenced by do_minimal_elements_cudd_style(), 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, | |
const BoolePolyRing & | ring | |||
) |
References polybori::BoolePolynomial::ring().
Polynomial polybori::groebner::multiply | ( | const Polynomial & | p, | |
const Polynomial & | q | |||
) | [inline] |
References polybori::BoolePolynomial::navigation(), and polybori::BoolePolynomial::ring().
Referenced by polybori::BooleExponent::multiply(), and reduce_complete().
Polynomial polybori::groebner::multiply_with_literal_factors | ( | const LiteralFactorization & | lf, | |
Polynomial | p | |||
) |
Polynomial polybori::groebner::nf3 | ( | const ReductionStrategy & | strat, | |
Polynomial | p, | |||
Monomial | rest_lead | |||
) |
References polybori::BooleMonomial::exp(), polybori::BoolePolynomial::isZero(), polybori::BoolePolynomial::lead(), polybori::groebner::ReductionOptions::optBrutalReductions, PBORI_ASSERT, reduce_complete(), polybori::groebner::ReductionStrategy::select1(), and polybori::groebner::PolyEntryVector::size().
Referenced by polybori::groebner::ReductionStrategy::headNormalForm(), polybori::groebner::LexHelper::nf(), polybori::groebner::BlockOrderHelper::nf(), and red_tail_general().
Polynomial polybori::groebner::nf3_degree_order | ( | const ReductionStrategy & | 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::leadDeg(), polybori::groebner::ReductionOptions::optBrutalReductions, PBORI_ASSERT, reduce_complete(), polybori::groebner::ReductionStrategy::select1(), and polybori::groebner::PolyEntryVector::size().
Referenced by polybori::groebner::ReductionStrategy::headNormalForm(), polybori::groebner::DegOrderHelper::nf(), and red_tail_general().
Polynomial polybori::groebner::nf3_lexbuckets | ( | const GroebnerStrategy & | strat, | |
Polynomial | p, | |||
Monomial | rest_lead | |||
) |
References polybori::BooleMonomial::exp(), polybori::groebner::GroebnerStrategy::generators, polybori::groebner::LexBucket::getFront(), polybori::groebner::LexBucket::isZero(), polybori::groebner::LexBucket::leadExp(), polybori::groebner::ReductionOptions::optBrutalReductions, PBORI_ASSERT, polybori::BoolePolynomial::ring(), polybori::groebner::ReductionStrategy::select1(), polybori::groebner::PolyEntryVector::size(), and polybori::groebner::LexBucket::value().
Polynomial polybori::groebner::nf3_no_deg_growth | ( | const ReductionStrategy & | strat, | |
Polynomial | p, | |||
Monomial | rest_lead | |||
) |
References polybori::BooleMonomial::exp(), polybori::BoolePolynomial::isZero(), polybori::BoolePolynomial::lead(), polybori::groebner::ReductionOptions::optBrutalReductions, PBORI_ASSERT, reduce_complete(), select_no_deg_growth(), and polybori::groebner::PolyEntryVector::size().
Referenced by polybori::groebner::LexHelper::nf().
Polynomial polybori::groebner::nf3_short | ( | const ReductionStrategy & | strat, | |
Polynomial | p | |||
) |
MonomialSet polybori::groebner::nf_lex_points | ( | const Polynomial & | f, | |
const MonomialSet & | p | |||
) |
bool polybori::groebner::operator> | ( | PseudoLongProduct | lhs, | |
const RhsType & | rhs | |||
) | [inline] |
References polybori::groebner::PseudoLongProduct::greater().
value_type polybori::groebner::p2code | ( | Polynomial | p, | |
const std::vector< char > & | ring_2_0123, | |||
int | max_vars | |||
) | [inline] |
unsigned int polybori::groebner::p2code_4 | ( | Polynomial | p, | |
const std::vector< char > & | ring_2_0123 | |||
) | [inline] |
std::vector< Polynomial > polybori::groebner::parallel_reduce | ( | std::vector< Polynomial > | inp, | |
GroebnerStrategy & | strat, | |||
int | average_steps, | |||
double | delay_f | |||
) |
Polynomial::size_type max_length=0;
References polybori::groebner::GroebnerStrategy::addGeneratorDelayed(), polybori::BooleMonomial::begin(), polybori::BooleMonomial::deg(), polybori::groebner::GroebnerStrategy::faugereStepDense(), polybori::groebner::GroebnerStrategy::generators, polybori::groebner::PolynomialSugar::getSugar(), polybori::groebner::GroebnerStrategy::log(), polybori::groebner::GroebnerOptions::optExchange, polybori::groebner::GroebnerOptions::optLazy, polybori::groebner::GroebnerOptions::optLinearAlgebraInLastBlock, polybori::groebner::GroebnerOptions::optStepBounded, PBORI_ASSERT, polybori::groebner::ReductionStrategy::select1(), and steps().
Referenced by polybori::groebner::GroebnerStrategy::symmGB_F2().
mzd_t* polybori::groebner::pbori_transpose | ( | mzd_t * | mat | ) | [inline] |
Polynomial polybori::groebner::plug_1 | ( | const Polynomial & | p, | |
const MonomialSet & | m_plus_ones | |||
) |
Polynomial polybori::groebner::plug_1_top | ( | const Polynomial & | p, | |
const MonomialSet & | m_plus_ones | |||
) |
References polybori::BoolePolynomial::diagram(), do_plug_1(), and mod_mon_set().
Referenced by plug_1().
void polybori::groebner::printPackedMatrixMB | ( | mzd_t * | mat | ) | [inline] |
MonomialSet polybori::groebner::random_interpolation | ( | const MonomialSet & | as_set, | |
const std::vector< Monomial > & | as_vector, | |||
bool_gen_type & | bit_gen | |||
) |
References gen_random_subset(), interpolate_smallest_lex(), and polybori::CCuddDDFacade< RingType, DiagramType >::ring().
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 | |||
) | [inline] |
MonomialSet polybori::groebner::recursively_insert | ( | MonomialSet::navigator | p, | |
idx_type | idx, | |||
MonomialSet | mset | |||
) |
Polynomial polybori::groebner::red_tail | ( | const ReductionStrategy & | strat, | |
Polynomial | p | |||
) | [inline] |
References polybori::BoolePolynomial::isZero(), PBORI_UNLIKELY, red_tail_general(), and polybori::BoolePolynomial::ring().
Referenced by polybori::groebner::GroebnerStrategy::addAsYouWish(), red_tail_in_last_block(), polybori::groebner::GroebnerStrategy::redTail(), and polybori::groebner::ReductionStrategy::reducedNormalForm().
Polynomial polybori::groebner::red_tail_general | ( | const ReductionStrategy & | strat, | |
Polynomial | p | |||
) | [inline] |
References add_up_generic(), add_up_polynomials(), polybori::BooleMonomial::diagram(), polybori::BoolePolynomial::diagram(), irreducible_lead(), polybori::BoolePolynomial::isZero(), polybori::BoolePolynomial::lead(), nf3(), nf3_degree_order(), polybori::BoolePolynomial::orderedBegin(), polybori::BoolePolynomial::orderedEnd(), PBORI_ASSERT, PBORI_LIKELY, PBORI_UNLIKELY, and polybori::BoolePolynomial::ring().
Referenced by red_tail().
Polynomial polybori::groebner::red_tail_generic | ( | const ReductionStrategy & | strat, | |
Polynomial | p | |||
) | [inline] |
References add_up_polynomials(), polybori::groebner::ReductionStrategy::canRewrite(), cheap_reductions(), polybori::BooleMonomial::diagram(), polybori::BoolePolynomial::diagram(), irreducible_lead(), polybori::BoolePolynomial::isZero(), polybori::BoolePolynomial::lead(), polybori::groebner::ReductionTerms::minimalLeadingTerms, mod_mon_set(), PBORI_ASSERT, PBORI_LIKELY, PBORI_UNLIKELY, and polybori::BoolePolynomial::ring().
Polynomial polybori::groebner::red_tail_in_last_block | ( | const GroebnerStrategy & | strat, | |
Polynomial | p | |||
) | [inline] |
References polybori::groebner::GroebnerStrategy::generators, polybori::CCuddNavigator::incrementElse(), polybori::CCuddNavigator::isConstant(), polybori::BoolePolynomial::navigation(), polybori::groebner::GroebnerStrategy::nf(), red_tail(), and polybori::BoolePolynomial::ring().
Referenced by polybori::groebner::GroebnerStrategy::addAsYouWish().
Polynomial polybori::groebner::red_tail_short | ( | const ReductionStrategy & | strat, | |
Polynomial | p | |||
) | [inline] |
Polynomial polybori::groebner::reduce_by_binom | ( | const Polynomial & | p, | |
const Polynomial & | binom | |||
) | [inline] |
Polynomial polybori::groebner::reduce_by_binom_in_tail | ( | const Polynomial & | p, | |
const Polynomial & | binom | |||
) | [inline] |
References polybori::BoolePolynomial::lead(), polybori::BoolePolynomial::length(), PBORI_ASSERT, and reduce_by_binom().
Referenced by reduce_by_small_entry().
Polynomial polybori::groebner::reduce_by_monom | ( | const Polynomial & | p, | |
const Monomial & | m | |||
) |
assumes that divisibility condition is fullfilled
References polybori::BooleMonomial::begin(), polybori::BooleMonomial::deg(), polybori::BooleMonomial::diagram(), polybori::BooleMonomial::end(), and polybori::BoolePolynomial::ring().
Referenced by cancel_monomial_in_tail().
Polynomial polybori::groebner::reduce_by_small_entry | ( | const Polynomial & | poly, | |
const PolyEntry & | entry | |||
) | [inline] |
Polynomial polybori::groebner::reduce_complete | ( | const Polynomial & | p, | |
const PolyEntry & | reductor, | |||
wlen_type & | len | |||
) |
References polybori::BooleExponent::begin(), polybori::BoolePolynomial::diagram(), polybori::BooleExponent::end(), polybori::groebner::PolyEntryBase::leadExp, polybori::BooleSet::length(), polybori::groebner::PolyEntryBase::length, multiply(), polybori::groebner::PolyEntryBase::p, and reduce_by_binom().
Referenced by nf3(), nf3_degree_order(), nf3_no_deg_growth(), and nf3_short().
Polynomial polybori::groebner::reduce_complete | ( | const Polynomial & | p, | |
const Polynomial & | reductor | |||
) |
int polybori::groebner::select_largest_degree | ( | const ReductionStrategy & | strat, | |
const Monomial & | m | |||
) | [inline] |
References polybori::BooleSet::divisorsOf(), polybori::BooleSet::expBegin(), polybori::BooleSet::expEnd(), polybori::groebner::PolyEntryVector::index(), polybori::CCuddDDFacade< RingType, DiagramType >::isZero(), and polybori::groebner::ReductionTerms::leadingTerms.
Referenced by fix_point_iterate().
int polybori::groebner::select_no_deg_growth | ( | const ReductionStrategy & | strat, | |
const Monomial & | m | |||
) |
References polybori::BooleSet::divisorsOf(), polybori::BooleSet::expBegin(), polybori::BooleSet::expEnd(), polybori::groebner::PolyEntryVector::index(), irreducible_lead(), polybori::CCuddDDFacade< RingType, DiagramType >::isZero(), polybori::groebner::ReductionTerms::leadingTerms, and wlen_literal_exceptioned().
Referenced by nf3_no_deg_growth().
void polybori::groebner::set_random_seed | ( | unsigned int | seed | ) |
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 | |||
) | [inline] |
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 | ) | [inline] |
int polybori::groebner::steps | ( | int | size | ) |
Referenced by parallel_reduce(), and polybori::groebner::GroebnerStrategy::symmGB_F2().
int polybori::groebner::sum_size | ( | const MonomialSet & | s1, | |
const MonomialSet & | s2 | |||
) |
void polybori::groebner::translate_back | ( | std::vector< Polynomial > & | polys, | |
MonomialSet | leads_from_strat, | |||
mzd_t * | mat, | |||
const std::vector< int > & | ring_order2lex, | |||
const std::vector< Exponent > & | terms_as_exp, | |||
const std::vector< Exponent > & | terms_as_exp_lex, | |||
int | rank | |||
) | [inline] |
References add_up_lex_sorted_exponents(), polybori::BooleSet::owns(), PBORI_ASSERT, PBORI_UNLIKELY, and polybori::CCuddDDFacade< RingType, DiagramType >::ring().
Referenced by linalg_step(), and linalg_step_modified().
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(), and polybori::BoolePolynomial::ring().
Referenced by polybori::groebner::CacheManager::insert(), and polybori::groebner::CacheManager::lookup().
void polybori::groebner::transpose_window_to_row | ( | mzd_t * | transposed_vec, | |
mzd_t * | window | |||
) |
mzd_t* polybori::groebner::transposePackedMB | ( | mzd_t * | mat | ) | [inline] |
Polynomial polybori::groebner::unite_polynomials | ( | const std::vector< Polynomial > & | res_vec, | |
Polynomial | init | |||
) | [inline] |
Polynomial polybori::groebner::unite_polynomials | ( | const std::vector< Polynomial > & | res_vec, | |
int | start, | |||
int | end, | |||
Polynomial | init | |||
) | [inline] |
References PBORI_UNLIKELY, and unite_polynomials().
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::BooleMonomial::divisors(), polybori::BooleSet::end(), include_divisors(), polybori::BooleSet::minimalElements(), random_interpolation(), polybori::CCuddDDFacade< RingType, DiagramType >::ring(), and polybori::BooleSet::size().
Referenced by variety_lex_groebner_basis().
Polynomial polybori::groebner::without_prior_part | ( | Polynomial | p, | |
idx_type | tail_start | |||
) |
wlen_type polybori::groebner::wlen_literal_exceptioned | ( | const PolyEntry & | e | ) | [inline] |
MonomialSet polybori::groebner::zeros | ( | Polynomial | p, | |
MonomialSet | candidates | |||
) |
References polybori::BoolePolynomial::diagram(), polybori::BoolePolynomial::hasConstantPart(), polybori::CCuddNavigator::incrementElse(), polybori::BoolePolynomial::isOne(), polybori::BoolePolynomial::isZero(), polybori::CCuddDDFacade< RingType, DiagramType >::isZero(), polybori::CCuddDDFacade< RingType, DiagramType >::navigation(), PBORI_ASSERT, polybori::BoolePolynomial::ring(), polybori::CCuddDDFacade< RingType, DiagramType >::ring(), and polybori::CCuddDDFacade< RingType, DiagramType >::Xor().
Referenced by interpolate_smallest_lex(), nf_lex_points(), polybori::groebner::CountCriterion::operator()(), and polybori::groebner::GroebnerStrategy::treatVariablePairs().
const unsigned short polybori::groebner::dlex4var_data[][7] |
Referenced by get_table_entry4().
const unsigned short polybori::groebner::dp_asc4var_data[][7] |
Referenced by get_table_entry4().
const int polybori::groebner::FARE_WORSE = 10 |
const unsigned short polybori::groebner::lp4var_data[][7] |
Referenced by get_table_entry4().
const int polybori::groebner::SLIMGB_SIMPLEST = 0 |