Changeset 8d8fef in git for Singular/LIB/tropical.lib


Ignore:
Timestamp:
Jul 29, 2019, 11:36:09 PM (5 years ago)
Author:
Murray Heymann <heymann.murray@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
feed60bef09898f675e0f8605ed0ac0eaa8bed5a
Parents:
da1ec3de158a4f05384b9a83be86fc4c1942ec5fc1b9ababa50e8059dd847da0957f50aea901e6a8
Message:
Merge branch 'machine_learning' of github.com:MHeymann/Sources into machine_learning
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/tropical.lib

    rda1ec3 r8d8fef  
    340340  if (nvars(basering)==2)
    341341  {
    342     execute("ring BASERING=("+charstr(ALTERRING)+"),(t,x(1)),("+ordstr(ALTERRING)+");");
     342    ring BASERING = create_ring(ringlist(ALTERRING)[1], "(t,x(1))", "("+ordstr(ALTERRING)+")", "no_minpoly");
    343343  }
    344344  else
     
    470470    variablen=variablen+var(j);
    471471  }
    472   execute("ring GRUNDRING=("+charstr(basering)+"),("+string(variablen)+",t),(dp("+string(nvars(basering)-1)+"),lp(1));");
     472  ring GRUNDRING = create_ring(ringlist(basering)[1], "("+string(variablen)+",t)", "(dp("+string(nvars(basering)-1)+"),lp(1))", "no_minpoly");
    473473  ideal variablen;
    474474  for (j=1;j<=nvars(basering)-1;j++)
     
    573573        // from LIFTRING are present,
    574574        // and where also the variables of CUTDOWNRING live
    575         execute("ring REPLACEMENTRING=("+charstr(LIFTRING)+"),("+varstr(CUTDOWNRING)+"),dp;");
     575        ring REPLACEMENTRING = create_ring(ringlist(LIFTRING)[1], "("+varstr(CUTDOWNRING)+")", "dp", "no_minpoly");
    576576        list repl=imap(CUTDOWNRING,repl); // get the replacement rules
    577577                                          // from CUTDOWNRING
     
    10691069      poly mp=minpoly;
    10701070      def OLDRING=basering;
    1071       execute("ring NEWRING=0,("+varstr(basering)+","+parstr(basering)+"),ds;");
     1071      ring NEWRING = create_ring(0, "("+varstr(basering)+","+parstr(basering)+")", "ds");
    10721072      ideal I=imap(OLDRING,mp),imap(OLDRING,f);
    10731073    }
     
    17171717    {
    17181718      string polynomstring=string(f);
    1719       execute("ring drawring=(0,"+parstr(basering)+"),("+varstr(basering)+"),dp;");
     1719      ring drawring = create_ring("(0,"+parstr(basering)+")", "("+varstr(basering)+")", "dp");
    17201720      execute("poly f="+polynomstring+";");
    17211721    }
     
    26522652  }
    26532653  // we want to homogenise the ideal i ....
    2654   execute("ring HOMOGRING=("+charstr(basering)+"),(@s,"+string(variablen)+"),dp;");
     2654  ring HOMOGRING = create_ring(ringlist(basering)[1], "(@s,"+string(variablen)+")", "dp", "no_minpoly");
    26552655  ideal i=homog(std(imap(BASERING,i)),@s);
    26562656  // ... and compute a standard basis with
     
    26672667  }
    26682668  intmat O=weightVectorToOrderMatrix(whomog);
    2669   execute("ring WEIGHTRING=("+charstr(basering)+"),("+varstr(basering)+"),(M("+string(O)+"));");
     2669  ring WEIGHTRING = create_ring(ringlist(basering)[1], "("+varstr(basering)+")", "(M("+string(O)+"))", "no_minpoly");
    26702670  // map i to the new ring and compute a GB of i, then dehomogenise i,
    26712671  // so that we can be sure, that the
     
    26742674  // compute the w-initial ideal with the help of the procedure tInitialForm;
    26752675  setring BASERING;
    2676   execute("ring COMPINIRING=("+charstr(basering)+"),("+string(variablen)+"),dp;");
     2676  ring COMPINIRING = create_ring(ringlist(basering)[1], "("+string(variablen)+")", "dp", "no_minpoly");
    26772677  ideal i=imap(WEIGHTRING,i);
    26782678  ideal ini;
     
    27112711  def BASERING=basering;
    27122712  intmat O=weightVectorToOrderMatrix(w);
    2713   execute("ring INITIALRING=("+charstr(BASERING)+"),("+varstr(basering)+"),M("+string(O)+");");
     2713  ring INITIALRING = create_ring(ringlist(BASERING)[1], "("+varstr(basering)+")", "M("+string(O)+")", "no_minpoly");
    27142714  poly f=imap(BASERING,f);
    27152715  int GRAD=deg(f);
     
    27842784  def BASERING=basering;
    27852785  intmat O=weightVectorToOrderMatrix(w);
    2786   execute("ring INITIALRING=("+charstr(BASERING)+"),("+varstr(basering)+"),M("+string(O)+");");
     2786  ring INITIALRING = create_ring(ringlist(BASERING)[1], "("+varstr(basering)+")", "M("+string(O)+")", "no_minpoly");
    27872787  ideal i=imap(BASERING,i);
    27882788  i=std(i);
     
    28342834  }
    28352835  def BASERING=basering;
    2836   execute("ring PARAMETERRING=("+string(char(basering))+"),("+parstr(basering)+"),ds;");
     2836  ring PARAMETERRING = create_ring("("+string(char(basering))+")", "("+parstr(basering)+")", "ds");
    28372837  poly den=imap(BASERING,den);
    28382838  poly num=imap(BASERING,num);
     
    34933493{
    34943494  def BASERING=basering;
    3495   execute("ring RADRING=("+charstr(basering)+"),(@T,"+varstr(basering)+"),(dp(1),"+ordstr(basering)+");");
     3495  ring RADRING = create_ring(ringlist(basering)[1], "(@T,"+varstr(basering)+")", "(dp(1),"+ordstr(basering)+")", "no_minpoly");
    34963496  ideal I=ideal(imap(BASERING,i))+ideal(1-@T*imap(BASERING,f));
    34973497  if (reduce(1,std(I))==0)
     
    36443644  CHARAKTERISTIK=CHARAKTERISTIK[1..size(CHARAKTERISTIK)-2];
    36453645  def BASERING=basering;
    3646   execute("ring INITIALRING=("+CHARAKTERISTIK+"),("+varstr(basering)+"),("+ordstr(basering)+");");
     3646  ring INITIALRING = create_ring("("+CHARAKTERISTIK+")", "("+varstr(basering)+")", "("+ordstr(basering)+")");
    36473647  list l=solve(imap(BASERING,i));
    36483648  l;
     
    42184218        // return pideal, the initial and the list ergl which tells us
    42194219        // which variables we replaced by which form
    4220         execute("ring BASERINGLESS1=("+charstr(BASERING)+"),("+string(variablen)+",t),(dp("+string(ncols(variablen))+"),lp(1));");
     4220        ring BASERINGLESS1 = create_ring(ringlist(BASERING)[1], "("+string(variablen)+",t)", "(dp("+string(ncols(variablen))+"),lp(1))", "no_minpoly");
    42214221        ideal i=imap(BASERING,pideal);
    42224222        ideal ini=imap(BASERING,pini); //ideal ini2=tInitialIdeal(i,wvecp,1);
     
    42954295  }
    42964296  setring BASERING;
    4297   execute("ring BASERINGLESS2=("+charstr(BASERING)+"),("+string(variablen)+",t),(dp("+string(ncols(variablen))+"),lp(1));");
     4297  ring BASERINGLESS2 = create_ring(ringlist(BASERING)[1], "("+string(variablen)+",t)", "(dp("+string(ncols(variablen))+"),lp(1))", "no_minpoly");
    42984298  // using the 0/1-vector which tells us which variables belong
    42994299  // to the set of smallest entries of wvec
     
    46434643  if ((numberdeletedvariables>0) and (anzahlvariablen>1)) // if only t remains,
    46444644  { // all true variables are gone
    4645     execute("ring NEURING=("+charstr(basering)+"),("+string(variablen)+"),(dp("+string(size(variablen)-1)+"),lp(1));");
     4645    ring NEURING = create_ring(ringlist(basering)[1], "("+string(variablen)+")", "(dp("+string(size(variablen)-1)+"),lp(1))", "no_minpoly");
    46464646    ideal i=imap(BASERING,i);
    46474647    ideal gesamt_m=imap(BASERING,gesamt_m);
     
    46594659    {
    46604660      // pass to a ring which has variables which are suitable for gfan
    4661       execute("ring GFANRING=("+charstr(basering)+"),(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z),dp;");
     4661      ring GFANRING = create_ring(ringlist(basering)[1], "(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z)", "dp", "no_minpoly");
    46624662      ideal phiideal=b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z;
    46634663      phiideal[nvars(PREGFANRING)]=a; // map t to a
     
    48294829    else
    48304830    {
    4831       execute("ring PARARing=("+charstr(basering)+"),t,ls;");
     4831      ring PARARing = create_ring(ringlist(basering)[1], "t", "ls", "no_minpoly");
    48324832    }
    48334833    ideal PARA; // will contain the parametrisation
     
    49174917    variablen=variablen+var(j);
    49184918  }
    4919   execute("ring INITIALRING=("+charstr(basering)+"),("+string(variablen)+"),dp;");
     4919  ring INITIALRING = create_ring(ringlist(basering)[1], "("+string(variablen)+")", "dp", "no_minpoly");
    49204920  ideal ini=imap(BASERING,ini);
    49214921  // compute the associated primes of the initialideal
     
    51645164  else
    51655165  {
    5166     execute("ring TINRING=("+charstr(basering)+"),("+string(variablen)+"),dp;");
     5166    ring TINRING = create_ring(ringlist(basering)[1], "("+string(variablen)+")", "dp", "no_minpoly");
    51675167  }
    51685168  ideal tin=imap(BASERING,tin);
     
    55435543    if (size(#)>0) // noAbs was used
    55445544    {
    5545       execute("ring NOQRing=("+string(char(LIFTRing))+"),("+varstr(basering)+","+parstr(LIFTRing)+"),dp;");
     5545      ring NOQRing = create_ring("("+string(char(LIFTRing))+")", "("+varstr(basering)+","+parstr(LIFTRing)+")", "dp");
    55465546      execute("qring TESTRing=std("+#[1]+");");
    55475547      ideal i=imap(BASERING,i);
     
    55515551      setring LIFTRing;
    55525552      poly mp=minpoly;
    5553       execute("ring TESTRing=("+charstr(LIFTRing)+"),("+varstr(BASERING)+"),dp;");
     5553      ring TESTRing = create_ring(ringlist(LIFTRing)[1], "("+varstr(BASERING)+")", "dp", "no_minpoly");
    55545554      minpoly=number(imap(LIFTRing,mp));
    55555555      ideal i=imap(BASERING,i);
     
    59395939        else
    59405940        {
    5941           execute("ring PARARing=("+charstr(basering)+"),t,ls;");
     5941          ring PARARing = create_ring(ringlist(basering)[1], "t", "ls", "no_minpoly");
    59425942        }
    59435943        ideal PARA; // will contain the parametrisation
     
    62006200        else
    62016201        {
    6202           execute("ring SATURATERING=("+charstr(basering)+"),("+varstr(basering)+"),("+ordstr(basering)+");");
     6202          ring SATURATERING = create_ring(ringlist(basering)[1], "("+varstr(basering)+")", "("+ordstr(basering)+")", "no_minpoly");
    62036203          ideal i=imap(BASERING,i);
    62046204          export(i);
     
    63416341  // - the variable t is superflous,
    63426342  // the variable @a is not if it was already present
    6343   execute("ring INITIALRING=("+charstr(basering)+"),("+string(variablen)+"),dp;");
     6343  ring INITIALRING = create_ring(ringlist(basering)[1], "("+string(variablen)+")", "dp", "no_minpoly");
    63446344  ideal ini=imap(BASERING,ini);
    63456345  // compute the minimal associated primes of the
     
    63676367      // define the extension ring which contains
    63686368      // the new variable @a, if it is not yet present
    6369       execute("ring EXTENSIONRING=("+charstr(BASERING)+"),("+string(imap(BASERING,variablen))+",@a,"+tvar+"),(dp("+string(anzahlvariablen-1)+"),dp(1),lp(1));");
     6369      ring EXTENSIONRING = create_ring(ringlist(BASERING)[1], "("+string(imap(BASERING,variablen))+",@a,"+tvar+")", "(dp("+string(anzahlvariablen-1)+"),dp(1),lp(1))", "no_minpoly");
    63706370      // phi maps x_i to x_i, @a to @a (if present in the ring),
    63716371      // and the additional variable
     
    63786378    else // @a was already present in the BASERING or no
    63796379    { // field extension is necessary
    6380       execute("ring EXTENSIONRING=("+charstr(BASERING)+"),("+varstr(BASERING)+"),("+ordstr(BASERING)+");");
     6380      ring EXTENSIONRING = create_ring(ringlist(BASERING)[1], "("+varstr(BASERING)+")", "("+ordstr(BASERING)+")", "no_minpoly");
    63816381      // phi maps x_i to x_i, @a to @a (if present in the ring),
    63826382      // and the additional variable
     
    72557255{
    72567256  def BASERING=basering;
    7257   execute("ring INTERRING=0,("+varstr(basering)+"),("+ordstr(basering)+");");
     7257  ring INTERRING = create_ring(0, "("+varstr(basering)+")", "("+ordstr(basering)+")");
    72587258  poly n=imap(BASERING,n);
    7259   execute("ring REALRING=(real,50,100),("+varstr(basering)+"),("+ordstr(basering)+");");
     7259  ring REALRING = create_ring("(real,50,100)", "("+varstr(basering)+")", "("+ordstr(basering)+")");
    72607260  map phi=INTERRING,maxideal(1);
    72617261  string s=string(phi(n));
     
    78737873  {
    78747874    def BASERING=basering;
    7875     execute("ring TRING="+string(char(BASERING))+",t,ds;");
     7875    ring TRING = create_ring(string(char(BASERING)), "t", "ds");
    78767876    poly hn=imap(BASERING,hn);
    78777877    poly c4=imap(BASERING,c4);
Note: See TracChangeset for help on using the changeset viewer.