This method computes the Hilbert series of a graded NCRing. If the ring is defined ober QQ or ZZ/p, and standard graded, it calls hilbertBergman. Otherwise, if the ring is defined over a field (and potentially not standard graded), then a basis is computed and the generating function of the degrees of that basis is returned. The degree to which one computes the Hilbert series is controlled with the Order option. The output is returned as a polynomial in ZZ[T].
i1 : A = QQ{x,y,z}
o1 = A
o1 : NCPolynomialRing
|
i2 : hilbertSeries(A,Order=>10)
2 3 4 5 6 7 8 9
o2 = 1 + 3T + 9T + 27T + 81T + 243T + 729T + 2187T + 6561T + 19683T +
------------------------------------------------------------------------
10
59049T
o2 : ZZ[T]
|
i3 : setWeights(A,{1,2,3})
o3 = A
o3 : NCPolynomialRing
|
i4 : hilbertSeries(A,Order=>10)
2 3 4 5 6 7 8 9 10
o4 = 1 + T + 2T + 4T + 7T + 13T + 24T + 44T + 81T + 149T + 274T
o4 : ZZ[T]
|
i5 : B = threeDimSklyanin(QQ,{1,1,-1},{x,y,z})
--Calling Bergman for NCGB calculation.
Complete!
o5 = B
o5 : NCQuotientRing
|
i6 : hilbertSeries(B,Order=>10)
--Calling bergman for HS computation.
Complete!
2 3 4 5 6 7 8 9 10
o6 = 1 + 3T + 6T + 10T + 15T + 21T + 28T + 36T + 45T + 55T + 66T
o6 : ZZ[T]
|