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 } |