next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
Macaulay2Doc :: degreesRing(List)

degreesRing(List) -- the ring of degrees

Synopsis

Description

This function produces a Laurent polynomial ring in n variables T_0, ... , T_{n-1}, where n is the length of x if x is a list and is x otherwise. If n=1, then the single variable is T. Use use as in the following example to assign the indeterminates of the ring to global variables, or assign the ring itself to a global variable.

i1 : degreesRing 3

o1 = ZZ[T , T , T ]
         0   1   2

o1 : PolynomialRing
i2 : describe oo

o2 = ZZ[T ..T , Degrees => {3:{}}, MonomialOrder => {MonomialSize => 32}, DegreeRank => 0, Inverses => true, Global => false]
         0   2                                      {Weights => {3:-1} }
                                                    {GroupLex => 3     }
                                                    {Position => Up    }
i3 : T_0

o3 = T
      0

o3 : IndexedVariable
i4 : use degreesRing 3

o4 = ZZ[T , T , T ]
         0   1   2

o4 : PolynomialRing
i5 : T_0

o5 = T
      0

o5 : ZZ[T , T , T ]
         0   1   2

Elements of this ring are used as variables for Poincare polynomials generated by poincare and poincareN as well as Hilbertseries.

The degrees ring is a Laurent polynomial ring, as can be seen by the option in the definition of the ring that says Inverses => true. The monomial ordering used in the degrees ring is RevLex so the polynomials in it will be displayed with the smallest exponents first, because such polynomials are often used as Hilbert series.

i6 : W = degreesRing {1,2,5}

o6 = W

o6 : PolynomialRing
i7 : describe W

o7 = ZZ[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         }
i8 : use W

o8 = W

o8 : PolynomialRing
i9 : (1+T_1+T_2^2)^3

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

o9 : W
i10 : degreesRing 3

o10 = ZZ[T , T , T ]
          0   1   2

o10 : PolynomialRing
i11 : describe oo

o11 = ZZ[T ..T , Degrees => {3:{}}, MonomialOrder => {MonomialSize => 32}, DegreeRank => 0, Inverses => true, Global => false]
          0   2                                      {Weights => {3:-1} }
                                                     {GroupLex => 3     }
                                                     {Position => Up    }
i12 : R = QQ[x,y,Degrees => {{1,-2},{2,-1}}];
i13 : heft R

o13 = {1, 0}

o13 : List
i14 : describe degreesRing R

o14 = ZZ[T ..T , Degrees => {1, 0}, MonomialOrder => {MonomialSize => 32}, DegreeRank => 1, Inverses => true, Global => false]
          0   1                                      {Weights => {-1..0}}
                                                     {GroupLex => 2     }
                                                     {Position => Up    }
i15 : S = QQ[x,y,Degrees => {-2,1}];
i16 : heft S
i17 : describe degreesRing S

o17 = ZZ[T, Degrees => {{}}, MonomialOrder => {MonomialSize => 32}, DegreeRank => 0, Inverses => true, Global => false]
                                              {Weights => {-1}   }
                                              {GroupLex => 1     }
                                              {Position => Up    }

See also