### 5.1.143 std

`Syntax:`
  `std (` ideal_expression`)`
  `std (` module_expression`)`
  `std (` ideal_expression`,` intvec_expression `)`
  `std (` module_expression`,` intvec_expression `)`
  `std (` ideal_expression`,` intvec_expression`,` intvec_expression `)`
  `std (` module_expression`,` intvec_expression`,` intvec_expression `)`
  `std (` ideal_expression`,` poly_expression `)`
  `std (` module_expression`,` vector_expression `)`
  `std (` ideal_expression`,` ideal_expression `)`
  `std (` module_expression`,` module_expression `)`
  `std (` ideal_expression`,` poly_expression`,` intvec_expression`,` intvec_expression `)`
  `std (` module_expression`,` poly_expression`,` intvec_expression`,` intvec_expression `)`
`Type:`
  ideal or module
`Purpose:`
  returns a standard basis of an ideal or module with respect to the monomial ordering of the basering. A standard basis is a set of generators such that the leading terms generate the leading ideal, resp. module.
  Use an optional second argument of type intvec as Hilbert series (result of `hilb(i,1)`, see hilb), if the ideal, resp. module, is homogeneous (Hilbert driven standard basis computation, stdhilb). If the ideal is quasihomogeneous with some weights w and if the Hilbert series is computed w.r.t. to these weights, then use w as third argument.
  Use an optional second argument of type poly/vector/ideal, resp. module, to construct the standard basis from an already computed one (given as the first argument) and additional generator(s) (the second argument).
  4 arguments `G,p,hv,w` are the combination of the above: standard basis `G`, additional generator `p`, hilbert function `hv` w.r.t. weights `w`.

`Note:`
  The standard basis is computed with a (more or less) straight-forward implementation of the classical Buchberger (resp. Mora) algorithm. For global orderings, use the `groebner` command instead (see groebner), which heuristically chooses the "best" algorithm to compute a Groebner basis.
  To view the progress of long running computations, use `option(prot)` (see option(prot)).

`Example:`

        // local computation
        ring r=32003,(x,y,z),ds;
        poly s1=1x2y+151xyz10+169y21;
        poly s2=1xz14+6x2y4+3z24;
        poly s3=5y10z10x+2y20z10+y10z20+11x3;
        ideal i=s1,s2,s3;
        ideal j=std(i);
        degree(j);
      ==> // dimension (local)   = 0
      ==> // multiplicity = 1512
        // Hilbert driven elimination (standard)
        ring rhom=32003,(x,y,z,h),dp;
        ideal i=homog(imap(r,i),h);
        ideal j=std(i);
        intvec iv=hilb(j,1);
        ring rlex=32003,(x,y,z,h),lp;
        ideal i=fetch(rhom,i);
        ideal j=std(i,iv);
        j=subst(j,h,1);
        j[1];
      ==> z64
        // Hilbert driven elimination (ideal is quasihomogeneous)
        intvec w=10,1,1;
        ring whom=32003,(x,y,z),wp(w);
        ideal i=fetch(r,i);
        ideal j=std(i);
        intvec iw=hilb(j,1,w);
        ring wlex=32003,(x,y,z),lp;
        ideal i=fetch(whom,i);
        ideal j=std(i,iw,w);
        j[1];
      ==> z64

See facstd; fglm; groebner; ideal; mstd; option; ring; stdfglm; stdhilb.

User manual for Singular version 4-0-3, 2016, generated by texi2html.