Singular Manual: stabilizer

| #### D.15.2.4 stabilizer Procedure from library `autgradalg.lib` (see autgradalg_lib). Usage: stabilizer(RL, A, BB, AMON, n0): RL is an ideal, A a matrix (standing for a subgroup of GL(n)), BB is an intmat (standing for an automorphism of the grading group), AMON a list of monomials corresponding to the rows/columns of A, n0 an integer such that the first n0 variables of the basering are the T(i), optional: a list of elementary divisors if there is torsion. Assume: the basering must be graded (see setBaseMultigrading()) and the cone over the degrees of the variables must be pointed; there mustn't be 0-degrees. The vector w must be an element of the cone over the degrees of the variables. Moreover, B must be such that it permutes the degrees of the variables and the degrees of the generators of RL. Purpose: returns relations such that A*I = I. Return: a ring. Also exports an ideal Jexported and a list stabExported. Example:
    LIB "autgradalg.lib";
    ==> // ** redefining fullSpace (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining fullSpace (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining origin (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining origin (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining positiveOrthant (  LIB "gfan.lib";) gitfan.lib::mod_init\
       :86
    ==> // ** redefining positiveOrthant (  LIB "gfan.lib";) gitfan.lib::mod_init\
       :86
    ==> // ** redefining intmatToGfanVectorConfiguration (  LIB "gfan.lib";) gitf\
       an.lib::mod_init:86
    ==> // ** redefining secondaryFan (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining secondaryFan (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining ambientDimension (  LIB "gfan.lib";) gitfan.lib::mod_ini\
       t:86
    ==> // ** redefining ambientDimension (  LIB "gfan.lib";) gitfan.lib::mod_ini\
       t:86
    ==> // ** redefining canonicalizeCone (  LIB "gfan.lib";) gitfan.lib::mod_ini\
       t:86
    ==> // ** redefining canonicalizeCone (  LIB "gfan.lib";) gitfan.lib::mod_ini\
       t:86
    ==> // ** redefining codimension (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining codimension (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining coneViaPoints (  LIB "gfan.lib";) gitfan.lib::mod_init:8\
       6
    ==> // ** redefining coneViaPoints (  LIB "gfan.lib";) gitfan.lib::mod_init:8\
       6
    ==> // ** redefining coneViaInequalities (  LIB "gfan.lib";) gitfan.lib::mod_\
       init:86
    ==> // ** redefining coneViaInequalities (  LIB "gfan.lib";) gitfan.lib::mod_\
       init:86
    ==> // ** redefining coneLink (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining coneLink (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining containsAsFace (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining containsAsFace (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining containsRelatively (  LIB "gfan.lib";) gitfan.lib::mod_i\
       nit:86
    ==> // ** redefining containsRelatively (  LIB "gfan.lib";) gitfan.lib::mod_i\
       nit:86
    ==> // ** redefining containsInSupport (  LIB "gfan.lib";) gitfan.lib::mod_in\
       it:86
    ==> // ** redefining containsInSupport (  LIB "gfan.lib";) gitfan.lib::mod_in\
       it:86
    ==> // ** redefining containsPositiveVector (  LIB "gfan.lib";) gitfan.lib::m\
       od_init:86
    ==> // ** redefining containsPositiveVector (  LIB "gfan.lib";) gitfan.lib::m\
       od_init:86
    ==> // ** redefining convexHull (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining convexHull (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining convexIntersection (  LIB "gfan.lib";) gitfan.lib::mod_i\
       nit:86
    ==> // ** redefining convexIntersection (  LIB "gfan.lib";) gitfan.lib::mod_i\
       nit:86
    ==> // ** redefining dimension (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining dimension (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining dualCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining dualCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining equations (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining equations (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining faceContaining (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining faceContaining (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining facets (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining facets (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining generatorsOfLinealitySpace (  LIB "gfan.lib";) gitfan.li\
       b::mod_init:86
    ==> // ** redefining generatorsOfLinealitySpace (  LIB "gfan.lib";) gitfan.li\
       b::mod_init:86
    ==> // ** redefining generatorsOfSpan (  LIB "gfan.lib";) gitfan.lib::mod_ini\
       t:86
    ==> // ** redefining generatorsOfSpan (  LIB "gfan.lib";) gitfan.lib::mod_ini\
       t:86
    ==> // ** redefining getLinearForms (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining getLinearForms (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining getMultiplicity (  LIB "gfan.lib";) gitfan.lib::mod_init\
       :86
    ==> // ** redefining getMultiplicity (  LIB "gfan.lib";) gitfan.lib::mod_init\
       :86
    ==> // ** redefining inequalities (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining inequalities (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining isFullSpace (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining isFullSpace (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining isOrigin (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining isOrigin (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining isSimplicial (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining isSimplicial (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining linealityDimension (  LIB "gfan.lib";) gitfan.lib::mod_i\
       nit:86
    ==> // ** redefining linealityDimension (  LIB "gfan.lib";) gitfan.lib::mod_i\
       nit:86
    ==> // ** redefining linealitySpace (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining linealitySpace (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining negatedCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining negatedCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining quotientLatticeBasis (  LIB "gfan.lib";) gitfan.lib::mod\
       _init:86
    ==> // ** redefining quotientLatticeBasis (  LIB "gfan.lib";) gitfan.lib::mod\
       _init:86
    ==> // ** redefining randomPoint (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining randomPoint (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining rays (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining rays (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining relativeInteriorPoint (  LIB "gfan.lib";) gitfan.lib::mo\
       d_init:86
    ==> // ** redefining relativeInteriorPoint (  LIB "gfan.lib";) gitfan.lib::mo\
       d_init:86
    ==> // ** redefining semigroupGenerator (  LIB "gfan.lib";) gitfan.lib::mod_i\
       nit:86
    ==> // ** redefining semigroupGenerator (  LIB "gfan.lib";) gitfan.lib::mod_i\
       nit:86
    ==> // ** redefining setLinearForms (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining setLinearForms (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining setMultiplicity (  LIB "gfan.lib";) gitfan.lib::mod_init\
       :86
    ==> // ** redefining setMultiplicity (  LIB "gfan.lib";) gitfan.lib::mod_init\
       :86
    ==> // ** redefining span (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining span (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining uniquePoint (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining uniquePoint (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining containsInCollection (  LIB "gfan.lib";) gitfan.lib::mod\
       _init:86
    ==> // ** redefining containsInCollection (  LIB "gfan.lib";) gitfan.lib::mod\
       _init:86
    ==> // ** redefining emptyFan (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining emptyFan (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining fanViaCones (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining fanViaCones (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining fullFan (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining fullFan (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining fVector (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining fVector (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining getCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining getCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining insertCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining insertCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining isCompatible (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining isCompatible (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining isPure (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining isPure (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining nmaxcones (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining nmaxcones (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining ncones (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining ncones (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining numberOfConesOfDimension (  LIB "gfan.lib";) gitfan.lib:\
       :mod_init:86
    ==> // ** redefining numberOfConesOfDimension (  LIB "gfan.lib";) gitfan.lib:\
       :mod_init:86
    ==> // ** redefining removeCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining removeCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining dualPolytope (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining dualPolytope (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining newtonPolytope (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining newtonPolytope (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining polytopeViaPoints (  LIB "gfan.lib";) gitfan.lib::mod_in\
       it:86
    ==> // ** redefining polytopeViaPoints (  LIB "gfan.lib";) gitfan.lib::mod_in\
       it:86
    ==> // ** redefining polytopeViaInequalities (  LIB "gfan.lib";) gitfan.lib::\
       mod_init:86
    ==> // ** redefining polytopeViaInequalities (  LIB "gfan.lib";) gitfan.lib::\
       mod_init:86
    ==> // ** redefining vertices (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining vertices (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining onesVector (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining onesVector (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining mod_init (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    //////////////////
    // example: fano 15:
    intmat Q[1][5] = 3,3,2,2,1;
    ring R = 0,T(1..5),dp;
    // attach degree matrix Q to R:
    setBaseMultigrading(Q);
    ideal I = T(1)*T(2) + T(3)^2*T(4) + T(5)^6;
    def RR = stabilizer(I);
    ==> // coefficients: QQ
    ==> // number of vars : 50
    ==> //        block   1 : ordering dp
    ==> //                  : names    T(1) T(2) T(3) T(4) T(5) Y(1) Y(2) Y(3) Y(\
       4) Y(5) Y(6) Y(7) Y(8) Y(9) Y(10) Y(11) Y(12) Y(13) Y(14) Y(15) Y(16) Y(1\
       7) Y(18) Y(19) Y(20) Y(21) Y(22) Y(23) Y(24) Y(25) Y(26) Y(27) Y(28) Y(29\
       ) Y(30) Y(31) Y(32) Y(33) Y(34) Y(35) Y(36) Y(37) Y(38) Y(39) Y(40) Y(41)\
        Y(42) Y(43) Y(44) Y(45)
    ==> //        block   2 : ordering C
    setring RR;
    RR;
    ==> // coefficients: QQ
    ==> // number of vars : 46
    ==> //        block   1 : ordering dp
    ==> //                  : names    Y(1) Y(2) Y(3) Y(4) Y(5) Y(6) Y(7) Y(8) Y(\
       9) Y(10) Y(11) Y(12) Y(13) Y(14) Y(15) Y(16) Y(17) Y(18) Y(19) Y(20) Y(21\
       ) Y(22) Y(23) Y(24) Y(25) Y(26) Y(27) Y(28) Y(29) Y(30) Y(31) Y(32) Y(33)\
        Y(34) Y(35) Y(36) Y(37) Y(38) Y(39) Y(40) Y(41) Y(42) Y(43) Y(44) Y(45)
    ==> //        block   2 : ordering dp
    ==> //                  : names    Z
    ==> //        block   3 : ordering C
    Jexported;
    ==> Jexported[1]=Y(3)
    ==> Jexported[2]=Y(4)
    ==> Jexported[3]=Y(5)
    ==> Jexported[4]=Y(8)
    ==> Jexported[5]=Y(12)
    ==> Jexported[6]=Y(13)
    ==> Jexported[7]=Y(14)
    ==> Jexported[8]=Y(17)
    ==> Jexported[9]=Y(19)
    ==> Jexported[10]=Y(20)
    ==> Jexported[11]=Y(23)
    ==> Jexported[12]=Y(24)
    ==> Jexported[13]=Y(25)
    ==> Jexported[14]=Y(27)
    ==> Jexported[15]=Y(28)
    ==> Jexported[16]=Y(29)
    ==> Jexported[17]=Y(32)
    ==> Jexported[18]=Y(33)
    ==> Jexported[19]=Y(34)
    ==> Jexported[20]=Y(36)
    ==> Jexported[21]=Y(37)
    ==> Jexported[22]=Y(38)
    ==> Jexported[23]=Y(39)
    ==> Jexported[24]=Y(40)
    ==> Jexported[25]=Y(42)
    ==> Jexported[26]=Y(43)
    ==> Jexported[27]=Y(44)
    ==> Jexported[28]=Y(45)
    ==> Jexported[29]=-Y(2)*Y(10)*Y(22)^2*Y(30)^2*Y(41)^8*Z+Y(1)*Y(11)*Y(22)^2*Y(\
       30)^2*Y(41)^8*Z+2*Y(2)*Y(10)*Y(21)*Y(22)*Y(30)*Y(31)*Y(41)^8*Z-2*Y(1)*Y(1\
       1)*Y(21)*Y(22)*Y(30)*Y(31)*Y(41)^8*Z-Y(2)*Y(10)*Y(21)^2*Y(31)^2*Y(41)^8*Z\
       +Y(1)*Y(11)*Y(21)^2*Y(31)^2*Y(41)^8*Z-1
    ==> Jexported[30]=Y(26)^2*Y(31)+2*Y(22)*Y(26)*Y(35)+Y(9)*Y(16)+Y(7)*Y(18)
    ==> Jexported[31]=2*Y(22)*Y(26)*Y(31)+Y(22)^2*Y(35)+Y(7)*Y(16)
    ==> Jexported[32]=Y(22)^2*Y(31)
    ==> Jexported[33]=Y(26)^2*Y(30)+2*Y(21)*Y(26)*Y(35)+Y(9)*Y(15)+Y(6)*Y(18)
    ==> Jexported[34]=2*Y(22)*Y(26)*Y(30)+2*Y(21)*Y(26)*Y(31)+2*Y(21)*Y(22)*Y(35)\
       +Y(7)*Y(15)+Y(6)*Y(16)
    ==> Jexported[35]=Y(22)^2*Y(30)+2*Y(21)*Y(22)*Y(31)
    ==> Jexported[36]=2*Y(21)*Y(26)*Y(30)+Y(21)^2*Y(35)+Y(6)*Y(15)
    ==> Jexported[37]=-Y(41)^6+2*Y(21)*Y(22)*Y(30)+Y(21)^2*Y(31)-Y(26)^2*Y(35)-Y(\
       9)*Y(18)
    ==> Jexported[38]=Y(21)^2*Y(30)
    ==> Jexported[39]=Y(9)*Y(11)+Y(2)*Y(18)
    ==> Jexported[40]=Y(7)*Y(11)+Y(2)*Y(16)
    ==> Jexported[41]=Y(6)*Y(11)+Y(2)*Y(15)
    ==> Jexported[42]=Y(2)*Y(11)
    ==> Jexported[43]=Y(9)*Y(10)+Y(1)*Y(18)
    ==> Jexported[44]=Y(7)*Y(10)+Y(1)*Y(16)
    ==> Jexported[45]=Y(6)*Y(10)+Y(1)*Y(15)
    ==> Jexported[46]=-2*Y(21)*Y(22)*Y(30)-Y(21)^2*Y(31)+Y(2)*Y(10)+Y(1)*Y(11)
    ==> Jexported[47]=Y(1)*Y(10)
    dim(std(Jexported));
    ==> 3
    getVariableWeights();
    ==> 3,3,2,2,1,3,3,2,3,3,3,2,2,1,3,3,2,3,3,3,2,2,1,3,3,2,3,3,3,2,2,1,3,3,2,3,3\
       ,3,2,2,1,3,3,2,3,-22
    kill RR, Q, R;
    /////////////
    // example 3.14 from the paper
    intmat Q[3][5] =
    1,1,1,1,1,
    1,-1,0,0,1,
    1,1,1,0,0;
    list TOR = 2;
    ring R = 0,T(1..5),dp;
    // attach degree matrix Q to R:
    setBaseMultigrading(Q);
    ideal I = T(1)*T(2) + T(3)^2 + T(4)^2;
    list TOR = 2;
    ==> // ** redefining TOR (list TOR = 2;) ./examples/stabilizer.sing:27
    def RR = stabilizer(I, TOR);
    ==> // coefficients: QQ
    ==> // number of vars : 30
    ==> //        block   1 : ordering dp
    ==> //                  : names    T(1) T(2) T(3) T(4) T(5) Y(1) Y(2) Y(3) Y(\
       4) Y(5) Y(6) Y(7) Y(8) Y(9) Y(10) Y(11) Y(12) Y(13) Y(14) Y(15) Y(16) Y(1\
       7) Y(18) Y(19) Y(20) Y(21) Y(22) Y(23) Y(24) Y(25)
    ==> //        block   2 : ordering C
    ==> // ** redefining adMons (  list adMons;) autgradalg.lib::autKS:2323
    ==> // ** redefining MONexported (  export(MONexported);)
    ==> // ** redefining k (int k = 1;) autgradalg.lib::stabilizer:1974
    setring RR;
    RR;
    ==> // coefficients: QQ
    ==> // number of vars : 26
    ==> //        block   1 : ordering dp
    ==> //                  : names    Y(1) Y(2) Y(3) Y(4) Y(5) Y(6) Y(7) Y(8) Y(\
       9) Y(10) Y(11) Y(12) Y(13) Y(14) Y(15) Y(16) Y(17) Y(18) Y(19) Y(20) Y(21\
       ) Y(22) Y(23) Y(24) Y(25)
    ==> //        block   2 : ordering dp
    ==> //                  : names    Z
    ==> //        block   3 : ordering C
    Jexported;
    ==> Jexported[1]=Y(24)
    ==> Jexported[2]=Y(23)
    ==> Jexported[3]=Y(22)
    ==> Jexported[4]=Y(21)
    ==> Jexported[5]=Y(20)
    ==> Jexported[6]=Y(17)
    ==> Jexported[7]=Y(16)
    ==> Jexported[8]=Y(15)
    ==> Jexported[9]=Y(12)
    ==> Jexported[10]=Y(11)
    ==> Jexported[11]=Y(10)
    ==> Jexported[12]=Y(9)
    ==> Jexported[13]=Y(8)
    ==> Jexported[14]=Y(6)
    ==> Jexported[15]=Y(5)
    ==> Jexported[16]=Y(4)
    ==> Jexported[17]=Y(3)
    ==> Jexported[18]=Y(2)
    ==> Jexported[19]=Y(18)*Y(19)
    ==> Jexported[20]=Y(14)*Y(19)
    ==> Jexported[21]=Y(13)*Y(18)
    ==> Jexported[22]=Y(14)^2-Y(18)^2
    ==> Jexported[23]=Y(13)*Y(14)
    ==> Jexported[24]=Y(13)^2-Y(19)^2
    ==> Jexported[25]=Y(1)*Y(7)-Y(18)^2-Y(19)^2
    ==> Jexported[26]=Y(14)*Y(18)^3*Y(25)*Z-Y(13)*Y(19)^3*Y(25)*Z+1
    ==> Jexported[27]=Y(19)^5*Y(25)*Z-Y(13)
    ==> Jexported[28]=Y(13)*Y(19)^4*Y(25)*Z-Y(19)
    ==> Jexported[29]=Y(18)^5*Y(25)*Z+Y(14)
    dim(std(Jexported));
    ==> 3
    stabExported;
    ==> [1]:
    ==>    [1]:
    ==>       _[1,1]=Y(1)
    ==>       _[1,2]=0
    ==>       _[1,3]=0
    ==>       _[1,4]=0
    ==>       _[1,5]=0
    ==>       _[2,1]=0
    ==>       _[2,2]=Y(7)
    ==>       _[2,3]=0
    ==>       _[2,4]=0
    ==>       _[2,5]=0
    ==>       _[3,1]=0
    ==>       _[3,2]=0
    ==>       _[3,3]=Y(13)
    ==>       _[3,4]=0
    ==>       _[3,5]=0
    ==>       _[4,1]=0
    ==>       _[4,2]=0
    ==>       _[4,3]=0
    ==>       _[4,4]=Y(19)
    ==>       _[4,5]=0
    ==>       _[5,1]=0
    ==>       _[5,2]=0
    ==>       _[5,3]=0
    ==>       _[5,4]=0
    ==>       _[5,5]=Y(25)
    ==>    [2]:
    ==>       1,0,0,
    ==>       0,1,0,
    ==>       0,0,1
    ==>    [3]:
    ==>       _[1]=Y(2)
    ==>       _[2]=Y(3)
    ==>       _[3]=Y(4)
    ==>       _[4]=Y(5)
    ==>       _[5]=Y(6)
    ==>       _[6]=Y(8)
    ==>       _[7]=Y(9)
    ==>       _[8]=Y(10)
    ==>       _[9]=Y(11)
    ==>       _[10]=Y(12)
    ==>       _[11]=Y(14)
    ==>       _[12]=Y(15)
    ==>       _[13]=Y(16)
    ==>       _[14]=Y(17)
    ==>       _[15]=Y(18)
    ==>       _[16]=Y(20)
    ==>       _[17]=Y(21)
    ==>       _[18]=Y(22)
    ==>       _[19]=Y(23)
    ==>       _[20]=Y(24)
    ==>       _[21]=Y(1)*Y(7)*Y(13)*Y(19)*Y(25)*Z-1
    ==>       _[22]=Y(13)^2-Y(19)^2
    ==>       _[23]=Y(1)*Y(7)-Y(13)^2
    ==> [2]:
    ==>    [1]:
    ==>       _[1,1]=Y(1)
    ==>       _[1,2]=0
    ==>       _[1,3]=0
    ==>       _[1,4]=0
    ==>       _[1,5]=0
    ==>       _[2,1]=0
    ==>       _[2,2]=Y(7)
    ==>       _[2,3]=0
    ==>       _[2,4]=0
    ==>       _[2,5]=0
    ==>       _[3,1]=0
    ==>       _[3,2]=0
    ==>       _[3,3]=0
    ==>       _[3,4]=Y(14)
    ==>       _[3,5]=0
    ==>       _[4,1]=0
    ==>       _[4,2]=0
    ==>       _[4,3]=Y(18)
    ==>       _[4,4]=0
    ==>       _[4,5]=0
    ==>       _[5,1]=0
    ==>       _[5,2]=0
    ==>       _[5,3]=0
    ==>       _[5,4]=0
    ==>       _[5,5]=Y(25)
    ==>    [2]:
    ==>       1,0,0,
    ==>       0,1,0,
    ==>       1,1,1
    ==>    [3]:
    ==>       _[1]=Y(2)
    ==>       _[2]=Y(3)
    ==>       _[3]=Y(4)
    ==>       _[4]=Y(5)
    ==>       _[5]=Y(6)
    ==>       _[6]=Y(8)
    ==>       _[7]=Y(9)
    ==>       _[8]=Y(10)
    ==>       _[9]=Y(11)
    ==>       _[10]=Y(12)
    ==>       _[11]=Y(13)
    ==>       _[12]=Y(15)
    ==>       _[13]=Y(16)
    ==>       _[14]=Y(17)
    ==>       _[15]=Y(19)
    ==>       _[16]=Y(20)
    ==>       _[17]=Y(21)
    ==>       _[18]=Y(22)
    ==>       _[19]=Y(23)
    ==>       _[20]=Y(24)
    ==>       _[21]=-Y(1)*Y(7)*Y(14)*Y(18)*Y(25)*Z-1
    ==>       _[22]=-Y(14)^2+Y(18)^2
    ==>       _[23]=Y(1)*Y(7)-Y(18)^2
    kill RR, Q, R;

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