Home Online Manual
Top
Back: highcorner
Forward: homog
FastBack: Functions and system variables
FastForward: Control structures
Up: Functions
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

5.1.51 hilb

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)
intvec (if called with two or three arguments)
Purpose:
computes the (weighted) Hilbert series of the ideal, resp. module, defined by the leading terms of the generators of the given ideal, resp. module.
If hilb is called with one argument, then the first and second Hilbert series together with some additional information are displayed.
If hilb is 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 intvec v=hilb(I,1); then hilb(v) yields the same result as hilb(I,2).
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 R=32003,(x,y,z),dp;
  ideal i=x2,y2,z2;
  ideal s=std(i);
  hilb(s);
==> //         1 t^0
==> //        -3 t^2
==> //         3 t^4
==> //        -1 t^6
==> 
==> //         1 t^0
==> //         3 t^1
==> //         3 t^2
==> //         1 t^3
==> // 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
See Hilbert function; ideal; intvec; module; std; stdhilb.