Macaulay2 » Documentation
Packages » OIGroebnerBases > makeFreeOIModule
next | previous | forward | backward | up | index | toc

makeFreeOIModule -- make a FreeOIModule object



Makes a free OI-module of the form $\bigoplus_{i=1}^s\mathbf{F}^{\text{OI}, d_i}$ over the PolynomialOIAlgebra object P with $L=\{d_1,\ldots,d_s\}$ and basis symbol e.

The DegreeShifts option is used to specify a shift of grading. This option must be set to either null for no shifts, or a list of integers describing the desired shifts.

The OIMonomialOrder option must be set to either Lex, for the lexicographic order, or a list of elements of some free OI-module for the Schreyer order. See below for examples.

Example 1: Lex

i1 : P = makePolynomialOIAlgebra(2, x, QQ);
i2 : F = makeFreeOIModule(e, {1,1,2}, P, DegreeShifts => {3,2,1})

o2 = Basis symbol: e
     Basis element widths: {1, 1, 2}
     Degree shifts: {3, 2, 1}
     Polynomial OI-algebra: (2, x, QQ, RowUpColUp)
     Monomial order: Lex

o2 : FreeOIModule

Example 2: Schreyer

i3 : F = makeFreeOIModule(e, {1,1}, P);
i4 : installGeneratorsInWidth(F, 2);
i5 : b = x_(1,1)*e_(2,{1},1)+x_(2,1)*e_(2,{1},2);
i6 : G = makeFreeOIModule(d, {2}, P, DegreeShifts => {-degree b}, OIMonomialOrder => {b})

o6 = Basis symbol: d
     Basis element widths: {2}
     Degree shifts: {-1}
     Polynomial OI-algebra: (2, x, QQ, RowUpColUp)
     Monomial order: Schreyer

o6 : FreeOIModule

Ways to use makeFreeOIModule :

For the programmer

The object makeFreeOIModule is a method function with options.