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

◆ shift()

FreeModule * FreeModule::shift ( const_monomial d) const

Definition at line 178 of file freemod.cpp.

180{
181 auto D = R->degree_monoid();
183 monomial deg = D->make_one();
184
185 for (int i = 0; i < rank(); i++)
186 {
187 D->mult(degree(i), d, deg);
188 result->append(deg);
189 }
190
191 if (schreyer != nullptr) result->schreyer = schreyer->copy();
192
193 D->remove(deg);
194 return result;
195}
virtual FreeModule * new_free() const
Definition freemod.cpp:125
SchreyerOrder * schreyer
Definition freemod.hpp:73
const_monomial degree(int i) const
Definition freemod.hpp:104
FreeModule(const Ring *R, int n, bool has_schreyer_order)
Definition freemod.cpp:32
const Ring * R
Definition freemod.hpp:75
int rank() const
Definition freemod.hpp:105
#define monomial
Definition gb-toric.cpp:11
VALGRIND_MAKE_MEM_DEFINED & result(result)

References degree(), FreeModule(), monomial, new_free(), R, rank(), result(), and schreyer.