polybori::groebner::FGLMStrategy Class Reference

`#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 ()

## Member Typedef Documentation

typedef std::vector<idx_type> polybori::groebner::FGLMStrategy::IndexVector

typedef BoolePolyRing polybori::groebner::FGLMStrategy::ring_with_ordering_type

## Constructor & Destructor Documentation

polybori::groebner::FGLMStrategy::FGLMStrategy | ( | const ring_with_ordering_type & | from_ring,
|  | const ring_with_ordering_type & | to_ring,
|  | const PolynomialVector & | gb
| ) |  |

References polybori::groebner::ReductionStrategy::addGenerator(), analyzeGB(), polybori::groebner::ReductionTerms::leadingTerms, polybori::BooleSet::owns(), PBORI_ASSERT, setupMultiplicationTables(), setupStandardMonomialsFromTables(), and testMultiplicationTables().

polybori::groebner::FGLMStrategy::~FGLMStrategy | ( | ) |  |

inline

## Member Function Documentation

void polybori::groebner::FGLMStrategy::analyzeGB | ( | const ReductionStrategy & | gb) |  |

References polybori::BooleMonomial::diagram(), polybori::groebner::ReductionTerms::leadingTerms, polybori::groebner::mod_mon_set(), polybori::groebner::PolyEntryVector::size(), polybori::BooleSet::size(), and polybori::BooleSet::usedVariables().

Referenced by FGLMStrategy().

void polybori::groebner::FGLMStrategy::findVectorInMultTables | ( | mzd_t * | dst,
|  | Monomial | m
| ) |  |

PolynomialVector polybori::groebner::FGLMStrategy::main | ( | ) |  |

References polybori::groebner::add_up_monomials(), polybori::BooleExponent::begin(), polybori::BooleMonomial::begin(), polybori::BooleSet::containsDivisorsOfDecDeg(), polybori::BooleExponent::deg(), polybori::BooleMonomial::deg(), polybori::BooleMonomial::diagram(), polybori::BooleSet::divisorsOf(), polybori::BooleMonomial::exp(), polybori::BoolePolynomial::expBegin(), polybori::groebner::FGLMNoLinearCombinationException::firstNonZeroIndex, PBORI_ASSERT, polybori::BooleMonomial::reducibleBy(), polybori::BooleMonomial::set(), 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::BooleSet::begin(), polybori::COrderedIter< IteratorType, MonomType >::begin(), polybori::BooleSet::cartesianProduct(), polybori::BooleMonomial::deg(), polybori::groebner::draw_matrix(), polybori::BooleMonomial::end(), polybori::BoolePolynomial::orderedBegin(), polybori::BoolePolynomial::orderedEnd(), PBORI_ASSERT, polybori::BooleSet::rbegin(), polybori::BooleMonomial::ring(), polybori::BooleSet::size(), and polybori::BooleMonomial::variableBegin().

Referenced by FGLMStrategy().

void polybori::groebner::FGLMStrategy::setupStandardMonomialsFromTables | ( | ) |  |

References polybori::BooleMonomial::exp().

Referenced by FGLMStrategy().

void polybori::groebner::FGLMStrategy::testMultiplicationTables | ( | ) |  |

References polybori::BoolePolynomial::diagram(), polybori::BooleVariable::index(), PBORI_ASSERT, and polybori::BoolePolynomial::ring().

Referenced by FGLMStrategy().

void polybori::groebner::FGLMStrategy::transposeMultiplicationTables | ( | ) |  |

References polybori::groebner::clear_mat().

void polybori::groebner::FGLMStrategy::writeRowToVariableDivisors | ( | mzd_t * | row,
|  | Monomial | lm
| ) |  |

References polybori::BooleMonomial::begin(), polybori::BooleMonomial::end(), polybori::BooleMonomial::exp(), and polybori::BooleExponent::removeConst().

void polybori::groebner::FGLMStrategy::writeTailToRow | ( | MonomialSet | tail,
|  | mzd_t * | row
| ) |  |

References polybori::BooleSet::expBegin(), and polybori::BooleSet::expEnd().

The documentation for this class was generated from the following files:

- FGLMStrategy.h
- FGLMStrategy.cc