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

◆ ReducedGB_Field_Local()

ReducedGB_Field_Local::ReducedGB_Field_Local ( GBRing * R0,
const PolynomialRing * originalR0,
const FreeModule * F0,
const FreeModule * Fsyz0,
const GBWeight * wt0 )
protected

Definition at line 13 of file reducedgb-field-local.cpp.

18 : ReducedGB_Field(R0, originalR0, F0, Fsyz0),
19 T1(nullptr),
20 wt(wt0)
21{
22 // fprintf(stderr, "creating GB with local order\n");
23 if (wt == nullptr) wt = new GBWeight(F0, nullptr);
24 for (int i = 0; i < originalR0->n_quotients(); i++)
25 {
26 int f_lead_wt;
27 const gbvector *f = originalR0->quotient_gbvector(i);
28 int d = wt->gbvector_weight(f, f_lead_wt);
29 int a = d - f_lead_wt;
30
32 t.g.f = const_cast<gbvector *>(f);
33 t.g.fsyz = nullptr;
34 t.size = R->gbvector_n_terms(f);
35 t.alpha = a;
36
37 ring_elems.push_back(t);
38 }
39}
int n_quotients() const
Definition polyring.hpp:219
const gbvector * quotient_gbvector(int i) const
Definition polyring.hpp:221
ReducedGB_Field(GBRing *R0, const PolynomialRing *originalR0, const FreeModule *F0, const FreeModule *Fsyz0)
GBRing * R
Definition reducedgb.hpp:64
gbvector * f
Definition gbring.hpp:98
Per-element bookkeeping record used by ReducedGB_Field_Local during local-ring GB minimisation.

References ReducedGB_Field_Local::divisor_info::alpha, POLY::f, POLY::fsyz, ReducedGB_Field_Local::divisor_info::g, PolynomialRing::n_quotients(), PolynomialRing::quotient_gbvector(), ReducedGB::R, ReducedGB_Field::ReducedGB_Field(), ReducedGB_Field_Local::divisor_info::size, T1, and wt.