HilbertPolynomial - Maple Help

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