Macaulay2 Engine
Loading...
Searching...
No Matches

◆ isOverlapNecessary()

auto NCGroebner::isOverlapNecessary ( Overlap o) const->bool

Definition at line 463 of file NCGroebner.cpp.

464{
465 // this function tests if the lead word of the overlap polynomial
466 // of o is a multiple of another pattern in the word table.
467
468 // need to be careful, however, since an overlap lead word is trivially
469 // a multiple of the words used to build it. These possibilities must be discarded
470 bool retval;
471
472 auto A = freeAlgebra();
473 Poly tmp;
474 Word w;
475
477 w = A.lead_word(tmp);
478 retval = !mWordTable.isNontrivialSuperword(w, std::get<0>(o), std::get<2>(o));
479 return retval;
480}
Polynomial< CoefficientRingType > Poly
auto createOverlapLeadWord(Poly &wordAsPoly, Overlap o) const -> void
const FreeAlgebra & freeAlgebra() const
WordTable mWordTable

References createOverlapLeadWord(), freeAlgebra(), and mWordTable.

Referenced by computeHomogeneous(), computeInhomogeneous(), and insertNewOverlaps().