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

◆ FreeModule()

FreeModule::FreeModule ( const Ring * R,
int n,
bool has_schreyer_order )
private

Definition at line 32 of file freemod.cpp.

34{
35 initialize(RR);
36
37 auto D = R->degree_monoid();
38 monomial deg = D->make_one();
39 for (int i = 0; i < n; i++) append(deg);
40 D->remove(deg);
41
42 if (has_schreyer_order)
43 {
44 const PolynomialRing *P = R->cast_to_PolynomialRing();
45 assert(P != 0);
46 assert(n == 0);
48 }
49 else
50 schreyer = nullptr;
51}
SchreyerOrder * schreyer
Definition freemod.hpp:73
void initialize(const Ring *RR)
Definition freemod.cpp:16
void append(const_monomial d)
Definition freemod.cpp:130
const Ring * R
Definition freemod.hpp:75
virtual const Monoid * getMonoid() const
Definition polyring.hpp:282
static SchreyerOrder * create(const Monoid *m)
Definition schorder.cpp:11
#define monomial
Definition gb-toric.cpp:11

References append(), SchreyerOrder::create(), PolynomialRing::getMonoid(), initialize(), monomial, R, Ring, and schreyer.

Referenced by direct_sum(), direct_sum_to(), exterior(), get_induced_order(), is_equal(), make_schreyer(), make_schreyer(), new_free(), schur(), shift(), sub_space(), sub_space(), symm(), tensor(), and transpose().