HilbertPolynomial - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


Groebner

  

HilbertSeries

  

compute Hilbert series

  

HilbertPolynomial

  

compute Hilbert polynomial

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

HilbertSeries(J, X, s, characteristic=p)

HilbertPolynomial(J, X, s, characteristic=p)

Parameters

J

-

a list or set of polynomials or a PolynomialIdeal

X

-

(optional) a list or set of variables, a ShortMonomialOrder, or a MonomialOrder

s

-

(optional) a variable to use for the series or polynomial

p

-

(optional) characteristic

Description

• 

The HilbertSeries command computes the Hilbert series of the ideal generated by J, which is defined as n=0cncn1sn where cn is the dimension of the vector space of normal forms (with respect to J) of polynomials of degree less than or equal to n.  The output is a rational function of the form Hs=Ps1sd where d is the HilbertDimension of J. The Hilbert polynomial is defined as the polynomial asymptotically equal to cncn1.

• 

In the case of skew polynomials, the invariants that are returned are those of the left ideal generated by J.

• 

The variables of the system can be specified using an optional second argument X. If X is a ShortMonomialOrder then a Groebner basis of J with respect to X is computed. Be aware that if X is not a graded monomial order (that is, tdeg or grlex) then the result may be incorrect. By default, X is the set of all indeterminates not appearing inside a RootOf or radical when J is a list or set, or PolynomialIdeals[IdealInfo][Variables](J) if J is an ideal.

• 

The variable for the Hilbert series or polynomial can be specified with an optional third argument s. If this is omitted, the global name 'Z' is used.

• 

The optional argument characteristic=p specifies the ring characteristic when J is a list or set. This option has no effect when J is a PolynomialIdeal or when X is a MonomialOrder.

• 

The algorithms for HilbertSeries and HilbertPolynomial use the leading monomials of a total degree Groebner basis for J. To access this functionality directly (as part of a program), make J the list or set of leading monomials. The commands will detect this case and execute their algorithms with minimal overhead.

• 

Note that the hilbertseries and hilbertpoly commands are deprecated.  They may not be supported in a future Maple release.

Examples

withGroebner:

Fx31x6xy,x8z,x10t

Fx31x6xy,x8z,x10t

(1)

hHilbertSeriesF,t,x,y,z,s

hs62s511s49s36s23s11+s

(2)

HilbertPolynomialF,t,x,y,z,n

31

(3)

seriesh,s=0,10

1+4s+10s2+19s3+30s4+32s5+31s6+31s7+31s8+31s9+Os10

(4)

The system below is not holonomic, in the sense that the Hilbert dimension is greater than the number of polynomial variables (x and y).

withOre_algebra:

Adiff_algebraDx,x,Dy,y,polynom=x,y:

TMonomialOrderA,tdegDx,Dy,x,y:

px2x+y:

FpDx+diffp,x,pDy+diffp,y

Fx2x+yDx+2x1,x2x+yDy+1

(5)

GBasisF,T

GDyx2Dyx+Dyy+1,Dxx2Dxx+Dxy+2x1

(6)

HilbertDimensionF,T

3

(7)

pHilbertPolynomialF,T,n

pn2+3n

(8)

hHilbertSeriesF,T,s

hs3s2s11+s3

(9)

seriesh,s

1+4s+10s2+18s3+28s4+40s5+Os6

(10)

seriesaddevalp,n=i,i=0..6,s

154

(11)

Neither x nor y can be eliminated.

removehas,BasisF,MonomialOrderA,lexdegx,Dx,Dy,y,x

(12)

removehas,BasisF,MonomialOrderA,lexdegy,Dx,Dy,x,y

(13)

f1p

f1n2+3n

(14)

x2x+ydifff,x,y+22x1difff,y

0

(15)

The system becomes holonomic when we add the polynomial above. The Hilbert dimension is now 2 and both x and y can be eliminated.

F2opF,x2x+yDxDy+22x1Dy

F2x2x+yDx+2x1,x2x+yDy+1,x2x+yDxDy+22x1Dy

(16)

HilbertDimensionF2,T

2

(17)

HilbertPolynomialF2,T,n

4n

(18)

hHilbertSeriesF2,T,s

hs2+2s+11+s2

(19)

seriesh,s=0

1+4s+8s2+12s3+16s4+20s5+Os6

(20)

removehas,BasisF2,MonomialOrderA,lexdegx,Dx,Dy,y,x

4yDy2+Dx2Dy2+6Dy

(21)

removehas,BasisF2,MonomialOrderA,lexdegy,Dx,Dy,x,y

2xDyDxDy

(22)

See Also

Basis

HilbertDimension

MonomialOrder

Ore_algebra

PolynomialIdeal

series