# reduceHilbert -- reduce a Hilbert series expression

## Synopsis

• Usage:
reduceHilbert H
• Inputs:
• Outputs:
• , the Hilbert series reduced by removing common factors

## 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 :

• "reduceHilbert(Divide)"

## For the programmer

The object reduceHilbert is .