Changeset f93562 in git


Ignore:
Timestamp:
Jan 5, 2015, 5:45:09 PM (9 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
Children:
1a4ddd6e11ed47d58a9c10975aa210bf8fcf2868
Parents:
e385534611911ee92197cbd69e5080b4941c94be9b612a512c1ce005e1e97653c532f712a0fb028c
Message:
Merge pull request #680 from jgmbenoit/pkg-debian

pkg debian: minor reorganization request for initiating sane debian packaging
Files:
7 added
15 deleted
27 edited
1 moved

Legend:

Unmodified
Added
Removed
  • Makefile.am

    re38553 rf93562  
    88libpolys gfanlib IntegerProgramming \
    99kernel Singular \
    10 dox emacs debian redhat desktop
     10dox emacs desktop
    1111
    12 EXTRA_DIST = README README.md autogen.sh git-version-gen doxy
     12EXTRA_DIST = README README.md README.pkg autogen.sh git-version-gen doxy singular.spec.in
    1313
    1414bin_SCRIPTS = libsingular-config
  • Singular/LIB/primdec.lib

    r9b612a rf93562  
    18731873///////////////////////////////////////////////////////////////////////////////
    18741874
    1875 static proc prepareQuotientring (int nnp)
    1876 "USAGE:   prepareQuotientring(nnp); nnp int
    1877 RETURN:  string = to define Kvar(nnp+1),...,var(nvars)[..rest ]
    1878 NOTE:
     1875static proc prepareQuotientring (int nnp,string order)
     1876"USAGE:   prepareQuotientring(nnp, order); nnp int, order string
     1877RETURN:  Kvar(nnp+1),...,var(nvars)[..rest ]
    18791878EXAMPLE: example prepareQuotientring; shows an example
    18801879"
     
    18831882  ASSUME(1, not isQuotientRing(basering) ) ;
    18841883  ASSUME(1, hasGlobalOrdering(basering) ) ;
    1885   ideal @ih,@jh;
    1886   int npar=npars(basering);
    1887   int @n;
    1888 
    1889   string quotring= "ring quring = ("+charstr(basering);
    1890   for(@n=nnp+1;@n<=nvars(basering);@n++)
    1891   {
    1892      quotring=quotring+",var("+string(@n)+")";
    1893      @ih=@ih+var(@n);
    1894   }
    1895 
    1896   quotring=quotring+"),(var(1)";
    1897   @jh=@jh+var(1);
    1898   for(@n=2;@n<=nnp;@n++)
    1899   {
    1900     quotring=quotring+",var("+string(@n)+")";
    1901     @jh=@jh+var(@n);
    1902   }
    1903   quotring=quotring+"),(C,lp);";
    1904 
     1884  list rl=ringlist(basering);
     1885  if (typeof(rl[1])=="int")
     1886  {
     1887    int p=rl[1];
     1888    list rl2=rl[2];
     1889    rl[1]=list(p,
     1890            list(rl2[nnp+1..nvars(basering)]),
     1891            list(list("lp",1:(nvars(basering)-nnp))),
     1892            ideal(0));
     1893    rl[2]=list(rl2[1..nnp]);
     1894    rl[3]=list(list(order,1:nnp),list("C",0));
     1895  }
     1896  else
     1897  {
     1898    if (typeof(rl[1])=="list")
     1899    {
     1900        list rl1=rl[1];
     1901        list rl2=rl[2];
     1902        rl1=list(rl1[1][1],
     1903                rl[1][2]+list(rl2[nnp+1..nvars(basering)]),
     1904                list(list("lp",1:(size(rl[1][2])+nvars(basering)-nnp))),
     1905                ideal(0));
     1906        rl[1]=rl1;
     1907        rl[2]=list(rl2[1..nnp]);
     1908        rl[3]=list(list(order,1:nnp),list("C",0));
     1909    }   
     1910    else
     1911    {
     1912        ERROR("Unexpected case in prepareQuotientring. Please inform the authors");
     1913    }
     1914  }
     1915 
     1916  def quotring=ring(rl);
    19051917  return(quotring);
    1906 
    19071918}
    19081919example
    19091920{ "EXAMPLE:"; echo = 2;
    19101921   ring s1=(0,x),(a,b,c,d,e,f,g),lp;
    1911    def @Q=basering;
    1912    list l= prepareQuotientring(3);
    1913    l;
    1914    execute(l[1]);
    1915    execute(l[2]);
    1916    basering;
    1917    phi;
    1918    setring @Q;
     1922   def Q= prepareQuotientring(3,"lp");
     1923   Q;
    19191924}
    19201925
     
    25812586     ideal j=groebner(imap(gnir,j));
    25822587  }
    2583   string quotring=prepareQuotientring(nvars(basering)-indep[1][3]);
    2584   execute(quotring);
     2588  def quotring=prepareQuotientring(nvars(basering)-indep[1][3],"lp");
     2589  setring quotring;
    25852590  ideal j=imap(gnir1,j);
    25862591  kill gnir1;
     
    25922597  }
    25932598  setring gnir;
    2594   ideal h=imap(quring,h);
    2595   kill quring;
     2599  ideal h=imap(quotring,h);
     2600  kill quotring;
    25962601
    25972602  list l=minSat(j,h);
     
    31003105
    31013106  poly @gs,@gh,@p;
    3102   string @va,quotring;
     3107  string @va;
     3108  def quotring;
    31033109  list quprimary,htprimary,collectprimary,lsau,lnew,allindep,restindep;
    31043110  ideal @h;
     
    32283234    //------------------------------------------------------------------------
    32293235
    3230     quotring=prepareQuotientring(nvars(basering)-indep[@m][3]);
     3236    quotring=prepareQuotientring(nvars(basering)-indep[@m][3],"lp");
    32313237
    32323238    //---------------------------------------------------------------------
     
    32353241
    32363242    ideal @jj=lead(@j);               //!! vorn vereinbaren
    3237     execute(quotring);
     3243    setring quotring;
    32383244
    32393245    ideal @jj=imap(gnir1,@jj);
     
    32493255    }
    32503256    @j=simplify(@j,2);
    3251     setring quring;
     3257    setring quotring;
    32523258    // @j considered in the quotientring
    32533259    ideal @j=imap(gnir1,@j);
     
    33363342    setring gnir;
    33373343
    3338     collectprimary=imap(quring,uprimary);
    3339     lsau=imap(quring,saturn);
    3340     @h=imap(quring,@h);
    3341 
    3342     kill quring;
     3344    collectprimary=imap(quotring,uprimary);
     3345    lsau=imap(quotring,saturn);
     3346    @h=imap(quotring,@h);
     3347
     3348    kill quotring;
     3349    def quotring;
    33433350
    33443351    @n2=size(quprimary);
     
    35403547        //--->K(var(nnpr+1),..,var(nva))[..the rest..]
    35413548        //------------------------------------------------------------------
    3542 
    3543         quotring=prepareQuotientring(nvars(basering)-restindep[@m][3]);
     3549        if (defined(quotring)==voice) {kill quotring;}
     3550        def quotring=prepareQuotientring(nvars(basering)-restindep[@m][3],"lp");
    35443551
    35453552        //------------------------------------------------------------------
     
    35473554        //------------------------------------------------------------------
    35483555
    3549         execute(quotring);
     3556        setring quotring;
    35503557
    35513558        // @j considered in the quotientring
     
    36253632        //------------------------------------------------------------------
    36263633        setring gnir;
    3627         collectprimary=imap(quring,uprimary);
    3628         lsau=imap(quring,saturn);
    3629         @h=imap(quring,@h);
    3630 
    3631         kill quring;
     3634        collectprimary=imap(quotring,uprimary);
     3635        lsau=imap(quotring,saturn);
     3636        @h=imap(quotring,@h);
     3637
     3638        kill quotring;
    36323639
    36333640        @n2=size(quprimary);
     
    41174124
    41184125  if(n < 0)
    4119     {
    4120       ideal ann = ideal(1);
    4121       return(ann);
    4122     }
     4126  {
     4127    return(ideal(1));
     4128  }
    41234129  int l = size(re);
    41244130
    41254131  if(n < l)
    4126     {
    4127       matrix f = transpose(re[n+1]);
    4128       if(n == 0)
    4129         {
    4130           matrix g = 0*gen(ncols(f));
    4131         }
    4132       else
    4133         {
    4134           matrix g = transpose(re[n]);
    4135         }
    4136       module k = syz(f);
    4137       ideal ann = quotient1(g,k);
    4138       return(ann);
    4139     }
     4132  {
     4133    matrix f = transpose(re[n+1]);
     4134    if(n == 0)
     4135    {
     4136      matrix g = matrix(0,1,ncols(f));
     4137    }
     4138    else
     4139    {
     4140      matrix g = transpose(re[n]);
     4141    }
     4142    module k = syz(f);
     4143    return(quotient1(g,k));
     4144  }
    41404145
    41414146  if(n == l)
    4142     {
    4143       ideal ann = Ann(transpose(re[n]));
    4144       return(ann);
    4145     }
    4146 
    4147   ideal ann = ideal(1);
    4148   return(ann);
     4147  {
     4148    return(Ann(transpose(re[n])));
     4149  }
     4150
     4151  return(ideal(1));
    41494152}
    41504153///////////////////////////////////////////////////////////////////////////////
     
    62156218  ideal fac, @h, collectrad, lsau;
    62166219  poly @q;
    6217   string @va, quotring;
     6220  string @va; def quotring;
    62186221
    62196222  def @P = basering;
     
    63246327    // K(var(nnpr+1),..,var(nva))[..the rest..]
    63256328    //------------------------------------------------------------------------
    6326     quotring = prepareQuotientRingDp(nvars(basering) - indep[@m][3]);
     6329    quotring = prepareQuotientring(nvars(basering) - indep[@m][3],"dp");
    63276330    //------------------------------------------------------------------------
    63286331    // We pass to the quotientring   K(var(nnp+1),..,var(nva))[..the rest..]
    63296332    //------------------------------------------------------------------------
    63306333
    6331     execute(quotring);
     6334    setring quotring;
    63326335
    63336336    // @j considered in the quotientring
     
    63876390    setring @P;
    63886391
    6389     collectrad = imap(quring, zero_rad);
    6390     lsau = simplify(imap(quring, hpl), 2);
    6391     @h = imap(quring, @h);
    6392 
    6393     kill quring;
     6392    collectrad = imap(quotring, zero_rad);
     6393    lsau = simplify(imap(quotring, hpl), 2);
     6394    @h = imap(quotring, @h);
     6395
     6396    kill quotring;
    63946397
    63956398    // Here the intersection with the polynomialring
     
    66356638}
    66366639
    6637 
    6638 ///////////////////////////////////////////////////////////////////////////////
    6639 // based on prepareQuotientring
    6640 // The order returned is now (C, dp) instead of (C, lp)
    6641 
    6642 static proc prepareQuotientRingDp (int nnp)
    6643 "USAGE:   prepareQuotientRingDp(nnp); nnp int
    6644 RETURN:  string = to define Kvar(nnp+1),...,var(nvars)[..rest ]
    6645 NOTE:
    6646 EXAMPLE: example prepareQuotientRingDp; shows an example
    6647 "
    6648 {
    6649   ASSUME(1, hasFieldCoefficient(basering) );
    6650   ASSUME(1, not isQuotientRing(basering) ) ;
    6651   ASSUME(1, hasGlobalOrdering(basering) ) ;
    6652 
    6653   ideal @ih,@jh;
    6654   int npar=npars(basering);
    6655   int @n;
    6656 
    6657   string quotring= "ring quring = ("+charstr(basering);
    6658   for(@n = nnp + 1; @n <= nvars(basering); @n++)
    6659   {
    6660      quotring = quotring + ", var(" + string(@n) + ")";
    6661      @ih = @ih + var(@n);
    6662   }
    6663 
    6664   quotring = quotring+"),(var(1)";
    6665   @jh = @jh + var(1);
    6666   for(@n = 2; @n <= nnp; @n++)
    6667   {
    6668     quotring = quotring + ", var(" + string(@n) + ")";
    6669     @jh = @jh + var(@n);
    6670   }
    6671   // SL 2006-04-21 1 The order returned is now (C, dp) instead of (C, lp)
    6672   quotring = quotring + "), (C, dp);";
    6673   // SL 2006-04-21 2
    6674 
    6675   return(quotring);
    6676 }
    6677 example
    6678 { "EXAMPLE:"; echo = 2;
    6679    ring s1=(0,x),(a,b,c,d,e,f,g),lp;
    6680    def @Q=basering;
    6681    list l= prepareQuotientRingDp(3);
    6682    l;
    6683    execute(l[1]);
    6684    execute(l[2]);
    6685    basering;
    6686    phi;
    6687    setring @Q;
    6688 
    6689 }
    66906640
    66916641///////////////////////////////////////////////////////////////////////////////
     
    70937043
    70947044  op@P = option(get);
    7095   execute("ring gnir = ("+charstr(basering)+"),("+varstr(basering)+"),(C,lp);");
     7045  def gnir=changeordTo(basering,"lp");
     7046  setring gnir;
    70967047
    70977048  op=option(get);
     
    73547305
    73557306  poly @gs,@gh,@p;
    7356   string @va,quotring;
     7307  string @va;
    73577308  list quprimary,htprimary,collectprimary,lsau,lnew,allindep,restindep;
    73587309  ideal @h;
     
    76197570           //------------------------------------------------------------------
    76207571
    7621            quotring=prepareQuotientring(nvars(basering)-restindep[@m][3]);
     7572           quotring=prepareQuotientring(nvars(basering)-restindep[@m][3],"lp");
    76227573
    76237574           //------------------------------------------------------------------
     
    76257576           //------------------------------------------------------------------
    76267577
    7627            execute(quotring);
     7578           setring quotring;
    76287579
    76297580           // @j considered in the quotientring
     
    77037654           //------------------------------------------------------------------
    77047655           setring gnir;
    7705            collectprimary=imap(quring,uprimary);
    7706            lsau=imap(quring,saturn);
    7707            @h=imap(quring,@h);
    7708 
    7709            kill quring;
     7656           collectprimary=imap(quotring,uprimary);
     7657           lsau=imap(quotring,saturn);
     7658           @h=imap(quotring,@h);
     7659
     7660           kill quotring;
    77107661
    77117662
     
    78747825
    78757826   string @va;
    7876    string quotring;
     7827   def quotring;
    78777828   intvec op;
    78787829   intvec @vv;
     
    79677918   //------------------------------------------------------------------------
    79687919
    7969    quotring=prepareQuotientring(nvars(basering)-indepInfo[3]);
     7920   quotring=prepareQuotientring(nvars(basering)-indepInfo[3],"lp");
    79707921
    79717922   //---------------------------------------------------------------------
     
    79747925
    79757926   ideal @jj=lead(@j);               //!! vorn vereinbaren
    7976    execute(quotring);
     7927   setring quotring;
    79777928
    79787929   ideal @jj=imap(gnir1,@jj);
     
    79887939   }
    79897940   @j=simplify(@j,2);
    7990    setring quring;
     7941   setring quotring;
    79917942   // @j considered in the quotientring
    79927943   ideal @j=imap(gnir1,@j);
     
    80788029   setring gnir;
    80798030
    8080    collectprimary=imap(quring,uprimary);
    8081    lsau=imap(quring,saturn);
    8082    @h=imap(quring,@h);
    8083 
    8084    kill quring;
     8031   collectprimary=imap(quotring,uprimary);
     8032   lsau=imap(quotring,saturn);
     8033   @h=imap(quotring,@h);
     8034
     8035   kill quotring;
    80858036
    80868037   @n2=size(quprimary);
  • Singular/LIB/primdecint.lib

    r9b612a rf93562  
    11331133            //=== this is our way to obtain the coefficients in Z[u] of the
    11341134            //=== leading terms of the Groebner basis above
    1135             string quotring=Primdec::prepareQuotientring(nvars(basering)-L[1][3]);
    1136             execute(quotring);
     1135            def quring=Primdec::prepareQuotientring(nvars(basering)-L[1][3],"lp");
     1136            setring quring;
    11371137            ideal I=imap(Shelp,I);
    11381138            list C;
     
    14411441         //=== this is our way to obtain the coefficients in Z[u] of the
    14421442         //=== leading terms of the Groebner basis above
    1443          string quotring=Primdec::prepareQuotientring(nvars(basering)-L[1][3]);
    1444          execute(quotring);
     1443         def quring=Primdec::prepareQuotientring(nvars(basering)-L[1][3],"lp");
     1444         setring quring;
    14451445         module I=imap(Shelp,I);
    14461446         list C;
  • Singular/LIB/schreyer.lib

    r9b612a rf93562  
    600600  }
    601601
    602   int @IS_A_SB = attrib(M, "isSB"); // ??? only if all weights were zero?!
    603 
    604   if( !@IS_A_SB )
    605   {
    606     def opts = option(get);
    607     option(redSB); option(redTail);
    608     M = std(M);
    609     option(set, opts);
    610     kill opts;
    611   }
    612 
    613   M = simplify(M, 1 + 2 + 4 + 32);
     602  def opts = option(get);
     603  option(redSB); option(redTail);
     604    M = simplify(interred(groebner(M)), 1 + 2 + 4 + 32); // NOTE: we require interreduced GB for input
     605  option(set, opts); kill opts;
     606 
     607//  int @IS_A_SB = attrib(M, "isSB");  if( !@IS_A_SB )  {  } else  {  }
     608// attrib(M, "isSB", 1);
    614609
    615610  if( @IGNORETAILS )
     
    786781    attrib(S, "HYBRIDNF", 0);
    787782  }
     783
     784  if( typeof( attrib(SSinit, "NOCACHING") ) == "int" )
     785  {
     786    attrib(S, "NOCACHING", attrib(SSinit, "NOCACHING") );
     787  } else
     788  {
     789    attrib(S, "NOCACHING", 0);
     790  }
     791 
    788792
    789793  // maybe resetting existing ring attributes!
     
    27482752  if(size(#) > 0) { DEBUG = #[1]; }
    27492753
     2754  def TREE = 0;
     2755  if(size(#) > 1) { TREE = #[2]; }
     2756
    27502757  system("--min-time", "0.01");
    27512758  system("--ticks-per-sec", 100);
     
    27582765  attrib(SSinit, "KERCHECK", (DEBUG > 0) );
    27592766
    2760   attrib(SSinit, "TREEOUTPUT", 0);
     2767  attrib(SSinit, "TREEOUTPUT", TREE);
    27612768  attrib(SSinit, "PROFILE", 0);
    27622769  attrib(SSinit, "IGNORETAILS", 0); // not only frame
     2770 
     2771  attrib(SSinit, "NOCACHING", 0);
    27632772
    27642773  int @treeout = attrib(SSinit, "TREEOUTPUT");
     
    28072816  M = a*b+7*a*c-16*b*c-27*a*d+37*b*d-2*c*d, d^3, c*d^2, b*d^2, a*d^2, c^2*d, b*c*d, a*c*d, b^2*d, a^2*d, c^3, b*c^2, a*c^2, b^2*c, a^2*c, b^3, a^3;
    28082817  TestSSresAttribs(M, "medium: AGR@101n3d004s009%1");
     2818
     2819  kill AGR;
     2820
     2821
     2822  string Name = "bordiga"; int @p=31991; ring R = (@p),(x,y,z,u,v), dp;
     2823  ideal I = -x2y+26/17xy2+70/17y3+96/121x2z+63/82xyz+115/11y2z-8114xz2-40/79yz2+16/125z3+3023x2u-123/70xyu+3395y2u-81/119xzu-23/66yzu+3626z2u+18/53xu2+111/58yu2-34/39zu2+53/40u3-94/17x2v-10/19xyv+81/88y2v-91/33xzv-9967yzv-103/4z2v-26/109xuv+69/97yuv+92/17zuv-19/96u2v+10/21xv2+6147yv2+32/113zv2-79/82uv2-77/51v3,4347x2y-9017xy2+11327y3+18/79x2z-93/43xyz-35/47y2z+14704xz2+10727yz2-1764z3-612x2u+20/107xyu-103/89y2u-39/2xzu+2345yzu+10251z2u-9984xu2-10299yu2+113/118zu2+37/91u3+2/31x2v+9552xyv-47/100y2v-3242xzv+113/27yzv-11271z2v-13/79xuv+15917yuv+5/114zuv+103/119u2v-21/55xv2-59/19yv2+101/68zv2-7817uv2-112/29v3,7228x2y-111/113xy2+5913y3+6/43x2z-11251xyz+27/121y2z+97/96xz2-7398yz2-97/114z3+38/15x2u+5005xyu-41/126y2u-61/116xzu+89/9yzu-4087z2u+26/15xu2-92/103yu2+21/68zu2-4027u3+97/91x2v+5150xyv-4/47y2v-2310xzv+7307yzv-77/86z2v+30/83xuv+413yuv-50zuv-103/106u2v+105/73xv2-109/98yv2+59/63zv2+715uv2+963v3,x3+3487x2y-9744xy2-13276y3-15213x2z-118/51xyz+101/104y2z+2754xz2+9111yz2-17/94z3+11136x2u-43/82xyu-9/41y2u-7306xzu-6839yzu+5692z2u-14682xu2+37/80yu2-85/97zu2-6186u3+34/15x2v+84/109xyv+5086y2v+27/112xzv-3/40yzv+19/120z2v+11222xuv+38/55yuv-24/83zuv+15814u2v-111/61xv2+49/44yv2+125/81zv2+1933uv2-19/71v3;
     2824  TestSSresAttribs(I, Name);
     2825  kill @p, Name, R; 
     2826
     2827  string Name = "rat.d8.g6"; int @p=31991; ring R = (@p),(x,y,z,u,v), dp;
     2828  ideal I = -19/125x2y2-87/119xy3-97/21y4+36/53x2yz+2069xy2z-59/50y3z-65/33x2z2-14322xyz2+79/60y2z2-9035xz3-14890yz3+87/47z4-23/48x2yu+45/44xy2u+1972y3u+79/118x2zu-5173xyzu+115/121y2zu+1239xz2u-115/17yz2u-15900z3u-78/95x2u2+67/101xyu2-12757y2u2+12752xzu2+68/21yzu2+103/90z2u2-12917xu3+97/92yu3-24/49zu3-13/79u4-51/61x2yv-3103xy2v+77/117y3v+73/115x2zv-79/33xyzv+123/110y2zv+11969xz2v-31/95yz2v-123/95z3v-105/124x2uv+12624xyuv+2/63y2uv+6579xzuv+13/62yzuv+4388z2uv-12747xu2v-26/105yu2v-78/61zu2v-125/53u3v-5/71xyv2+62/77y2v2+21/44xzv2-9806yzv2+3/91z2v2+361xuv2+568yuv2+2926zuv2+53/38u2v2-14523yv3+2082zv3+113/115uv3,108/73x2y2+4028xy3+38/43y4-1944x2yz+39/80xy2z+8/109y3z+52/27x2z2+103/45xyz2+5834y2z2+63/101xz3+107/80yz3+1178z4-1/6x2yu+78/25xy2u-21/43y3u+50/71x2zu-14693xyzu+15074y2zu+9/103xz2u-7396yz2u-14493z3u+93/25x2u2+61/4xyu2-11306y2u2-79/81xzu2+59/82yzu2-5/106z2u2+89/71xu3-34/11yu3+15/103zu3-115/52u4-54/65x2yv+67/16xy2v-7/68y3v-10/13x2zv+32/85xyzv+1/91y2zv+107/118xz2v+7594yz2v-98/103z3v+9919x2uv-965xyuv+53/34y2uv+119/11xzuv-3400yzuv-8329z2uv+75/98xu2v-24yu2v+55/87zu2v-82/71u3v-73/115x2v2+85/19xyv2-213y2v2-7704xzv2-15347yzv2+14960z2v2+15065xuv2-125/17yuv2+32/83zuv2-14/73u2v2-21/44xv3+79/2yv3-61/32zv3+46/119uv3-2082v4,9/20x2y2+113/71xy3-88/65y4+9983x2yz-6722xy2z+87/68y3z+1893x2z2+65/32xyz2+51/55y2z2-102/53xz3+58/5yz3-7187z4-96/7x2yu-14/87xy2u-3532y3u+95/54x2zu+19/65xyzu-6728y2zu+31/121xz2u+73/106yz2u-91/5z3u-12928x2u2+707xyu2-55/48y2u2-96/25xzu2+15869yzu2-20/107z2u2-10030xu3-13786yu3-122/9zu3+19/59u4-7/52x2yv+101/74xy2v+83/6y3v-91/55x2zv-5266xyzv+85/61y2zv+126/95xz2v+56/51yz2v+13073z3v-50/21x2uv-13553xyuv-116/53y2uv+68/71xzuv-111/98yzuv-11037z2uv+68/121xu2v-124/53yu2v+54/55zu2v+5862u3v+12318x2v2-119/29xyv2+101/17y2v2-51/40xzv2-82/33yzv2-30/41z2v2-29/52xuv2+7817yuv2+8121zuv2-28/99u2v2+1125xv3-73/55yv3-14141zv3+8742uv3-1203v4,x2y2+11357xy3+295y4+144x2yz-31/54xy2z+89/119y3z+1/46x2z2+29/26xyz2+1384y2z2+1461xz3+113/91yz3+9494z4-7/32x2yu+12850xy2u-3626y3u-33/106x2zu-7/60xyzu-5935y2zu-8597xz2u+5527yz2u+1708z3u+6182x2u2-15780xyu2+4669y2u2-38/69xzu2+8412yzu2+9265z2u2-5679xu3-67/18yu3-34/67zu3-7178u4+113/56x2yv-3669xy2v+17/113y3v-87/35x2zv-4871xyzv-111/11y2zv-1131xz2v-72/13yz2v+838z3v-115/4x2uv+3395xyuv-43/68y2uv-82/13xzuv+7042yzuv-88/119z2uv+100/19xu2v+24/11yu2v+89/3zu2v+7395u3v-119/109x2v2+1/104xyv2+18/25y2v2+700xzv2-59/9yzv2-92/87z2v2+2486xuv2-67/103yuv2+1469zuv2-101/91u2v2-79/33xv3+10838yv3+81/4zv3-11843uv3+7204v4,19/125x3-15698x2y-22/117xy2-95/107y3+2027x2z-7750xyz+85/104y2z-15326xz2+31/101yz2+67/81z3-7879x2u-112/115xyu+124/81y2u+99/61xzu-7458yzu+40/33z2u-1502xu2+6591yu2-7/73zu2-42/95u3+93/83x2v-15/112xyv-84/95y2v+35/36xzv+5/24yzv-12768z2v+13232xuv-76/103yuv-79/52zuv-7217u2v+75/92xv2-49/64yv2+17/14zv2-6109uv2+1695v3;
     2829  TestSSresAttribs(I, Name);
     2830  kill R, Name, @p;
     2831
    28092832
    28102833  if( @treeout)
     
    30163039 kill M;
    30173040}
     3041
     3042//////////////////////////////////////////////////////////////////////////////////////////////////////////
     3043// . view graded module/map
     3044// . reorder graded resolution
     3045// . transpose graded module/map?
     3046
     3047// draw helpers
     3048static proc repeat(int n, string c) { string r = ""; while( n > 0 ){ r = r + c; n--; } return(r); }
     3049static proc pad(int m, string s, string c){ string r = s; while( size(r) < m ){ r = c + r; } return(r); }
     3050static proc mstring( int m, string c){ if( m < 0 ) { return (c); }; return (string(m)); }
     3051// view helper
     3052static proc draw ( intmat D, int d )
     3053{
     3054//  print(D); return ();
     3055  int nc = ncols(D); int nr = nrows(D);
     3056  int s, r, c; int max = 0;
     3057  // get maximum string-length among all {D[r,c]}
     3058  for (r = nr; r > 0; r-- ) { for (c = nc; c > 0; c-- ) { s = size( string(D[r, c]) ); if( max < s ) { max = s; } } }
     3059  max = max + 1;   
     3060  string head = ""; string foot = ""; string middle = "";
     3061  for ( c = d+1; c < (nc-d); c++ )
     3062  {
     3063    head = head + pad(max, string(D[1 , c]), " ") + " ";
     3064    foot = foot + pad(max, string(D[nr, c]), " ") + " ";
     3065  }
     3066  // last head/foot enties:
     3067  head = head + pad(max, string(D[1 , nc-d]), " ");
     3068  foot = foot + pad(max, string(D[nr, nc-d]), " ");
     3069  // head/foot dash lines:
     3070  string dash  = repeat( (max + 1) * (nc - 2*d) , "-");
     3071  string dash2 = repeat( (max + 1) * (nc - 2*d) , "=");
     3072  for ( r = d+1; r <= (nr-d); r++ )
     3073  {
     3074    middle = middle + pad(max, string(D[r,1]), " ") + " :";
     3075    for ( c = d+1; c < (nc-d); c++ ) { middle = middle + pad(max, mstring(D[r,c], "."), " ") + " "; }
     3076    middle = middle + pad(max, mstring(D[r,nc-d], "."), " ") + " |" + pad(max, string(D[r,nc]), " ") + newline;
     3077  }
     3078  string corner = repeat(max, " ");
     3079  // print everything all at once:
     3080  print                                     (
     3081      corner + "  " + head  + "  " + corner + newline +
     3082      corner + "  " + dash  + "  " + corner + newline +
     3083                      middle                          +
     3084      corner + "  " + dash2 + "  " + corner + newline +
     3085      corner + "  " + foot  + "  " + corner );
     3086}
     3087
     3088proc view(def N)
     3089"
     3090PURPOSE: print the degree/grading data about the GRADED matrix/module/ideal N
     3091"
     3092{
     3093  if( size(N) == 0 ) { return (); }
     3094  if( typeof( N ) == "list" )
     3095  {
     3096    int i; for( i = 1; i <= size(N); i++ ){ if(size(N[i])==0){break;}; "i:", i; view(N[i]); }; return ();
     3097  }
     3098  intvec gr = attrib( N, "isHomog" ); //  module(N); "grading: ", gr;
     3099  matrix M = module(N);
     3100  int nc = ncols(M); int nr = nrows(M);
     3101  int r,c; 
     3102  int d = 1; // number of extra cols/rows for extra info around the central degree(N) block in D
     3103  intmat D[nr+2*d][nc+2*d];
     3104 
     3105  module L = module(N); L = lead(L); vector v;
     3106  int m = 1 + nvars(basering);
     3107  for( c = nc; c > 0; c-- )
     3108  {
     3109    D[1, c+d] = c; // top row indeces
     3110    v = L[c];
     3111    D[nr+2*d, c+d] = deg(v) + gr[ leadexp(v)[m] ]; // bottom row with computed column induced degrees
     3112  }
     3113 
     3114  for( r = nr; r > 0; r-- )
     3115  {
     3116    D[r+d, 1] = gr[r]; // left-most column with grading data
     3117    for( c = nc; c > 0; c-- )
     3118    {
     3119      D[r+d, c+d] = deg(M[r, c]); // central block with degrees
     3120//      if( D[r+d, c+d] < 0 ) { D[r+d, c+d] = 0; }
     3121    }
     3122    D[r+d, nc+2*d] = r; // right-most block with indeces
     3123  }
     3124  draw(D, d); // print it nicely!
     3125}
     3126
     3127
     3128static proc order( module LD, intvec w )
     3129"helper for ordres: compute induced degrees (gradings) and reordering permutation"
     3130{
     3131  int m = ncols(LD);
     3132  intvec d = deg(LD[1..m]);
     3133
     3134  module M = lead(LD); // leading module-terms for input column vectors
     3135  intvec dl = deg(M[1..m]); // their degrees
     3136  intvec cc = leadexp(M[1..m])[nvars(basering) + 1]; // their module-components
     3137  intvec gr = w[cc]; // weights
     3138  gr = gr + dl; // and computed grading
     3139 
     3140  int Bn,Bi,Bj,Bb; intvec pivot; int flag = 0;
     3141  for(Bi=m; Bi>0; Bi--) { pivot[Bi]=Bi; }
     3142  // compute reordering permutation pivot such that gr[pivot] is sorted and d[pivot] is sorted over parts where gr is constatnt
     3143  while(Bj==0)
     3144  {
     3145    Bi++; Bj=1;
     3146    for(Bn=1; Bn <= (m-Bi); Bn++)
     3147    {
     3148      if(  (gr[pivot[Bn]] > gr[pivot[Bn+1]])  or ((gr[pivot[Bn]] == gr[pivot[Bn+1]]) && (d[pivot[Bn]] > d[pivot[Bn+1]]))  )
     3149      {
     3150        Bb=pivot[Bn];
     3151        pivot[Bn]=pivot[Bn+1];
     3152        pivot[Bn+1]=Bb;
     3153        Bj=0;
     3154        flag = 1;
     3155      }
     3156    }
     3157  }
     3158 
     3159  if( flag && 0 ) // output details in case of non-identical permutation?
     3160  {
     3161    // grades & ordering permutation : d[pivot] should be sorted:
     3162    "";
     3163    "degs : ",      d;
     3164    "grade: ",     gr;
     3165    "p    : ",    pivot;
     3166    "d [p]: ",  d[pivot];
     3167    "gd[p]: ", gr[pivot];
     3168    "";
     3169  }
     3170  return (gr, pivot);
     3171}
     3172
     3173proc ordres( list L, list # )
     3174"
     3175reorder a resolution given by the list (and optionnaly a grading for its 1st entry)
     3176"
     3177
     3178  int k = 1; // "k: ", k;
     3179
     3180  // check 1st syzygy property?
     3181//  if( 0 != size( module( matrix(transpose(L[k+1]))*matrix(transpose(L[k-1+1])) ) ) ){L[k];"";L[k+1];module( matrix(transpose(L[k+1]))*matrix(transpose(L[k-1+1])) );ERROR( "Exactness test failed!!!!" );}
     3182
     3183 // use initial grading if given
     3184 if( size(#) == 1 )
     3185 {
     3186    def w = #[1];
     3187    if( typeof(w) == "intvec" )
     3188    {
     3189       if( nrows(L[1]) == size(w) )
     3190       {
     3191         attrib(L[1], "isHomog", w);
     3192       }
     3193    }
     3194    kill w;
     3195 }
     3196 
     3197 // try to homogenize otherwise
     3198 if( typeof(attrib( L[1], "isHomog")) == "string" ) 
     3199 { // no such attribute? //   ERROR("No grading!");
     3200   if( !homog( L[1] ) ) { ERROR( "Cannot compute homogenizing grading!"); }
     3201 }
     3202
     3203 def w = attrib(L[1], "isHomog");
     3204
     3205 // input should be graded:
     3206 if( typeof(w) != "intvec" )
     3207 {
     3208   ERROR("Non-graded input!");
     3209 }
     3210 if( nrows(L[1]) != size(w) )
     3211 {
     3212   ERROR("Wrong grading!");
     3213 }
     3214
     3215 intvec d, p, pp;
     3216 module N = L[1];
     3217 (d, p) = order( N, w ); // grades & ordering permutation for N.  d[p] should be sorted!
     3218 N = module(N[p]);  // reorder the starting ideal/module
     3219 attrib( N, "isHomog", w ); // set the grading
     3220 L[1] = N; // put it back into the list of modules
     3221
     3222// view(N);
     3223 kill w, N;
     3224 
     3225 ///////////////////////////////////
     3226 k++;
     3227 while( k <= size(L) )
     3228 {
     3229  // "k: ", k;
     3230  module N = L[k];
     3231 
     3232  if( size(N) == 0 ) { break; } // resolution should finish with 0 module?
     3233 
     3234  if( typeof(attrib( N, "isHomog")) != "intvec" ) 
     3235  {
     3236    attrib( N, "isHomog", d); // ERROR("Non-graded input!");
     3237  }
     3238 
     3239//  view(N);
     3240
     3241  intvec w = attrib( N, "isHomog"); 
     3242  (d, pp) = order( N, w ); // grades & ordering permutation : d[p] should be sorted!
     3243
     3244  // reorder k-th syzygy (columns):
     3245  module T = module(N[pp]);
     3246  kill N;
     3247  module N = transpose(T);
     3248  kill T;
     3249
     3250  // reorder k-th syzygy (rows):
     3251  module T = module(N[p]);
     3252  kill N;
     3253  module N = transpose(T);
     3254  kill T;
     3255
     3256  w = intvec(w[p]); attrib( N, "isHomog", w); // corresponding ordered grading
     3257
     3258  L[k] = N; //  view(N);
     3259
     3260  // check syz. property?
     3261//  if( 0 != size( module( matrix(transpose(N))*matrix(transpose(L[k-1])) ) ) ) { N; L[k-1];  module( matrix(transpose(N))*matrix(transpose(L[k-1])) ); ERROR( "Exactness test failed!!!!" );  }
     3262  kill N, w;
     3263  p = pp;
     3264  k++;
     3265 }
     3266
     3267 return (list( L[1 .. (k-1)] ));
     3268}
     3269
     3270
     3271proc grtranspose(def M, list #)
     3272"
     3273transpose graded module/map or a chain complex?...
     3274"
     3275{
     3276  if( typeof( M ) == "list" )
     3277  {
     3278    if( size(M) == 0 ) { return (); }
     3279    list L; int i = 1; int j = size(M);
     3280   
     3281    if( size(#) > 0 )
     3282    {  L[j] = grtranspose(M[i], #); }
     3283    else {  L[j] = grtranspose(M[i]); }
     3284
     3285    j--; i++;
     3286    while( j > 0 )
     3287    {
     3288      L[j] = grtranspose(M[i]);
     3289      j--;
     3290      i++;
     3291    };
     3292    return (ordres(L));   
     3293  }
     3294
     3295 // use initial grading if given
     3296 if( size(#) == 1 )
     3297 {
     3298    def w = #[1];
     3299    if( typeof(w) == "intvec" )
     3300    {
     3301       if( nrows(M) == size(w) )
     3302       {
     3303         attrib(M, "isHomog", w);
     3304       }
     3305    }
     3306    kill w;
     3307 }
     3308 
     3309 // try to homogenize otherwise
     3310 if( typeof(attrib( M, "isHomog")) == "string" ) 
     3311 { // no such attribute? //   ERROR("No grading!");
     3312   if( !homog( M ) ) { ERROR( "Cannot compute homogenizing grading!"); }
     3313 }
     3314
     3315 def w = attrib(M, "isHomog");
     3316
     3317 // input should be graded:
     3318 if( typeof(w) != "intvec" )
     3319 {
     3320   ERROR("Non-graded input!");
     3321 }
     3322 if( nrows(M) != size(w) )
     3323 {
     3324   ERROR("Wrong grading!");
     3325 }
     3326
     3327 intvec d, p, pp;
     3328 (d, p) = order( M, w ); // grades & ordering permutation for N.  d[p] should be sorted!
     3329 module N = module(M[p]);  // reorder the starting ideal/module
     3330 attrib( N, "isHomog", w ); // set the grading
     3331
     3332
     3333// ""; "input: "; view(N);
     3334
     3335 // and transpose now...
     3336 d = d[p]; M = transpose(N);
     3337 
     3338 attrib( M, "isHomog", -d ); // set the grading
     3339 
     3340// "0-gr.transpose??"; view( M );
     3341 return (M);
     3342}
     3343
     3344proc TestGRRes(string Name, int version, ideal I )
     3345"
     3346test/output reordering res(I) & gr-traspose of res
     3347"
     3348{
     3349  "";
     3350  "=== Example: [", Name, "]";
     3351  " = Ring: ", string(basering);
     3352
     3353  I = groebner(I); attrib(I, "isHomog", intvec(0));
     3354  " = Input degrees: "; view(I);
     3355
     3356  " ! Resolution via 'mres': ";
     3357  def R = mres(I, 0); // sres, lres: no grading! // nres, mres - graded (with attrib(, "isHomog"))
     3358 
     3359  " = Non-minimal betti numbers: ";
     3360  print(betti(R, 0), "betti"); 
     3361
     3362  list L = R;
     3363//  " = Degrees of maps: "; view(L);
     3364
     3365  " = Degrees of (ordered) maps: ";
     3366  def LL = ordres(L, intvec(0));
     3367 
     3368  "==============================================";
     3369 
     3370  view( LL );
     3371 
     3372  "==============================================";
     3373  list LLL = grtranspose( LL );
     3374  view( LLL );
     3375//  resolution RR = LLL;
     3376  print(betti(LLL, 0), "betti");
     3377  "==============================================";
     3378
     3379"";
     3380  kill L, R;
     3381}
     3382example
     3383{ "EXAMPLE:"; echo = 2;
     3384
     3385string Name = "rat.d8.g6"; int @p=31991; ring R = (@p),(x,y,z,u,v), dp;
     3386ideal I = -19/125x2y2-87/119xy3-97/21y4+36/53x2yz+2069xy2z-59/50y3z-65/33x2z2-14322xyz2+79/60y2z2-9035xz3-14890yz3+87/47z4-23/48x2yu+45/44xy2u+1972y3u+79/118x2zu-5173xyzu+115/121y2zu+1239xz2u-115/17yz2u-15900z3u-78/95x2u2+67/101xyu2-12757y2u2+12752xzu2+68/21yzu2+103/90z2u2-12917xu3+97/92yu3-24/49zu3-13/79u4-51/61x2yv-3103xy2v+77/117y3v+73/115x2zv-79/33xyzv+123/110y2zv+11969xz2v-31/95yz2v-123/95z3v-105/124x2uv+12624xyuv+2/63y2uv+6579xzuv+13/62yzuv+4388z2uv-12747xu2v-26/105yu2v-78/61zu2v-125/53u3v-5/71xyv2+62/77y2v2+21/44xzv2-9806yzv2+3/91z2v2+361xuv2+568yuv2+2926zuv2+53/38u2v2-14523yv3+2082zv3+113/115uv3,108/73x2y2+4028xy3+38/43y4-1944x2yz+39/80xy2z+8/109y3z+52/27x2z2+103/45xyz2+5834y2z2+63/101xz3+107/80yz3+1178z4-1/6x2yu+78/25xy2u-21/43y3u+50/71x2zu-14693xyzu+15074y2zu+9/103xz2u-7396yz2u-14493z3u+93/25x2u2+61/4xyu2-11306y2u2-79/81xzu2+59/82yzu2-5/106z2u2+89/71xu3-34/11yu3+15/103zu3-115/52u4-54/65x2yv+67/16xy2v-7/68y3v-10/13x2zv+32/85xyzv+1/91y2zv+107/118xz2v+7594yz2v-98/103z3v+9919x2uv-965xyuv+53/34y2uv+119/11xzuv-3400yzuv-8329z2uv+75/98xu2v-24yu2v+55/87zu2v-82/71u3v-73/115x2v2+85/19xyv2-213y2v2-7704xzv2-15347yzv2+14960z2v2+15065xuv2-125/17yuv2+32/83zuv2-14/73u2v2-21/44xv3+79/2yv3-61/32zv3+46/119uv3-2082v4,9/20x2y2+113/71xy3-88/65y4+9983x2yz-6722xy2z+87/68y3z+1893x2z2+65/32xyz2+51/55y2z2-102/53xz3+58/5yz3-7187z4-96/7x2yu-14/87xy2u-3532y3u+95/54x2zu+19/65xyzu-6728y2zu+31/121xz2u+73/106yz2u-91/5z3u-12928x2u2+707xyu2-55/48y2u2-96/25xzu2+15869yzu2-20/107z2u2-10030xu3-13786yu3-122/9zu3+19/59u4-7/52x2yv+101/74xy2v+83/6y3v-91/55x2zv-5266xyzv+85/61y2zv+126/95xz2v+56/51yz2v+13073z3v-50/21x2uv-13553xyuv-116/53y2uv+68/71xzuv-111/98yzuv-11037z2uv+68/121xu2v-124/53yu2v+54/55zu2v+5862u3v+12318x2v2-119/29xyv2+101/17y2v2-51/40xzv2-82/33yzv2-30/41z2v2-29/52xuv2+7817yuv2+8121zuv2-28/99u2v2+1125xv3-73/55yv3-14141zv3+8742uv3-1203v4,x2y2+11357xy3+295y4+144x2yz-31/54xy2z+89/119y3z+1/46x2z2+29/26xyz2+1384y2z2+1461xz3+113/91yz3+9494z4-7/32x2yu+12850xy2u-3626y3u-33/106x2zu-7/60xyzu-5935y2zu-8597xz2u+5527yz2u+1708z3u+6182x2u2-15780xyu2+4669y2u2-38/69xzu2+8412yzu2+9265z2u2-5679xu3-67/18yu3-34/67zu3-7178u4+113/56x2yv-3669xy2v+17/113y3v-87/35x2zv-4871xyzv-111/11y2zv-1131xz2v-72/13yz2v+838z3v-115/4x2uv+3395xyuv-43/68y2uv-82/13xzuv+7042yzuv-88/119z2uv+100/19xu2v+24/11yu2v+89/3zu2v+7395u3v-119/109x2v2+1/104xyv2+18/25y2v2+700xzv2-59/9yzv2-92/87z2v2+2486xuv2-67/103yuv2+1469zuv2-101/91u2v2-79/33xv3+10838yv3+81/4zv3-11843uv3+7204v4,19/125x3-15698x2y-22/117xy2-95/107y3+2027x2z-7750xyz+85/104y2z-15326xz2+31/101yz2+67/81z3-7879x2u-112/115xyu+124/81y2u+99/61xzu-7458yzu+40/33z2u-1502xu2+6591yu2-7/73zu2-42/95u3+93/83x2v-15/112xyv-84/95y2v+35/36xzv+5/24yzv-12768z2v+13232xuv-76/103yuv-79/52zuv-7217u2v+75/92xv2-49/64yv2+17/14zv2-6109uv2+1695v3;
     3387TestGRRes(Name, 2, I); kill R, Name, @p;
     3388
     3389
     3390string Name = "castelnuovo"; int @p=31991; ring R = (@p),(x,y,z,u,v), dp;
     3391ideal I = 5153xy2-98/23y3-101/51xyz+33/41y2z+99/79xz2+7136yz2-106/111z3+119/53xyu+34/57y2u-77/92xzu+84/73yzu-109/78z2u-27/56xu2+10023yu2+82/103zu2-34/25u3+3/2xyv-68/25y2v+12721xzv+4/63yzv-73/21z2v-7291xuv-91/53yuv-4/79zuv-34/91u2v-122/53xv2+123/70yv2-64/73zv2+44/65uv2+14/31v3,xy2-15202y3+10613xyz+13640y2z-107/103xz2+5292yz2+19/119z3-10042xyu+2770y2u+7957xzu+14008yzu+92/121z2u-92/51xu2+1178yu2+1/117zu2-12726u3+82/101xyv-92/17y2v-107/56xzv+14233yzv+79/28z2v+51/50xuv-31/5yuv+95/91zuv+19/108u2v+12151xv2-69/110yv2+37/89zv2-63/116uv2-88/23v3,-5153x2+37/23xy+8706y2-13160xz+68/115yz+5548z2-22/61xu-113/98yu+11818zu+2114u2-101/97xv+89/22yv-3355zv-113/5uv-5521v2;
     3392TestGRRes(Name, 2, I); kill R, Name, @p;
     3393
     3394
     3395string Name = "ell.d7.g6"; int @p=31991; ring R = (@p),(x,y,z,u,v), dp;
     3396ideal I = 4971xy3+3/101y4-12318xy2z-12835y3z+97/98xyz2+63y2z2-8056xz3+23/91yz3-9662z4-7398xy2u+69/71y3u-53/68xyzu-49/67y2zu-113/122xz2u-9/61yz2u+71/88z3u+11358xyu2-38/29y2u2-10232xzu2+14490yzu2+2274z2u2+3501xu3+10427yu3-109/38zu3-99/5u4-6605xy2v-1555y3v-648xyzv-2083y2zv-61/41xz2v+75/17yz2v-69/55z3v-6104xyuv-9582y2uv+69/2xzuv-12551yzuv+47/49z2uv-118/13xu2v+34/105yu2v+105/41zu2v+6533u3v+122/25xyv2+2/43y2v2+16/61xzv2+11524yzv2+113/99z2v2-71/26xuv2+7809yuv2-4865zuv2-2122u2v2+53/118xv3-13209yv3-11106zv3-49/79uv3+3006v4,xy3+15492y4-13742xy2z+112/117y3z+6/47xyz2+28/41y2z2+71/111xz3+49/57yz3-61/44z4-11759xy2u+4242y3u-109/18xyzu+2260y2zu-6873xz2u-41/112yz2u+12574z3u-10939xyu2+119/38y2u2-62/33xzu2-3699yzu2+2651z2u2-13194xu3-15185yu3-11/116zu3-61/83u4-10094xy2v+13/4y3v-74/73xyzv+43/20y2zv-11547xz2v+53/43yz2v-92/93z3v+32/41xyuv+118/33y2uv-121/39xzuv-15913yzuv+53/11z2uv+97/76xu2v+85/29yu2v-5183zu2v+8520u3v+121/28xyv2+64/51y2v2-15810xzv2+1/43yzv2-6160z2v2+13988xuv2+9/40yuv2+123/4zuv2+15024u2v2+73/95xv3+80/97yv3+57/25zv3-109/81uv3-121/87v4,-4971x2+14389xy+1607y2+59/119xz+12020yz+103/122z2+8894xu+7091yu+54/19zu-50/77u2+28/25xv-113/56yv+68/29zv-14620uv+79/107v2;
     3397TestGRRes(Name, 2, I); kill R, Name, @p;
     3398
     3399string Name = "ell.d8.g7"; int @p=31991; ring R = (@p),(x,y,z,u,v), dp;
     3400ideal I = x2y2-47/69xy3+6059y4+78/85x2yz+55/124xy2z+13641y3z+8/17x2z2+7817xyz2-2746y2z2+85/124xz3+87yz3+13182z4+109/93x2yu-69/17xy2u+12089y3u+8769x2zu-53/36xyzu-14834y2zu+123/23xz2u+103/77yz2u-2344z3u-43/104x2u2-6198xyu2+47/115y2u2-39/19xzu2-29/24yzu2+51/89z2u2-65/37xu3-95/94yu3+11302zu3-53/57u4-2874x2yv+4347xy2v-25/77y3v+13819x2zv+29/34xyzv+474y2zv+33/107xz2v-3517yz2v+10617z3v+1834x2uv+54/113xyuv-8751y2uv+111/70xzuv-66/61yzuv+9195z2uv-14289xu2v-13/110yu2v+103/9zu2v+5113u3v+116/89x2v2+15142xyv2+13078y2v2-38/41xzv2-13/113yzv2-12824z2v2-57/11xuv2-114/17yuv2-125/31zuv2+11939u2v2+44/13xv3+56/69yv3+12/125zv3+643uv3+3530v4,-3454x2y-1285xy2-6182y3-8/69x2z+9/19xyz+64/49y2z+98/67xz2-13809yz2+21/44z3+77/47x2u+748xyu-41/77y2u+7318xzu+4217yzu+12562z2u-98/69xu2-14/85yu2+119/46zu2-61/121u3+5582x2v+108/77xyv-93/4y2v-65/49xzv-4135yzv+2477z2v+11114xuv+85/14yuv+51/125zuv-7572u2v-115/52xv2-7647yv2+4647zv2-5684uv2-1/55v3,3454x3-6645x2y-43/34xy2+14590y3+8/11x2z-117/112xyz+109/54y2z+6566xz2+23/57yz2-13078z3+95/61x2u+67/40xyu-4544y2u-95/72xzu-8/103yzu+100/77z2u+23/63xu2+69/61yu2-94/105zu2+8619u3+68/123x2v+8/117xyv+101/77y2v+124/125xzv+17/84yzv+23/67z2v+18/59xuv+3216yuv-77/59zuv-9/50u2v+96/109xv2-2491yv2+14089zv2+14067uv2-56/113v3;
     3401TestGRRes(Name, 2, I); kill R, Name, @p;
     3402
     3403string Name = "k3.d7.g5"; int @p=31991; ring R = (@p),(x,y,z,u,v), dp;
     3404ideal I = -97/108x2y-31/118xy2-73/61y3-79/14x2z-15930xyz-2324y2z+1842xz2+656yz2-8852z3-89/38x2u-102/43xyu+14719y2u+70/67xzu+7335yzu+27/56z2u-10744xu2-55/83yu2+120/73zu2+120/61u3-126/125x2v+691xyv-15385y2v+117/16xzv-17/97yzv+80/121z2v-48/119xuv+21/34yuv-103/65zuv-49/32u2v-41/42xv2+11/75yv2-502zv2-7583uv2+26/69v3,97/108x3+77/114x2y+71/21xy2+13679y3-1645x2z-1/33xyz-79/7y2z-52/53xz2+11940yz2-5800z3+109/13x2u-115/64xyu-125/56y2u-2365xzu+2103yzu+56/87z2u-84/79xu2+107/106yu2-79/70zu2-419u3+5354x2v+92/53xyv-32/19y2v+11/74xzv+4193yzv+45/79z2v-113/72xuv+17/71yuv+11164zuv-17/33u2v+103/66xv2+55/79yv2+118/15zv2-2646uv2+57/106v3,x3-61/113x2y-64/21xy2-107/8y3-13/60x2z+43/35xyz+41/114y2z-13683xz2-5829yz2+71/38z3+90/17x2u-39/29xyu+42/5y2u-61/55xzu+111/77yzu-87/100z2u+10735xu2-83/91yu2-4884zu2-7965u3-65/12x2v+109/86xyv+10606y2v-14164xzv-6678yzv+83/18z2v-93/10xuv+120/49yuv-1592zuv-8710u2v-73/57xv2+10762yv2-2956zv2-89/63uv2-12/7v3;
     3405TestGRRes(Name, 2, I); kill R, Name, @p;
     3406
     3407string Name = "k3.d11.g12"; int @p=31991; ring R = (@p),(x,y,z,u,v), dp;
     3408ideal I = -11613x4y-124/113x3y2-12025x2y3-101/11xy4-95/112y5+11/67x4z+67x3yz-5658x2y2z-19/24xy3z-16/45y4z+8299x3z2+117/92x2yz2+1309xy2z2+1118y3z2-9168x2z3-19/123xyz3+66/53y2z3-90/113xz4-23/36yz4+14004z5-94/99x4u-32/111x3yu+73/23x2y2u-53/23xy3u-1178y4u-31/104x3zu-13315x2yzu-8115xy2zu+95/34y3zu-48/103x2z2u+85/86xyz2u-33/62y2z2u-42/79xz3u+33/92yz3u+96/23z4u+12474x3u2+8140x2yu2-13xy2u2-17/43y3u2+91/47x2zu2-2/93xyzu2-101/49y2zu2+4/55xz2u2+10824yz2u2+1945z3u2+119/15x2u3-62/67xyu3-96/23y2u3+11277xzu3+13131yzu3+14/99z2u3+76/105xu4-3730yu4-89/121zu4-12847x4v+13578x3yv-15001x2y2v-69/34xy3v+107/44y4v-15074x3zv-14054x2yzv-6101xy2zv-6626y3zv+13743x2z2v-10580xyz2v+12/5y2z2v+3772xz3v+101/11yz3v-11558z4v-68/107x3uv+1018x2yuv-81/79xy2uv-623y3uv-37/65x2zuv-85/69xyzuv-112/71y2zuv-85/79xz2uv+11/94yz2uv-4/113z3uv-100/21x2u2v+79/64xyu2v+31/54y2u2v-7890xzu2v-118/61yzu2v-36/43z2u2v-15889xu3v-55/102yu3v+115/104zu3v+52/83x3v2+47/56x2yv2-106/37xy2v2+3589y3v2-45/7x2zv2-75/103xyzv2-9583y2zv2-106/77xz2v2+7830yz2v2-3/121z3v2-13738x2uv2-55/26xyuv2+671y2uv2+8447xzuv2+103/35yzuv2+3753z2uv2+9958xu2v2+125/18yu2v2-71/82zu2v2-39/5x2v3-111/16xyv3-8312y2v3+86/9xzv3+105/97yzv3+107/46z2v3+328xuv3-117/116yuv3-121/13zuv3+1872xv4+99/56yv4-8768zv4,10372x4y+2346x3y2+5436x2y3-14668xy4-57/2x4z+45/88x3yz+32/81x2y2z-22/81xy3z+1533y4z+5802x3z2-13233x2yz2+49/45xy2z2-26/51y3z2-35/9x2z3-11653xyz3-3536y2z3+47/34xz4-45/64yz4-109/26z5+6321x4u-67/36x3yu+23/7x2y2u-8122xy3u+95/112y4u-67/54x3zu-98/47x2yzu-13129xy2zu-29/100y3zu+86/109x2z2u+9582xyz2u-19/81y2z2u+708xz3u+3055yz3u+16/53z4u-55/68x3u2-98/61x2yu2-1265xy2u2+1178y3u2-7/103x2zu2+9/104xyzu2+7516y2zu2+5261xz2u2+1786yz2u2+6268z3u2+17/77x2u3+13652xyu3+17/43y2u3-11765xzu3-1857yzu3-113/86z2u3-97/6xu4+96/23yu4+103/108zu4+3730u5-31/68x4v-103/109x3yv-91/86x2y2v-2211xy3v-9/28x3zv+2009x2yzv-13/110xy2zv+69/17y3zv+10370x2z2v-14/75xyz2v-9465y2z2v+21/92xz3v-35/29yz3v+2/9z4v+92/81x3uv-7/31x2yuv+14914xy2uv-107/44y3uv+63/65x2zuv+74/109xyzuv+13182y2zuv-3534xz2uv-58/25yz2uv+13/114z3uv-25/76x2u2v+121/20xyu2v+623y2u2v+77/76xzu2v-17/54yzu2v-41/78z2u2v-1251xu3v-31/54yu3v+22/37zu3v+55/102u4v-118/79x3v2-117/70x2yv2+35/31xy2v2-59/16x2zv2-5480xyzv2+965y2zv2-741xz2v2+67/95yz2v2+8745z3v2-77/115x2uv2-11016xyuv2-3589y2uv2-16/107xzuv2+12929yzuv2-14059z2uv2-11110xu2v2-671yu2v2-77/45zu2v2-125/18u3v2-41/5x2v3+11204xyv3-14748xzv3+95/77yzv3-2748z2v3-9/74xuv3+8312yuv3-106/55zuv3+117/116u2v3-6624xv4+6349zv4-99/56uv4,-10372x3y2-2346x2y3-5436xy4+14668y5-57/40x3yz+4547x2y2z+362xy3z+37/58y4z-42/79x3z2+87/20x2yz2-1607xy2z2+2682y3z2+102/61x2z3-14813xyz3+11175y2z3+2090xz4-71/43yz4+9265z5+5292x3yu-4/97x2y2u-83/65xy3u+49/93y4u+94/35x3zu-119/53x2yzu-9116xy2zu+14107y3zu-109/117x2z2u+76/17xyz2u+7207y2z2u-50/29xz3u+66yz3u+2727z4u+94/99x3u2-8234x2yu2-113/43xy2u2-9860y3u2-2038x2zu2-4256xyzu2-107/12y2zu2-62/41xz2u2-4747yz2u2-42/29z3u2-12474x2u3+103/35xyu3-13639y2u3+98/57xzu3-480yzu3-748z2u3-119/15xu4+14421yu4-12711zu4-76/105u5+31/68x3yv+103/109x2y2v+91/86xy3v+2211y4v+7/16x3zv+37/26x2yzv-91/118xy2zv-13741y3zv-10278x2z2v+15645xyz2v+7174y2z2v-40/103xz3v-112/103yz3v-63/67z4v+12847x3uv-65/24x2yuv-31/95xy2uv-113/19y3uv-4623x2zuv+44/35xyzuv+2403y2zuv-31/77xz2uv-4746yz2uv+7316z3uv+68/107x2u2v+1087xyu2v-22/89y2u2v-12833xzu2v+19/10yzu2v+11586z2u2v+100/21xu3v-10247yu3v+17/79zu3v+15889u4v+118/79x2yv2+117/70xy2v2-35/31y3v2-1862x2zv2+3/23xyzv2+1202y2zv2+74/49xz2v2+15/86yz2v2+8338z3v2-52/83x2uv2+7168xyuv2+120/19y2uv2-100/103xzuv2+5042yzuv2+26/19z2uv2+13738xu2v2+4960yu2v2+12896zu2v2-9958u3v2+41/5xyv3-11204y2v3+31/54xzv3+3102yzv3+21/17z2v3+39/5xuv3-37/56yuv3+52/111zuv3-328u2v3+6624yv4+1/108zv4-1872uv4,10427x4y+5/53x3y2-6/109x2y3+3275xy4-1533y5+42/79x4z-10605x3yz-115/97x2y2z-67/66xy3z+26/51y4z-102/61x3z2-37/89x2yz2+35/67xy2z2+3536y3z2-2090x2z3-20/7xyz3+45/64y2z3-9265xz4+109/26yz4-2895x4u-14/81x3yu+95/99x2y2u-7642xy3u+93/89y4u+101/42x3zu-13199x2yzu+13893xy2zu+54/95y3zu+64/45x2z2u+29/126xyz2u+4187y2z2u+11146xz3u+15409yz3u-14004z4u+81/10x3u2+12291x2yu2+41/54xy2u2+17/2y3u2-109/10x2zu2-143xyzu2+15242y2zu2+109/48xz2u2-37/4yz2u2-96/23z3u2-116/35x2u3+22/47xyu3-13810y2u3+3/35xzu3+52/41yzu3-1945z2u3+105/67xu4+13231yu4-14/99zu4+89/121u5-7/16x4v+59/106x3yv-3906x2y2v-76/7xy3v-69/17y4v+10278x3zv-31/91x2yzv+115/18xy2zv+9465y3zv+40/103x2z2v-25/77xyz2v+35/29y2z2v+63/67xz3v-2/9yz3v-12294x3uv-15619x2yuv-7749xy2uv-57/122y3uv-14989x2zuv-13131xyzuv-2/25y2zuv-11088xz2uv+13/48yz2uv+11558z3uv-455x2u2v-14505xyu2v+43/58y2u2v-10/51xzu2v+10507yzu2v+4/113z2u2v-33/35xu3v+94/49yu3v+36/43zu3v-115/104u4v+1862x3v2-12080x2yv2+4278xy2v2-965y3v2-74/49x2zv2-3/119xyzv2-67/95y2zv2-8338xz2v2-8745yz2v2-6870x2uv2-13520xyuv2-3346y2uv2+88/65xzuv2+75/113yzuv2+3/121z2uv2-47/3xu2v2+3858yu2v2-3753zu2v2+71/82u3v2-31/54x2v3+11646xyv3-95/77y2v3-21/17xzv3+2748yzv3-81/56xuv3+111/103yuv3-107/46zuv3+121/13u2v3-1/108xv4-6349yv4+8768uv4,-79/27x4y+113/68x3y2+38/5x2y3-27/26xy4+121/119x4z-8834x3yz-114/37x2y2z-1418xy3z+86/103x3z2-31/67x2yz2-37/119xy2z2+8071x2z3-87/38xyz3-9/77xz4-13003x4u-9610x3yu+107/62x2y2u+13159xy3u+67/64y4u-4678x3zu-8059x2yzu-23/41xy2zu-1005y3zu-77/75x2z2u+11207xyz2u+8/121y2z2u+119/118xz3u-63/17yz3u+29/122z4u-11/28x3u2-5/87x2yu2+42/121xy2u2-7/41y3u2+25/123x2zu2-23/14xyzu2-28/29y2zu2+5634xz2u2+4865yz2u2+2165z3u2-109/43x2u3+12561xyu3+150y2u3+71/28xzu3-91/37yzu3+116/119z2u3+15/4xu4-5718yu4-13886zu4+11510u5+53/68x4v-65/126x3yv-49/3x2y2v+21/121xy3v-1533y4v+106/89x3zv+13/115x2yzv+9176xy2zv+26/51y3zv-9/14x2z2v+8874xyz2v+3536y2z2v+21/125xz3v+45/64yz3v+109/26z4v+7/71x3uv-77/38x2yuv+13978xy2uv+91/3y3uv+15822x2zuv+14236xyzuv-105/118y2zuv-2194xz2uv+77/65yz2uv+59/79z3uv-14175x2u2v+10247xyu2v+12266y2u2v-9755xzu2v+26/69yzu2v-86/91z2u2v-2738xu3v+1512yu3v-43/81zu3v-27/89u4v+5126x3v2+89/40x2yv2-97/82xy2v2-69/17y3v2+11741x2zv2-64/89xyzv2+9465y2zv2+10811xz2v2+35/29yz2v2-2/9z3v2+13811x2uv2-5416xyuv2+14011y2uv2+51/62xzuv2+11510yzuv2-85/92z2uv2-11/42xu2v2-42/101yu2v2-59/110zu2v2-4419u3v2-51/77x2v3-109/10xyv3-965y2v3-5063xzv3-67/95yzv3-8745z2v3-6446xuv3+13889yuv3-55/19zuv3-33/16u2v3+40/103xv4-95/77yv4+2748zv4-121/46uv4-6349v5,79/27x3y2-113/68x2y3-38/5xy4+27/26y5-121/119x3yz+8834x2y2z+114/37xy3z+1418y4z-86/103x2yz2+31/67xy2z2+37/119y3z2-8071xyz3+87/38y2z3+9/77yz4-46/59x3yu-31/98x2y2u-34/97xy3u+7896y4u-46/31x3zu+7086x2yzu+12024xy2zu-91/12y3zu+12666x2z2u-9860xyz2u-15260y2z2u+25/113xz3u+14467yz3u+109/88z4u-2365x3u2-119/18x2yu2+105/4xy2u2-47/32y3u2-29/88x2zu2+11/49xyzu2-4353y2zu2-104/31xz2u2-64/79yz2u2+125/43z3u2+10847x2u3+103/70xyu3+95/77y2u3+46/25xzu3-7626yzu3-85/27z2u3-9494xu4+64/15yu4+63/106zu4-47/43u5-3217x3yv+14/125x2y2v+7158xy3v-691y4v+42/79x3zv+87/112x2yzv+50/41xy2zv-59/28y3zv-102/61x2z2v-15/47xyz2v-8396y2z2v-2090xz3v-7/99yz3v-9265z4v+10/43x3uv+111/40x2yuv+59/47xy2uv-7279y3uv-1213x2zuv+12100xyzuv-9957y2zuv+84/31xz2uv+1493yz2uv-38/107z3uv+119/104x2u2v-5/67xyu2v+97/36y2u2v-1/119xzu2v-45/62yzu2v+7/62z2u2v-12488xu3v-63/107yu3v+5939zu3v+47/30u4v-7/16x3v2+1816x2yv2-117/34xy2v2+69/62y3v2+10278x2zv2-95/111xyzv2-23/67y2zv2+40/103xz2v2-14966yz2v2+63/67z3v2-55/54x2uv2+3935xyuv2-8250y2uv2-29/122xzuv2-73/56yzuv2+49/58z2uv2+55/111xu2v2-72yu2v2-25/11zu2v2-101/110u3v2+1862x2v3-77/16xyv3+35/47y2v3-74/49xzv3+224yzv3-8338z2v3-13408xuv3+6305yuv3-25/24zuv3-89/63u2v3-31/54xv4-3884yv4-21/17zv4-441uv4-1/108v5,79/27x3yz-113/68x2y2z-38/5xy3z+27/26y4z-121/119x3z2+8834x2yz2+114/37xy2z2+1418y3z2-86/103x2z3+31/67xyz3+37/119y2z3-8071xz4+87/38yz4+9/77z5-5/69x3yu-34/75x2y2u+57/119xy3u+12127y4u+13526x3zu+51/8x2yzu-116/63xy2zu+9558y3zu+5455x2z2u+3974xyz2u-37/47y2z2u+30/19xz3u-4022yz3u+142z4u-5/92x3u2-7879x2yu2+7880xy2u2-101/56y3u2-30x2zu2+11/82xyzu2-83/53y2zu2+9167xz2u2+108/49yz2u2-101/72z3u2+76/71x2u3+21/116xyu3+40/43y2u3-42/53xzu3-3/92yzu3-49/116z2u3-17/74xu4+4/121yu4-29/75zu4-43/39u5-10372x3yv-2346x2y2v-5436xy3v+14668y4v+61/121x3zv-17/69x2yzv-124/17xy2zv+14202y3zv-52x2z2v-23/35xyz2v+7/55y2z2v-109/88xz3v-65/23yz3v-4676z4v-569x3uv+15924x2yuv+124/41xy2uv-10114y3uv+83/64x2zuv+3037xyzuv-10950y2zuv-83/103xz2uv-13744yz2uv-122/13z3uv-71/30x2u2v-2892xyu2v+6204y2u2v+99/115xzu2v+81/59yzu2v-6280z2u2v+117/32xu3v+6/41yu3v-14093zu3v+527u4v+31/68x3v2+103/109x2yv2+91/86xy2v2+2211y3v2+1/109x2zv2-2811xyzv2-10128y2zv2+29/68xz2v2-116/73yz2v2+5532z3v2-16/67x2uv2-103/74xyuv2+95/6y2uv2+49/76xzuv2-103/108yzuv2+3423z2uv2-519xu2v2+107/13yu2v2+14895zu2v2-2685u3v2+118/79x2v3+117/70xyv3-35/31y2v3+8080xzv3+88/81yzv3+5804z2v3+6681xuv3-12449yuv3+10/107zuv3-37/19u2v3+41/5xv4-11204yv4-71/41zv4-89/65uv4+6624v5,-5/69x4y-34/75x3y2+57/119x2y3+12127xy4-88/61x4z+123/107x3yz-45/106x2y2z-86/69xy3z+67/64y4z+777x3z2-49/47x2yz2+1692xy2z2-1005y3z2-12504x2z3+7185xyz3+8/121y2z3+2583xz4-63/17yz4+29/122z5-5/92x4u-7879x3yu+7880x2y2u-101/56xy3u+18/37x3zu-13260x2yzu-83/64xy2zu-7/41y3zu-3057x2z2u+55/98xyz2u-28/29y2z2u-103/75xz3u+4865yz3u+2165z4u+76/71x3u2+21/116x2yu2+40/43xy2u2+13/110x2zu2-7955xyzu2+150y2zu2-16/67xz2u2-91/37yz2u2+116/119z3u2-17/74x2u3+4/121xyu3+110xzu3-5718yzu3-13886z2u3-43/39xu4+11510zu4+72/89x4v-962x3yv+19/109x2y2v-113/100xy3v+95/112y4v-10451x3zv-43/111x2yzv+27/19xy2zv+2/103y3zv+10086x2z2v+10074xyz2v-103/41y2z2v+58/23xz3v+93/82yz3v+123/110z4v+83/43x3uv-48/91x2yuv+4939xy2uv+1178y3uv-41/103x2zuv-14970xyzuv-12209y2zuv-10774xz2uv+69/101yz2uv+9431z3uv+3029x2u2v+7410xyu2v+17/43y2u2v+3395xzu2v-94/93yzu2v-23/122z2u2v-32/73xu3v+96/23yu3v+3472zu3v+3730u4v-6672x3v2+4447x2yv2+7/10xy2v2-107/44y3v2-1749x2zv2+402xyzv2+13/20y2zv2-37/94xz2v2-3848yz2v2+3812z3v2-109/61x2uv2+101/76xyuv2+623y2uv2-101/22xzuv2+7736yzuv2-35/47z2uv2+88/65xu2v2-31/54yu2v2-5/118zu2v2+55/102u3v2-65/54x2v3-74/15xyv3-3589y2v3-49/61xzv3-5173yzv3+23/54z2v3+68/95xuv3-671yuv3-37/104zuv3-125/18u2v3-125/66xv4+8312yv4+1399zv4+117/116uv4-99/56v5,5/69x3y2+34/75x2y3-57/119xy4-12127y5-14069x3yz-11024x2y2z+15340xy3z-10/77y4z-46/31x3z2-117/98x2yz2+8050xy2z2+109/9y3z2+12666x2z3+12027xyz3+77/37y2z3+25/113xz4+45/67yz4+109/88z5+5/92x3yu+7879x2y2u-7880xy3u+101/56y4u-2365x3zu-8863x2yzu-89/19xy2zu+14430y3zu-29/88x2z2u+42/97xyz2u+15884y2z2u-104/31xz3u-4257yz3u+125/43z4u-76/71x2yu2-21/116xy2u2-40/43y3u2+10847x2zu2+23/113xyzu2+54/89y2zu2+46/25xz2u2+6991yz2u2-85/27z3u2+17/74xyu3-4/121y2u3-9494xzu3-5967yzu3+63/106z2u3+43/39yu4-47/43zu4+5861x3yv+77/38x2y2v-53/110xy3v-5021y4v+123/64x3zv+8942x2yzv-97/101xy2zv+47/9y3zv+16/59x2z2v+37/49xyz2v-93/32y2z2v-112/103xz3v-85/58yz3v-64/65z4v+94/99x3uv-9298x2yuv+14793xy2uv+15927y3uv-9727x2zuv-12154xyzuv+43/34y2zuv-73/117xz2uv+107/59yz2uv-89/40z3uv-12474x2u2v-11169xyu2v-7397y2u2v+109/76xzu2v-11801yzu2v+121/37z2u2v-119/15xu3v-107/99yu3v+56/111zu3v-76/105u4v+12847x3v2+101/88x2yv2+26/97xy2v2+113/85y3v2+45/62x2zv2-14814xyzv2-218y2zv2-3212xz2v2-124/57yz2v2-78/7z3v2+68/107x2uv2+1606xyuv2+14093y2uv2-12/61xzuv2+70/87yzuv2+41/117z2uv2+100/21xu2v2-27/55yu2v2+35/34zu2v2+15889u3v2-52/83x2v3+487xyv3-11117y2v3+11749xzv3+112/13yzv3+111/125z2v3+13738xuv3+77/18yuv3-118/35zuv3-9958u2v3+39/5xv4-9746yv4+103/5zv4-328uv4-1872v5,29/111x4y-94/63x3y2+37/93x2y3+10936xy4-67/64y5+46/31x4z-7/93x3yz+100/121x2y2z+5405xy3z+1005y4z-12666x3z2-32/67x2yz2+4053xy2z2-8/121y3z2-25/113x2z3+107/70xyz3+63/17y2z3-109/88xz4-29/122yz4+2365x4u+12321x3yu-37/33x2y2u+15063xy3u+7/41y4u+29/88x3zu+5695x2yzu+15780xy2zu+28/29y3zu+104/31x2z2u+846xyz2u-4865y2z2u-125/43xz3u-2165yz3u-10847x3u2+203x2yu2-31/123xy2u2-150y3u2-46/25x2zu2+98/73xyzu2+91/37y2zu2+85/27xz2u2-116/119yz2u2+9494x2u3-36/71xyu3+5718y2u3-63/106xzu3+13886yzu3+47/43xu4-11510yu4+36/65x4v+107/111x3yv+36/115x2y2v-6/29xy3v-13928y4v-33/10x3zv+72/7x2yzv+9614xy2zv+9028y3zv+7/48x2z2v+11111xyz2v+13/109y2z2v-15164xz3v-14558yz3v-14004z4v-47/64x3uv+86/103x2yuv+1/30xy2uv-93/77y3uv+51/20x2zuv-33/38xyzuv+10/103y2zuv+125/38xz2uv+92/63yz2uv-96/23z3uv-5/44x2u2v+9094xyu2v-15322y2u2v-8681xzu2v+11465yzu2v-1945z2u2v+8897xu3v-6/79yu3v-14/99zu3v+89/121u4v-8146x3v2-1374x2yv2+5917xy2v2-19/14y3v2-10531x2zv2+6827xyzv2-15349y2zv2-1/96xz2v2-26/51yz2v2+11558z3v2-31/107x2uv2-1484xyuv2-54/43y2uv2-65/106xzuv2+59/94yzuv2+4/113z2uv2+122/107xu2v2-6678yu2v2+36/43zu2v2-115/104u3v2+6538x2v3-52/55xyv3-118/13y2v3-2602xzv3-7238yzv3+3/121z2v3+11665xuv3-24/101yuv3-3753zuv3+71/82u2v3+52/69xv4+103/117yv4-107/46zv4+121/13uv4+8768v5,9/40x4y-121/118x3y2-61/25x2y3+86/3xy4-26/29y5+27/32x4z-99/107x3yz-11/75x2y2z+6823xy3z+11282y4z+58/3x3z2-11692x2yz2-15225xy2z2+16/87y3z2+2496x2z3+93/53xyz3+120/19y2z3-113/64xz4-9/68yz4+95/88z5-43/26x4u-74/5x3yu+4184x2y2u-57/28xy3u+109/92y4u+77/61x3zu+82/83x2yzu-4843xy2zu-19/80y3zu-12376x2z2u-69/103xyz2u-34/29y2z2u+8409xz3u-66/13yz3u-43/71z4u-103/31x3u2+4841x2yu2+225xy2u2+3941y3u2+67/41x2zu2+121/114xyzu2+17/6y2zu2+19/80xz2u2+123/71yz2u2+11025z3u2+14006x2u3-11/48xyu3-60/23y2u3-49/111xzu3-15779yzu3+101/56z2u3-12916xu4-29/76yu4-12651zu4+15/13x4v+15822x3yv+10324x2y2v+7/50xy3v-11/27y4v+93/100x3zv-67/77x2yzv+15042xy2zv+55/8y3zv-51/20x2z2v-53/114xyz2v+57/92y2z2v+31/6xz3v+79/120yz3v+102/97z4v+6524x3uv+11390x2yuv-12877xy2uv+59/14y3uv+11685x2zuv+131xyzuv-65/66y2zuv+12721xz2uv-27/13yz2uv+4058z3uv+11575x2u2v-7564xyu2v+93/89y2u2v-68/63xzu2v-47/41yzu2v-8/15z2u2v-83/65xu3v-104/7yu3v-5zu3v+84/37x3v2+15350x2yv2-59/126xy2v2+13/98y3v2+4/87x2zv2-65/116xyzv2-115/63y2zv2+53/85xz2v2-59/68yz2v2-97/52z3v2+13578x2uv2-2737xyuv2+4459y2uv2-34/93xzuv2+10771yzuv2-43/71z2uv2+4632xu2v2-79/107yu2v2-73/19zu2v2-11588x2v3-96/47xyv3+12945y2v3+8588xzv3+57/116yzv3-15664z2v3-7238xuv3+28/45yuv3+10720zuv3+3906xv4-4309yv4+12027zv4,-122/49x4y+126x3y2-4670x2y3-65/23xy4+645x4z+27/67x3yz+111/61x2y2z-67/106xy3z-14746y4z-59/52x3z2+11190x2yz2+111/83xy2z2+4734y3z2+23/31x2z3+108/71xyz3+11765y2z3-3/47xz4+109/11yz4-15/29z5-2346x4u+46/113x3yu-89/104x2y2u-66/115xy3u+26/29y4u+53/36x3zu+101/22x2yzu+113/59xy2zu+6144y3zu-907x2z2u-67/94xyz2u-1943y2z2u-4150xz3u-106/47yz3u+13/58z4u-111/70x3u2-15142x2yu2+32/13xy2u2-109/92y3u2+78/37x2zu2+5365xyzu2+23/9y2zu2+22/117xz2u2-25/118yz2u2+64/29z3u2+106/77xyu3-3941y2u3+126/83xzu3-870yzu3+80/69z2u3+93/52xu4+60/23yu4-11334zu4+29/76u5-41/109x4v-29/89x3yv-121/38x2y2v-26/47xy3v-7962x3zv-1138x2yzv+6882xy2zv+61/107y3zv+11/97x2z2v+89/21xyz2v+3224y2z2v+54/125xz3v-53/82yz3v-14358z4v+8/51x3uv-43/37x2yuv-13210xy2uv+11/27y3uv-25/33x2zuv+114/11xyzuv-48/53y2zuv-65/126xz2uv-8382yz2uv+85/7z3uv+96/35x2u2v-8030xyu2v-59/14y2u2v-77/15xzu2v-105/73yzu2v+41/110z2u2v-31/126xu3v-93/89yu3v-71/97zu3v+104/7u4v+7457x3v2+42/19x2yv2-9/4xy2v2+13/118x2zv2+13/61xyzv2+19/78y2zv2-104/77xz2v2+115/114yz2v2+75/62z3v2-75/91x2uv2-53/109xyuv2-13/98y2uv2-15074xzuv2-10090yzuv2-14919z2uv2+13/118xu2v2-4459yu2v2+2646zu2v2+79/107u3v2-111/38x2v3+47/69xyv3+2148xzv3+17/78yzv3-42/61z2v3-23/118xuv3-12945yuv3+1/86zuv3-28/45u2v3+9559xv4+89/96zv4+4309uv4,122/49x3y2-126x2y3+4670xy4+65/23y5+41/35x3yz+10579x2y2z+55/69xy3z+2706y4z-11540x3z2-115/72x2yz2-5058xy2z2+3156y3z2+3/103x2z3-109/64xyz3-118/33y2z3-3218xz4+39/121yz4+81/56z5-121/62x3yu-107/52x2y2u+78/5xy3u-19/103y4u+90/37x3zu-14695x2yzu-18/7xy2zu-31/29y3zu-89/42x2z2u-11357xyz2u-6362y2z2u+92/11xz3u-93/49yz3u+5800z4u+43/26x3u2-12323x2yu2+10958xy2u2+7470y3u2+10833x2zu2-71/126xyzu2+81/82y2zu2-16/47xz2u2-11968yz2u2-48z3u2+103/31x2u3-4841xyu3-8/123y2u3+13131xzu3+85/11yzu3-108/71z2u3-14006xu4-9281yu4+72/53zu4+12916u5+41/109x3yv+29/89x2y2v+121/38xy3v+26/47y4v+11277x3zv-12163x2yzv+2331xy2zv+6041y3zv+5/48x2z2v-72/95xyz2v+y2z2v+32/23xz3v+65/108yz3v+12707z4v-15/13x3uv+58/13x2yuv-812xy2uv-46/85y3uv+860x2zuv-85/22xyzuv+11/90y2zuv-53/66xz2uv+6828yz2uv+49/40z3uv-6524x2u2v+12372xyu2v-11084y2u2v+16/109xzu2v-9167yzu2v+2213z2u2v-11575xu3v+3248yu3v+3502zu3v+83/65u4v-7457x2yv2-42/19xy2v2+9/4y3v2-8/53x2zv2+113/26xyzv2-83/73y2zv2-32/91xz2v2-101/53yz2v2+92/9z3v2-84/37x2uv2+119xyuv2-77/117y2uv2-8286xzuv2+1236yzuv2+8768z2uv2-13578xu2v2+35/117yu2v2+3378zu2v2-4632u3v2+111/38xyv3-47/69y2v3+15736xzv3-10/81yzv3-23/8z2v3+11588xuv3-3776yuv3+30/41zuv3+7238u2v3-9559yv4+1/109zv4-3906uv4,-116/119x4y+103/5x3y2+12508x2y3-72/49xy4+14746y5+11540x4z+11931x3yz-47/120x2y2z+71/46xy3z-4734y4z-3/103x3z2+47/116x2yz2-104/69xy2z2-11765y3z2+3218x2z3-4/59xyz3-109/11y2z3-81/56xz4+15/29yz4+14290x4u-108/73x3yu-10275x2y2u-92/31xy3u-1/123y4u+6838x3zu-8035x2yzu+67/107xy2zu+97/75y3zu+79/101x2z2u+47/107xyz2u-15910y2z2u-95/37xz3u-795yz3u-95/88z4u+9619x3u2-109/37x2yu2+116/5xy2u2+7951y3u2-27/49x2zu2+4647xyzu2+117/44y2zu2+25/88xz2u2+2888yz2u2+43/71z3u2-19/59x2u3-121/112xyu3+6199y2u3-23/83xzu3-6533yzu3-11025z2u3-109/107xu4+117/59yu4-101/56zu4+12651u5-11277x4v+101/62x3yv-1193x2y2v-12923xy3v-61/107y4v-5/48x3zv-83/119x2yzv-110/21xy2zv-3224y3zv-32/23x2z2v+7646xyz2v+53/82y2z2v-12707xz3v+14358yz3v-75/64x3uv+15/91x2yuv+10508xy2uv+37/57y3uv-25/7x2zuv+5948xyzuv+119/13y2zuv-6138xz2uv-3707yz2uv-102/97z3uv-49/85x2u2v-5888xyu2v+1430y2u2v-73/15xzu2v+33/85yzu2v-4058z2u2v-13149xu3v+51/40yu3v+8/15zu3v+5u4v+8/53x3v2-13268x2yv2+6129xy2v2-19/78y3v2+32/91x2zv2-65/33xyzv2-115/114y2zv2-92/9xz2v2-75/62yz2v2-2010x2uv2-4639xyuv2+9/95y2uv2-71/118xzuv2+107/90yzuv2+97/52z2uv2+17/50xu2v2-44/31yu2v2+43/71zu2v2+73/19u3v2-15736x2v3-97/69xyv3-17/78y2v3+23/8xzv3+42/61yzv3-9369xuv3-104/41yuv3+15664zuv3-10720u2v3-1/109xv4-89/96yv4-12027uv4,-47/88x4y-9610x3y2+3005x2y3-10610xy4-1737x4z-17/114x3yz-13934x2y2z-64/9xy3z-107/13x3z2-10/9x2yz2-41/71xy2z2+118/53x2z3-25/111xyz3+93/28xz4-24/59x4u+9/112x3yu+14/95x2y2u+61/81xy3u+12/59y4u-11/101x3zu+9/110x2yzu+118/121xy2zu+5541y3zu-48/11x2z2u+8/79xyz2u+4541y2z2u+19/97xz3u+423yz3u-16/55z4u+112/57x3u2-1008x2yu2-34/65xy2u2-19/9y3u2-15364x2zu2-79/108xyzu2+76/45y2zu2+6/35xz2u2+95/111yz2u2+2747z3u2+76/85x2u3-9797xyu3-510y2u3-71/62xzu3-3358yzu3+14026z2u3+10128xu4+14238yu4-8120zu4-15341u5-99/70x4v+85/27x3yv-79/58x2y2v+2788xy3v+14746y4v-69/13x3zv-13924x2yzv-14049xy2zv-4734y3zv-1061x2z2v-4179xyz2v-11765y2z2v+42/17xz3v-109/11yz3v+15/29z4v+36/95x3uv-4778x2yuv-54/47xy2uv-15780y3uv+8605x2zuv+8971xyzuv-1222y2zuv-5/62xz2uv-12499yz2uv+108/85z3uv+89/7x2u2v-29/121xyu2v+15870y2u2v-9374xzu2v-116/117yzu2v+37/93z2u2v+14105xu3v+1167yu3v-10548zu3v-96/109u4v-113/61x3v2-1448x2yv2+11840xy2v2-61/107y3v2+37/107x2zv2-1087xyzv2-3224y2zv2+4372xz2v2+53/82yz2v2+14358z3v2-10076x2uv2-120/107xyuv2+95/73y2uv2+636xzuv2+3776yzuv2-4590z2uv2+9051xu2v2-1513yu2v2-6086zu2v2+59/84u3v2+121/79x2v3+71/33xyv3-19/78y2v3+2219xzv3-115/114yzv3-75/62z2v3-35/31xuv3-68/7yuv3-53/92zuv3-4852u2v3+4/81xv4-17/78yv4+42/61zv4-90/101uv4-89/96v5,47/88x3y2+9610x2y3-3005xy4+10610y5+1737x3yz+17/114x2y2z+13934xy3z+64/9y4z+107/13x2yz2+10/9xy2z2+41/71y3z2-118/53xyz3+25/111y2z3-93/28yz4-35/59x3yu-83/35x2y2u+54/119xy3u-10016y4u-37/110x3zu-71/42x2yzu+14431xy2zu-38/43y3zu-15166x2z2u+6369xyz2u+2714y2z2u-2119xz3u-79/22yz3u-8/35z4u+75/112x3u2-3707x2yu2+8/17xy2u2+15825y3u2+77/120x2zu2-14620xyzu2+101/26y2zu2+24/121xz2u2+14335yz2u2+75/53z3u2+37/65x2u3+59/81xyu3-10919y2u3+82/51xzu3+505yzu3+46/39z2u3+3736xu4-671yu4-14275zu4+13499u5+89/19x3yv-45/11x2y2v-65/94xy3v+119/3y4v+11540x3zv-15133x2yzv-53/78xy2zv+14746y3zv-3/103x2z2v+56/111xyz2v+45/107y2z2v+3218xz3v-115/83yz3v-81/56z4v+6205x3uv+67/122x2yuv+55/101xy2uv-105/13y3uv-755x2zuv+116/53xyzuv+67/9y2zuv-8158xz2uv+35/113yz2uv+117/70z3uv+7/64x2u2v-103/23xyu2v+65/83y2u2v-3972xzu2v-78/107yzu2v+78z2u2v-117/53xu3v-1/77yu3v+76/83zu3v-851u4v-11277x3v2+9638x2yv2-116/125xy2v2+7228y3v2-5/48x2zv2+4549xyzv2-73/114y2zv2-32/23xz2v2+3274yz2v2-12707z3v2-3517x2uv2+9907xyuv2-33/26y2uv2+6046xzuv2+6/121yzuv2-5/57z2uv2+99/91xu2v2-13/120yu2v2-108/115zu2v2+65/109u3v2+8/53x2v3-55/21xyv3-109/84y2v3+32/91xzv3-36/7yzv3-92/9z2v3+9/17xuv3-15294yuv3+59/34zuv3-29/73u2v3-15736xv4+14440yv4+23/8zv4-32/69uv4-1/109v5,47/88x3yz+9610x2y2z-3005xy3z+10610y4z+1737x3z2+17/114x2yz2+13934xy2z2+64/9y3z2+107/13x2z3+10/9xyz3+41/71y2z3-118/53xz4+25/111yz4-93/28z5-111/29x3yu-51/82x2y2u-95/68xy3u-106/93y4u-73/41x3zu+101/92x2yzu+5654xy2zu+69/37y3zu-25/37x2z2u-6/61xyz2u-11416y2z2u-11303xz3u+4670yz3u-120/17z4u+79/56x3u2-1385x2yu2-1544xy2u2-12915y3u2-72/83x2zu2+41/66xyzu2+11317y2zu2+124/71xz2u2+44/37yz2u2+5292z3u2-6745x2u3+100/87xyu3-3434y2u3-10509xzu3-13766yzu3-8559z2u3+2616xu4+111/83yu4-11580zu4-87/76u5+122/49x3yv-126x2y2v+4670xy3v+65/23y4v+89/122x3zv-76/121x2yzv+41/108xy2zv+57/101y3zv+87/109x2z2v-32/117xyz2v-14089y2z2v+9316xz3v-97/25yz3v+11769z4v+97/94x3uv-45/8x2yuv+11839xy2uv+41/61y3uv+113/24x2zuv+15900xyzuv+62/35y2zuv-4121xz2uv-62/15yz2uv+111/119z3uv-99/119x2u2v+52/5xyu2v+61/87y2u2v+8/63xzu2v+125/4yzu2v-5637z2u2v+83/80xu3v+11698yu3v+123/77zu3v-7129u4v+41/109x3v2+29/89x2yv2+121/38xy2v2+26/47y3v2+23/38x2zv2+86/99xyzv2+13269y2zv2+3538xz2v2+41/114yz2v2-5908z3v2+69/5x2uv2-119/5xyuv2-91/99y2uv2-40/57xzuv2-1824yzuv2-11647z2uv2+5358xu2v2-40/73yu2v2+25/78zu2v2-39/100u3v2-7457x2v3-42/19xyv3+9/4y2v3+12013xzv3+16/47yzv3-10527z2v3+4670xuv3+79/120yuv3+11137zuv3+99/62u2v3+111/38xv4-47/69yv4-2543zv4-9159uv4-9559v5,-111/29x4y-51/82x3y2-95/68x2y3-106/93xy4+1479x4z+6993x3yz-45/77x2y2z+29/7xy3z+12/59y4z+59/23x3z2-49/80x2yz2+6299xy2z2+5541y3z2-93/89x2z3+5480xyz3+4541y2z3+12/35xz4+423yz4-16/55z5+79/56x4u-1385x3yu-1544x2y2u-12915xy3u+81/43x3zu-102/41x2yzu+15746xy2zu-19/9y3zu+67/9x2z2u-3418xyz2u+76/45y2z2u-192xz3u+95/111yz3u+2747z4u-6745x3u2+100/87x2yu2-3434xy2u2+105/116x2zu2+8428xyzu2-510y2zu2-86/63xz2u2-3358yz2u2+14026z3u2+2616x2u3+111/83xyu3+47/22xzu3+14238yzu3-8120z2u3-87/76xu4-15341zu4-80/89x4v-15753x3yv+55/54x2y2v+11588xy3v+26/29y4v+70/67x3zv+15489x2yzv+612xy2zv-13/83y3zv+3577x2z2v-41/23xyz2v-96/91y2z2v-95/44xz3v-5014yz3v-44/27z4v-56/101x3uv+41/63x2yuv+29/36xy2uv-109/92y3uv+14988x2zuv-77/86xyzuv+12318y2zuv-107/85xz2uv+4895yz2uv+22/13z3uv+83/80x2u2v-9074xyu2v-3941y2u2v-1990xzu2v+85/108yzu2v+11/12z2u2v-63/113xu3v+60/23yu3v+21/95zu3v+29/76u4v-69/40x3v2+123/2x2yv2+4885xy2v2+11/27y3v2-73/40x2zv2-81/125xyzv2-79/72y2zv2-12281xz2v2+88/125yz2v2-54/7z3v2+13587x2uv2+9937xyuv2-59/14y2uv2-223xzuv2-15/101yzuv2-125/21z2uv2+13593xu2v2-93/89yu2v2-78/115zu2v2+104/7u3v2-10799x2v3+33/7xyv3-13/98y2v3-124/119xzv3+12751yzv3+1/85z2v3+64/17xuv3-4459yuv3+8/29zuv3+79/107u2v3-5/74xv4-12945yv4-26/17zv4-28/45uv4+4309v5,111/29x3y2+51/82x2y3+95/68xy4+106/93y5+115/108x3yz+47/38x2y2z-14525xy3z-7424y4z-37/110x3z2+13730x2yz2-67/110xy2z2-49/93y3z2-15166x2z3+82/105xyz3-1956y2z3-2119xz4+37/60yz4-8/35z5-79/56x3yu+1385x2y2u+1544xy3u+12915y4u+75/112x3zu+87/50x2yzu+51/40xy2zu+4508y3zu+77/120x2z2u-1555xyz2u-72/109y2z2u+24/121xz3u+95/46yz3u+75/53z4u+6745x2yu2-100/87xy2u2+3434y3u2+37/65x2zu2-7658xyzu2+2847y2zu2+82/51xz2u2-7/60yz2u2+46/39z3u2-2616xyu3-111/83y2u3+3736xzu3+10909yzu3-14275z2u3+87/76yu4+13499zu4+113/21x3yv-90/61x2y2v+118/33xy3v-953y4v+100/101x3zv-7204x2yzv+4279xy2zv-17/4y3zv+32/7x2z2v-47/59xyz2v-19/74y2z2v+25/86xz3v+97/90yz3v-15678z4v+43/26x3uv+113/94x2yuv-8247xy2uv+10411y3uv-82/89x2zuv+9102xyzuv+50/121y2zuv+13/55xz2uv+47/16yz2uv+30z3uv+103/31x2u2v+47/45xyu2v+20/47y2u2v+14336xzu2v+80/81yzu2v+65/63z2u2v-14006xu3v-2152yu3v+121/105zu3v+12916u4v-15/13x3v2+975x2yv2+5610xy2v2+12390y3v2+107/12x2zv2+2276xyzv2-109/93y2zv2-13828xz2v2-59/117yz2v2+3/89z3v2-6524x2uv2+7014xyuv2+2940y2uv2+1659xzuv2+5167yzuv2-67/5z2uv2-11575xu2v2-118/69yu2v2+9666zu2v2+83/65u3v2-84/37x2v3-4551xyv3-124/89y2v3-2640xzv3+6796yzv3+5947z2v3-13578xuv3+15906yuv3+6007zuv3-4632u2v3+11588xv4+5383yv4+4026zv4+7238uv4-3906v5,x4y+64/3x3y2-9987x2y3-53/8xy4-12/59y5+37/110x4z-29/118x3yz+5636x2y2z-3/100xy3z-5541y4z+15166x3z2-100/101x2yz2+51/118xy2z2-4541y3z2+2119x2z3+122/111xyz3-423y2z3+8/35xz4+16/55yz4-75/112x4u-126/121x3yu+6653x2y2u+11737xy3u+19/9y4u-77/120x3zu-121/16x2yzu+13691xy2zu-76/45y3zu-24/121x2z2u-114/47xyz2u-95/111y2z2u-75/53xz3u-2747yz3u-37/65x3u2+12897x2yu2+63/122xy2u2+510y3u2-82/51x2zu2-1/85xyzu2+3358y2zu2-46/39xz2u2-14026yz2u2-3736x2u3-9457xyu3-14238y2u3+14275xzu3+8120yzu3-13499xu4+15341yu4-58/91x4v+34/19x3yv-7398x2y2v+89/113xy3v-1646y4v+113/59x3zv+87/26x2yzv+13479xy2zv-49/69y3zv-11796x2z2v+123/103xyz2v+103/75y2z2v+4183xz3v-65/62yz3v-95/88z4v+2121x3uv-3663x2yuv+28/23xy2uv-44/101y3uv+95/62x2zuv-65/71xyzuv+1725y2zuv-8439xz2uv+44/13yz2uv+43/71z3uv+72/125x2u2v+2227xyu2v-26/89y2u2v-99/83xzu2v+4015yzu2v-11025z2u2v-33/58xu3v-12508yu3v-101/56zu3v+12651u4v-66/115x3v2+9661x2yv2-29/115xy2v2-52/9y3v2-29/34x2zv2-79/117xyzv2-12/49y2zv2-109/44xz2v2+883yz2v2-102/97z3v2-13344x2uv2-5075xyuv2+113/87y2uv2+6487xzuv2+79/112yzuv2-4058z2uv2+123/53xu2v2-61/93yu2v2+8/15zu2v2+5u3v2-4/117x2v3+14784xyv3-10718y2v3+37/107xzv3-59/41yzv3+97/52z2v3+77/45xuv3-8565yuv3+43/71zuv3+73/19u2v3-12614xv4+7/38yv4+15664zv4-10720uv4-12027v5,-2543x3y-59/83x2y2+3/16xy3-18/37y4-2072x3z+63/22x2yz+11452xy2z-13315y3z-14845x2z2-99/2xyz2+11841y2z2+54/89xz3-27/53yz3-95/104z4-87/113x3u-12090x2yu+25/106xy2u+1120y3u-173x2zu-1735xyzu-9/112y2zu+4895xz2u-11886yz2u-120/17z3u+45/121x2u2-1327xyu2+23/85y2u2-3422xzu2+2034yzu2-2829z2u2+5830xu3-93/65yu3+21/19zu3-101/100u4-140x3v+12757x2yv-3848xy2v-71/86y3v-11134x2zv+33/53xyzv+37/61y2zv-11686xz2v-37/76yz2v-3316z3v+32/3x2uv-37/3xyuv-43/125y2uv+111/23xzuv+32/97yzuv-7884z2uv+8055xu2v+31/52yu2v-14317zu2v+9666u3v-65/72x2v2-12481xyv2+7/109y2v2-71/115xzv2-9788yzv2+1955z2v2-43/20xuv2+1/21yuv2-2/19zuv2-13/123u2v2+7/79xv3-64/97yv3+13/19zv3-7458uv3+3682v4,-59/83x4+33/98x3y+53/22x2y2+107/85xy3-29/82y4+3534x3z-108/37x2yz+5635xy2z-118/121y3z-117/35x2z2-8619xyz2-82/101y2z2-4/73xz3-5967yz3-26z4-14917x3u+73/52x2yu+103/92xy2u-100/99y3u-103/123x2zu+12512xyzu-20/71y2zu-6846xz2u-4514yz2u+121/34z3u+19/16x2u2+7645xyu2-15042y2u2+6886xzu2-11/30yzu2-2299z2u2+46/49xu3-90/37yu3+67/13zu3+67/63u4+45/68x3v-61/105x2yv+73/126xy2v-77/23y3v+122/57x2zv+12923xyzv-2926y2zv-1126xz2v-16/5yz2v+111/58z3v-10774x2uv+5603xyuv-975y2uv-8680xzuv+3973yzuv-5795z2uv+2486xu2v+8136yu2v-34/87zu2v-11205u3v-10372x2v2-9501xyv2+2121y2v2+15744xzv2+455yzv2-97/107z2v2-25/118xuv2-10580yuv2+91/6zuv2-11835u2v2-68/93xv3-9566yv3+117/14zv3+13917uv3-67/44v4;
     3409TestGRRes(Name, 2, I); kill R, Name, @p;
     3410
     3411string Name = "k3.d14.g19"; int @p=31991; ring R = (@p),(x,y,z,u,v), dp;
     3412ideal I = x4y2+52/25x3y3+73/79x2y4+33/83xy5-116/65y6+23/39x4yz-45/11x3y2z-45/16x2y3z+73/8xy4z+107/70y5z+115/8x4z2-4619x3yz2+13504x2y2z2+9/118xy3z2-113/64y4z2+10731x3z3-7/13x2yz3-26/17xy2z3+3/59y3z3-4602x2z4+71/44xyz4-66/43y2z4-37/70xz5-6988yz5-123/29z6-6158x4yu+9171x3y2u+71/122x2y3u-119/73xy4u-15409y5u+85/3x4zu+104/59x3yzu-3336x2y2zu-50/107xy3zu-10232y4zu-8965x3z2u-2736x2yz2u+4/61xy2z2u+49/92y3z2u+13261x2z3u+64/31xyz3u-89/70y2z3u+11080xz4u+10139yz4u+13653z5u+34/25x4u2-5678x3yu2+43/13x2y2u2+4119xy3u2+72/109y4u2-77/64x3zu2+15044x2yzu2+97/53xy2zu2+9036y3zu2-10599x2z2u2-107/126xyz2u2+43/12y2z2u2-4690xz3u2-43/75yz3u2-15886z4u2-113/7x3u3-242x2yu3+85/19xy2u3-20/57y3u3+109/37x2zu3+6103xyzu3-51/43y2zu3-89/92xz2u3-14/87yz2u3+59/111z3u3-40/63x2u4+113/86xyu4-17/109y2u4-11039xzu4+107/31yzu4+121/47z2u4-123/5xu5+83/97yu5+110/23zu5-122/83u6-15/17x4yv+96/65x3y2v-1491x2y3v+3885xy4v+26/87y5v-51/89x4zv-123/88x3yzv-2315x2y2zv-4119xy3zv-3390y4zv-68/5x3z2v-57/67x2yz2v-116/77xy2z2v+109/54y3z2v+23/89x2z3v+19/77xyz3v+32/107y2z3v-85/121xz4v+9325yz4v+87/32z5v-65/81x4uv-39/19x3yuv+4671x2y2uv+54/77xy3uv+8/47y4uv+1194x3zuv+5/14x2yzuv+1151xy2zuv+90/103y3zuv-55/8x2z2uv-44/101xyz2uv-4713y2z2uv-1/7xz3uv+13344yz3uv-11451z4uv-101/108x3u2v+42/55x2yu2v+4810xy2u2v-3/40y3u2v+4699x2zu2v+114/53xyzu2v+49/116y2zu2v-9/74xz2u2v-84/109yz2u2v-119/97z3u2v+15282x2u3v-109/71xyu3v+2490y2u3v-119/47xzu3v+43/40yzu3v-105/86z2u3v-101/70xu4v+10041yu4v-93/53zu4v+4204u5v+83/43x4v2+15199x3yv2+26/43x2y2v2-6627xy3v2+59/113y4v2+10482x3zv2-8354x2yzv2-78/79xy2zv2+7126y3zv2+68/25x2z2v2+94/59xyz2v2+83/45y2z2v2-59/60xz3v2+15768yz3v2+15/29z4v2-43/100x3uv2-11939x2yuv2+1832xy2uv2+29/6y3uv2+115/76x2zuv2+51/106xyzuv2+7/23y2zuv2+19/107xz2uv2-13797yz2uv2+16/109z3uv2-7519x2u2v2+3472xyu2v2-28/107y2u2v2-11283xzu2v2+12707yzu2v2+54/47z2u2v2+1841xu3v2-3037yu3v2+9239zu3v2+3729u4v2+7476x3v3+59/81x2yv3-49/85xy2v3-91/60y3v3+20/77x2zv3-2761xyzv3+4245y2zv3+97/75xz2v3+42/121yz2v3+1822z3v3-97/16x2uv3-47/10xyuv3-11222y2uv3-2194xzuv3+116/21yzuv3+118/47z2uv3-89/23xu2v3+7317yu2v3-10812zu2v3+70/13u3v3-5855x2v4-9755xyv4+14875y2v4+59/117xzv4-33/109yzv4+48/59z2v4+62/57xuv4-56/73yuv4-3601zuv4+2155u2v4-77/107xv5+12478yv5+7028zv5-3652uv5+81/28v6,-50/87x4yz-2298x3y2z+9266x2y3z-55/16xy4z+31/76y5z+13/46x4z2-11/100x3yz2+90/119x2y2z2-65/54xy3z2-102/77y4z2-76/109x3z3-6558x2yz3-60/19xy2z3-17/113y3z3-74/43x2z4+8092xyz4-13313y2z4-13/107xz5-47/82yz5+5501z6+39/17x4yu-11/13x3y2u-4407x2y3u+89/117xy4u+118/101y5u-37/57x4zu+100/33x3yzu-99/46x2y2zu-2772xy3zu-75/94y4zu-6429x3z2u-7628x2yz2u+10112xy2z2u+85/32y3z2u-4068x2z3u+81/95xyz3u+97/89y2z3u-12700xz4u+19/113yz4u+14306z5u+13878x4u2-22/21x3yu2+107/41x2y2u2-16/97xy3u2-2426y4u2-12247x3zu2+71/41x2yzu2+16/69xy2zu2+37/113y3zu2-12195x2z2u2-8354xyz2u2-6177y2z2u2-10139xz3u2+9118yz3u2-113/115z4u2-8042x3u3+37/97x2yu3+7/30xy2u3+90/73y3u3-14676x2zu3+630xyzu3+7824y2zu3-5947xz2u3-12019yz2u3+99/19z3u3+17/117x2u4+1943xyu4-47/45y2u4-79/98xzu4+46/119yzu4-98/25z2u4-20/69xu5+45/28yu5-123/14zu5-20/29u6+83/41x4yv+32/19x3y2v+5/107x2y3v+9/95xy4v+35/33y5v+14385x4zv+2237x3yzv+109/11x2y2zv-6489xy3zv-96/107y4zv+1749x3z2v+23/64x2yz2v+105/17xy2z2v+11/70y3z2v-4677x2z3v-4/119xyz3v+8243y2z3v-7538xz4v-45/58yz4v+1768z5v-10804x4uv-102/89x3yuv-80/17x2y2uv-103/66xy3uv-14/55y4uv-5981x3zuv+2/35x2yzuv+24/71xy2zuv-17/62y3zuv-59/52x2z2uv+468xyz2uv+61/110y2z2uv-1265xz3uv-11317yz3uv+15610z4uv+61/116x3u2v+1972x2yu2v+26/121xy2u2v+9787y3u2v-91/62x2zu2v+101/65xyzu2v-85/111y2zu2v+99/95xz2u2v-125/51yz2u2v+10324z3u2v+95/73x2u3v-705xyu3v-6165y2u3v+2215xzu3v-109/12yzu3v+72/95z2u3v-149xu4v+14154yu4v+412zu4v+2747u5v+113/25x4v2+5988x3yv2-119/107x2y2v2-70/41xy3v2+2891y4v2+85/103x3zv2-9398x2yzv2-116/117xy2zv2-12527y3zv2-8408x2z2v2-76/47xyz2v2+13729y2z2v2-65/77xz3v2+23/94yz3v2+61/77z4v2+18/121x3uv2-8520x2yuv2+103/34xy2uv2+17/40y3uv2+23/104x2zuv2+7/29xyzuv2-5908y2zuv2-7791xz2uv2-12032yz2uv2+125/82z3uv2-89/126x2u2v2+22/75xyu2v2-118/67y2u2v2+34/29xzu2v2+30/109yzu2v2-64/37z2u2v2-113/87xu3v2+110/109yu3v2+81/23zu3v2-40/99u4v2-14204x3v3+5939x2yv3-7749xy2v3+2924y3v3-3662x2zv3-51/122xyzv3-7218y2zv3-13482xz2v3+12673yz2v3-9675z3v3+6567x2uv3-14008xyuv3+14242y2uv3-4310xzuv3+757yzuv3-9110z2uv3+27/14xu2v3-81/40yu2v3-42/29zu2v3+7287u3v3+119/94x2v4-11926xyv4-82/117y2v4+4138xzv4-67/70yzv4+79/49z2v4-113/50xuv4+102/113yuv4-4791zuv4-11/97u2v4-19/18xv5+6866yv5+63/101zv5+4646uv5-374v6,109/29x4yz+94/43x3y2z-13879x2y3z-53/73xy4z+9074y5z+846x4z2-107/44x3yz2+62/71x2y2z2-121/68xy3z2+14200y4z2-78/89x3z3+51/94x2yz3+123/5xy2z3-731y3z3-15645x2z4-91/25xyz4+39/17y2z4+10343xz5-14671yz5+101/71z6+10467x4yu-3/64x3y2u+75/31x2y3u-43/66xy4u-118/55y5u+7/25x4zu-59/95x3yzu+11830x2y2zu-76/121xy3zu+95/72y4zu-121/53x3z2u+120/7x2yz2u-7033xy2z2u+89/2y3z2u+86/47x2z3u-13/99xyz3u-1447y2z3u+6253xz4u-9082yz4u-4518z5u+31/111x4u2+68/79x3yu2-3532x2y2u2+61/94xy3u2+1210y4u2-11697x3zu2-9386x2yzu2-8263xy2zu2+11759y3zu2+113/118x2z2u2-6488xyz2u2+41/30y2z2u2-15179xz3u2-10848yz3u2-14/51z4u2-13/123x3u3-21/10x2yu3-4018xy2u3-11558y3u3-68/13x2zu3+41/119xyzu3-94/31y2zu3+97/101xz2u3+2551yz2u3+51/73z3u3-10862x2u4-44/125xyu4+113/13y2u4-5704xzu4+65/116yzu4-9578z2u4-95/58xu5+8033yu5-79/124zu5-107/76u6+7293x4yv+15260x3y2v+32/35x2y3v+8519xy4v-50/83y5v+83/40x4zv-6104x3yzv+83/121x2y2zv+230xy3zv+9/50y4zv+1507x3z2v-75/112x2yz2v-20/7xy2z2v-12689y3z2v-75/112x2z3v-8673xyz3v+79/69y2z3v-12453xz4v-4805yz4v-125/11z5v-22/97x4uv-11396x3yuv+67/88x2y2uv-75/122xy3uv-30/29y4uv-837x3zuv-71/12x2yzuv+37/77xy2zuv+78/59y3zuv-13742x2z2uv+13080xyz2uv+643y2z2uv-7517xz3uv-15577yz3uv+52/75z4uv+12922x3u2v-14629x2yu2v-10188xy2u2v-5113y3u2v+67/51x2zu2v-15273xyzu2v-13388y2zu2v+121/109xz2u2v-64/83yz2u2v+69/20z3u2v-117/44x2u3v-7091xyu3v-118/45y2u3v+73/26xzu3v-117/38yzu3v+1448z2u3v+71/19xu4v-12698yu4v+107/81zu4v+21/43u5v-94/79x4v2-1660x3yv2-15179x2y2v2-10/71xy3v2+9523y4v2+6/115x3zv2-15x2yzv2+15142xy2zv2+6157y3zv2+5/79x2z2v2+126/47xyz2v2+14/107y2z2v2+35/11xz3v2-65/51yz3v2-7246z4v2-2652x3uv2-79/69x2yuv2-21/59xy2uv2-14050y3uv2-89/81x2zuv2+91/55xyzuv2-7501y2zuv2-7688xz2uv2-73/102yz2uv2-27/13z3uv2-2186x2u2v2+120/31xyu2v2+45/43y2u2v2-101/16xzu2v2-69/83yzu2v2-12658z2u2v2-7658xu3v2-53/103yu3v2+11620zu3v2+672u4v2-10795x3v3+10972x2yv3-7178xy2v3+81/2y3v3+67/43x2zv3-113/12xyzv3-3947y2zv3-17/5xz2v3-102/49yz2v3-67/26z3v3+5/6x2uv3-95/4xyuv3+2582y2uv3+72/23xzuv3+8490yzuv3-46/111z2uv3+224xu2v3+658yu2v3-98/89zu2v3+7954u3v3+87/35x2v4+7260xyv4+91/40y2v4+11611xzv4+9076yzv4+6444z2v4-8/95xuv4-12845yuv4+86/61zuv4-59/113u2v4-115/84xv5-116/41yv5-119/62zv5+15120uv5-37/51v6,21/122x4yz-9662x3y2z-11556x2y3z+67/18xy4z-10712y5z-4891x4z2+113/118x3yz2-94/83x2y2z2+61/90xy3z2+108/101y4z2+9905x3z3+12/29x2yz3+13047xy2z3-55/46y3z3+59/88x2z4+59/78xyz4+11951y2z4-1357xz5-75/77yz5+15673z6+40/113x4yu+9/55x3y2u-62/83x2y3u+65/111xy4u+4184y5u-9578x4zu+124/17x3yzu+91/85x2y2zu-1/66xy3zu+4184y4zu+101/77x3z2u-12238x2yz2u-5394xy2z2u+82/9y3z2u-73/113x2z3u+3736xyz3u+52/81y2z3u+10426xz4u+11/120yz4u+89/123z5u-99/74x4u2-9/46x3yu2-57/29x2y2u2-24/125xy3u2+115/119y4u2-10/103x3zu2-66/17x2yzu2-662xy2zu2-31/17y3zu2-56/27x2z2u2-4728xyz2u2-86/59y2z2u2-19/34xz3u2+61/13yz3u2-14093z4u2-9068x3u3-115/94x2yu3+15912xy2u3-79/66y3u3-3631x2zu3+1074xyzu3-113/105y2zu3-89/109xz2u3-80/91yz2u3+119/12z3u3+19/87x2u4-42/25xyu4+116/55y2u4+10/77xzu4+74/79yzu4-77/81z2u4-90/121xu5-43/31yu5+107/122zu5+76/113u6+60/17x4yv-6269x3y2v-124/75x2y3v+89/48xy4v-69/2y5v+8832x4zv+13984x3yzv+35/29x2y2zv-65/88xy3zv+53/74y4zv-55/79x3z2v-104/105x2yz2v+50/29xy2z2v-118/119y3z2v-25/88x2z3v+69/82xyz3v-56/69y2z3v-10495xz4v-73/50yz4v+1872z5v-62/19x4uv+99/89x3yuv+3156x2y2uv+5804xy3uv+85/91y4uv+10928x3zuv-4/83x2yzuv+2839xy2zuv+11/38y3zuv+55/126x2z2uv+15613xyz2uv+69/28y2z2uv+75/17xz3uv+115/51yz3uv-111/68z4uv-9781x3u2v+2/105x2yu2v-29/10xy2u2v+90/53y3u2v-12840x2zu2v+85/71xyzu2v-91/80y2zu2v+15904xz2u2v-82/69yz2u2v-32/75z3u2v-91/2x2u3v-77/61xyu3v-9757y2u3v-97/52xzu3v-32/9yzu3v-7457z2u3v-113/100xu4v-13367yu4v-16zu4v+17/53u5v+90/103x4v2-9338x3yv2-42/61x2y2v2+57/124xy3v2-17/6y4v2+6201x3zv2+75/8x2yzv2+13205xy2zv2-21/23y3zv2+6724x2z2v2-1646xyz2v2-3/41y2z2v2+13206xz3v2+14595yz3v2+3100z4v2-94/107x3uv2+106/99x2yuv2+53/24xy2uv2-10113y3uv2+13103x2zuv2+121/124xyzuv2-104/103y2zuv2+59/62xz2uv2+13343yz2uv2-73/72z3uv2-35/123x2u2v2+91/33xyu2v2+75/58y2u2v2-69/73xzu2v2-15760yzu2v2+684z2u2v2-12551xu3v2-99/79yu3v2+74/87zu3v2+9255u4v2-9727x3v3+1222x2yv3+31/115xy2v3+37/50y3v3-86/125x2zv3-5/82xyzv3+7/2y2zv3+69/88xz2v3-25/119yz2v3-120/101z3v3-48/113x2uv3-25/97xyuv3-14896y2uv3+13431xzuv3+13246yzuv3+7556z2uv3-103/111xu2v3+13/108yu2v3+9471zu2v3+31/114u3v3-121/23x2v4-65/69xyv4+66/95y2v4+30/59xzv4-111/40yzv4+55/4z2v4+114/121xuv4+7610yuv4-9205zuv4+85/81u2v4-88/59xv5-4248yv5+95/91zv5+156uv5-71/90v6,7698x4y-93/32x3y2+95/37x2y3+29/104xy4+10/23y5-11774x4z+4544x3yz-9/85x2y2z-45/49xy3z+110/41y4z-44/91x3z2-6083x2yz2+116/111xy2z2+47/68y3z2-11603x2z3-4229xyz3-13462y2z3-31/19xz4+4222yz4-700z5-34/11x4u-20/17x3yu-2471x2y2u-11235xy3u+13259y4u-111x3zu-109x2yzu-89/61xy2zu-28/11y3zu+74/97x2z2u+5554xyz2u+75/47y2z2u-68/77xz3u+15754yz3u-7/51z4u-53/98x3u2+9699x2yu2-9/104xy2u2+64/87y3u2-95/4x2zu2-595xyzu2+4/19y2zu2-18/95xz2u2-13449yz2u2+2931z3u2-11155x2u3-83/29xyu3+7830y2u3+108/91xzu3+13161yzu3+37/42z2u3-16/79xu4-10604yu4-15832zu4+40/39u5-6020x4v+910x3yv+13/110x2y2v+7/86xy3v-97/101y4v-3286x3zv+80/91x2yzv+12467xy2zv+115/99y3zv+79/60x2z2v-8/19xyz2v+105/71y2z2v+60/119xz3v-71/15yz3v+15272z4v-7397x3uv+125/7x2yuv-9507xy2uv+5301y3uv-5605x2zuv-32/35xyzuv-5523y2zuv+67/88xz2uv+15144yz2uv+3/8z3uv-33/56x2u2v+37/29xyu2v+49/19y2u2v-10604xzu2v+37/44yzu2v-8754z2u2v+4184xu3v-56/89yu3v-23/32zu3v+74/101u4v-23/123x3v2-13803x2yv2+54/95xy2v2+9751y3v2+55/119x2zv2+75/32xyzv2+10091y2zv2+1108xz2v2-13283yz2v2+98/111z3v2+5/109x2uv2+28/79xyuv2-95/6y2uv2-7880xzuv2-12659yzuv2+14820z2uv2+4279xu2v2+79/51yu2v2-67/49zu2v2+11207u3v2+85/54x2v3-78/43xyv3-3/95y2v3-86/65xzv3+1/114yzv3+27/74z2v3-102/31xuv3-11/59yuv3-33/29zuv3-3/110u2v3-8455xv4+77/100yv4-6225zv4-70/9uv4-10939v5,-7698x5-16/39x4y+51/61x3y2+59/33x2y3+12841xy4-11040y5+14163x4z-79/55x3yz-83/18x2y2z+121/67xy3z+52/35y4z+26/15x3z2+12770x2yz2-67/15xy2z2-12895y3z2-11/16x2z3-82/45xyz3+2446y2z3+116/9xz4+6/61yz4+83/98z5+9973x4u+67/101x3yu+25/19x2y2u+7517xy3u-59/117y4u-1/86x3zu-10/119x2yzu+2552xy2zu-2448y3zu-112/45x2z2u+35/71xyz2u+12328y2z2u+124/65xz3u-15531yz3u-39/16z4u+4678x3u2-44/103x2yu2-9303xy2u2+59/20y3u2-45/97x2zu2+2707xyzu2+65/61y2zu2+75/68xz2u2+2853yz2u2-12748z3u2-17/18x2u3-115/121xyu3+72/71y2u3-12194xzu3-14204yzu3-63/17z2u3+5772xu4-99/16yu4-51/43zu4+49/43u5-2588x4v+89/44x3yv+32/107x2y2v-117/76xy3v-84/115y4v+113/30x3zv-13/68x2yzv+15120xy2zv-59/28y3zv+61/52x2z2v+12390xyz2v+11436y2z2v+109/40xz3v+40/61yz3v+65/31z4v+12764x3uv+15885x2yuv-11299xy2uv-113/66y3uv+2887x2zuv-918xyzuv+12579y2zuv+39/10xz2uv-119/53yz2uv-62/115z3uv-10887x2u2v+115/122xyu2v-8863y2u2v-30/79xzu2v-26/5yzu2v+15294z2u2v-15701xu3v-11/19yu3v+25/14zu3v-48/55u4v+1341x3v2-4973x2yv2+55/117xy2v2-1787y3v2-115/57x2zv2+28/29xyzv2-184y2zv2+11738xz2v2-8375yz2v2-5962z3v2+52/55x2uv2+17/48xyuv2-103/52y2uv2-53/25xzuv2-101/3yzuv2-123/35z2uv2-14815xu2v2-103/14yu2v2-68/81zu2v2-81/22u3v2-121/56x2v3-12609xyv3+5555y2v3+8/17xzv3-741yzv3-73/103z2v3-12550xuv3-17/78yuv3+7817zuv3+6534u2v3-15384xv4+1807yv4-4677zv4-101/115uv4-83/19v5,-53/83x5+107/75x4y+26/51x3y2+45/109x2y3-3009xy4-27/61y5+16/85x4z-14859x3yz-20/27x2y2z+6326xy3z-4508y4z-10006x3z2-11979x2yz2+8579xy2z2+14669y3z2+67/79x2z3-2551xyz3-61/124y2z3+83/10xz4+12698yz4+15/113z5+123/86x4u-77/6x3yu+15113x2y2u+79/117xy3u-115/88y4u+101/95x3zu+56/13x2yzu-25/62xy2zu+1955y3zu+70/33x2z2u+7470xyz2u-2148y2z2u-14263xz3u-3962yz3u+47/35z4u+441x3u2+14944x2yu2-2/77xy2u2+68/23y3u2-121/43x2zu2-14321xyzu2-35/32y2zu2+34/21xz2u2+11645yz2u2+7131z3u2-3615x2u3-2748xyu3-15200y2u3+81/101xzu3+39/64yzu3-3967z2u3-10346xu4+55/18yu4-8/9zu4+33/68u5-13957x4v+31/116x3yv+58/81x2y2v+36/71xy3v-5706y4v-95/48x3zv+3214x2yzv+14729xy2zv+71/109y3zv+15365x2z2v-5109xyz2v-20/107y2z2v-6/11xz3v+74/55yz3v-76/11z4v+41/72x3uv+7215x2yuv-18/59xy2uv+1741y3uv+7698x2zuv-7299xyzuv+12127y2zuv+7/93xz2uv+71/8yz2uv-123/73z3uv+13657x2u2v-98/13xyu2v+11818y2u2v+22/23xzu2v-3038yzu2v+68/61z2u2v-7173xu3v-7460yu3v+3540zu3v+27/20u4v-37/41x3v2+20x2yv2+107/82xy2v2-2237y3v2+9827x2zv2+124/27xyzv2-18/5y2zv2-77/24xz2v2-10231yz2v2-32/7z3v2-11980x2uv2-36/35xyuv2+8618y2uv2+3174xzuv2-123/2yzuv2-117/38z2uv2+117/115xu2v2+70/3yu2v2-3144zu2v2+815u3v2-116/85x2v3+98/41xyv3-648y2v3-38/5xzv3-9/125yzv3+8710z2v3+48/31xuv3+101/109yuv3+70/11zuv3-51/4u2v3-76/59xv4-93/52yv4+15291zv4+4/55uv4+64/59v5,568x5+4355x4y+48/5x3y2+33/7x2y3-53/111xy4+1749y5-23/4x4z-98/69x3yz-47/56x2y2z-8519xy3z-5/113y4z+11488x3z2+79/21x2yz2+11/89xy2z2-64/83y3z2-15697x2z3-67/86xyz3+11545y2z3+3336xz4-106/39yz4+15466z5+15202x4u-34/63x3yu-121/72x2y2u+1/52xy3u+10800y4u+4993x3zu-55/112x2yzu-26/51xy2zu-114/125y3zu+113/2x2z2u-87/88xyz2u-91/107y2z2u-65/6xz3u+15415yz3u+1373z4u-27/86x3u2-76/93x2yu2+9/22xy2u2+16/91y3u2+10326x2zu2-61/84xyzu2-28/99y2zu2+87/14xz2u2-88/45yz2u2+60/59z3u2-13/60x2u3-10824xyu3-121/119y2u3+14919xzu3-81/25yzu3+11233z2u3+14676xu4-8474yu4+12211zu4+32/83u5+57/52x4v+10/13x3yv-277x2y2v-6961xy3v-4594y4v-13439x3zv-1/30x2yzv-118/43xy2zv-62/15y3zv+76/15x2z2v+3805xyz2v-26/15y2z2v+3081xz3v+662yz3v+13856z4v+107/30x3uv+6063x2yuv+100/37xy2uv+110/107y3uv-10346x2zuv-67/44xyzuv-93/29y2zuv+17/89xz2uv-57/104yz2uv-68/91z3uv+3804x2u2v-75/107xyu2v-11842y2u2v-103/57xzu2v-37/18yzu2v+10795z2u2v-90/31xu3v+14200yu3v+97/124zu3v+5256u4v+52/101x3v2-94/107x2yv2-12841xy2v2+77/72y3v2+93/74x2zv2+7033xyzv2+87/76y2zv2-15415xz2v2-15164yz2v2-14749z3v2+86/53x2uv2+14707xyuv2+9443y2uv2+118/5xzuv2-81/2yzuv2+43/57z2uv2+59/83xu2v2-121/79yu2v2+4449zu2v2-50/63u3v2+79/31x2v3+95/32xyv3+125/107y2v3-9165xzv3+3151yzv3+5006z2v3+45/19xuv3-5194yuv3-82/11zuv3+121/15u2v3-10265xv4-99/118yv4-3162zv4-16/29uv4-37/4v5;
     3413TestGRRes(Name, 2, I); kill R, Name, @p;
     3414}
     3415
  • Singular/dyn_modules/syzextra/mod_main.cc

    r9b612a rf93562  
    315315    const ring save = currRing;
    316316    const ring r = syzstr->syRing;
    317     const ring rr = (r != NULL) ? r: save;
     317//    const ring rr = (r != NULL) ? r: save;
    318318
    319319
  • Singular/dyn_modules/syzextra/syzextra.cc

    r9b612a rf93562  
    17931793  if( UNLIKELY( !(  (!OPT__TAILREDSYZ)   ||   m_lcm.Check(multiplier)     )) )
    17941794  {
    1795     if( UNLIKELY(OPT__TAILREDSYZ && OPT__PROT) ) ++ m_stat[5]; // PrintS("%"); // check LCM !
    1796 
     1795    if( UNLIKELY(OPT__TAILREDSYZ && OPT__PROT) )
     1796    {
     1797      ++ m_stat[5]; // PrintS("%"); // check LCM !
     1798#ifndef SING_NDEBUG
     1799      if( OPT__DEBUG ) 
     1800      {
     1801        PrintS("\nTT,%:"); dPrint(multiplier, r, r, 0);
     1802        PrintS(",  *  :"); dPrint(tail, r, r, 0);
     1803        PrintLn();
     1804      }
     1805#endif
     1806    }
    17971807    return NULL;
    17981808  }
     
    19561966  if( s == NULL ) // No Reducer?
    19571967  {
    1958     if( UNLIKELY(OPT__TAILREDSYZ && OPT__PROT) ) ++ m_stat[5]; // PrintS("%"); // check LCM !
     1968    if( UNLIKELY( OPT__TAILREDSYZ && OPT__PROT) )
     1969    {
     1970      ++ m_stat[5]; // PrintS("%"); // check LCM !
     1971#ifndef SING_NDEBUG
     1972      if( OPT__DEBUG ) 
     1973      {
     1974        PrintS("\n%: RedTail("); dPrint(multiplier, r, r, 0); 
     1975        PrintS(" * : "); dPrint(term4reduction, r,r,0 );
     1976        PrintS(", {  "); dPrint(syztermCheck,r,r,0 );
     1977        PrintS("  }) ");  PrintLn();
     1978      }
     1979#endif
     1980    }
    19591981    return NULL;
    19601982  }
     
    20162038    OPT__TREEOUTPUT( atGetInt(rootRingHdl, "TREEOUTPUT", 0) ),
    20172039    OPT__SYZCHECK( atGetInt(rootRingHdl, "SYZCHECK", 0) ),
     2040    OPT__PROT(TEST_OPT_PROT),
    20182041    OPT__NOCACHING( atGetInt(rootRingHdl, "NOCACHING", 0) ),
    2019     OPT__PROT(TEST_OPT_PROT),
    20202042    m_rBaseRing( rootRingHdl->data.uring )
    20212043{
  • Singular/dyn_modules/syzextra/test.sh

    r9b612a rf93562  
    44#"$SINGULAR_EXECUTABLE" -teq "$srcdir/ederc.tst" || exit 1
    55#"$SINGULAR_EXECUTABLE" -teq "$srcdir/syzextra.tst" || exit 1
    6 "$SINGULAR_EXECUTABLE" -tec 'LIB "schreyer.lib"; listvar(Top); proc T(){ Schreyer::testSimple(1); /* Schreyer::testAGR(0); Schreyer::testAGRhard(0); */ } T(); $' || exit 1
     6"$SINGULAR_EXECUTABLE" -tec 'LIB "schreyer.lib"; listvar(Top); proc T(){ Schreyer::testSimple(1, 0); /* Schreyer::testAGR(0); Schreyer::testAGRhard(0); */ } T(); $' || exit 1
  • Singular/iparith.cc

    r9b612a rf93562  
    68696869  res->data=(char *)id;
    68706870  return FALSE;
     6871}
     6872static BOOLEAN jjFETCH_M(leftv res, leftv u)
     6873{
     6874  ring r=(ring)u->Data();
     6875  leftv v=u->next;
     6876  leftv perm_var_l=v->next;
     6877  leftv perm_par_l=v->next->next;
     6878  if ((perm_var_l->Typ()!=INTVEC_CMD)
     6879  ||((perm_par_l!=NULL)&&(perm_par_l->Typ()!=INTVEC_CMD))
     6880  ||((u->Typ()!=RING_CMD)&&(u->Typ()!=QRING_CMD)))
     6881  {
     6882    WerrorS("fetch(<ring>,<name>[,<intvec>[,<intvec>])");
     6883    return TRUE;
     6884  }
     6885  intvec *perm_var_v=(intvec*)perm_var_l->Data();
     6886  intvec *perm_par_v=NULL;
     6887  if (perm_par_l!=NULL)
     6888    perm_par_v=(intvec*)perm_par_l->Data();
     6889  idhdl w;
     6890  nMapFunc nMap;
     6891
     6892  if ((w=r->idroot->get(v->Name(),myynest))!=NULL)
     6893  {
     6894    int *perm=NULL;
     6895    int *par_perm=NULL;
     6896    int par_perm_size=0;
     6897    BOOLEAN bo;
     6898    if ((nMap=n_SetMap(r->cf,currRing->cf))==NULL)
     6899    {
     6900      // Allow imap/fetch to be make an exception only for:
     6901      if ( (rField_is_Q_a(r) &&  // Q(a..) -> Q(a..) || Q || Zp || Zp(a)
     6902            (rField_is_Q(currRing) || rField_is_Q_a(currRing) ||
     6903             (rField_is_Zp(currRing) || rField_is_Zp_a(currRing))))
     6904           ||
     6905           (rField_is_Zp_a(r) &&  // Zp(a..) -> Zp(a..) || Zp
     6906            (rField_is_Zp(currRing, r->cf->ch) ||
     6907             rField_is_Zp_a(currRing, r->cf->ch))) )
     6908      {
     6909        par_perm_size=rPar(r);
     6910      }
     6911      else
     6912      {
     6913        goto err_fetch;
     6914      }
     6915    }
     6916    else
     6917      par_perm_size=rPar(r);
     6918    perm=(int *)omAlloc0((rVar(r)+1)*sizeof(int));
     6919    if (par_perm_size!=0)
     6920      par_perm=(int *)omAlloc0(par_perm_size*sizeof(int));
     6921    int i;
     6922    if (perm_par_l==NULL)
     6923    {
     6924      if (par_perm_size!=0)
     6925        for(i=si_min(rPar(r),rPar(currRing))-1;i>=0;i--) par_perm[i]=-(i+1);
     6926    }
     6927    else
     6928    {
     6929      if (par_perm_size==0) WarnS("source ring has no parameters");
     6930      else
     6931      {
     6932        for(i=rPar(r)-1;i>=0;i--)
     6933        {
     6934          if (i<perm_par_v->length()) par_perm[i]=(*perm_par_v)[i];
     6935          if ((par_perm[i]<-rPar(currRing))
     6936          || (par_perm[i]>rVar(currRing)))
     6937          {
     6938            Warn("invalid entry for par %d: %d\n",i,par_perm[i]);
     6939            par_perm[i]=0;
     6940          }
     6941        }
     6942      }
     6943    }
     6944    for(i=rVar(r)-1;i>=0;i--)
     6945    {
     6946      if (i<perm_var_v->length()) perm[i+1]=(*perm_var_v)[i];
     6947      if ((perm[i]<-rPar(currRing))
     6948      || (perm[i]>rVar(currRing)))
     6949      {
     6950        Warn("invalid entry for var %d: %d\n",i,perm[i]);
     6951        perm[i]=0;
     6952      }
     6953    }
     6954    if (BVERBOSE(V_IMAP))
     6955    {
     6956      for(i=1;i<=si_min(rVar(r),rVar(currRing));i++)
     6957      {
     6958        if (perm[i]>0)
     6959          Print("// var nr %d: %s -> var %s\n",i,r->names[i-1],currRing->names[perm[i]-1]);
     6960        else if (perm[i]<0)
     6961          Print("// var nr %d: %s -> par %s\n",i,r->names[i-1],rParameter(currRing)[-perm[i]-1]);
     6962      }
     6963      for(i=1;i<=si_min(rPar(r),rPar(currRing));i++) // possibly empty loop
     6964      {
     6965        if (par_perm[i-1]<0)
     6966          Print("// par nr %d: %s -> par %s\n",
     6967              i,rParameter(r)[i-1],rParameter(currRing)[-par_perm[i-1]-1]);
     6968        else if (par_perm[i-1]>0)
     6969          Print("// par nr %d: %s -> var %s\n",
     6970              i,rParameter(r)[i-1],currRing->names[par_perm[i-1]-1]);
     6971      }
     6972    }
     6973    if (IDTYP(w)==ALIAS_CMD) w=(idhdl)IDDATA(w);
     6974    sleftv tmpW;
     6975    memset(&tmpW,0,sizeof(sleftv));
     6976    tmpW.rtyp=IDTYP(w);
     6977    tmpW.data=IDDATA(w);
     6978    if ((bo=maApplyFetch(IMAP_CMD,NULL,res,&tmpW, r,
     6979                         perm,par_perm,par_perm_size,nMap)))
     6980    {
     6981      Werror("cannot map %s of type %s(%d)",v->name, Tok2Cmdname(w->typ),w->typ);
     6982    }
     6983    if (perm!=NULL)
     6984      omFreeSize((ADDRESS)perm,(rVar(r)+1)*sizeof(int));
     6985    if (par_perm!=NULL)
     6986      omFreeSize((ADDRESS)par_perm,par_perm_size*sizeof(int));
     6987    return bo;
     6988  }
     6989  else
     6990  {
     6991    Werror("identifier %s not found in %s",v->Fullname(),u->Fullname());
     6992  }
     6993  return TRUE;
     6994err_fetch:
     6995  Werror("no identity map from %s (%s -> %s)",u->Fullname(),
     6996         nCoeffString(r->cf),
     6997         nCoeffString(currRing->cf));
     6998  return TRUE;
    68716999}
    68727000static BOOLEAN jjINTERSECT_PL(leftv res, leftv v)
     
    82248352      while (dA3[i].cmd==op)
    82258353      {
    8226         if ((ai=iiTestConvert(at,dA3[i].arg1))!=0)
     8354        if ((ai=iiTestConvert(at,dA3[i].arg1,dConvertTypes))!=0)
    82278355        {
    8228           if ((bi=iiTestConvert(bt,dA3[i].arg2))!=0)
     8356          if ((bi=iiTestConvert(bt,dA3[i].arg2,dConvertTypes))!=0)
    82298357          {
    8230             if ((ci=iiTestConvert(ct,dA3[i].arg3))!=0)
     8358            if ((ci=iiTestConvert(ct,dA3[i].arg3,dConvertTypes))!=0)
    82318359            {
    82328360              res->rtyp=dA3[i].res;
     
    82398367                  iiTwoOps(op),Tok2Cmdname(dA3[i].arg1),
    82408368                  Tok2Cmdname(dA3[i].arg2),Tok2Cmdname(dA3[i].arg3));
    8241               failed= ((iiConvert(at,dA3[i].arg1,ai,a,an))
    8242                 || (iiConvert(bt,dA3[i].arg2,bi,b,bn))
    8243                 || (iiConvert(ct,dA3[i].arg3,ci,c,cn))
     8369              failed= ((iiConvert(at,dA3[i].arg1,ai,a,an,dConvertTypes))
     8370                || (iiConvert(bt,dA3[i].arg2,bi,b,bn,dConvertTypes))
     8371                || (iiConvert(ct,dA3[i].arg3,ci,c,cn,dConvertTypes))
    82448372                || (call_failed=dA3[i].p(res,an,bn,cn)));
    82458373              // everything done, clean up temp. variables
     
    83318459{
    83328460  memset(res,0,sizeof(sleftv));
    8333   BOOLEAN call_failed=FALSE;
    83348461
    83358462  if (!errorreported)
     
    84208547{
    84218548  memset(res,0,sizeof(sleftv));
    8422   BOOLEAN bo;
    84238549
    84248550  if (!errorreported)
  • Singular/table.h

    r9b612a rf93562  
    802802,{D(jjDBPRINT),   DBPRINT_CMD,     NONE,               -2      , ALLOW_PLURAL |ALLOW_RING}
    803803//,{D(jjEXPORTTO_M),  EXPORTTO_CMD,    NONE,             -2      , ALLOW_PLURAL |ALLOW_RING}
     804,{D(jjCALL2ARG),  FETCH_CMD,       ANY_TYPE/*or set by p*/,2   , ALLOW_PLURAL |ALLOW_RING}
     805,{D(jjFETCH_M),   FETCH_CMD,       ANY_TYPE/*or set by p*/,3   , ALLOW_PLURAL |ALLOW_RING}
     806,{D(jjFETCH_M),   FETCH_CMD,       ANY_TYPE/*or set by p*/,4   , ALLOW_PLURAL |ALLOW_RING}
    804807,{D(jjCALL1ARG),  IDEAL_CMD,       IDEAL_CMD,          1       , ALLOW_PLURAL |ALLOW_RING}
    805808,{D(jjIDEAL_PL),  IDEAL_CMD,       IDEAL_CMD,          -1      , ALLOW_PLURAL |ALLOW_RING}
     
    913916  { "factorize",   0, FAC_CMD ,           CMD_12},
    914917  { "farey",       0, FAREY_CMD ,         CMD_2},
    915   { "fetch",       0, FETCH_CMD ,         CMD_2},
     918  { "fetch",       0, FETCH_CMD ,         CMD_M},
    916919  { "fglm",        0, FGLM_CMD ,          CMD_2},
    917920  { "fglmquot",    0, FGLMQUOT_CMD,       CMD_2},
  • Tst/Short.lst

    r9b612a rf93562  
    3636Short/bug_34.tst
    3737Short/bug_35.tst
     38Short/bug_358.tst
    3839Short/bug_36.tst
    3940Short/bug_37.tst
  • Tst/Short/equising_s.res.gz.uu

    r9b612a rf93562  
    1 begin 644 equising_s.res.gz
    2 M'XL(""',?U$``V5Q=6ES:6YG7W,N<F5S`.T\:V_;2)*?3[^B)S@@DDG:Z@=)
    3 M*1X9D/S8RXP39.W![@%!'%`B91,K2QJ1LLD=['^_JFJRV7HXD\W-`(>+#%ML
    4 M=M>KJ^O1%+M\^\O%V_>,,7[&KM^.V*L\RX]GZ?C5:>NV&A%G##H_I_,T;W=.
    5 M6WAE9V<L^76=9NG\_G-V/$^>C[,\R@V*K(C5,%L4U1D[^6-_#&G_&$BSW9]1
    6 M-"[991$]+F=)9J"#8[8"\=AJT'7;A5MVW#AKQ`S/V'(Q*]ETP`KAE;(9Z<'T
    7 ML[=Q$LW:4U`)<,0_!)XO'M-HQN)DFLZ3F`T__X.A`M:S:)7F)4%^Y)_>M(#(
    8 M9V@,"MT2GP:E:,'%&A%FJ"AU4P*4-$+TS[3P-RC\T!VYY^Z%>^E>N=L3X=UJ
    9 M(E<#FH<S+)Q1Z9R7PKDH2N>R$,Z5-3O.<7:W^2K*UX_M*U?`#&N9ZVLMY,C<
    10 M@)A#<P."GA.XV`2_L,'/;?"&D$)"-6+7""4VA9+?)M25S>;\TMSYGP:>.G<N
    11 MA.D)8+P1-X0[\0?/")SD'^ELQE:-YLDQS)U?6V=CGC-K50-CGD7HE*'3+KRR
    12 M<R>."@$+"Q_J%%WA??*<+^9LOIA[<7*?S!/08&)H@(GGT?ISDI$="VX&P,)G
    13 M:9:SGP>VH5L6GF8OD*Z]H?;]RO19BE00;;)X7*[S)/[!,`-+?HK3QW:6Q^V?
    14 M0:N=#HFN);.D$MT-0+$)^'F:%JPEC(,(CMIDYE8<[U65K:5=#0FYJ2%A!F"M
    15 MOD(Y#47V@U'-4[+*=)!8K!ZC/`6XYS1_8/DJ?3IF63+!+@0<?,U/317_SK5N
    16 M=Y1?.0Y;`&MVNTPF[?./^:>3_$YTOIK/?JX0Y]+L(8E;MJK]/0MJZR[8LXXM
    17 MH<QX:/N!Z-'"!:4G"U4J#SY\1\+2A=@,'`'-GE?R+K7ZT.)H_KP++0AW7)XR
    18 M7&+%QJMH/GEHPK_HVVM;9XJ6;^Q-=@]K_-(:2[Z[QK;J(%[_?+J9ZT3AE[XG
    19 MBA#C4[\TZ4W`VDH'/G"P9U(==,!B]RHX"**`4^5$"-<%[[;J0.WIQ>;U@FOK
    20 MT(:AC:(RB,:`M.D`BU8=WX,"4%0!&/#1!S1$X**0@*'@TZ?/P`E@%AJI!YQY
    21 M%RR.<PV+(G`)0CB"`\/`X0$)PGLD">^2?0)-54K/)UD"LN8BV,S]_]<U)4A5
    22 M@G0E2%FBTI8B;2G2EB)M!1O:*DA=M6ZUPHI*8U)K3&J-2:TQJ37FD\9\TIB/
    23 M&@LUU3XM7+5FJM!1@,B*9LWH,Z25J]3"NWKM4`RNP5$CN'A2+UZH%Z^G%Z^O
    24 M%Z^9HT]S#(QN:K,W2;W)ZA(RA6G3_O1/V?K*8/_6]Y<D@V#QMV3U$,WR9,[2
    25 M.<6FR4.:Q!"VYNP&8@A<#)WPF"U7BPEN^MNT!X@[9@Q"\6_FIG_,@%K.4C-5
    26 MQ:$+`EX['?#3],=!EOXS:<>=T]1Q#`TECU$L0T;YQUK0I$@F$-?:\<?T4Z<A
    27 M&5;#IJ-?=>C-#QLP6GY9&9MRR'F@!WP`/GOH,&A?!2PT?G;1IWBSW?7Y\;;*
    28 M_L/FYZMJG'1Q/="!G;)!#1%4$!#LV8=B<`TNW`SVJL$LR6DW]Z$P8T'7GLH5
    29 M3.4J^\A="SL0V\*9D0VQ+K-KO`SL/7(C8%`+J,$@DIQ:A&H!TREKY^4R64S;
    30 M%1P$]<'@%3)XU3'P82WT;TU7(Z7>Y5W>@BB&"*I#>X7N,G*%]1S^97IJ29-9
    31 M9O9@82VAL9E>US!$G=\,#*]-1D;I-Z=&V)[89MJKQ5@L,2FW5TE\.VJTUS/:
    32 MNQU@LKN\M<9Z9LST]4$XTZZ9_4IB_(IJL2!KQF;]T\=HV?Y0N-;B]0.+G%FK
    33 M[++*_M8Z\V[#F7=KSJ2/:[<Q.]Y5]M"O37]@64+U!-N^Z71^TX"@PW\9T)Y-
    34 MPL0ZSO7"&#@.4C0WT@1"SD$&[5`PZU?Z,0=:S6/X*]?J;G?=J-,\H;/'=$XJ
    35 M&[#H#J+VZ2O7T/6-9;!-`BQO\^-CU>GL9Q%:W898L)\8YV[4YIT7)(*1;:'"
    36 M_72D2S+U;)D:5?;H>Y?V-:QOMW5YB_N"(=#&)C[7M@4U)38E-?$YLZVHZ6/3
    37 MIV:`S8":(39#:O:PV:-F'YM]:F):!!Y=?:,9:HZ<6'+-DQ-3KKER8LLU7TZ,
    38 MN6;'B377##DQYYHE)_:\8DH"",U4D`2BFB9)(#13H2>MF0J20&BF@B000<>#
    39 M.>M)"Y)#:-:"Y!":M2`YA&8M2`Y9L28YI&8M20Y9Z9CDD)JU)#FD9BVU^C53
    40 M27)(/7E)$BA-6I($JB)-$JB*-$F@*M(D@=*D%4F@-&E%$BA-6I$$2D].D01*
    41 M3TYI$]"34]H(M`2*)/"U!(HD\"MJ)(%?42,)?$W-)PE\3<TG"0)-S2<)`DW-
    42 M)PD"/1^?)`CT?'R2(*A,4ANBGH]/$@1:`I\D"+0$/DD0@`0<'S>.CMC?AS?O
    43 MW[[_RQLVG-TG\`R73F"K`#N9#)^I%E-VGS[!]N5^M5C/8WA4268QFR]RB*E9
    44 MEHYGR0\UF02>O4J6+R!E/"6SQ9+E#_`,USS1N6R\SC'VY0\)FR=)C#L9%FF2
    45 M%1&+\62R7F4L7I,[(\HDFDW@60Q3B,N>\7Y.<L!>"HGATU]%A:`7JU62+1?S
    46 M&/'K1]/C@ZL?7/W[<_7OT=$/X>T0W@[A[1#>_I\Z.C^X^L'5OS]7/V3U@ZL?
    47 M7/V[</7OT=$/X>T0WEX(;^%N>.O9X:UOA;<ZHO6LB%:%-V&'-VF'-V6'-]\.
    48 M;X$=WL)#>#N$MV\.;_7+EW[U'O_:O(_!PV=_RIM[+KA^<Y]DGGU<"+2;@ICQ
    49 M>H*:M$^7%EPZA?3P[(8CBU(80J)Y_R=D?7I0OU:K#XCJ]TS+9EKJS+Q^O)#X
    50 MIER>7^#+<KB*BX)W'3G"^RZ^-'?.9=%W@M'Y!5SD$/KA,CH710\N`-TS5/$U
    51 MG!,,`1"&$,[#SUZ)<.=%",B`%0+$Z`(O".?A9U@Z(UD$.'`.%SD$JH&ABN_C
    52 M4"Y$040/VT'IX4T`M(<C4?B(=`Z7@"@$0QCRL.T#'-SX""=&A3)40Z)*J"`Q
    53 M$D`4[%"(<DX7C7@!;>$,92%1PD*!,(7O85,"#$(:JCTM*PP(9`@8$A`\;`J4
    54 M&`:P1]`PK&8PI.4<%G@^P5I<Z^`QQQ-KFV_X7SH#V_U##ZMR/`FW]<[9^`J>
    55 M!-MZ#8RGO_X$1Y&R.N+R^YZ"QUSPV%H.SOX0K:))GJS2+$\GAI8RIVO!03BO
    56 M/21RQ]I'VO$2$CNX"F1Z^&S>LDN_\1C6+KVH\,9'Q9WHW/E><<=%`QB<U:=>
    57 M8WIM[`T[1Y$'K+@S<H:`<33V>`,>GNDS($<$>><?&;@[OX'J:2B:;M*^<O%(
    58 M0AIW+/G^=T8R'"G/'_E@J"/IJ)%R!'@5.*4W'#D^M/PAN,;&"6L!@Q(P?&@)
    59 M3R">!#RX\Q"5AH<T@$X%8(Y%`+,7]JJ1[RAH(2@@(6.X]>"&W!I8XXT#-'!X
    60 M"")NF*P:`1\?9%4>41&`+P'?)P(@$0B@`!EG((?`S3[Z/?0]$E\Y,/<ASIK@
    61 MY<YL(8>.`H1%\23-4WBC77=17W`7Q7>.B''UY_B+DLV1,)[E;+&*D]5+SG.L
    62 MC=H<#.)*;9P_U^ZQ=0J=*_\+I]`;J,!4($R=X5%Y%*?3:7OJ%AUG=%18=^=U
    63 MNVSL68756?1W@^VRA!H"?.+=RV:^MQ3AW#;A37/<LY[@4IO<@X:[#XN-3OA.
    64 M'W6"@8J!)BW0@5J:LLG4_AXC\+_%"`RR;%(_GEA+=*E+$PBH2H7.]9DN-ETM
    65 M'D&U8V;7Z;0N_WOX[L/U)6D`C_<M!TLP@WR&&[=3[&QN!YPZ['T&QL^)&[N)
    66 M.W7OFU(49AUR:A=X'*]T,-'Y'2<JG''I3*`SALX$>J>0+.\+15AZY7=.ML%(
    67 MI>]*W?=:W5.MZ7&+PD+4JDH[)HZ*/94X,42!2=+:FH74A[]!07&:+6=1F;$H
    68 MCE-T#PS><^,L+<H]M@TR1O4#E[=>9A^__NO'#3U\8B?LQXV>LSNQ?9[[O][#
    69 MJBTCVN%BO[?O9^<X-OR-9HOG]9+=YLF2<2JOF"6Y'K:'Q,M#<G.(5UOB'4Z7
    70 ML_0QG>NXD>71*L_>O"!IC7&3/()"6+9>)JOI;+U89VAL1.%%W"_/=K'.05T8
    71 MMEZ;I7B-I_$C;2L3H(R9'DQR,246E<O#+YZPHX1,I]OJ9X?M@_352MJHX@74
    72 M)>@`1?E],LW/\T.R2E@$SH\8C^M9GJ*G5B4!,(]50E4"L-,W(A#_[HL1;FP'
    73 ML\@.9A,O=A([4][;B6^Z+S+>V\2F-K'8$QNT)EYB4QO;>3*RHBA%$E+>6YC&
    74 MU)M&;N*,R8F;<Y$80M]V-B,%'8=<N97#;T:`@_<<O.>/\9[D1>_1B0.RQHX'
    75 M?=%IX@T/M'$W'<;V$;:1D>#YW&1SV&'5V;S94S;IO.G[BGR^G:F_*C^7TAD7
    76 M/L%L;6J[FYY-K7;4^;<]>V>OW,BZ;^]9$]J_YS1LOKS7?'D^5A_N,G&Y0-FZ
    77 M;+':,V..UTF^3NV8T'FS:,&9M06C^C%[`T8=O[]<>VJ3?V?F>VHV=XZUTVS^
    78 M'CW,7F?[BS21M:GJJK976,WC40V,=(("JRQX$3A<E8'>=V$!AO`"&A<X'A:!
    79 MWHIA):I7E+[>D16AWI(5A`AYH@Q;+;93Y[HY547U'4Y`7Y:H`EA0F8<HN4\U
    80 M/X$#S=`I2@$C0CFE[,(??U$A.W5K04]K!0/1+,IS6-WL8;&>Q6Q,D0D6*U^@
    81 M6JQ24,`QJQTVJZTAFL76]U_MF@,INEVYH85:#>U">:7"L^4%[]*`)8T2C32]
    82 MYIB]W_^&>J,:&<M3,(0.YS'&W/?18S)GTS4HYV]@+=%X!K<.)-Y+=I_<)^-D
    83 M;A"Y75?_[#[9Y>@\$.:1\5EX3[S?/]4>EJ6D0;M>OD:19W7YS</<I/FZ]O[]
    84 M`K_CF=\GF$N([SR9)%D6K4J7K9)\O9JSIVBVQOBYL4\X-O1537^CO@=E>EPL
    85 M\@<VCC(0;!G!LP-TKI(H+M^P7SYS%LUCN(+RL?^UQGU=,4WB*JNZ+(M*=NVB
    86 M?-/%>D5"9L?L[9QAK1#EK"Q?@(-6&3?*&#QPK-*"765OV&6=\BE7+G*P1A*E
    87 M3IVPJ4AWRTW=;5(_;9.R\)KY[:#=`%I6_K.\3Q/"NH*110S4CA'REP6+)JAL
    88 ME`1HQ%$>N0S+B'2BLTNB[!(HG>S:5UFG;O[4-&^@20J]UJD;L4^N%OH%`'UE
    89 M_]?%X,,"NEP-)1&*=A&/XR0FB)7>PE#O_DE>0SRJB?^46<21W@G.SY@'I.!Z
    90 M(G9Q%P\@S._6=?$@-.9:Y;GKYNN"H&>^"ZFJO3Q\%]?K./IR]-Q\;Q+T]W_U
    91 M8=,+NV>;7P;6WT,`R#,$BZ<[\#!#^\Y\!1'R[>\T;*+B&XG6]8_76''D-E]N
    92 MA$T1)`^_I0C2(.\I<WQW^9<AZ_KU__<PH&$5AFYHP\-T4&76MU=AO193^BH7
    93 M"UXAOC*/482M@>I%P%*E)CK4S$].JG]H`);PF*[WN>(AD!P""9E2KWOVXD0,
    94 M#+=>+]3UH(VM&S"Q+S08LVRL\DL/5V1KUG/@!`PR-];&WN&\(ZT!M,\(JX=S
    95 MR/6KW27[-QX-];+6CT]Z:2]O;XG-@+[6:Q13]9]2A64S>7GV55@&'J+/WN).
    96 MWH/03M6J6Y6=O(>A'<N7L5-KU#MCL,U2)MCU0L3]V"P/@?2.\)B(@Q<A**AW
    97 M[F1K?V]-J$>$I*HI&4*JBZ<JL*"04#1VZ^61FF#?LJ$JCC>EI:Z>TLD)(KJ$
    98 MR,88G*+E,HE6^.KLJJ;4K_]W$"HY6X\S<#67$8[+2`"OS4]ZG2,]HTZS1GVP
    99 M8WR'WZ82<2P(A\\?!TKAU7$ZOUDD[T&*-.VX*["RQ6,;3+[;Q?\)8DI'^^+,
    100 MJN4UO6`&C^ELOEC9`9G9J^&'+?BMX96!)VU49N+>=[0^=N#]*IO=N)3.WKDU
    101 F1IHV0@1-9NN'S;?P6*N+_S<+_S'6.@/MG/YGZW\`=3P2IVU+````
     1begin 640 equising_s.res.gz
     2M'XL("#FLD50``V5Q=6ES:6YG7W,N<F5S`.T<:V_;R/&[?L5>4""22=K:!TDI
     3M/AF0_&ASYP2I?6@+!'%`B91-5)9T(A63/?2_=V:67*X>SJ5I"A2-C$1:[L[.
     4MS,YS2>[H]I>+UV\98_R,7;\>L1=YEA_/TO&+T]9M-2+.&'1^3.=IWNZ<MO";
     5MG9VQY-=UFJ7S^X_9\3QY.L[R*#=39(6LAMG"J,[8R;?],ZC]8T#-=O]&T;AD
     6MET7TN)PEF8$.CMD*V&.K0==M%V[9<>.L83,\8\O%K&33`2N$5\IFI`?+SU['
     7M231K3T$D0!'_(_!\\9A&,Q8GTW2>Q&SX\>\,!;">1:LT+PGR/?_PJ@5(/D)C
     8M4.B6^#`H10N^K!%AAHI2-R5`2<-$_TPS?X/,#]V1>^Y>N)?NE;N]$-ZM%G(U
     9MH'4XP\(9E<YY*9R+HG0N"^%<6:OC'%=WFZ^B?/W8OG(%K+#FN?ZNF1R9"V!S
     10M:"Z`T7,"%YO@%S;XN0W>(%*(J)[8-4R)3:;DUS%U99,YOS17_H>!I\Z="V%Z
     11M`AAOV`WA2GSC%8&3_#V=S=BJD3PYAKGR:^MLS'-F:34PYEF$3ADZ[<(K.W?B
     12MJ!"@6/A0I^@*;Y.G?#%G\\7<BY/[9)Z`!!.#`TP\C]8?DXSL6'`S`!8^2[.<
     13M_3RP#=VR\#1[!G7M#;7O5Z;/4L2"TR:+Q^4Z3^(?##&PY$]Q^MC.\KC],TBU
     14MTR'6-6<65Z*[`2@V`3].TZ(EC'\(;@M3B..]@K)EM"L?(3?E(\P`:.H+1--@
     15M9#\8P7Q*5ID.$8O58Y2G`/>4Y@\L7Z6?CEF63+`+`0=?\E=CQ?_G6K([HJ_<
     16MABV`-+M=)I/V^?O\PTE^)SI?3&<_58AR:?:0Q'1=R\;?5:<MNF!7B2VAS'"X
     17MH;8>J2TH/5FH4GGPX3L2%!=B,W`$-'M>R;O4ZD.+H^GS+K0@U'%YRE#!BHU7
     18MT7SRT(1^T=_0K&]L3'8/FGU.LY+OT:PE.HC1/Y]NYC=1^*7OB2+$F-0O34H3
     19MH%/IP`<.]DQZ@PY0<J^"@\`)<ZH\""&ZX-U6'9P]K61>*UI;A38(;0R5(32&
     20MHTT&2+3JF!X4,$45,`,^^C`-)W!12)BAX-.GS\`)8!5Z4@\H\RY8&N<:%EG@
     21M$IAP!`>"@<,#8H3WB!/>);L$G*J4GD^\!&3%1;"9[__7)25(5()D)4A8HI*6
     22M(FDIDI8B:04;TBI(7+5LM<"*2F)22TQJB4DM,:DEYI/$?)*8CQ(+-=8^*:[2
     23MF2JT]Q-:T>B,/D/27"46WM6Z0S:X!D>)H/*D5EZHE=?3RNMKY35K]&F-@9%-
     24M;?8FD3>97$)^,&W:D_Y7MKLRV+_=_27)(%C\)5D]1+,\F;-T3K%I\I`F,82M
     25M.;N!&)+,#9KPF"U7BPGN\]N4]N..&8,(_)NYZ!\S0):SU*Q4<>B">-=.!_PT
     26M_7&0I?](VG'G-'4<@T/)8^3*H%'^L>8S*9()A+5V_#[]T&E0`CNFW:]`]5:'
     27M#1@I7E9FIAQR&^@!ZX?/'KH*6E8!*L;/+GH3;S:W/F]P^[+"34N^'NCP33&_
     28MAJ@9A9#.WA6#:W#49C"L!K,DIWW:NZ(9VV#["MB^RMYSUYH=6(P$&XQ<9M?X
     29M-;#WNPU+0<V2!H,(T0S5#*53UL[+9;*8MBLH"-6#P0M$_\)H):AY-'H)^7%M
     30M07JW=GD+;!@4N'AMZ;K+$`YK_O]I>HR&9YG9387A#L&^(8@2OAD86IN$C(AO
     31M#,T>WZ;9J[E8+#'/ME=)?#MJ!-<S@KL=8/ZZO+7&0C/6]/4;!?5K8K\2%[^B
     32M5!K(OMQ6=OH8+=OO"M?26]^WT!E%99=50K=5W&\H\VY-F<1Q[38VQKO2'OJU
     33MZ?<M,ZAN1-LWG<YO&O#FU(B,=T,;Q:I!H?5BX#APT5P($]LX!QZT]\"J7^B[
     34M%6@U=],O7*N[W76C3G.CS1[3.8ELP*([",2G+UR#5QG#8)L(6-[FQ\>JT]E/
     35M(K2Z#3)_/S+.W:C-.\]P!"/;3`7[\4B7>.K9/!E1TBT6A-5KT&^W=7F+J7X(
     36MN+&)MZ=M04V)34E-O%UL*VKZV/2I&6`SH&:(S9":/6SVJ-G'9I^:F.F`1E=?
     37M:(*:(B>27-/D1)1KJIS(<DV7$V&NR7$BS35!3L2Y)LF)/*^($@-"$Q7$@:B6
     38M21P(353H16NB@C@0FJ@@#D30\6#->M&"^!":M"`^A"8MB`^A20OB0U:DB0^I
     39M24OB0U8R)CZD)BV)#ZE)2RU^3502'U(O7A('2J.6Q(&J4!,'JD)-'*@*-7&@
     40M-&I%'"B-6A$'2J-6Q('2BU/$@=*+4]H$].*4-@+-@2(.?,V!(@[\"AMQX%?8
     41MB`-?8_.)`U]C\XF#0&/SB8-`8_.)@T"OQR<.`KT>GS@(*I/4AJC7XQ,'@>;`
     42M)PX"S8%/'`3``<<[B*,C]M?AS=O7;__XB@UG]PG<CJ432/^P.<GP-FDQ9??I
     43M)]B8W*\6ZWD,=Q_)+&;S10XQ-<O2\2SYH4:3P.U4R?(%9(Q/R6RQ9/D#W)8U
     44M-VDN&Z]SC'WY0\+F21+C[H1%&F6%Q"(\F:Q7&8O7Y,XX91+-)G![A2G$94]X
     45M/2<^8'^$R/"&KL)"T(O5*LF6BWF,\^N[S..#JQ]<_?MS]>_1T0_A[1#>#N'M
     46M$-[^3QV='US]X.K?GZL?LOK!U0^N_EVX^O?HZ(?P=@AOSX2W<#>\]>SPUK?"
     47M6QW1>E9$J\*;L,.;M,.;LL.;;X>WP`YOX2&\'<+;5X>W^N5+KWHU?]V\C^E_
     48MZ\.G-6;1U2_CD\RS3P"!=%-@,UY/4)+V(=&"2Z>0'A['<&11"H.H>37,\=R:
     49M_5JM/N>IWS,MS;+PI%K]^O%"XBMP>7Z!;\'A6UP4O.O($5YW\6VX<RZ+OA.,
     50MSB_@2PZA'[Y&YZ+HP1=`]PQ6?`WG!$,`A"&$\_"S5R+<>1'"9)@5`L3H`K\0
     51MSL//L'1&L@APX!R^Y!"P!@8KOH]#OG`*3O2P'90>7@2`>S@2A8^3SN$K(`S!
     52M$(8\;/L`!Q<^PHE1H0S6@+#25.`8$>`4[%`XY9R^],0+:`MG*`N)'!8*F"E\
     53M#YL28!#28`TUKS`@D"#,D##!PZ9`CF$`>P0-@S:#(:ES6.#!`TNYUOEA+GIG
     54M6R_WGSO*VOVF9TXYGGK;>N=L?`4/OFV]!I;\F_J*02NJ4RN_[REX<@5/HN7@
     55M[`_1*IKDR2K-\G1B<$ES2!8<A//:0R)WK'VD'2\AL8.K0*:'STZS.-5X#&N7
     56M7E1XXZ/B3G3N?*^XXZ(!],_JPZLQO3;VAIVCR`-2W!DY0YAQ-/9X`QZ<Z0,?
     57M1P1YYQ\9N#N_@0HU%"TW:5^Y>"0AC3L6?_^9D0Q'RO-'/ACJ2#IJI!P!7@5.
     58MZ0U'C@\M?PBNL7%06L"@A!D^M(0G<)Z$>7#EX50:'M(`.A6`.18"S%[8JT:^
     59MHZ"%H#`)"<.E!Q?DUD`:+QS`@<-#8''#9-4(Z/C`J_((BX#Y$N;[A``X`@84
     60M3,85R"%0LT]P#WV/V%<.K'V(JR9XN;-:R*&C`&&1/4GK%-YHUUWD9]Q%=7=.
     61M?7'UW_$7)9I37CS+V6(5)ZOGG.>8C-I,E1MGR+5O;)TDYTI]YB1Y`^6;*H*I
     62M,SPJC^)T.FU/W:+CC(X*Z^J\;I>-,:N@.D_^9K!=6E!#@$.\>=[&]Y83G-OV
     63MNVF+N\I4X$^;U`.+.F@:/?"-/N8$`Q4!C5J@][0T9I.F_3T6X'^-!9C)HLG[
     64M>#8MT>4J312@2A,ZJ&>ZV'2U>`31CIE=:].Z_-OPS;OK2Y(`GM=;#I9@!OD,
     65M=VVGV-E<#CAUV)L,#)X3-W83=^K>-^4D]@FG=H&'[$H'LYS?<:+"&9?.!#IC
     66MZ$R@=PJ9\KY0-$MK?N=$&XQ4\J[$?:_%/=62'K<H)D2MJCQCXJC84XD30PB8
     67M)*VM5>!);T:'O>,T6\ZB,F-1'*?H&QBYY\936I1X;!MDC*H`+F^]S#Y._>?W
     68M&W+XP$[8CQL]9W=B^WSVG]Z"UI81;6^QW]OWMW.\&OZ/9HNG]9+=YLF2<2J1
     69MF"6Y'K:'Q/-#<G.(5_OA'4J7L_0QG>N@D>71*L]>/<-I/>,F>02!L&R]3%;3
     70MV7JQSM#8",.S<S^_VL4Z!W%AS'II5/$23]='VE8F@!G3/)CD8DHD*I>'?WB\
     71MCK(Q'6VK;QRV#\97FK2GBF>F+D$&R,KOHVG^GAZ25<(B<'Z<\;B>Y2EZ:G7$
     72M']:Q2NC4/VSS#0M$O_MLA!O;P2RR@]G$BYW$3I/W=M:;[HN,]S:RJ8TL]L0&
     73MKHF7V-C&=I*,K"A*D82$]QJ6,?6FD9LX8W+BYE`DAM#7G<U(06<A5V[E\)L1
     74MX.`]!^_Y-MZ3/.L].G%`UMCQH,\Z3;SA@?;<38>Q?81M9"2X.3?9''98=39O
     75M-I1-.F_ZOB"?;V?J+\K/I73&A4\P6SO:[J9G4ZL==?YMS][9*#>\[MM[UHCV
     76M[SD-F<_O-9]?C]6'NTQ4%PA;EQY6&V;,\3K)UZD=$SIOE.:?65LPJ@>S-V#4
     77M\?OJVE-?_#LKWU-WN7.FG5;SU^AA]C+;7VB)I$V55K6]PNH<CVI:I!,46#O!
     78MB\#AJ@STO@O+*H07T+C`\;`(]%8,JTF]HO3UCJP(]9:LH(F0)\JPU6([M:J;
     79M2U54M>$$]*1$%4""BC=$R7VJX0D<:(9.40H8$<HI91?^\V<%LE.'%O2T5#`0
     80MS:(\!^UF#XOU+&9CBDR@K'R!8K'*_F".T7;0:%M#-,K6UU_LF@,INEVY(85:
     81M#.U">:7"@^4%[]*`Q8T2#3=A<\;>[WU%_9"9W-?WCL-YC#'W;?28S-ET#<+Y
     82M"UA+-)[!I0.)]Y+=)_?)V-0$\:!KU\8_N9_LDG(><'/+^"2\3[S?/]4>EJ4D
     83M0;OFO9XBSNI"FX>Y2?-U_?S;!3[@F=\GF$N([CR9)%D6K4J7K9)\O9JS3]%L
     84MC?%S8Y]P;/#+&O]&)0_R]+A8Y`]L'&7`V#*">P?H7"517+YBOWSD+)K'\`W"
     85MQ_Z7>N[+BF@25UG595E4LFL7^9LNUBMB,CMFK^<,JX(H9V7Y`ARTRKA1QN"&
     86M8Y46["I[Q2[KE$^Y<I&#-1(K=>J$346Z6S[J;J/Z:1N5-:]9W\ZT&YB6E?\H
     87M[].$9EW!R"(&;,<(^<N"11,4-G("..(HCUR&!40ZT=G%3W:QDTYV[:NL4S=_
     88M:IHWT"2!7NO4C;-/KA;ZZ3\]K__S8O!N`5VNAI((1;N(QW$2$\1*;V&H=_\B
     89MKR$>U<A_RBSDB.\$UV?,`U)PO1"[C(L'$.9W*[AX$!ASK?+<=?.X(`C-LY"J
     90MKLO#%W&]CJ._CIZ:YR9!;_^CCPU\^%L.]I/`^CD$@#Q!L/AT!QYF<-^91Q!A
     91M=_N9AH4TY%^)5-0O3;#<R&T>;H2R"4JA^@^"4KCG5SK>7/YQR+I^_1L=!K3^
     92MB8X;VO`P'529]?0J-#_30<]QL8`5XBOS&$78&JA6`M8I-=&A)GYR4OTH`5C"
     93M8[K>YXJ'0'(()-J4^F?/+J2&Z76M=PM;E9^\Q_<%!&.,C2U^[I:*+,RZ^YN`
     94M&>;&QM@;7&VDUXU6&6$-<`X9?K6KJ'_CAE`KL[YIT@J]O+TE,@-ZF->(H^H_
     95MI:)*$S=ZXNR+9AEXB#E[ZSEY#P(ZU:=N%7/R'@9TK$+&3BU1[XS!YDJ9$-<+
     96M<"X1KH4.(+TC/!GBX)<0%,H[=[*UO[=&%!(BJ6I,!I'JXD$*K"&D*7IVZ_F1
     97M&F'/LIPJ>C?5I*Y>TLD)3G1I(AMC2(J6RR1:X=NR*X.I7V%"(6?K<08.YC*:
     98MXS)BP&OSDU[G2*^HD5\?C!??VK>IT!O+NN'SQX%2^.TXG=\LC/?`1)IVW!48
     99MV>*Q#7;>[>*/LIABT3X_VRW>Y7VP@L=T-E^L["C,;&7X80O^U?#2P),P*BMQ
     100M[SM:'#OPJDIA-R[EL#=N/2--&R;\)IWU@^;1.U;GX@]>X2]:K3,0SND?6O\"
     101(=B3^\B9+````
    102102`
    103103end
  • Tst/Short/ok_s.lst

    r9b612a rf93562  
    2828bug_tr668
    2929bug_tr671
     30bug_tr679
    3031bug_genus_etc
    3132facstd
  • autogen.sh

    re38553 rf93562  
    44
    55# -d --warnings=all
    6 autoreconf  -v -f -i --include=`pwd`/m4
     6autoreconf  -v -f -i
    77
    88cd -
  • configure.ac

    re38553 rf93562  
    55
    66AC_CONFIG_MACRO_DIR([m4])
    7 AC_CONFIG_AUX_DIR([.])
     7AC_CONFIG_AUX_DIR([build-aux])
    88
    99AC_CONFIG_SRCDIR([Singular/tesths.cc])
     
    263263AC_CONFIG_FILES([emacs/Makefile])
    264264
    265 AC_CONFIG_FILES([debian/Makefile])
    266 AC_CONFIG_FILES([redhat/Makefile])
    267 AC_CONFIG_FILES([redhat/singular.spec])
    268265AC_CONFIG_FILES([desktop/Makefile desktop/Singular.desktop desktop/Singular-manual.desktop])
    269266
     267AC_CONFIG_FILES([singular.spec])
     268
    270269AC_OUTPUT
  • dox/Makefile.am

    re38553 rf93562  
    3939endif
    4040
    41 EXTRA_DIST = Doxyfile.in1 Doxyfile.in
     41EXTRA_DIST = Doxyfile.in logo.png DoxygenLayout.xml header.html footer.html stylesheet.css
  • factory/configure.ac

    re38553 rf93562  
    1616AC_CONFIG_SRCDIR(canonicalform.cc)
    1717AC_CONFIG_MACRO_DIR([../m4])
    18 AC_CONFIG_AUX_DIR([.])
     18AC_CONFIG_AUX_DIR([../build-aux])
    1919AC_CONFIG_HEADER([_config.h])
    2020
  • factory/facFqFactorize.cc

    r9b612a rf93562  
    37243724          ; //ERROR
    37253725        else
    3726           imPrimElem= mapPrimElem (primElem, vBuf, v);
     3726          imPrimElem= mapPrimElem (primElem, alpha, v);
    37273727
    37283728        CFList source, dest;
  • gfanlib/configure.ac

    re38553 rf93562  
    55AC_INIT([libgfan], [0.1], [ren@mathematik.uni-kl.de])
    66AC_CONFIG_MACRO_DIR([../m4])
     7AC_CONFIG_AUX_DIR([../build-aux])
    78AC_CONFIG_SRCDIR([gfanlib.h])
    89AC_CONFIG_HEADER([_config.h])
  • kernel/linear_algebra/linearAlgebra.cc

    r9b612a rf93562  
    407407  /* determine whether uMat * xVec = yVec is solvable */
    408408  bool isSolvable = true;
    409   bool isZeroRow; int nonZeroRowIndex;
     409  bool isZeroRow;
     410  int nonZeroRowIndex = 0 ;   // handle case that the matrix is zero
    410411  for (int r = m; r >= 1; r--)
    411412  {
     
    430431       solution space will be. Thus, we start with the possibly too wide
    431432       matrix N and later copy the relevant columns of N into H. */
    432     int nonZeroC; int lastNonZeroC = n + 1;
     433    int nonZeroC  =  0 ;
     434    int lastNonZeroC = n + 1;
     435
    433436    for (int r = nonZeroRowIndex; r >= 1; r--)
    434437    {
    435438      for (nonZeroC = 1; nonZeroC <= n; nonZeroC++)
    436439        if (MATELEM(uMat, r, nonZeroC) != NULL) break;
     440
    437441      for (int w = lastNonZeroC - 1; w >= nonZeroC + 1; w--)
    438442      {
     
    467471      lastNonZeroC = nonZeroC;
    468472    }
     473    for (int w = lastNonZeroC - 1; w >= 1; w--)
     474    {
     475       // remaining variables are free
     476       dim++;
     477       MATELEM(N, w, dim) = pOne();
     478    }
     479
    469480    if (dim == 0)
    470481    {
     
    484495    idDelete((ideal*)&N);
    485496  }
    486 
    487497  idDelete((ideal*)&cVec);
    488498  idDelete((ideal*)&yVec);
  • kernel/mod2.h

    r9b612a rf93562  
    9494#define SINGULAR_VERSION 4100
    9595#else
    96 #define SINGULAR_PATCHLEVEL 1
     96#define SINGULAR_PATCHLEVEL 2
    9797#define SINGULAR_VERSION ((SINGULAR_MAJOR_VERSION*1000 + SINGULAR_MINOR_VERSION*100 + SINGULAR_SUB_VERSION*10)+SINGULAR_PATCHLEVEL)
    9898#endif
  • libpolys/coeffs/longrat.cc

    r9b612a rf93562  
    4343number nlRInit (long i);
    4444
    45 
    46 number   nlInit2 (int i, int j, const coeffs r);
    47 number   nlInit2gmp (mpz_t i, mpz_t j, const coeffs r);
    4845
    4946// number nlInitMPZ(mpz_t m, const coeffs r);
  • libpolys/coeffs/longrat.h

    r9b612a rf93562  
    102102void   nlDelete(number *a, const coeffs r);
    103103
     104
     105/// create a rational i/j (implicitly) over Q
     106/// NOTE: make sure to use correct Q in debug mode
     107number   nlInit2 (int i, int j, const coeffs r);
     108
     109/// create a rational i/j (implicitly) over Q
     110/// NOTE: make sure to use correct Q in debug mode
     111number   nlInit2gmp (mpz_t i, mpz_t j, const coeffs r);
     112
    104113// FIXME: TODO:  why only if HAVE_RINGS? bug?
    105114#  ifdef HAVE_RINGS
  • libpolys/configure.ac

    re38553 rf93562  
    22
    33AC_CONFIG_MACRO_DIR([../m4])
    4 AC_CONFIG_AUX_DIR([.])
     4AC_CONFIG_AUX_DIR([../build-aux])
    55AC_CONFIG_SRCDIR([reporter/reporter.h])
    66AC_CONFIG_HEADER([_config.h])
  • omalloc/configure.ac

    re38553 rf93562  
    99
    1010AC_CONFIG_MACRO_DIR([../m4])
    11 AC_CONFIG_AUX_DIR([.])
     11AC_CONFIG_AUX_DIR([../build-aux])
    1212AC_CONFIG_SRCDIR(om_Alloc.c)
    1313AC_CONFIG_HEADER([_config.h])
  • resources/configure.ac

    re38553 rf93562  
    22
    33AC_CONFIG_MACRO_DIR([../m4])
    4 AC_CONFIG_AUX_DIR([.])
     4AC_CONFIG_AUX_DIR([../build-aux])
    55AC_CONFIG_SRCDIR([omFindExec.h])
    66AC_CONFIG_HEADER([_config.h])
  • xalloc/configure.ac

    re38553 rf93562  
    22AC_CONFIG_SRCDIR(dummy.c)
    33AC_CONFIG_MACRO_DIR([../m4])
    4 
    5 AC_CONFIG_AUX_DIR([.])
     4AC_CONFIG_AUX_DIR([../build-aux])
    65
    76AM_MAINTAINER_MODE([enable])
Note: See TracChangeset for help on using the changeset viewer.