Changeset 78d776 in git


Ignore:
Timestamp:
Mar 19, 2014, 9:01:55 PM (10 years ago)
Author:
Oleksandr Motsak <motsak@…>
Branches:
(u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
Children:
35f51c1498caac698f88edaebe09d65cb380aec7
Parents:
706597eca3628b2f2f0d581d93c41b9e6ac6f466b4ccb21068b8fec038ce45006522ec978dbf8324
Message:
Merge pull request #545 from YueRen/spielwiese

chg: new version of tropical.lib by Thomas
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/tropical.lib

    r706597e r78d776  
    531531  // to start all over again;
    532532  // this is controlled by the while-loop
     533  intvec ordnungskontrollvektor=N,-w[2]; // used with the option puiseux
    533534  while (size(liftrings)==0)
    534535  {
     
    540541    else // use absolute primary decomposition
    541542    {
    542       list TP=tropicalparametrise(i,w,ordnung,gfanold,findall,nogfan,puiseux,ini);
     543      list TP=tropicalparametrise(i,w,ordnung,ordnungskontrollvektor,gfanold,findall,nogfan,puiseux,ini);
    543544    }
    544545    // compute the liftrings by resubstitution
     
    731732      w=precutdownw;
    732733*/
    733       ~
     734
    734735    }
    735736  }
     
    741742  }
    742743  ///////////////////////////////////////////////////////////
    743   if (voice+printlevel>=2)
     744  if (printlevel-voice+2>=0)
    744745  {
    745746
     
    777778{
    778779   "EXAMPLE:";
     780   int oldprintlevel=printlevel;
     781   printlevel=1;
    779782   echo=2;
    780783   ////////////////////////////////////////////////////////
     
    823826   setring R;
    824827   displayTropicalLifting(LIST,"subst");
     828   printlevel=oldprintlevel;
    825829}
    826830
     
    966970RETURN:  list, where each entry of the list l describes the Newton-Puiseux
    967971@*             parametrisations of one branch of the plane curve singularity
    968 @*             at the origin defined by f; only the first n terms of each
     972@*             at the origin defined by f; only the terms up to order n of each
    969973@*             parametetrisation are computed
    970974@*             l[i][1] = is a ring
     
    979983           the new base field will have a parameter and a new minimal polynomial,
    980984           and LIFT[2] describes how the old parameter can be computed from the new one
     985@*       - if a field extension with minimal polynomial of degree k was necessary,
     986           then to the one extension produced acutally k extensions correspond by replacing
     987           the parameter a successively by all zeros of the minimal polynomial
    981988@*       - if the option subst was set l[i][3] contains the polynomial where
    982989           y has been substituted by y(t^{1/N}) as a string
     
    11551162   "EXAMPLE:";
    11561163   echo=2;
     1164   printlevel=1;
    11571165   ring r=0,(x,y),ds;
    11581166   poly f=x2-y4+x5y7;
     
    46784686        "AND HIT THE RETURN BUTTON TWICE (!!!) - NOTE, THE LAST 0 IS OMITTED";
    46794687        "IF YOU WANT wneu TO BE TESTED, THEN SET goon=0;";
    4680         ~
     4688
    46814689        // THIS IS NOT NECESSARY !!!! IF WE COMPUTE NOT ONLY THE
    46824690        // TROPICAL PREVARIETY
     
    46874695          {
    46884696            "CHOOSE A DIFFERENT RAY";
    4689             ~
     4697
    46904698          }
    46914699          else
     
    47244732      {
    47254733        "Set intvec wneu!";
    4726         ~
     4734
    47274735      }
    47284736    }
     
    55485556///////////////////////////////////////////////////////////////////////////////
    55495557
    5550 static proc tropicalparametrise (ideal i,intvec ww,int ordnung,int gfanold,int findall,int nogfan,int puiseux,list #)
     5558static proc tropicalparametrise (ideal i,intvec ww,int ordnung,intvec ordnungskontrollvektor,int gfanold,int findall,int nogfan,int puiseux,list #)
    55515559"USAGE:  tropicalparametrise(i,tw,ord,gf,fa,ng,pu[,#]); i ideal, tw intvec, ord int, gf,fa,ng,pu int, # opt. list
    55525560ASSUME:  - i is an ideal in Q[t,x_1,...,x_n,@a], tw=(w_0,w_1,...,w_n,0)
     
    56205628  list wneulist; // carries all newly computed weight vector
    56215629  intvec wneu;   // carries the newly computed weight vector
     5630  intvec okvneu; // carries the newly computed ordnungskontrollvektor
    56225631  int tweight;   // carries the weight of t
    56235632  list PARALIST; // carries the result when tropicalparametrise
     
    57225731            "AND HIT THE RETURN BUTTON - NOTE, THE LAST 0 IS OMITTED";
    57235732            "IF YOU WANT wneu TO BE TESTED, THEN SET goon=0;";
    5724             ~
     5733
    57255734            // THIS IS NOT NECESSARY !!!! IF WE COMPUTE NOT ONLY
    57265735            // THE TROPICAL PREVARIETY
     
    57315740              {
    57325741                "CHOOSE A DIFFERENT RAY";
    5733                 ~
     5742
    57345743              }
    57355744              else
     
    57935802            {
    57945803              "Set wneulist!";
    5795               ~
     5804
    57965805            }
    57975806            else
    57985807            {
    57995808              "Set intvec wneu!";
    5800               ~
     5809
    58015810              wneulist[1]=wneu;
    58025811            }
     
    58105819      // if all variables were deleted, then i=0 and thus anzahlvariablen==0
    58115820      lll=0;
    5812       if ((ordnung>1) and (anzahlvariablen>1))
     5821      if (((puiseux==0) and (ordnung>1)) or ((puiseux==1) and (ordnungskontrollvektor[2]<ordnungskontrollvektor[1]*ordnung)) and (anzahlvariablen>1))
    58135822      {
    58145823        partliftings=list(); // initialise partliftings
     
    58225831        {
    58235832          wneu=wneulist[kk];
    5824           PARALIST=tropicalparametrise(i,wneu,ordnung-1,gfanold,findall,nogfan,puiseux,anzahlvariablen,zero);
     5833          okvneu=-ordnungskontrollvektor[1]*wneu[1],-ordnungskontrollvektor[2]*wneu[1]-wneu[2];
     5834          if (puiseux==0)
     5835          {
     5836            PARALIST=tropicalparametrise(i,wneu,ordnung-1,okvneu,gfanold,findall,nogfan,puiseux,anzahlvariablen,zero);
     5837          }
     5838          else
     5839          {
     5840            PARALIST=tropicalparametrise(i,wneu,ordnung,okvneu,gfanold,findall,nogfan,puiseux,anzahlvariablen,zero);
     5841          }
    58255842          // the output will be a ring, in which the
    58265843          // parametrisation lives, and a string, which contains
Note: See TracChangeset for help on using the changeset viewer.