PolyBoRi
|
#include <fglm.h>
Public Types | |
typedef BooleEnv::ring_type | ring_with_ordering_type |
typedef std::vector< idx_type > | IndexVector |
Public Member Functions | |
FGLMStrategy () | |
FGLMStrategy (const ring_with_ordering_type &from_ring, const ring_with_ordering_type &to_ring, const PolynomialVector &gb) | |
PolynomialVector | main () |
void | analyzeGB (const ReductionStrategy &gb) |
void | setupMultiplicationTables () |
void | setupStandardMonomialsFromTables () |
void | writeRowToVariableDivisors (mzd_t *row, Monomial lm) |
void | testMultiplicationTables () |
void | transposeMultiplicationTables () |
void | writeTailToRow (MonomialSet tail, mzd_t *row) |
Polynomial | rowToPoly (mzd_t *row) |
void | findVectorInMultTables (mzd_t *dst, Monomial m) |
mzd_t * | multiplicationTableForVariable (const Variable &v) |
~FGLMStrategy () |
typedef std::vector<idx_type> polybori::groebner::FGLMStrategy::IndexVector |
polybori::groebner::FGLMStrategy::FGLMStrategy | ( | ) | [inline] |
polybori::groebner::FGLMStrategy::FGLMStrategy | ( | const ring_with_ordering_type & | from_ring, |
const ring_with_ordering_type & | to_ring, | ||
const PolynomialVector & | gb | ||
) |
References polybori::BooleEnv::ring(), polybori::BooleEnv::set(), polybori::groebner::ReductionStrategy::addGenerator(), analyzeGB(), polybori::groebner::ReductionStrategy::leadingTerms, polybori::BooleSet::owns(), setupStandardMonomialsFromTables(), setupMultiplicationTables(), and testMultiplicationTables().
polybori::groebner::FGLMStrategy::~FGLMStrategy | ( | ) | [inline] |
void polybori::groebner::FGLMStrategy::analyzeGB | ( | const ReductionStrategy & | gb | ) |
References polybori::groebner::ReductionStrategy::leadingTerms, polybori::BooleSet::usedVariables(), polybori::BooleMonomial::variableBegin(), polybori::BooleMonomial::variableEnd(), polybori::BooleMonomial::diagram(), polybori::groebner::mod_mon_set(), and polybori::BooleSet::size().
Referenced by FGLMStrategy().
void polybori::groebner::FGLMStrategy::findVectorInMultTables | ( | mzd_t * | dst, |
Monomial | m | ||
) |
PolynomialVector polybori::groebner::FGLMStrategy::main | ( | ) |
References polybori::BoolePolynomial::diagram(), polybori::BooleMonomial::exp(), polybori::BooleSet::containsDivisorsOfDecDeg(), polybori::BooleSet::divisorsOf(), polybori::BooleMonomial::deg(), polybori::BoolePolynomial::expBegin(), polybori::BooleExponent::deg(), polybori::BooleExponent::begin(), polybori::groebner::add_up_monomials(), polybori::BooleMonomial::diagram(), polybori::groebner::FGLMNoLinearCombinationException::firstNonZeroIndex, polybori::BooleMonomial::begin(), polybori::BooleMonomial::reducibleBy(), and polybori::BooleMonomial::size().
mzd_t* polybori::groebner::FGLMStrategy::multiplicationTableForVariable | ( | const Variable & | v | ) | [inline] |
References polybori::BooleVariable::index().
Polynomial polybori::groebner::FGLMStrategy::rowToPoly | ( | mzd_t * | row | ) |
References polybori::groebner::add_up_monomials().
void polybori::groebner::FGLMStrategy::setupMultiplicationTables | ( | ) |
References polybori::BooleMonomial::begin(), polybori::BooleMonomial::end(), polybori::BooleSet::diagram(), polybori::BooleSet::cartesianProduct(), polybori::BooleSet::size(), polybori::BoolePolynomial::orderedBegin(), polybori::BoolePolynomial::orderedEnd(), polybori::BooleSet::rbegin(), polybori::BooleMonomial::deg(), polybori::BooleSet::begin(), polybori::BooleMonomial::variableBegin(), and polybori::groebner::drawmatrix().
Referenced by FGLMStrategy().
void polybori::groebner::FGLMStrategy::setupStandardMonomialsFromTables | ( | ) |
References polybori::BooleSet::begin(), polybori::BooleSet::end(), and polybori::BooleMonomial::exp().
Referenced by FGLMStrategy().
void polybori::groebner::FGLMStrategy::testMultiplicationTables | ( | ) |
References polybori::BooleVariable::index(), and polybori::BoolePolynomial::diagram().
Referenced by FGLMStrategy().
void polybori::groebner::FGLMStrategy::transposeMultiplicationTables | ( | ) |
References polybori::groebner::clear_mat().
void polybori::groebner::FGLMStrategy::writeRowToVariableDivisors | ( | mzd_t * | row, |
Monomial | lm | ||
) |
void polybori::groebner::FGLMStrategy::writeTailToRow | ( | MonomialSet | tail, |
mzd_t * | row | ||
) |
References polybori::BooleSet::expBegin(), and polybori::BooleSet::expEnd().