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

◆ find_reduction_monomial()

void GBRing::find_reduction_monomial ( const FreeModule * F,
const gbvector * f,
const gbvector * g,
int & comp,
int *& monom )

Definition at line 922 of file gbring.cpp.

928{
929 M->divide(f->monom, g->monom, monom);
930
931 if (g->comp == 0)
932 {
933 comp = f->comp;
934 const SchreyerOrder *S;
935 if (_schreyer_encoded && (S = F->get_schreyer_order()) != nullptr)
936 S->schreyer_down(monom, comp - 1, monom);
937 }
938 else
939 {
940 comp = 0;
941 }
942}
const SchreyerOrder * get_schreyer_order() const
Definition freemod.hpp:103
bool _schreyer_encoded
Definition gbring.hpp:136
const Monoid * M
Definition gbring.hpp:137
void schreyer_down(const_monomial m, int comp, monomial result) const
Definition schorder.hpp:113
int monom[1]
Definition gbring.hpp:83
int comp
Definition gbring.hpp:82

References _schreyer_encoded, gbvector::comp, FreeModule::get_schreyer_order(), M, gbvector::monom, and SchreyerOrder::schreyer_down().

Referenced by gbvector_reduce_lead_term(), gbvector_reduce_lead_term_ZZ(), gbvector_reduce_with_marked_lead_term(), and reduce_marked_lead_term_heap().