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

◆ reduce_marked_lead_term_heap()

void GBRing::reduce_marked_lead_term_heap ( const FreeModule * F,
const FreeModule * Fsyz,
const gbvector * fcurrent_lead,
const_exponents exp,
gbvector * flead,
gbvectorHeap & f,
gbvectorHeap & fsyz,
const gbvector * marked_in_g,
const gbvector * g,
const gbvector * gsyz )

Definition at line 1640 of file gbring.cpp.

1652{
1653 int comp;
1654 ring_elem u, v;
1655
1657
1658 (void) exp;
1659 find_reduction_coeffs(F, fcurrent_lead, marked_in_g, u, v);
1660 find_reduction_monomial(F, fcurrent_lead, marked_in_g, comp, MONOM1);
1661
1662 if (!K->is_equal(u, _one))
1663 {
1664 gbvector_mult_by_coeff_to(flead, u);
1665 f.mult_by_coeff(u);
1666 fsyz.mult_by_coeff(u);
1667 }
1668
1669 gbvector *result1 = mult_by_term(F, g, v, MONOM1, comp);
1670 f.add(result1);
1671 if (gsyz != nullptr)
1672 {
1673 gbvector *result_syz1 = mult_by_term(Fsyz, gsyz, v, MONOM1, comp);
1674 fsyz.add(result_syz1);
1675 }
1676}
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 add(gbvector *p)
Definition gbring.cpp:1532
void mult_by_coeff(ring_elem a)
Definition gbring.cpp:1526
int * monomial
Definition gbring.hpp:102
#define ALLOCATE_MONOMIAL(byte_len)
Definition monoid.hpp:65

References _one, gbvectorHeap::add(), ALLOCATE_MONOMIAL, find_reduction_coeffs(), find_reduction_monomial(), gbvector_mult_by_coeff_to(), K, monom_size, gbvectorHeap::mult_by_coeff(), and mult_by_term().

Referenced by reduce_lead_term_heap().