#include "nf.h"
#include "polynomial_properties.h"
#include "lexbuckets.h"
#include <LexOrder.h>
#include <iostream>
#include <COrderedIter.h>
Classes | |
class | PolynomialSugar |
class | LMLessComparePS |
class | PSCompareByEl |
class | IsEcart0Predicate |
class | LexHelper |
class | DegOrderHelper |
class | BlockOrderHelper |
class | LexOrderGreaterComparer |
Typedefs | |
typedef LessWeightedLengthInStratModified | StratComparerForSelect |
Functions | |
BEGIN_NAMESPACE_PBORIGB void | drawmatrix (mzd_t *mat, const char *filename) |
template<class T > | |
Polynomial | add_up_generic (const std::vector< T > &res_vec, Polynomial init) |
Polynomial | nf3 (const ReductionStrategy &strat, Polynomial p, Monomial rest_lead) |
Polynomial | nf3_lexbuckets (const GroebnerStrategy &strat, Polynomial p, Monomial rest_lead) |
Polynomial | nf3_no_deg_growth (const ReductionStrategy &strat, Polynomial p, Monomial rest_lead) |
Polynomial | nf3_degree_order (const ReductionStrategy &strat, Polynomial p, Monomial lead) |
Polynomial | nf3_short (const ReductionStrategy &strat, Polynomial p) |
int | sum_size (const MonomialSet &s1, const MonomialSet &s2) |
std::vector< Polynomial > | parallel_reduce (std::vector< Polynomial > inp, GroebnerStrategy &strat, int average_steps, double delay_f) |
int | select_no_deg_growth (const ReductionStrategy &strat, const Monomial &m) |
template<class T > | |
Polynomial | add_up_generic (const std::vector< T > &res_vec, int start, int end, Polynomial init) |
Polynomial | add_up_monomials (const std::vector< Monomial > &vec) |
Polynomial | add_up_polynomials (const std::vector< Polynomial > &vec) |
Polynomial | add_up_exponents (const std::vector< Exponent > &vec) |
Polynomial | red_tail_general (const ReductionStrategy &strat, Polynomial p) |
template<class Helper > | |
Polynomial | red_tail_generic (const ReductionStrategy &strat, Polynomial p) |
Polynomial | red_tail (const ReductionStrategy &strat, Polynomial p) |
Polynomial | red_tail_short (const ReductionStrategy &strat, Polynomial p) |
template<bool have_redsb, bool single_call_for_noredsb, bool fast_multiplication> | |
Polynomial | ll_red_nf_generic (const Polynomial &, const BooleSet &) |
template<bool have_redsb, bool single_call_for_noredsb, bool fast_multiplication> | |
Polynomial | ll_red_nf_generic (const Polynomial &p, const BooleSet::navigator navi) |
template<bool fast> | |
Polynomial | multiply (const Polynomial &p, const Polynomial &q) |
Polynomial | ll_red_nf (const Polynomial &p, const BooleSet &reductors) |
Polynomial | ll_red_nf_noredsb (const Polynomial &p, const BooleSet &reductors) |
Polynomial | ll_red_nf_noredsb_single_recursive_call (const Polynomial &p, const BooleSet &reductors) |
Polynomial | do_plug_1 (const Polynomial &p, const MonomialSet &m_plus_ones) |
Polynomial | plug_1_top (const Polynomial &p, const MonomialSet &m_plus_ones) |
Polynomial | plug_1 (const Polynomial &p, const MonomialSet &m_plus_ones) |
MonomialSet | mod_mon_set (const MonomialSet &as, const MonomialSet &vs) |
Variables | |
const int | FARE_WORSE = 10 |
typedef LessWeightedLengthInStratModified StratComparerForSelect |
Polynomial add_up_exponents | ( | const std::vector< Exponent > & | vec | ) |
Referenced by polybori::groebner::random_set_using_generator().
Polynomial add_up_generic | ( | const std::vector< T > & | res_vec, | |
int | start, | |||
int | end, | |||
Polynomial | init | |||
) | [inline] |
References add_up_generic().
Polynomial add_up_generic | ( | const std::vector< T > & | res_vec, | |
Polynomial | init | |||
) | [inline] |
Polynomial add_up_monomials | ( | const std::vector< Monomial > & | vec | ) |
References add_up_generic().
Referenced by gen_random_subset(), FGLMStrategy::main(), and FGLMStrategy::rowToPoly().
Polynomial add_up_polynomials | ( | const std::vector< Polynomial > & | vec | ) |
References add_up_generic().
Referenced by red_tail_general(), and red_tail_generic().
Polynomial do_plug_1 | ( | const Polynomial & | p, | |
const MonomialSet & | m_plus_ones | |||
) |
References mod_mon_set(), and UNLIKELY.
Referenced by plug_1_top().
BEGIN_NAMESPACE_PBORIGB void drawmatrix | ( | mzd_t * | mat, | |
const char * | filename | |||
) |
Referenced by FGLMStrategy::setupMultiplicationTables().
Polynomial ll_red_nf | ( | const Polynomial & | p, | |
const BooleSet & | reductors | |||
) |
Referenced by addPolynomialToReductor(), and red_tail_generic().
Polynomial ll_red_nf_generic | ( | const Polynomial & | p, | |
const BooleSet::navigator | navi | |||
) | [inline] |
Polynomial ll_red_nf_generic | ( | const Polynomial & | p, | |
const BooleSet & | reductors | |||
) | [inline] |
References LIKELY, CDDInterface< CuddLikeZDD >::navigation(), and UNLIKELY.
Polynomial ll_red_nf_noredsb | ( | const Polynomial & | p, | |
const BooleSet & | reductors | |||
) |
Polynomial ll_red_nf_noredsb_single_recursive_call | ( | const Polynomial & | p, | |
const BooleSet & | reductors | |||
) |
MonomialSet mod_mon_set | ( | const MonomialSet & | as, | |
const MonomialSet & | vs | |||
) |
References dd_modulo_monomials().
Referenced by FGLMStrategy::analyzeGB(), do_plug_1(), polybori::groebner::minimal_elements_cudd_style_unary(), plug_1_top(), and red_tail_generic().
Polynomial multiply | ( | const Polynomial & | p, | |
const Polynomial & | q | |||
) | [inline] |
Referenced by polybori::groebner::reduce_complete().
Polynomial nf3 | ( | const ReductionStrategy & | strat, | |
Polynomial | p, | |||
Monomial | rest_lead | |||
) |
References reduce_complete().
Referenced by BlockOrderHelper::nf(), LexHelper::nf(), and red_tail_general().
Polynomial nf3_degree_order | ( | const ReductionStrategy & | strat, | |
Polynomial | p, | |||
Monomial | lead | |||
) |
References reduce_complete().
Referenced by DegOrderHelper::nf(), and red_tail_general().
Polynomial nf3_lexbuckets | ( | const GroebnerStrategy & | strat, | |
Polynomial | p, | |||
Monomial | rest_lead | |||
) |
References LexBucket::getFront(), LexBucket::isZero(), LexBucket::leadExp(), and LexBucket::value().
Polynomial nf3_no_deg_growth | ( | const ReductionStrategy & | strat, | |
Polynomial | p, | |||
Monomial | rest_lead | |||
) |
References reduce_complete(), and select_no_deg_growth().
Referenced by LexHelper::nf().
Polynomial nf3_short | ( | const ReductionStrategy & | strat, | |
Polynomial | p | |||
) |
References reduce_complete(), and spoly().
Referenced by red_tail_short().
std::vector<Polynomial> parallel_reduce | ( | std::vector< Polynomial > | inp, | |
GroebnerStrategy & | strat, | |||
int | average_steps, | |||
double | delay_f | |||
) |
References PolynomialSugar::getSugar(), and BooleEnv::ring().
Polynomial plug_1 | ( | const Polynomial & | p, | |
const MonomialSet & | m_plus_ones | |||
) |
References plug_1_top().
Polynomial plug_1_top | ( | const Polynomial & | p, | |
const MonomialSet & | m_plus_ones | |||
) |
References do_plug_1(), and mod_mon_set().
Referenced by polybori::groebner::plug_1().
Polynomial red_tail | ( | const ReductionStrategy & | strat, | |
Polynomial | p | |||
) |
References BooleEnv::ordering(), and red_tail_general().
Referenced by red_tail_in_last_block().
Polynomial red_tail_general | ( | const ReductionStrategy & | strat, | |
Polynomial | p | |||
) |
References add_up_generic(), add_up_polynomials(), LIKELY, nf3(), nf3_degree_order(), BooleEnv::ordering(), and UNLIKELY.
Referenced by red_tail().
Polynomial red_tail_generic | ( | const ReductionStrategy & | strat, | |
Polynomial | p | |||
) | [inline] |
References add_up_polynomials(), LIKELY, ll_red_nf(), mod_mon_set(), and UNLIKELY.
Polynomial red_tail_short | ( | const ReductionStrategy & | strat, | |
Polynomial | p | |||
) |
References nf3_short().
int select_no_deg_growth | ( | const ReductionStrategy & | strat, | |
const Monomial & | m | |||
) |
References LexHelper::irreducible_lead(), and polybori::groebner::wlen_literal_exceptioned().
Referenced by nf3_no_deg_growth().
int sum_size | ( | const MonomialSet & | s1, | |
const MonomialSet & | s2 | |||
) |
const int FARE_WORSE = 10 |