Top
Back: stdfglm
Forward: subst
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.129 stdhilb

Procedure from library standard.lib (see standard_lib).

Syntax:
stdhilb ( ideal_expression )
stdhilb ( module_expression )
stdhilb ( ideal_expression, intvec_expression ) stdhilb ( ideal_expression, list of string_expressions and intvec_expressin )

Type:
type of the first argument

Purpose:
Compute a Groebner basis of the ideal/module in the basering by using the Hilbert driven Groebner basis algorithm. If an argument of type string "std" resp. "slimgb" is given, the standard basis computation uses std or slimgb, otherwise a heuristically chosen method (default)

Theory:
If the ideal is not homogeneous compute first a Groebner basis of the homogenization of the ideal, then the Hilbert function and, finally, a Groebner basis in the original ring by using the computed Hilbert function.
If the ideal is homogeneous and a second argument of type intvec is given it will be used as 1st Hilbert function in the Hilbert driven algorithm.

Note:
'homogeneous' means weighted homogeneous with respect to the weights w[i] of the variables var(i) of the basering. Parameters are not converted to variables.

Assume:
The argument of type intvec is the 1st Hilbert series, computed by hilb using an intvector w, w[i]=deg(var(i)), as third argument

Example:
 
   ring  r = 0,(x,y,z),lp;
ideal i = y3+x2,x2y+x2z2,x3-z9,z4-y2-xz;
ideal j = stdhilb(i); j;
==> j[1]=z10
==> j[2]=yz9
==> j[3]=2y2z4-z8
==> j[4]=2y3z3-yz7-z9
==> j[5]=y4+y3z2
==> j[6]=xz+y2-z4
==> j[7]=xy2-xz4-y3z
==> j[8]=x2+y3
ring  r1 = 0,(x,y,z),wp(3,2,1);
ideal  i = y3+x2,x2y+x2z2,x3-z9,z4-y2-xz;  //ideal is homogeneous
ideal j = stdhilb(i,"std"); j;
==> j[1]=y2+xz-z4
==> j[2]=x2+y3
==> j[3]=2xz5-z8
==> j[4]=2xyz4+y2z5-xz6-yz7+z9
==> j[5]=z10
==> j[6]=2yz9+z11
//this is equivalent to:
intvec v = hilb(std(i),1);
ideal j1 = std(i,v,intvec(3,2,1)); j1;
==> j1[1]=y2+xz-z4
==> j1[2]=x2-xyz+yz4
==> j1[3]=2xz5-z8
==> j1[4]=2xyz4-yz7+z9
==> j1[5]=z10
==> j1[6]=yz9
size(NF(j,j1))+size(NF(j1,j));            //j and j1 define the same ideal
==> 0
stdfglm, std, slimgb, groebner


Top Back: stdfglm Forward: subst FastBack: Functions and system variables FastForward: Control structures Up: Functions Top: Singular Manual Contents: Table of Contents Index: Index About: About this document
            User manual for Singular version 3-0-4, Nov 2007, generated by texi2html.