Singular Manual: monomialabortstd

| #### D.14.3.1 monomialabortstd Procedure from library `customstd.lib` (see customstd_lib). Usage: monomialabortstd(I); I ideal Purpose: computes a standard basis and aborts if a monomial generator is found. Returns all standard basis elements that have been computed. Note: Due to sequencing of the standard basis computation: - If aborted, there is no guarantee that the monomial is the final standard bases element - If ideal has a monomial generator, there is no guarantee that the computation aborts because of it Example:
    LIB "customstd.lib";
    LIB "polylib.lib";
    ring r = 0,(x,y,z,u,v),dp;
    // yields normal standard basis since no monomial is found
    ideal I = homog(cyclic(4),v);
    monomialabortstd(I);
    ==> _[1]=x+y+z+u
    ==> _[2]=y2+2yu+u2
    ==> _[3]=yz2+z2u-yu2-u3
    ==> _[4]=yzu2+z2u2-yu3+zu3-u4-v4
    ==> _[5]=yu4+u5-yv4-uv4
    ==> _[6]=z3u2+z2u3-zv4-uv4
    ==> _[7]=z2u4+yzv4-yuv4+zuv4-2u2v4
    // will not start standard basis computation in the first place,
    // as one of the generators is a monomial
    I = v,homog(cyclic(4),v);
    monomialabortstd(I);
    ==> _[1]=v
    // aborts standard basis computation when it encounters monomial u
    // note that u is not the final element in the standard basis!!!
    I = x+y+z,homog(cyclic(4),v);
    monomialabortstd(I);
    ==> _[1]=u
    ==> _[2]=x+y+z+u
    // aborts standard basis computation when it encounters monomial z2
    // note that it is not the monomial generator x which lead to the abortion!!!
    I = x,homog(cyclic(4),v);
    monomialabortstd(I);
    ==> _[1]=y+z+u
    ==> _[2]=x+y+z+u
    ==> _[3]=z2

User manual for Singular version 4-2-1p3, 2021, generated by texi2html.