| #### D.15.3.1 autKS Procedure from library `autgradalg.lib` (see autgradalg_lib). Usage: autKS(TOR); TOR: optional list of elementary divisors in case of torsion. Assume: the basering is multigraded having used the command setBaseMultigrading(Q) from 'multigrading.lib'. Purpose: Compute the subgroup Aut_K(S) of GL(n) of graded automorphisms of the polynomial ring S (the basering). Return: returns a ring S and exports an ideal ideal Iexported in the coordinate ring S = K[Y_ij] of GL(n) such that Aut_K(S) = V(I). 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 S = autKS();
    ==> // coefficients: QQ considered as a field
    ==> // 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 S;
    dim(std(Iexported));
    ==> 17
    basering;
    ==> // coefficients: QQ considered as a field
    ==> // 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
    autKSexported;
    ==> [1]:
    ==>    [1]:
    ==>       _[1,1]=Y(1)
    ==>       _[1,2]=Y(2)
    ==>       _[1,3]=0
    ==>       _[1,4]=0
    ==>       _[1,5]=0
    ==>       _[1,6]=Y(6)
    ==>       _[1,7]=Y(7)
    ==>       _[1,8]=0
    ==>       _[1,9]=Y(9)
    ==>       _[2,1]=Y(10)
    ==>       _[2,2]=Y(11)
    ==>       _[2,3]=0
    ==>       _[2,4]=0
    ==>       _[2,5]=0
    ==>       _[2,6]=Y(15)
    ==>       _[2,7]=Y(16)
    ==>       _[2,8]=0
    ==>       _[2,9]=Y(18)
    ==>       _[3,1]=0
    ==>       _[3,2]=0
    ==>       _[3,3]=Y(21)
    ==>       _[3,4]=Y(22)
    ==>       _[3,5]=0
    ==>       _[3,6]=0
    ==>       _[3,7]=0
    ==>       _[3,8]=Y(26)
    ==>       _[3,9]=0
    ==>       _[4,1]=0
    ==>       _[4,2]=0
    ==>       _[4,3]=Y(30)
    ==>       _[4,4]=Y(31)
    ==>       _[4,5]=0
    ==>       _[4,6]=0
    ==>       _[4,7]=0
    ==>       _[4,8]=Y(35)
    ==>       _[4,9]=0
    ==>       _[5,1]=0
    ==>       _[5,2]=0
    ==>       _[5,3]=0
    ==>       _[5,4]=0
    ==>       _[5,5]=Y(41)
    ==>       _[5,6]=0
    ==>       _[5,7]=0
    ==>       _[5,8]=0
    ==>       _[5,9]=0
    ==>       _[6,1]=0
    ==>       _[6,2]=0
    ==>       _[6,3]=0
    ==>       _[6,4]=0
    ==>       _[6,5]=0
    ==>       _[6,6]=Y(21)*Y(41)
    ==>       _[6,7]=Y(22)*Y(41)
    ==>       _[6,8]=0
    ==>       _[6,9]=Y(26)*Y(41)
    ==>       _[7,1]=0
    ==>       _[7,2]=0
    ==>       _[7,3]=0
    ==>       _[7,4]=0
    ==>       _[7,5]=0
    ==>       _[7,6]=Y(30)*Y(41)
    ==>       _[7,7]=Y(31)*Y(41)
    ==>       _[7,8]=0
    ==>       _[7,9]=Y(35)*Y(41)
    ==>       _[8,1]=0
    ==>       _[8,2]=0
    ==>       _[8,3]=0
    ==>       _[8,4]=0
    ==>       _[8,5]=0
    ==>       _[8,6]=0
    ==>       _[8,7]=0
    ==>       _[8,8]=Y(41)^2
    ==>       _[8,9]=0
    ==>       _[9,1]=0
    ==>       _[9,2]=0
    ==>       _[9,3]=0
    ==>       _[9,4]=0
    ==>       _[9,5]=0
    ==>       _[9,6]=0
    ==>       _[9,7]=0
    ==>       _[9,8]=0
    ==>       _[9,9]=Y(41)^3
    ==>    [2]:
    ==>       1
    ==>    [3]:
    ==>       _[1]=Y(3)
    ==>       _[2]=Y(4)
    ==>       _[3]=Y(5)
    ==>       _[4]=Y(8)
    ==>       _[5]=Y(12)
    ==>       _[6]=Y(13)
    ==>       _[7]=Y(14)
    ==>       _[8]=Y(17)
    ==>       _[9]=Y(19)
    ==>       _[10]=Y(20)
    ==>       _[11]=Y(23)
    ==>       _[12]=Y(24)
    ==>       _[13]=Y(25)
    ==>       _[14]=Y(27)
    ==>       _[15]=Y(28)
    ==>       _[16]=Y(29)
    ==>       _[17]=Y(32)
    ==>       _[18]=Y(33)
    ==>       _[19]=Y(34)
    ==>       _[20]=Y(36)
    ==>       _[21]=Y(37)
    ==>       _[22]=Y(38)
    ==>       _[23]=Y(39)
    ==>       _[24]=Y(40)
    ==>       _[25]=Y(42)
    ==>       _[26]=Y(43)
    ==>       _[27]=Y(44)
    ==>       _[28]=Y(45)
    ==>       _[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(11)\
       *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
    ==>    [4]:
    ==>       T(1),T(2),T(3),T(4),T(5),T(3)*T(5),T(4)*T(5),T(5)^2,T(5)^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 S, 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;
    def S = autKS();
    ==> // coefficients: QQ considered as a field
    ==> // 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:2324
    ==> // ** redefining MONexported (  export(MONexported);)
    setring S;
    Iexported;
    ==> Iexported[1]=Y(23)
    ==> Iexported[2]=Y(22)
    ==> Iexported[3]=Y(21)
    ==> Iexported[4]=Y(18)
    ==> Iexported[5]=Y(17)
    ==> Iexported[6]=Y(16)
    ==> Iexported[7]=Y(15)
    ==> Iexported[8]=Y(14)
    ==> Iexported[9]=Y(12)
    ==> Iexported[10]=Y(11)
    ==> Iexported[11]=Y(10)
    ==> Iexported[12]=Y(9)
    ==> Iexported[13]=Y(8)
    ==> Iexported[14]=Y(5)
    ==> Iexported[15]=Y(4)
    ==> Iexported[16]=Y(3)
    ==> Iexported[17]=Y(24)*Y(25)
    ==> Iexported[18]=Y(20)*Y(25)
    ==> Iexported[19]=Y(6)*Y(25)
    ==> Iexported[20]=Y(2)*Y(25)
    ==> Iexported[21]=Y(19)*Y(24)
    ==> Iexported[22]=Y(7)*Y(24)
    ==> Iexported[23]=Y(1)*Y(24)
    ==> Iexported[24]=Y(19)*Y(20)
    ==> Iexported[25]=Y(7)*Y(20)
    ==> Iexported[26]=Y(1)*Y(20)
    ==> Iexported[27]=Y(6)*Y(19)
    ==> Iexported[28]=Y(2)*Y(19)
    ==> Iexported[29]=Y(6)*Y(7)
    ==> Iexported[30]=Y(2)*Y(7)
    ==> Iexported[31]=Y(1)*Y(6)
    ==> Iexported[32]=Y(1)*Y(2)
    ==> Iexported[33]=Y(2)*Y(6)*Y(13)*Y(20)*Y(24)*Z+Y(1)*Y(7)*Y(13)*Y(19)*Y(25)*Z\
       -1
    ==> Iexported[34]=Y(1)*Y(7)*Y(13)*Y(19)*Y(25)^2*Z-Y(25)
    ==> Iexported[35]=Y(1)*Y(7)*Y(13)*Y(19)^2*Y(25)*Z-Y(19)
    ==> Iexported[36]=Y(1)*Y(7)^2*Y(13)*Y(19)*Y(25)*Z-Y(7)
    ==> Iexported[37]=Y(1)^2*Y(7)*Y(13)*Y(19)*Y(25)*Z-Y(1)
    print(getVariableWeights());
    ==>      1     1     1     1     1     1     1     1     1     1     1     1 \
           1     1     1     1     1     1     1     1     1     1     1     1  \
          1    -5
    ==>      1    -1     0     0     1     1    -1     0     0     1     1    -1 \
           0     0     1     1    -1     0     0     1     1    -1     0     0  \
          1    -1
    ==>      1     1     1     0     0     1     1     1     0     0     1     1 \
           1     0     0     1     1     1     0     0     1     1     1     0  \
          0    -3
    kill S, R, Q;

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