#### D.12.4.13 standard

Procedure from library `teachstd.lib` (see teachstd_lib).

Usage:
  standard(i[,s]); id ideal or module, s int

Return:
  a standard basis of id, using generalized Mora's algorithm which is Buchberger's algorithm for global monomial orderings. If s!=0 the symmetric s-polynomial (without division) is used

Note:
  Show comments if printlevel > 0, pauses computation if printlevel > 1

Example:

    LIB "teachstd.lib";
    ring r=0,(x,y,z),dp;
    ideal G = x2y+x2,y3+xyz,xyz2+z4;
    standard(G);"";
    ==> _[1]=x2y+x2
    ==> _[2]=y3+xyz
    ==> _[3]=xyz2+z4
    ==> _[4]=x3z-x2y
    ==> _[5]=-xz4+x2z2
    ==> _[6]=-y2z4-x2z3
    ==> _[7]=z6+x2yz2
    ==> _[8]=x2z3-x3z
    ==> _[9]=-x2z2+x3
    ==> _[10]=x4-x2yz
    ==>
    ring s=0,(x,y,z),(c,ds);
    ideal G = 2x2+x2y,y3+xyz,3x3y+z4;
    standard(G);"";
    ==> _[1]=2x2+x2y
    ==> _[2]=y3+xyz
    ==> _[3]=3x3y+z4
    ==> _[4]=-2/3z4+x3y2
    ==>
    standard(G,1);"";           //use symmetric s-poly without division
    ==> _[1]=2x2+x2y
    ==> _[2]=y3+xyz
    ==> _[3]=3x3y+z4
    ==> _[4]=-2z4+3x3y2
    ==>
    module M = [2x2,x3y+z4],[3y3+xyz,y3],[5z4,z2];
    standard(M);
    ==> _[1]=[2x2,x3y+z4]
    ==> _[2]=[3y3+xyz,y3]
    ==> _[3]=[5z4,z2]
    ==> _[4]=[0,-2/3x2y3+x3y4+1/3x4y2z+y3z4+1/3xyz5]
    ==> _[5]=[0,-2/5x2z2+x3yz4+z8]
    ==> _[6]=[0,-3/5y3z2-1/5xyz3+y3z4]

User manual for Singular version 4.4.1, 2025, generated by texi2html.