This is the monoid whose elements correspond to degrees of rings with heft vector x, or, in case x is an integer, of rings with degree rank x and no heft vector; see heft vectors. Hilbert series and polynomials of modules over such rings are elements of its monoid ring over ZZ; see hilbertPolynomial and hilbertSeries The monomial ordering is chosen so that the Hilbert series, which has an infinite number of terms, is bounded above by the weight.
i1 : degreesMonoid {1,2,5} o1 = monoid[T ..T , Degrees => {1..2, 5}, MonomialOrder => {MonomialSize => 32 }, DegreeRank => 1, Inverses => true, Global => false] 0 2 {Weights => {-1, -2, -5}} {GroupLex => 3 } {Position => Up } o1 : GeneralOrderedMonoid |
i2 : degreesMonoid 3 o2 = monoid[T ..T , Degrees => {3:{}}, MonomialOrder => {MonomialSize => 32}, DegreeRank => 0, Inverses => true, Global => false] 0 2 {Weights => {3:-1} } {GroupLex => 3 } {Position => Up } o2 : GeneralOrderedMonoid |
i3 : R = QQ[x,y,Degrees => {{1,-2},{2,-1}}]; |
i4 : heft R o4 = {1, 0} o4 : List |
i5 : degreesMonoid R o5 = monoid[T ..T , Degrees => {1, 0}, MonomialOrder => {MonomialSize => 32}, DegreeRank => 1, Inverses => true, Global => false] 0 1 {Weights => {-1..0}} {GroupLex => 2 } {Position => Up } o5 : GeneralOrderedMonoid |
i6 : S = QQ[x,y,Degrees => {-2,1}]; |
i7 : heft S |
i8 : degreesMonoid S^3 o8 = monoid[T, Degrees => {{}}, MonomialOrder => {MonomialSize => 32}, DegreeRank => 0, Inverses => true, Global => false] {Weights => {-1} } {GroupLex => 1 } {Position => Up } o8 : GeneralOrderedMonoid |
The object degreesMonoid is a method function.