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

◆ Reduce()

template<typename MonomType>
Polynom< MonomType > * BIBasis::BooleanInvolutiveBasis< MonomType >::Reduce ( Polynom< MonomType > * polynom,
const std::list< Polynom< MonomType > * > & set,
bool toGroebner ) const
private

Definition at line 313 of file involutive.hpp.

316 {
317 if (!polynom)
318 {
319 return 0;
320 }
321
324
325 while (!polynom->IsZero())
326 {
328 while (currentReducer)
329 {
330 polynom->Reduction(*currentReducer);
332 }
333 if (!polynom->IsZero())
334 {
335 (*result) += polynom->Lm();
336 polynom->RidOfLm();
337 }
338 }
339
340 polynom = result;
341 return result;
342 }
const Polynom< MonomType > * FindDivisor(const Polynom< MonomType > *polynom, const std::list< Polynom< MonomType > * > &set, bool toGroebner) const

References FindDivisor(), BIBasis::Polynom< MonomType >::IsZero(), BIBasis::Polynom< MonomType >::Lm(), BIBasis::Polynom< MonomType >::Reduction(), result(), and BIBasis::Polynom< MonomType >::RidOfLm().

Referenced by ReduceSet().