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

◆ gbvector_reduce_lead_term() [2/2]

void GBRing::gbvector_reduce_lead_term ( const FreeModule * F,
const FreeModule * Fsyz,
gbvector * flead,
gbvector *& f,
gbvector *& fsyz,
const gbvector * g,
const gbvector * gsyz,
bool use_denom,
ring_elem & denom )

Definition at line 944 of file gbring.cpp.

953{
954 int comp;
955 ring_elem u, v;
956
958
959 find_reduction_coeffs(F, f, g, u, v);
960 find_reduction_monomial(F, f, g, comp, MONOM1);
961
962 if (!K->is_equal(u, _one))
963 {
964 gbvector_mult_by_coeff_to(f, u); // modifies f
967 if (use_denom) K->mult_to(denom, u);
968 }
969
970 gbvector *result1 = mult_by_term(F, g, v, MONOM1, comp);
971 gbvector_add_to(F, f, result1);
972 if (gsyz != nullptr)
973 {
974 gbvector *result_syz1 = mult_by_term(Fsyz, gsyz, v, MONOM1, comp);
975 gbvector_add_to(Fsyz, fsyz, result_syz1);
976 }
977}
void gbvector_mult_by_coeff_to(gbvector *f, ring_elem u)
Definition gbring.cpp:557
gbvector * mult_by_term(const FreeModule *F, const gbvector *f, ring_elem u, const int *monom, int comp)
Definition gbring.cpp:839
ring_elem _one
Definition gbring.hpp:164
size_t monom_size
Definition gbring.hpp:170
void find_reduction_monomial(const FreeModule *F, const gbvector *f, const gbvector *g, int &comp, int *&monom)
Definition gbring.cpp:922
void find_reduction_coeffs(const FreeModule *F, const gbvector *f, const gbvector *g, ring_elem &u, ring_elem &v)
Definition gbring.cpp:872
const Ring * K
Definition gbring.hpp:138
void gbvector_add_to(const FreeModule *F, gbvector *&f, gbvector *&g)
Definition gbring.cpp:668
int * monomial
Definition gbring.hpp:102
#define ALLOCATE_MONOMIAL(byte_len)
Definition monoid.hpp:65

References _one, ALLOCATE_MONOMIAL, find_reduction_coeffs(), find_reduction_monomial(), gbvector_add_to(), gbvector_mult_by_coeff_to(), K, monom_size, and mult_by_term().

Referenced by QRingInfo_field_basic::gbvector_normal_form(), QRingInfo_field_QQ::gbvector_normal_form(), QRingInfo_field_QQ::gbvector_normal_form(), and gbvector_reduce_lead_term().