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