  | ### 5.1.151 std `Syntax:` `std (` ideal_expression`)` `std (` module_expression`)` `std (` smatrix_expression`)` `std (` ideal_expression`,` bigintvec_expression `)` `std (` module_expression`,` bigintvec_expression `)` `std (` ideal_expression`,` bigintvec_expression`,` intvec_expression `)` `std (` module_expression`,` bigintvec_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, module or smatrix `Purpose:` returns a standard basis of an ideal or module with respect to the monomial ordering of the basering. For Letterplace rings, a twosided Groebner basis is computed. 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 bigintvec 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`. `Warning:` Groebner basis computations with inexact coefficients can not be trusted due to rounding errors. `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);
        bigintvec 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);
        bigintvec 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; module; mstd; option; ring; smatrix; stdfglm; stdhilb.

User manual for Singular version 4.4.0, 2024, generated by texi2html.