Macaulay2 » Documentation
Packages » Macaulay2Doc :: degreesRing
next | previous | forward | backward | up | index | toc

degreesRing -- the ring or monoid of degrees

Synopsis

Description

Given a ring or monoid A with degree length $n$, degreesRing and degreesMonoid produce a Laurent polynomial ring or monoid of Laurent monomials in $n$ variables, respectively, whose monomials correspond to the degrees of elements of A. The variable has no subscript when $n=1$.

i1 : A = ZZ[x,y];
i2 : degreesRing A

o2 = ZZ[T]

o2 : PolynomialRing
i3 : degreesMonoid A

o3 = monoid[T, Degrees => {1}, MonomialOrder => {MonomialSize => 32}, Inverses => true, Global => false]
                                                {Weights => {-1}   }
                                                {GroupLex => 1     }
                                                {Position => Up    }

o3 : GeneralOrderedMonoid
i4 : degrees oo

o4 = {{1}}

o4 : List
i5 : heft A

o5 = {1}

o5 : List
i6 : R = QQ[x,y, Degrees => {{1,-2}, {2,-1}}];
i7 : degreesRing R

o7 = ZZ[T ..T ]
         0   1

o7 : PolynomialRing
i8 : degreesMonoid R

o8 = monoid[T ..T , Degrees => {1, 0}, MonomialOrder => {MonomialSize => 32}, Inverses => true, Global => false]
             0   1                                      {Weights => {-1..0}}
                                                        {GroupLex => 2     }
                                                        {Position => Up    }

o8 : GeneralOrderedMonoid
i9 : degrees oo

o9 = {{1}, {0}}

o9 : List
i10 : heft R

o10 = {1, 0}

o10 : List
i11 : S = QQ[x,y, Degrees => {-2,1}];
i12 : degreesRing S

o12 = ZZ[T]

o12 : PolynomialRing
i13 : degreesMonoid S

o13 = monoid[T, Degrees => {{}}, MonomialOrder => {MonomialSize => 32}, Inverses => true, Global => false]
                                                  {Weights => {-1}   }
                                                  {GroupLex => 1     }
                                                  {Position => Up    }

o13 : GeneralOrderedMonoid
i14 : degrees oo

o14 = {{}}

o14 : List
i15 : heft S

Note that in the last example the ring does not have a heft vector.

Hilbert series and polynomials of modules over A are elements of its degrees ring over ZZ. The monomial ordering is chosen so that the Hilbert series, which has an infinite number of terms, is bounded above by the weight. Elements of this ring are also used as variables for Poincare polynomials generated by poincare and poincareN.

i16 : R = QQ[x,y, Degrees => {{1,-2,0}, {2,-1,1}}];
i17 : use degreesRing R

o17 = ZZ[T ..T ]
          0   2

o17 : PolynomialRing
i18 : hilbertSeries module ideal vars R

         -2    2 -1      3 -3
      T T   + T T  T  - T T  T
       0 1     0 1  2    0 1  2
o18 = -------------------------
             2 -1           -2
       (1 - T T  T )(1 - T T  )
             0 1  2       0 1

o18 : Expression of class Divide
i19 : (1+T_1+T_2^2)^3 

       3     2 2     2       4       2          6     4     2
o19 = T  + 3T T  + 3T  + 3T T  + 6T T  + 3T  + T  + 3T  + 3T  + 1
       1     1 2     1     1 2     1 2     1    2     2     2

o19 : ZZ[T ..T ]
          0   2

See also

Ways to use degreesRing :

For the programmer

The object degreesRing is a method function.

Menu