# degreesRing(List) -- the ring of degrees

## Synopsis

• Function: degreesRing
• Usage:
degreesRing x
• Inputs:
• Outputs:
• , the ring of Laurent polynomials whose monomials correspond to the degrees of the monomials in a ring whose heft vector is x, or, if x is an integer, in a ring with degree rank x and no heft vector. See degreesMonoid.

## 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 ] 0 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 ] 0 2 o4 : PolynomialRing i5 : T_0 o5 = T 0 o5 : ZZ[T ..T ] 0 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 ] 0 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 }