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

◆ ReduceSet()

template<typename MonomType>
void BIBasis::BooleanInvolutiveBasis< MonomType >::ReduceSet ( bool toGroebner)
private

Definition at line 345 of file involutive.hpp.

346 {
349
350 while (!GBasis.empty())
351 {
353 GBasis.pop_front();
355
356 if (currentPolynom && !currentPolynom->IsZero())
357 {
358 const MonomType& hLm = currentPolynom->Lm();
360 while (iteratorTmpPolySet != tmpPolySet.end())
361 {
362 if ((**iteratorTmpPolySet).Lm().IsDivisibleBy(hLm))
363 {
364 GBasis.push_back(*iteratorTmpPolySet);
366 }
367 else
368 {
370 }
371 }
372 tmpPolySet.push_back(currentPolynom);
373 }
374 }
375
376 unsigned tmpPolySetSize = static_cast<unsigned int>(tmpPolySet.size());
377 for (unsigned i = 0; i < tmpPolySetSize; ++i)
378 {
380 tmpPolySet.pop_front();
382 if (!currentPolynom || currentPolynom->IsZero())
383 {
385 }
386 else
387 {
388 tmpPolySet.push_back(currentPolynom);
389 }
390 }
391
393 }
std::list< Polynom< MonomType > * > GBasis
Polynom< MonomType > * Reduce(Polynom< MonomType > *polynom, const std::list< Polynom< MonomType > * > &set, bool toGroebner) const

References GBasis, BIBasis::Polynom< MonomType >::IsZero(), BIBasis::Polynom< MonomType >::Lm(), and Reduce().

Referenced by Construct().