groebner_alg.cc File Reference

#include "groebner_alg.h"
#include "nf.h"
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include "groebner_defs.h"
#include "CacheManager.h"

Classes

class  ChainCriterion
 assumes that divisibility condition is fullfilled More...
class  ChainVariableCriterion
class  HasTRepOrExtendedProductCriterion
class  SetBitUInt
class  ZeroFunction
class  ShorterEliminationLength
class  ShorterEliminationLengthModified

Defines

#define DANGEROUS_FIXED_PATH   1
#define HAVE_DLEX4_DATA   1
#define HAVE_LP4_DATA   1
#define HAVE_DP_ASC4_DATA   1
#define EXP_FOR_PAIRS

Typedefs

typedef PBORI::CacheManager
< CCacheTypes::divisorsof
fixed_divisors_cache_type

Functions

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)
Polynomial translate_indices (const Polynomial &p, const std::vector< idx_type > &table)
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)

Define Documentation

#define DANGEROUS_FIXED_PATH   1
#define EXP_FOR_PAIRS
#define HAVE_DLEX4_DATA   1
#define HAVE_DP_ASC4_DATA   1
#define HAVE_LP4_DATA   1

Typedef Documentation

typedef PBORI::CacheManager<CCacheTypes::divisorsof> fixed_divisors_cache_type

Function Documentation

void addPolynomialToReductor ( Polynomial p,
MonomialSet m 
)
MonomialSet contained_deg2_cudd_style ( const MonomialSet m  ) 
MonomialSet contained_variables_cudd_style ( const MonomialSet m  ) 
std::vector<Polynomial> full_implication_gb ( const Polynomial p,
CacheManager cache,
GroebnerStrategy &  strat_param 
)
Polynomial map_every_x_to_x_plus_one ( Polynomial  p  ) 
template<class CacheMgr >
Polynomial map_every_x_to_x_plus_one ( const CacheMgr &  cache_mgr,
MonomialSet::navigator  nav 
) [inline]
MonomialSet minimal_elements ( const MonomialSet s  ) 
MonomialSet minimal_elements_cudd_style ( MonomialSet  m  ) 
MonomialSet minimal_elements_cudd_style_unary ( MonomialSet  m  ) 
MonomialSet minimal_elements_internal ( const MonomialSet s  ) 
MonomialSet minimal_elements_internal2 ( MonomialSet  s  ) 
std::vector<Exponent> minimal_elements_internal3 ( MonomialSet  s  ) 

References BooleEnv::ring().

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

References mod_deg2_set(), and mod_var_set().

MonomialSet mod_deg2_set ( const MonomialSet as,
const MonomialSet vs 
)

Referenced by mod_deg2_set().

MonomialSet mod_var_set ( const MonomialSet as,
const MonomialSet vs 
)

References mod_var_set().

template<class CacheMgr >
MonomialSet mod_var_set ( const CacheMgr &  cache_mgr,
MonomialSet::navigator  a,
MonomialSet::navigator  v 
) [inline]
Polynomial mult_fast_sim ( const std::vector< Polynomial > &  vec  ) 
template<class value_type , class initializer , class set_bit >
value_type p2code ( Polynomial  p,
const std::vector< char > &  ring_2_0123,
int  max_vars 
) [inline]
bool polynomial_in_one_block ( const Polynomial  p  ) 

References BooleEnv::ordering().

MonomialSet recursively_insert ( MonomialSet::navigator  p,
idx_type  idx,
MonomialSet  mset 
)
Note:
Wrapper for external use

References recursively_insert().

template<class MgrType >
MonomialSet 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

Referenced by addPolynomialToReductor(), and polybori::groebner::recursively_insert().

Polynomial red_tail_in_last_block ( const GroebnerStrategy &  strat,
Polynomial  p 
)

References red_tail(), and BooleEnv::ring().

Polynomial reduce_by_binom ( const Polynomial p,
const Polynomial binom 
)
Polynomial reduce_by_monom ( const Polynomial p,
const Monomial m 
)
Polynomial reduce_complete ( const Polynomial p,
const PolyEntry reductor,
wlen_type len 
)
Polynomial reduce_complete ( const Polynomial p,
const Polynomial reductor 
)
bool should_propagate ( const PolyEntry e  ) 
Polynomial translate_indices ( const Polynomial p,
const std::vector< idx_type > &  table 
)
Generated on Tue May 4 08:22:49 2010 for PolyBoRi by  doxygen 1.6.3