Changeset b90479 in git


Ignore:
Timestamp:
Aug 7, 2019, 5:03:38 PM (4 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', '828514cf6e480e4bafc26df99217bf2a1ed1ef45')
Children:
fcc6e71bf5a9978aca272c257309c1804ba136c0
Parents:
4afedc31e655bd54e5f31232d2e6044d42600468
Message:
bug: create_ring in tropicalLifting
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/tropical.lib

    r4afedc3 rb90479  
    340340  if (nvars(basering)==2)
    341341  {
    342     ring BASERING = create_ring(ringlist(ALTERRING)[1], "(t,x(1))", "("+ordstr(ALTERRING)+")", "no_minpoly");
     342    execute("ring BASERING=("+charstr(ALTERRING)+"),(t,x(1)),("+ordstr(ALTERRING)+");");
    343343  }
    344344  else
     
    470470    variablen=variablen+var(j);
    471471  }
    472   ring GRUNDRING = create_ring(ringlist(basering)[1], "("+string(variablen)+",t)", "(dp("+string(nvars(basering)-1)+"),lp(1))", "no_minpoly");
     472  execute("ring GRUNDRING=("+charstr(basering)+"),("+string(variablen)+",t),(dp("+string(nvars(basering)-1)+"),lp(1));");
    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         ring REPLACEMENTRING = create_ring(ringlist(LIFTRING)[1], "("+varstr(CUTDOWNRING)+")", "dp", "no_minpoly");
     575        execute("ring REPLACEMENTRING=("+charstr(LIFTRING)+"),("+varstr(CUTDOWNRING)+"),dp;");
    576576        list repl=imap(CUTDOWNRING,repl); // get the replacement rules
    577577                                          // from CUTDOWNRING
     
    10691069      poly mp=minpoly;
    10701070      def OLDRING=basering;
    1071       ring NEWRING = create_ring(0, "("+varstr(basering)+","+parstr(basering)+")", "ds");
     1071      execute("ring NEWRING=0,("+varstr(basering)+","+parstr(basering)+"),ds;");
    10721072      ideal I=imap(OLDRING,mp),imap(OLDRING,f);
    10731073    }
     
    17171717    {
    17181718      string polynomstring=string(f);
    1719       ring drawring = create_ring("(0,"+parstr(basering)+")", "("+varstr(basering)+")", "dp");
     1719      execute("ring drawring=(0,"+parstr(basering)+"),("+varstr(basering)+"),dp;");
    17201720      execute("poly f="+polynomstring+";");
    17211721    }
     
    26522652  }
    26532653  // we want to homogenise the ideal i ....
    2654   ring HOMOGRING = create_ring(ringlist(basering)[1], "(@s,"+string(variablen)+")", "dp", "no_minpoly");
     2654  execute("ring HOMOGRING=("+charstr(basering)+"),(@s,"+string(variablen)+"),dp;");
    26552655  ideal i=homog(std(imap(BASERING,i)),@s);
    26562656  // ... and compute a standard basis with
     
    26672667  }
    26682668  intmat O=weightVectorToOrderMatrix(whomog);
    2669   ring WEIGHTRING = create_ring(ringlist(basering)[1], "("+varstr(basering)+")", "(M("+string(O)+"))", "no_minpoly");
     2669  execute("ring WEIGHTRING=("+charstr(basering)+"),("+varstr(basering)+"),(M("+string(O)+"));");
    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   ring COMPINIRING = create_ring(ringlist(basering)[1], "("+string(variablen)+")", "dp", "no_minpoly");
     2676  execute("ring COMPINIRING=("+charstr(basering)+"),("+string(variablen)+"),dp;");
    26772677  ideal i=imap(WEIGHTRING,i);
    26782678  ideal ini;
     
    27112711  def BASERING=basering;
    27122712  intmat O=weightVectorToOrderMatrix(w);
    2713   ring INITIALRING = create_ring(ringlist(BASERING)[1], "("+varstr(basering)+")", "M("+string(O)+")", "no_minpoly");
     2713  execute("ring INITIALRING=("+charstr(BASERING)+"),("+varstr(basering)+"),M("+string(O)+");");
    27142714  poly f=imap(BASERING,f);
    27152715  int GRAD=deg(f);
     
    27842784  def BASERING=basering;
    27852785  intmat O=weightVectorToOrderMatrix(w);
    2786   ring INITIALRING = create_ring(ringlist(BASERING)[1], "("+varstr(basering)+")", "M("+string(O)+")", "no_minpoly");
     2786  execute("ring INITIALRING=("+charstr(BASERING)+"),("+varstr(basering)+"),M("+string(O)+");");
    27872787  ideal i=imap(BASERING,i);
    27882788  i=std(i);
     
    28342834  }
    28352835  def BASERING=basering;
    2836   ring PARAMETERRING = create_ring("("+string(char(basering))+")", "("+parstr(basering)+")", "ds");
     2836  execute("ring PARAMETERRING=("+string(char(basering))+"),("+parstr(basering)+"),ds;");
    28372837  poly den=imap(BASERING,den);
    28382838  poly num=imap(BASERING,num);
     
    34933493{
    34943494  def BASERING=basering;
    3495   ring RADRING = create_ring(ringlist(basering)[1], "(@T,"+varstr(basering)+")", "(dp(1),"+ordstr(basering)+")", "no_minpoly");
     3495  execute("ring RADRING=("+charstr(basering)+"),(@T,"+varstr(basering)+"),(dp(1),"+ordstr(basering)+");");
    34963496  ideal I=ideal(imap(BASERING,i))+ideal(1-@T*imap(BASERING,f));
    34973497  if (reduce(1,std(I))==0)
     
    42184218        // return pideal, the initial and the list ergl which tells us
    42194219        // which variables we replaced by which form
    4220         ring BASERINGLESS1 = create_ring(ringlist(BASERING)[1], "("+string(variablen)+",t)", "(dp("+string(ncols(variablen))+"),lp(1))", "no_minpoly");
     4220        execute("ring BASERINGLESS1=("+charstr(BASERING)+"),("+string(variablen)+",t),(dp("+string(ncols(variablen))+"),lp(1));");
    42214221        ideal i=imap(BASERING,pideal);
    42224222        ideal ini=imap(BASERING,pini); //ideal ini2=tInitialIdeal(i,wvecp,1);
     
    42954295  }
    42964296  setring BASERING;
    4297   ring BASERINGLESS2 = create_ring(ringlist(BASERING)[1], "("+string(variablen)+",t)", "(dp("+string(ncols(variablen))+"),lp(1))", "no_minpoly");
     4297  execute("ring BASERINGLESS2=("+charstr(BASERING)+"),("+string(variablen)+",t),(dp("+string(ncols(variablen))+"),lp(1));");
    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     ring NEURING = create_ring(ringlist(basering)[1], "("+string(variablen)+")", "(dp("+string(size(variablen)-1)+"),lp(1))", "no_minpoly");
     4645    execute("ring NEURING=("+charstr(basering)+"),("+string(variablen)+"),(dp("+string(size(variablen)-1)+"),lp(1));");
    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       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");
     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;");
    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       ring PARARing = create_ring(ringlist(basering)[1], "t", "ls", "no_minpoly");
     4831      execute("ring PARARing=("+charstr(basering)+"),t,ls;");
    48324832    }
    48334833    ideal PARA; // will contain the parametrisation
     
    49174917    variablen=variablen+var(j);
    49184918  }
    4919   ring INITIALRING = create_ring(ringlist(basering)[1], "("+string(variablen)+")", "dp", "no_minpoly");
     4919  execute("ring INITIALRING=("+charstr(basering)+"),("+string(variablen)+"),dp;");
    49204920  ideal ini=imap(BASERING,ini);
    49214921  // compute the associated primes of the initialideal
     
    51645164  else
    51655165  {
    5166     ring TINRING = create_ring(ringlist(basering)[1], "("+string(variablen)+")", "dp", "no_minpoly");
     5166    execute("ring TINRING=("+charstr(basering)+"),("+string(variablen)+"),dp;");
    51675167  }
    51685168  ideal tin=imap(BASERING,tin);
     
    55435543    if (size(#)>0) // noAbs was used
    55445544    {
    5545       ring NOQRing = create_ring("("+string(char(LIFTRing))+")", "("+varstr(basering)+","+parstr(LIFTRing)+")", "dp");
     5545      execute("ring NOQRing=("+string(char(LIFTRing))+"),("+varstr(basering)+","+parstr(LIFTRing)+"),dp;");
    55465546      execute("qring TESTRing=std("+#[1]+");");
    55475547      ideal i=imap(BASERING,i);
Note: See TracChangeset for help on using the changeset viewer.