This function produces a Laurent polynomial ring in n variables
T_0, ... , T_{n-1} whose monomials are to be used to represent degrees in another ring with multi-degrees of length n. If n=1, then the variable has no subscript.
i1 : degreesRing 3
o1 = ZZ [T , T , T , MonomialOrder => RevLex, Inverses => true]
0 1 2
o1 : PolynomialRing
|
i2 : T_0
o2 = T
0
o2 : IndexedVariable
|
Notice that the variables in this ring are local variables, but the command
use will make the variables globally available.
i3 : use degreesRing 3
o3 = ZZ [T , T , T , MonomialOrder => RevLex, Inverses => true]
0 1 2
o3 : PolynomialRing
|
i4 : T_0
o4 = T
0
o4 : ZZ [T , T , T , MonomialOrder => RevLex, Inverses => true]
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.