polybori::groebner Namespace Reference


Classes

class  CacheManager
class  ChainCriterion
 assumes that divisibility condition is fullfilled More...
class  ChainVariableCriterion
class  HasTRepOrExtendedProductCriterion
class  SetBitUInt
class  ZeroFunction
class  ShorterEliminationLength
class  ShorterEliminationLengthModified
class  PairStatusSet
class  PairManager
class  MonomialHasher
class  GroebnerStrategy
class  LessWeightedLengthInStrat
class  LessWeightedLengthInStratModified
class  LessEcartThenLessWeightedLengthInStrat
class  LessUsedTailVariablesThenLessWeightedLengthInStrat
class  LessCombinedManySizesInStrat
class  GBTypes
class  LexBucket
class  LiteralFactorization
class  PolynomialSugar
class  LMLessComparePS
class  PSCompareByEl
class  IsEcart0Predicate
class  LexHelper
class  DegOrderHelper
class  BlockOrderHelper
class  LexOrderGreaterComparer
class  LMLessCompare
class  SlimgbReduction
class  PolyEntry
class  PairData
class  IJPairData
class  PolyPairData
class  VariablePairData
class  PairLS
class  PairE
class  PairLSCompare
class  PairECompare

Typedefs

typedef polybori::CacheManager
< CCacheTypes::divisorsof
fixed_divisors_cache_type
typedef Monomial::idx_map_type lm2Index_map_type
typedef Exponent::idx_map_type exp2Index_map_type
typedef polybori::BoolePolynomial Polynomial
typedef polybori::BooleMonomial Monomial
typedef polybori::BooleVariable Variable
typedef polybori::BooleExponent Exponent
typedef long long wlen_type
typedef long len_type
typedef int deg_type
typedef polybori::CTypes::idx_type idx_type
typedef polybori::BooleSet MonomialSet
typedef
LessWeightedLengthInStratModified 
StratComparerForSelect
typedef SlimgbReduction
< SLIMGB_SIMPLEST
slimgb_reduction_type
typedef std::vector< PolyEntryPolyEntryVector
typedef boost::shared_ptr
< PairData
pair_data_ptr
typedef PairE Pair
typedef boost::minstd_rand base_generator_type
typedef boost::uniform_smallint distribution_type
typedef
boost::variate_generator
< base_generator_type
&, distribution_type
bool_gen_type

Enumerations

enum  { VARIABLE_PAIR, IJ_PAIR, DELAYED_PAIR }

Functions

