Macaulay2 » Documentation
Packages » Macaulay2Doc > modules > Hilbert functions and free resolutions > reduceHilbert
next | previous | forward | backward | up | index | toc

reduceHilbert -- reduce a Hilbert series expression

Synopsis

Description

This function is used to reduce the rational expression given by the command hilbertSeries. It is not automatically reduced, but sometimes it is useful to write it in reduced form. For instance, one might not notice that the series is a polynomial until it is reduced.

i1 : R = ZZ/101[x, Degrees => {2}];
i2 : I = ideal x^2;

o2 : Ideal of R
i3 : s = hilbertSeries I

           4
      1 - T
o3 = --------
           2
     (1 - T )

o3 : Expression of class Divide
i4 : reduceHilbert s

          2
     1 + T
o4 = ------
        1

o4 : Expression of class Divide

The reduction is partial, in the sense that the explicit factors of the denominator are cancelled entirely or not at all.

i5 : M = R^{0,-1}

      2
o5 = R

o5 : R-module, free, degrees {0..1}
i6 : hilbertSeries M

       1 + T
o6 = --------
           2
     (1 - T )

o6 : Expression of class Divide
i7 : f = reduceHilbert oo

       1 + T
o7 = --------
           2
     (1 - T )

o7 : Expression of class Divide
i8 : gcd( value numerator f, value denominator f )

o8 = 1 + T

o8 : ZZ[T]

Ways to use reduceHilbert :

For the programmer

The object reduceHilbert is a method function.