# CoCoA:Hilbert

## Hilbert

the Hilbert-Poincare' function

### Description

The first form of this function computes the Hilbert function for R.

The second form computes the N-th value of the Hilbert function. The

weights of the indeterminates of R must all be 1. If the input is not homogeneous, the Hilbert function of the corresponding leading term (initial) ideal or module is calculated. For repeated evaluations of the Hilbert function, use <ttref>EvalHilbertFn</ttref> instead of Hilbert(R,N) in order to speed up execution.

This function is the same as <ttref>HilbertFn</ttref>.

The coefficient ring must be a field.

#### Example

```  Use R ::= Q[t,x,y,z];
Hilbert(R/Ideal(z^2-xy,xz^2+t^3));
H(0) = 1
H(1) = 4
H(t) = 6t-3   for t &gt;= 2
-------------------------------
M := R^2/Module([x^2-t,xy-z^3],[zy,tz-x^3y+3]);
Hilbert(M);
H(0) = 2
H(1) = 8
H(2) = 20
H(3) = 39
H(t) = 3t^2 + 6t-7   for t &gt;= 4
-------------------------------
Hilbert(M,3)
39
-------------------------------
Hilbert(M,5);
98
-------------------------------
```

### Syntax

```Hilbert(R:RING or TAGGED(<quotes>Quotient</quotes>)):TAGGED(<quotes><tt>\$hp.Hilbert</tt></quotes>)
Hilbert(R:RING or TAGGED(<quotes>Quotient</quotes>),N:INT):INT
```

```   <type>groebner</type>
<type>groebner-basic</type>
<type>hilbert</type>
<type>quotient</type>
<type>ring</type>
```