Changeset 8d8fef in git for Singular/LIB/tropical.lib
- Timestamp:
- Jul 29, 2019, 11:36:09 PM (5 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- feed60bef09898f675e0f8605ed0ac0eaa8bed5a
- Parents:
- da1ec3de158a4f05384b9a83be86fc4c1942ec5fc1b9ababa50e8059dd847da0957f50aea901e6a8
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/tropical.lib
rda1ec3 r8d8fef 340 340 if (nvars(basering)==2) 341 341 { 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"); 343 343 } 344 344 else … … 470 470 variablen=variablen+var(j); 471 471 } 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"); 473 473 ideal variablen; 474 474 for (j=1;j<=nvars(basering)-1;j++) … … 573 573 // from LIFTRING are present, 574 574 // 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"); 576 576 list repl=imap(CUTDOWNRING,repl); // get the replacement rules 577 577 // from CUTDOWNRING … … 1069 1069 poly mp=minpoly; 1070 1070 def OLDRING=basering; 1071 execute("ring NEWRING=0,("+varstr(basering)+","+parstr(basering)+"),ds;");1071 ring NEWRING = create_ring(0, "("+varstr(basering)+","+parstr(basering)+")", "ds"); 1072 1072 ideal I=imap(OLDRING,mp),imap(OLDRING,f); 1073 1073 } … … 1717 1717 { 1718 1718 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"); 1720 1720 execute("poly f="+polynomstring+";"); 1721 1721 } … … 2652 2652 } 2653 2653 // 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"); 2655 2655 ideal i=homog(std(imap(BASERING,i)),@s); 2656 2656 // ... and compute a standard basis with … … 2667 2667 } 2668 2668 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"); 2670 2670 // map i to the new ring and compute a GB of i, then dehomogenise i, 2671 2671 // so that we can be sure, that the … … 2674 2674 // compute the w-initial ideal with the help of the procedure tInitialForm; 2675 2675 setring BASERING; 2676 execute("ring COMPINIRING=("+charstr(basering)+"),("+string(variablen)+"),dp;");2676 ring COMPINIRING = create_ring(ringlist(basering)[1], "("+string(variablen)+")", "dp", "no_minpoly"); 2677 2677 ideal i=imap(WEIGHTRING,i); 2678 2678 ideal ini; … … 2711 2711 def BASERING=basering; 2712 2712 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"); 2714 2714 poly f=imap(BASERING,f); 2715 2715 int GRAD=deg(f); … … 2784 2784 def BASERING=basering; 2785 2785 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"); 2787 2787 ideal i=imap(BASERING,i); 2788 2788 i=std(i); … … 2834 2834 } 2835 2835 def BASERING=basering; 2836 execute("ring PARAMETERRING=("+string(char(basering))+"),("+parstr(basering)+"),ds;");2836 ring PARAMETERRING = create_ring("("+string(char(basering))+")", "("+parstr(basering)+")", "ds"); 2837 2837 poly den=imap(BASERING,den); 2838 2838 poly num=imap(BASERING,num); … … 3493 3493 { 3494 3494 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"); 3496 3496 ideal I=ideal(imap(BASERING,i))+ideal(1-@T*imap(BASERING,f)); 3497 3497 if (reduce(1,std(I))==0) … … 3644 3644 CHARAKTERISTIK=CHARAKTERISTIK[1..size(CHARAKTERISTIK)-2]; 3645 3645 def BASERING=basering; 3646 execute("ring INITIALRING=("+CHARAKTERISTIK+"),("+varstr(basering)+"),("+ordstr(basering)+");");3646 ring INITIALRING = create_ring("("+CHARAKTERISTIK+")", "("+varstr(basering)+")", "("+ordstr(basering)+")"); 3647 3647 list l=solve(imap(BASERING,i)); 3648 3648 l; … … 4218 4218 // return pideal, the initial and the list ergl which tells us 4219 4219 // 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"); 4221 4221 ideal i=imap(BASERING,pideal); 4222 4222 ideal ini=imap(BASERING,pini); //ideal ini2=tInitialIdeal(i,wvecp,1); … … 4295 4295 } 4296 4296 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"); 4298 4298 // using the 0/1-vector which tells us which variables belong 4299 4299 // to the set of smallest entries of wvec … … 4643 4643 if ((numberdeletedvariables>0) and (anzahlvariablen>1)) // if only t remains, 4644 4644 { // 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"); 4646 4646 ideal i=imap(BASERING,i); 4647 4647 ideal gesamt_m=imap(BASERING,gesamt_m); … … 4659 4659 { 4660 4660 // 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"); 4662 4662 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; 4663 4663 phiideal[nvars(PREGFANRING)]=a; // map t to a … … 4829 4829 else 4830 4830 { 4831 execute("ring PARARing=("+charstr(basering)+"),t,ls;");4831 ring PARARing = create_ring(ringlist(basering)[1], "t", "ls", "no_minpoly"); 4832 4832 } 4833 4833 ideal PARA; // will contain the parametrisation … … 4917 4917 variablen=variablen+var(j); 4918 4918 } 4919 execute("ring INITIALRING=("+charstr(basering)+"),("+string(variablen)+"),dp;");4919 ring INITIALRING = create_ring(ringlist(basering)[1], "("+string(variablen)+")", "dp", "no_minpoly"); 4920 4920 ideal ini=imap(BASERING,ini); 4921 4921 // compute the associated primes of the initialideal … … 5164 5164 else 5165 5165 { 5166 execute("ring TINRING=("+charstr(basering)+"),("+string(variablen)+"),dp;");5166 ring TINRING = create_ring(ringlist(basering)[1], "("+string(variablen)+")", "dp", "no_minpoly"); 5167 5167 } 5168 5168 ideal tin=imap(BASERING,tin); … … 5543 5543 if (size(#)>0) // noAbs was used 5544 5544 { 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"); 5546 5546 execute("qring TESTRing=std("+#[1]+");"); 5547 5547 ideal i=imap(BASERING,i); … … 5551 5551 setring LIFTRing; 5552 5552 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"); 5554 5554 minpoly=number(imap(LIFTRing,mp)); 5555 5555 ideal i=imap(BASERING,i); … … 5939 5939 else 5940 5940 { 5941 execute("ring PARARing=("+charstr(basering)+"),t,ls;");5941 ring PARARing = create_ring(ringlist(basering)[1], "t", "ls", "no_minpoly"); 5942 5942 } 5943 5943 ideal PARA; // will contain the parametrisation … … 6200 6200 else 6201 6201 { 6202 execute("ring SATURATERING=("+charstr(basering)+"),("+varstr(basering)+"),("+ordstr(basering)+");");6202 ring SATURATERING = create_ring(ringlist(basering)[1], "("+varstr(basering)+")", "("+ordstr(basering)+")", "no_minpoly"); 6203 6203 ideal i=imap(BASERING,i); 6204 6204 export(i); … … 6341 6341 // - the variable t is superflous, 6342 6342 // 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"); 6344 6344 ideal ini=imap(BASERING,ini); 6345 6345 // compute the minimal associated primes of the … … 6367 6367 // define the extension ring which contains 6368 6368 // 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"); 6370 6370 // phi maps x_i to x_i, @a to @a (if present in the ring), 6371 6371 // and the additional variable … … 6378 6378 else // @a was already present in the BASERING or no 6379 6379 { // 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"); 6381 6381 // phi maps x_i to x_i, @a to @a (if present in the ring), 6382 6382 // and the additional variable … … 7255 7255 { 7256 7256 def BASERING=basering; 7257 execute("ring INTERRING=0,("+varstr(basering)+"),("+ordstr(basering)+");");7257 ring INTERRING = create_ring(0, "("+varstr(basering)+")", "("+ordstr(basering)+")"); 7258 7258 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)+")"); 7260 7260 map phi=INTERRING,maxideal(1); 7261 7261 string s=string(phi(n)); … … 7873 7873 { 7874 7874 def BASERING=basering; 7875 execute("ring TRING="+string(char(BASERING))+",t,ds;");7875 ring TRING = create_ring(string(char(BASERING)), "t", "ds"); 7876 7876 poly hn=imap(BASERING,hn); 7877 7877 poly c4=imap(BASERING,c4);
Note: See TracChangeset
for help on using the changeset viewer.