template<class idx_type1 , class idx_type2 >
void set_up_translation_vectors (std::vector< idx_type1 > &ring_2_0123, std::vector< idx_type2 > &back_2_ring, const Exponent &used_variables)
Polynomial translate_indices (const Polynomial &p, const std::vector< idx_type > &table)
template<class CacheMgr >
MonomialSet mod_var_set (const CacheMgr &cache_mgr, MonomialSet::navigator a, MonomialSet::navigator v)
MonomialSet mod_var_set (const MonomialSet &as, const MonomialSet &vs)
MonomialSet mod_deg2_set (const MonomialSet &as, const MonomialSet &vs)
template<class CacheMgr >
MonomialSet mod_deg2_set (const CacheMgr &cache_mgr, MonomialSet::navigator a, MonomialSet::navigator v)
MonomialSet contained_variables_cudd_style (const MonomialSet &m)
MonomialSet contained_deg2_cudd_style (const MonomialSet &m)
Polynomial reduce_by_monom (const Polynomial &p, const Monomial &m)
Polynomial reduce_by_binom (const Polynomial &p, const Polynomial &binom)
Polynomial reduce_complete (const Polynomial &p, const Polynomial &reductor)
Polynomial reduce_complete (const Polynomial &p, const PolyEntry &reductor, wlen_type &len)
bool should_propagate (const PolyEntry &e)
MonomialSet minimal_elements_internal (const MonomialSet &s)
MonomialSet minimal_elements_internal2 (MonomialSet s)
std::vector< Exponentminimal_elements_internal3 (MonomialSet s)
MonomialSet minimal_elements (const MonomialSet &s)
template<class value_type , class initializer , class set_bit >
value_type p2code (Polynomial p, const std::vector< char > &ring_2_0123, int max_vars)
bool polynomial_in_one_block (const Polynomial p)
MonomialSet minimal_elements_cudd_style_unary (MonomialSet m)
MonomialSet minimal_elements_cudd_style (MonomialSet m)
template<class MgrType >
MonomialSet recursively_insert (const MgrType &mgr, MonomialSet::navigator p, idx_type idx, MonomialSet::navigator m)
MonomialSet recursively_insert (MonomialSet::navigator p, idx_type idx, MonomialSet mset)
void addPolynomialToReductor (Polynomial &p, MonomialSet &m)
template<class CacheMgr >
Polynomial map_every_x_to_x_plus_one (const CacheMgr &cache_mgr, MonomialSet::navigator nav)
Polynomial map_every_x_to_x_plus_one (Polynomial p)
Polynomial red_tail_in_last_block (const GroebnerStrategy &strat, Polynomial p)
Polynomial mult_fast_sim (const std::vector< Polynomial > &vec)
std::vector< Polynomialfull_implication_gb (const Polynomial &p, CacheManager &cache, GroebnerStrategy &strat_param)
void groebner (GroebnerStrategy &strat)
wlen_type wlen_literal_exceptioned (const PolyEntry &e)
std::vector< Polynomialvariety_lex_groebner_basis (const MonomialSet &points, const Monomial &variables)
MonomialSet nf_lex_points (const Polynomial &f, const MonomialSet &p)
MonomialSet gen_random_subset (const std::vector< Monomial > &vec, bool_gen_type &bit_gen)
MonomialSet random_interpolation (const MonomialSet &as_set, const std::vector< Monomial > &as_vector, bool_gen_type &bit_gen)
MonomialSet variety_lex_leading_terms (const MonomialSet &points, const Monomial &variables)
MonomialSet zeros (Polynomial p, MonomialSet candidates)
Polynomial interpolate (MonomialSet to_zero, MonomialSet to_one)
Polynomial interpolate_smallest_lex (MonomialSet to_zero, MonomialSet to_one)
MonomialSet include_divisors (const MonomialSet &m)
Polynomial without_prior_part (Polynomial p, idx_type tail_start)
deg_type common_literal_factors_deg (const LiteralFactorization &a, const LiteralFactorization &b)
bool maps_to_one (const std::pair< const polybori::groebner::idx_type, int > v)
bool maps_to_zero (const std::pair< const polybori::groebner::idx_type, int > v)
template<class T >
Polynomial add_up_generic (const std::vector< T > &res_vec, Polynomial init)
Polynomial nf1 (GroebnerStrategy &strat, Polynomial p)
Polynomial nf2 (GroebnerStrategy &strat, Polynomial p)
Polynomial nf2_short (GroebnerStrategy &strat, Polynomial p)
Polynomial nf3 (const GroebnerStrategy &strat, Polynomial p, Monomial rest_lead)
Polynomial nf3_lexbuckets (const GroebnerStrategy &strat, Polynomial p, Monomial rest_lead)
Polynomial nf3_no_deg_growth (const GroebnerStrategy &strat, Polynomial p, Monomial rest_lead)
Polynomial nf3_degree_order (const GroebnerStrategy &strat, Polynomial p, Monomial lead)
Polynomial nf3_db (GroebnerStrategy &strat, Polynomial p, int deg_bound)
Polynomial nf3_short (const GroebnerStrategy &strat, Polynomial p)
Polynomial nf_delaying (GroebnerStrategy &strat, Polynomial p)
Polynomial nf_delaying_exchanging (GroebnerStrategy &strat, Polynomial p)
int sum_size (const MonomialSet &s1, const MonomialSet &s2)
std::vector< Polynomialparallel_reduce (std::vector< Polynomial > inp, GroebnerStrategy &strat, int average_steps, double delay_f)
int select1 (const GroebnerStrategy &strat, const Polynomial &p)
int select1 (const GroebnerStrategy &strat, const Monomial &m)
int select_no_deg_growth (const GroebnerStrategy &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 GroebnerStrategy &strat, Polynomial p)
template<class Helper >
Polynomial red_tail_generic (const GroebnerStrategy &strat, Polynomial p)
Polynomial red_tail (const GroebnerStrategy &strat, Polynomial p)
Polynomial red_tail_short (const GroebnerStrategy &strat, Polynomial p)
Polynomial red_tail_self_tuning (const GroebnerStrategy &strat, Polynomial p)
template<bool have_redsb>
Polynomial ll_red_nf_generic (const Polynomial &, const BooleSet &)
template<bool have_redsb>
Polynomial ll_red_nf_generic (const Polynomial &p, const BooleSet::navigator navi)
Polynomial ll_red_nf (const Polynomial &p, const BooleSet &reductors)
Polynomial ll_red_nf_noredsb (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)
Polynomial do_is_rewriteable (const Polynomial &p, const MonomialSet &leading_terms)
bool is_rewriteable (const Polynomial &p, const MonomialSet &leading_terms)
MonomialSet random_set_using_generator (const Monomial &variables, unsigned int len, bool_gen_type &bit_gen)
MonomialSet random_set (const Monomial &variables, unsigned int len)

