|  |  5.1.56 hilb 
See
 Hilbert function;
 ideal;
 intvec;
 module;
 std;
 stdhilb.Syntax:hilb (ideal_expression)
 hilb (module_expression)
 hilb (ideal_expression,int_expression)
 hilb (module_expression,int_expression)
 hilb (ideal_expression,int_expression,intvec_expression)
 hilb (module_expression,int_expression,intvec_expression)Type:none (if called with one argument)
bigintvec (if called with two or three arguments)
Purpose:computes the (weighted) Hilbert series of the base ring R modulo the ideal, resp. R^k modulo the module,
defined by the leading terms of the generators of the given ideal, resp. module.If
 hilbis called with one argument, then the first and second Hilbert series
together with some additional information are displayed.If
 hilbis called with two arguments, then the n-th Hilbert series is returned
as an intvec, where n = 1, 2 is the second argument.If a weight vector w is a given as 3rd argument, then the Hilbert series is computed
w.r.t. these weights w (by default all weights are set to 1).
Caution:The last entry of the returned intvec is not part of the actual Hilbert series,
but is used in the Hilbert driven standard basis computation (see  stdhilb). (It is the minimum weight of the module generators or 0).
Syntax:hilb (intvec_expression)Type:intvec
Purpose:computes the second Hilbert series from the first, i.e.
if bigintvec v=hilb(I,1);thenhilb(v)yields the same result
ashilb(I,2).Syntax:hilb (ideal_expression,ring,string_expression)
 hilb (module_expression,ring,string_expression)Type:none
Purpose:computes the (weighted) Hilbert series of the base ring R modulo the ideal, resp. R^k modulo the module,
defined by the leading terms of the generators of the given ideal, resp. module.The series is stored as
 polyunder the name give as string in the given ring.Note:If the input is homogeneous w.r.t. the weights and a standard basis, the result is
the (weighted) Hilbert series of the original ideal, resp. module.
Example:|  |   ring Qt=QQ,t,dp;
  ring R=32003,(x,y,z),dp;
  ideal i=x2,y2,z2;
  ideal s=std(i);
  hilb(s);
==> (-t6+3t4-3t2+1) / (1-t)^3
==> (t3+3t2+3t+1) / (1-t)^0
==> // dimension (affine) = 0
==> // degree (affine)  = 8
  hilb(s,1);
==> 1,0,-3,0,3,0,-1,0
  hilb(s,2);
==> 1,3,3,1,0
  intvec w=2,2,2;
  hilb(s,1,w);
==> 1,0,0,0,-3,0,0,0,3,0,0,0,-1,0
  hilb(s,Qt,"h");
  setring Qt;h;
==> -t6+3t4-3t2+1
 | 
 |