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

◆ gbvector_term() [2/2]

gbvector * GBRing::gbvector_term ( const FreeModule * F,
ring_elem coeff,
int comp )

Definition at line 300 of file gbring.cpp.

302{
303 gbvector *v = new_raw_term();
304 v->coeff = coeff;
305 v->comp = comp;
306 v->next = nullptr;
307 M->one(v->monom);
308
309 const SchreyerOrder *S;
310 if (comp > 0 && _schreyer_encoded && (S = F->get_schreyer_order()) != nullptr)
311 S->schreyer_up(v->monom, comp - 1, v->monom);
312
313 return v;
314}
const SchreyerOrder * get_schreyer_order() const
Definition freemod.hpp:103
bool _schreyer_encoded
Definition gbring.hpp:136
const Monoid * M
Definition gbring.hpp:137
gbvector * new_raw_term()
Definition gbring.cpp:28
void schreyer_up(const_monomial m, int comp, monomial result) const
Definition schorder.hpp:107
ring_elem coeff
Definition gbring.hpp:81
gbvector * next
Definition gbring.hpp:80
int monom[1]
Definition gbring.hpp:83
int comp
Definition gbring.hpp:82

References _schreyer_encoded, gbvector::coeff, gbvector::comp, FreeModule::get_schreyer_order(), M, gbvector::monom, new_raw_term(), gbvector::next, and SchreyerOrder::schreyer_up().

Referenced by PolyRing::translate_gbvector_from_ringelem(), PolyRing::translate_gbvector_from_ringelem_QQ(), PolyRing::translate_gbvector_from_vec(), and PolyRing::translate_gbvector_from_vec_QQ().