Variables

const unsigned short dlex4var_data [][7]
const unsigned short dp_asc4var_data [][7]
const unsigned short lp4var_data [][7]
const int FARE_WORSE = 10
const int SLIMGB_SIMPLEST = 0

Typedef Documentation

typedef boost::minstd_rand polybori::groebner::base_generator_type

typedef boost::uniform_smallint polybori::groebner::distribution_type

typedef boost::shared_ptr<PairData> polybori::groebner::pair_data_ptr

typedef long long polybori::groebner::wlen_type


Enumeration Type Documentation

anonymous enum

Enumerator:
VARIABLE_PAIR 
IJ_PAIR 
DELAYED_PAIR 


Function Documentation

Polynomial polybori::groebner::add_up_exponents ( const std::vector< Exponent > &  vec  ) 

template<class T >
Polynomial polybori::groebner::add_up_generic ( const std::vector< T > &  res_vec,
int  start,
int  end,
Polynomial  init 
) [inline]

References add_up_generic().

template<class T >
Polynomial polybori::groebner::add_up_generic ( const std::vector< T > &  res_vec,
Polynomial  init 
) [inline]

Polynomial polybori::groebner::add_up_monomials ( const std::vector< Monomial > &  vec  ) 

Note:
This function is deactivated, because it always uses the active manager!
Todo:
activate and make save, when used

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 
)

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  ) 

Polynomial polybori::groebner::do_is_rewriteable ( const Polynomial &  p,
const MonomialSet &  leading_terms 
)

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 
)

void polybori::groebner::groebner ( GroebnerStrategy &  strat  ) 

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 
)

bool polybori::groebner::is_rewriteable ( const Polynomial &  p,
const MonomialSet &  leading_terms 
)

Polynomial polybori::groebner::ll_red_nf ( const Polynomial &  p,
const BooleSet &  reductors 
)

template<bool have_redsb>
Polynomial polybori::groebner::ll_red_nf_generic ( const Polynomial &  p,
const BooleSet::navigator  navi 
) [inline]

template<bool have_redsb>
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 
)

Polynomial polybori::groebner::map_every_x_to_x_plus_one ( Polynomial  p  ) 

template<class CacheMgr >
Polynomial polybori::groebner::map_every_x_to_x_plus_one ( const CacheMgr &  cache_mgr,
MonomialSet::navigator  nav 
) [inline]

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  ) 

MonomialSet polybori::groebner::minimal_elements_internal2 ( MonomialSet  s  ) 

std::vector<Exponent> polybori::groebner::minimal_elements_internal3 ( MonomialSet  s  ) 

template<class CacheMgr >
MonomialSet polybori::groebner::mod_deg2_set ( const CacheMgr &  cache_mgr,
MonomialSet::navigator  a,
MonomialSet::navigator  v 
) [inline]

MonomialSet polybori::groebner::mod_deg2_set ( const MonomialSet &  as,
const MonomialSet &  vs 
)

