| #### D.15.22.4 sagbiDefIdealGeneral Procedure from library `sagbiNormaliz0.lib` (see sagbiNormaliz0_lib). Return: An instance of newstruct("sagbiResult","int success, ideal sagbiBasis, ideal defIdeal"); success has the value 0, if the full Sagbi basis has not been reached, 1 if this is unknown, and 2 if the full Sagbi basis has been computed. sagbiBasis is the Sagbi basis encodeed as an ideal in the polynomial ring that was active when sagbiDefIdealByDegree was called. defIdeal contains the defining ideal (as far as computed). It lives in the ring (name of the result).r_defIdeal; See example for the activation of this ring. Note: sorting, if set at all, must be 0. Example:
    LIB "sagbiNormaliz0.lib";
    ring R = 0,(x,w),dp;
    ideal A = x^2-w+1, x + w^3, x -w;
    def Result = sagbiDefIdealGeneral(A,-1);    "Note: success = 2 <==> Sagbi basis and defining ideal completee";
    ==> complete subduction applied to size 3
    ==> polynomials 3 minimal so far 2
    ==> polynomials 3 minimal so far 3
    ==> subduced size 3
    ==> Size defining ideal so far (not minimized) 0
    ==> Initial subduction dione
    ==> Making new tete-a-tete
    ==> Evaluating tete-a-tete
    ==> Computing 1 binomials
    ==> Binomials computed
    ==> Generators extended
    ==> complete subduction applied to size 4
    ==> polynomials 4 minimal so far 3
    ==> polynomials 4 minimal so far 3
    ==> polynomials 4 minimal so far 3
    ==> polynomials 4 minimal so far 3
    ==> polynomials 4 minimal so far 3
    ==> polynomials 4 minimal so far 3
    ==> polynomials 4 minimal so far 3
    ==> polynomials 4 minimal so far 3
    ==> polynomials 4 minimal so far 3
    ==> polynomials 4 minimal so far 3
    ==> polynomials 4 minimal so far 3
    ==> polynomials 4 minimal so far 3
    ==> polynomials 4 minimal so far 3
    ==> polynomials 3 minimal so far 3
    ==> subduced size 3
    ==> Size defining ideal so far (not minimized) 1
    ==> Sagbi basis computed
    ==> Note: success = 2 <==> Sagbi basis and defining ideal completee
    "success", Result.success;
    ==> success 2
    "Sagbi basis";
    ==> Sagbi basis
    Result.sagbiBasis;
    ==> _[1]=xw-1/2w2-1/2w+1/2
    ==> _[2]=w3+x
    ==> _[3]=x-w
    def motherRing = Result.r_defIdeal;
    setring motherRing;
    "defining ideal";
    ==> defining ideal
    Result.defIdeal;
    ==> _[1]=y(1)^3-y(2)^2-6*y(1)*y(2)*y(3)-3*y(1)^2*y(3)^2-2*y(2)*y(3)^3+3*y(1)*\
       y(3)^4-y(3)^6+3*y(1)*y(2)+9*y(2)*y(3)^2-y(1)^2+12*y(1)*y(3)^2-3*y(3)^4-y(\
       2)-7*y(1)*y(3)-5*y(3)^3+y(1)-4*y(3)^2+5*y(3)-1

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