MonomialSet polybori::groebner::mod_mon_set ( const MonomialSet &  as,
const MonomialSet &  vs 
)

MonomialSet polybori::groebner::mod_var_set ( const MonomialSet &  as,
const MonomialSet &  vs 
)

template<class CacheMgr >
MonomialSet polybori::groebner::mod_var_set ( const CacheMgr &  cache_mgr,
MonomialSet::navigator  a,
MonomialSet::navigator  v 
) [inline]

Polynomial polybori::groebner::mult_fast_sim ( const std::vector< Polynomial > &  vec  ) 

Polynomial polybori::groebner::nf1 ( GroebnerStrategy &  strat,
Polynomial  p 
)

Polynomial polybori::groebner::nf2 ( GroebnerStrategy &  strat,
Polynomial  p 
)

Polynomial polybori::groebner::nf2_short ( GroebnerStrategy &  strat,
Polynomial  p 
)

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 
)

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 
)

Polynomial polybori::groebner::nf_delaying ( GroebnerStrategy &  strat,
Polynomial  p 
)

Polynomial polybori::groebner::nf_delaying_exchanging ( GroebnerStrategy &  strat,
Polynomial  p 
)

MonomialSet polybori::groebner::nf_lex_points ( const Polynomial &  f,
const MonomialSet &  p 
)

template<class value_type , class initializer , class set_bit >
value_type polybori::groebner::p2code ( Polynomial  p,
const std::vector< char > &  ring_2_0123,
int  max_vars 
) [inline]

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 
)

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 
)

MonomialSet polybori::groebner::random_set ( const Monomial &  variables,
unsigned int  len 
)

MonomialSet polybori::groebner::random_set_using_generator ( const Monomial &  variables,
unsigned int  len,
bool_gen_type &  bit_gen 
)

MonomialSet polybori::groebner::recursively_insert ( MonomialSet::navigator  p,
idx_type  idx,
MonomialSet  mset 
)

template<class MgrType >
MonomialSet polybori::groebner::recursively_insert ( const MgrType &  mgr,
MonomialSet::navigator  p,
idx_type  idx,
MonomialSet::navigator  m 
) [inline]

Note:
Core function which uses the manager given as firt argument

References polybori::CCuddNavigator::elseBranch(), and polybori::CCuddNavigator::thenBranch().

Referenced by addPolynomialToReductor(), and recursively_insert().

Polynomial polybori::groebner::red_tail ( const GroebnerStrategy &  strat,
Polynomial  p 
)

Polynomial polybori::groebner::red_tail_general ( const GroebnerStrategy &  strat,
Polynomial  p 
)

template<class Helper >
Polynomial polybori::groebner::red_tail_generic ( const GroebnerStrategy &  strat,
Polynomial  p 
) [inline]

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 
)

Polynomial polybori::groebner::reduce_by_binom ( const Polynomial &  p,
const Polynomial &  binom 
)

Polynomial polybori::groebner::reduce_by_monom ( const Polynomial &  p,
const Monomial &  m 
)

Polynomial polybori::groebner::reduce_complete ( const Polynomial &  p,
const PolyEntry &  reductor,
wlen_type &  len 
)

Polynomial polybori::groebner::reduce_complete ( const Polynomial &  p,
const Polynomial &  reductor 
)

int polybori::groebner::select1 ( const GroebnerStrategy &  strat,
const Monomial &  m 
)

int polybori::groebner::select1 ( const GroebnerStrategy &  strat,
const Polynomial &  p 
)

int polybori::groebner::select_no_deg_growth ( const GroebnerStrategy &  strat,
const Monomial &  m 
)

template<class idx_type1 , class idx_type2 >
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]

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 
)

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 
)

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 
)


Variable Documentation

const unsigned short polybori::groebner::dlex4var_data[][7]

const unsigned short polybori::groebner::dp_asc4var_data[][7]

const unsigned short polybori::groebner::lp4var_data[][7]


Generated on Thu Mar 5 02:16:50 2009 for PolyBoRi by  doxygen 1.5.8