Changeset ea6e16e in git
- Timestamp:
- Mar 10, 2020, 1:07:42 PM (4 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- 7d4e42fa110a07137b129906c42c08071beec039
- Parents:
- e7e39839d32320823bf9689c97c5071650497b8e
- git-author:
- Sachin <sachinkm308@gmail.com>2020-03-10 13:07:42+01:00
- git-committer:
- Sachin <sachinkm308@gmail.com>2020-03-10 13:17:18+01:00
- Location:
- Singular/LIB
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/algebra.lib
re7e3983 rea6e16e 76 76 //----------------- 77 77 // ---------- create new ring with extra variables -------------------- 78 execute ("ring R=("+charstr(br)+"),(x(1..n),y(1..m)),(dp(n),dp(m));"); 78 list l3; 79 for (int zz = 1; zz <= n; zz++) 80 { 81 l3[size(l3)+1] = "x("+string(zz)+")"; 82 } 83 for (int yy = 1; yy <= m; yy++) 84 { 85 l3[size(l3)+1] = "y("+string(yy)+")"; 86 } 87 ring R = create_ring(ringlist(br)[1], l3, "(dp("+string(n)+"),dp("+string(m)+"))", "no_minpoly"); 79 88 if (mp!="0") 80 89 { execute ("minpoly=number("+mp+");"); } … … 179 188 string mp=string(minpoly); 180 189 // ---------- create new ring with extra variables -------------------- 181 execute 182 ("ring R=("+charstr(br)+"),(x(1..n),y(1..m),z(1..n)),(lp(n),dp(m),lp(n));"); 190 list l4; 191 for (int xx = 1; xx <= n; xx++) 192 { 193 l4[size(l4)+1] = "x("+string(xx)+")"; 194 } 195 for (int yy = 1; yy <= m; yy++) 196 { 197 l4[size(l4)+1] = "y("+string(yy)+")"; 198 } 199 for (int zz = 1; zz <= n; zz++) 200 { 201 l4[size(l4)+1] = "z("+string(zz)+")"; 202 } 203 ring R = create_ring(ringlist(br)[1], l4, "(lp("+string(n)+"),dp("+string(m)+"),lp("+string(n)+"))", "no_minpoly"); 183 204 if (mp!="0") 184 205 { execute ("minpoly=number("+mp+");"); } … … 277 298 //the intersection of ideal nett=(p-y(0),I[1]-y(1),...) 278 299 //with the ring k[y(0),...,y(n)] is computed, the result is ker 279 execute ("ring r1= ("+charstr(basering)+"),(x(1..n),y(0..z)),lp;"); 300 list l5; 301 for (int xx = 1; xx <= n; xx++) 302 { 303 l5[size(l5)+1] = "x("+string(xx)+")"; 304 } 305 for (int yy = 0; yy <= z; yy++) 306 { 307 l5[size(l5)+1] = "y("+string(yy)+")"; 308 } 309 ring r1 = create_ring(ringlist(basering)[1], l5, "lp", "no_minpoly"); 280 310 if (mp!="0") 281 311 { execute ("minpoly=number("+mp+");"); } … … 366 396 if ( tt == 1 ) 367 397 { 368 execute ("ring R1=("+charstr(br)+"),y(1..m),dp;"); 398 list l6; 399 for (int xx = 1; xx <= m; xx++) 400 { 401 l6[size(l6)+1] = "y("+string(xx)+")"; 402 } 403 ring R1 = create_ring(ringlist(br)[1], l6, "dp", "no_minpoly"); 369 404 if (mp!="0") 370 405 { execute ("minpoly=number("+mp+");"); } … … 375 410 } 376 411 // ---------- create new ring with extra variables -------------------- 377 execute ("ring R2=("+charstr(br)+"),(x(1..n),y(1..m)),(dp);"); 412 list l7; 413 for (int xx = 1; xx <= n; xx++) 414 { 415 l7[size(l7)+1] = "x("+string(xx)+")"; 416 } 417 for (int yy = 1; yy <= m; yy++) 418 { 419 l7[size(l7)+1] = "y("+string(yy)+")"; 420 } 421 ring R2 = create_ring(ringlist(br)[1], l7, "dp", "no_minpoly"); 378 422 if (mp!="0") 379 423 { execute ("minpoly=number("+mp+");"); } … … 401 445 // eliminate m variables x(i) from ideal A[i] - y(i) by choosing product 402 446 // order 403 {execute ("ring R3=("+charstr(br)+"),(x(1..n),y(1..m)),(dp(n),dp(m));"); 447 { 448 list l8; 449 for (int xx = 1; xx <= n; xx++) 450 { 451 l8[size(l8)+1] = "x("+string(xx)+")"; 452 } 453 for (int yy = 1; yy <= m; yy++) 454 { 455 l8[size(l8)+1] = "y("+string(yy)+")"; 456 } 457 setring(br); 458 ring R3 = create_ring(ringlist(br)[1], l8, "(dp("+string(n)+"),dp("+string(m)+"))", "no_minpoly"); 404 459 if (mp!="0") 405 460 { execute ("minpoly=number("+mp+");"); } … … 500 555 // algDependent is called with "bestoption" if tt = 0 501 556 def S = L[2]; 502 execute ("ring R=("+charstr(basering)+"),(@(1..n),"+varstr(pr)+"),(dp);"); 557 list l9; 558 for (int xx = 1; xx <= n; xx++) 559 { 560 l9[size(l9)+1] = "@("+string(xx)+")"; 561 } 562 ring R = create_ring(ringlist(basering)[1], "("+string(l9)+","+varstr(pr)+")", "dp", "no_minpoly"); 503 563 if (mp!="0") 504 564 { execute ("minpoly=number("+mp+");"); } … … 651 711 string mp=string(minpoly); 652 712 // ------------ create new ring with extra variables --------------------- 653 execute ("ring R=("+charstr(br)+"),(x(1..n),y(1..m)),(dp(n),dp(m));"); 713 list l10; 714 for (int yy = 1; yy <= n; yy++) 715 { 716 l10[size(l10)+1] = "x("+string(yy)+")"; 717 } 718 for (int zz = 1; zz <= m; zz++) 719 { 720 l10[size(l10)+1] = "y("+string(zz)+")"; 721 } 722 ring R = create_ring(ringlist(br)[1], l10, "(dp("+string(n)+"),dp("+string(m)+"))", "no_minpoly"); 723 654 724 if (mp!="0") 655 725 { execute ("minpoly=number("+mp+");"); } … … 724 794 string mp=string(minpoly); 725 795 // ------------ create new ring with extra variables --------------------- 726 execute ("ring R=("+charstr(br)+"),(x(1..n),y(1..m)),(dp(n),dp(m));"); 796 list l11; 797 for (int yy = 1; yy <= n; yy++) 798 { 799 l11[size(l11)+1] = "x("+string(yy)+")"; 800 } 801 for (int zz = 1; zz <= m; zz++) 802 { 803 l11[size(l11)+1] = "y("+string(zz)+")"; 804 } 805 ring R = create_ring(ringlist(br)[1], l11, "(dp("+string(n)+"),dp("+string(m)+"))", "no_minpoly"); 727 806 if (mp!="0") 728 807 { execute ("minpoly=number("+mp+");"); } … … 1042 1121 1043 1122 // --------------------------- enlarging ring ----------------------------- 1044 execute("ring @rr = ("+charstr(bsr)+"),(y(1..m),x(1..n)),(lp(m),dp);"); 1123 list l12; 1124 for (int yy = 1; yy <= m; yy++) 1125 { 1126 l12[size(l12)+1] = "y("+string(yy)+")"; 1127 } 1128 for (int zz = 1; zz <= n; zz++) 1129 { 1130 l12[size(l12)+1] = "x("+string(zz)+")"; 1131 } 1132 ring @rr = create_ring(ringlist(bsr)[1], l12, "(lp("+string(m)+"),dp)", "no_minpoly"); 1045 1133 ideal J = imap(@bsr,J); 1046 1134 ideal PHI = imap(@bsr,PHI); -
Singular/LIB/finvar.lib
re7e3983 rea6e16e 712 712 if (minpoly==0) 713 713 { if (i>size(chst)) 714 { execute("ring newring=0,("+varstr(br)+"),("+ordstr(br)+")"); 714 { 715 ring newring = create_ring(0, "("+varstr(br)+")", "("+ordstr(br)+")"); 715 716 } 716 717 else … … 718 719 execute 719 720 ("ring newring=(0"+chst+"),("+varstr(br)+"),("+ordstr(br)+")"); 721 string strr2 = "First else"; // comment by sachin 722 strr2; // comment by sachin 723 ringlist(newring); 724 720 725 } 721 726 } -
Singular/LIB/general.lib
re7e3983 rea6e16e 90 90 A_Z("c",5); 91 91 A_Z("Z",-5); 92 string sR = "ring R = (0,"+A_Z("A",6)+"),("+A_Z("a",10)+"),dp;"; 93 sR; 94 execute(sR); 92 ring R = create_ring("(0,"+A_Z("A",6)+")", "("+A_Z("a",10)+")", "dp"); 95 93 R; 96 94 } … … 1242 1240 poly p=((x2+y3)^2+xy6)*((x3+y2)^2+x10y); 1243 1241 p=p^2; 1244 //timeFactorize(p,2);1242 timeFactorize(p,2); 1245 1243 //timeFactorize(p,20); 1246 1244 } -
Singular/LIB/gitfan.lib
re7e3983 rea6e16e 331 331 } 332 332 333 string initNewRing = " ring Rgam0 = 0,(";333 string initNewRing = "("; 334 334 335 335 intvec w = ringlist(basering)[3][1][2]; … … 343 343 w0[size(gam0)] = w[gam0[size(gam0)]]; 344 344 345 initNewRing = initNewRing + string(var(gam0[size(gam0)])) + ") ,wp(w0);";345 initNewRing = initNewRing + string(var(gam0[size(gam0)])) + ")"; 346 346 def R = basering; 347 execute(initNewRing); 347 // execute(initNewRing); 348 initNewRing; 349 ring Rgam0 = create_ring(0, initNewRing, "wp("+string(w0)+")"); 350 ringlist(Rgam0); 348 351 349 352 ideal agam0 = imap(R,a); -
Singular/LIB/graal.lib
re7e3983 rea6e16e 1 ////////////////////////////////////////////////////////////////////////////1 graalMixed//////////////////////////////////////////////////////////////////////////// 2 2 version="version graal.lib 4.1.2.0 Feb_2019 "; // $Id$ 3 3 category="Commutative Algebra"; … … 332 332 **/ 333 333 ideal H = ringlist(Gr.A)[4]; 334 execute("ring Q = "+string(Gr.A)+";"); 334 list l3 = ringlist(Gr.A); 335 def Q = ring(l3); 336 setring Q; 335 337 ideal H = fetch(Gr.A,H); H = sort(std(H))[1]; 336 338 ideal J = fetch(Gr.A,L) + H; J = sort(std(J))[1]; … … 358 360 else 359 361 { string pars; string vars = varstr(basering); } 360 execute("ring Q0 = ("+charstr(basering)+pars+"),("+vars+"),dp;");362 ring Q0 = create_ring("("+charstr(basering)+pars+")", "("+vars+")", "dp"); 361 363 ideal J0 = imap(Q,J); 362 364 Gr.Q0 = Q0; … … 404 406 string ostring = ordstr(basering); 405 407 ostring = ostring[1..size(ostring)-2]; 406 list l2; 407 for (int ii = 1; ii <= s; ii++) 408 { 409 l2[ii] = "Y("+string(ii)+")"; 410 } 411 l2[s+1] = ringlist(basering)[2]; 412 execute("ring Q0y = ("+charstr(basering)+"),(Y(1..s),"+varstr(basering)+"),(ds(s),c,"+ostring+")"); 408 list l4; 409 for (int zz = 1; zz <= s; zz++) 410 { 411 l4[zz] = "Y("+string(zz)+")"; 412 } 413 ring Q0y = create_ring(ringlist(basering)[1], "("+string(l4)+","+varstr(basering)+")", "(ds("+string(s)+"),c,"+ostring+")", "no_minpoly"); 413 414 setring Q0y; 414 415 ideal H = imap(Gr.A,H); … … 428 429 * construct Ky and sigmainI 429 430 **/ 430 execute("ring KKy = ("+charstr(Q0)+"),(Y(1..s),"+varstr(Q0,nvars(Q0))+"),(c,dp(s),dp(1));");431 ring KKy = create_ring(ringlist(Q0)[1], "("+string(l4)+","+varstr(Q0,nvars(Q0))+")", "(c,dp("+string(s)+"),dp(1))", "no_minpoly"); 431 432 poly minpolyOfK = imap(Q0,g(n)); 432 433 qring Ky = std(minpolyOfK); -
Singular/LIB/realrad.lib
re7e3983 rea6e16e 632 632 l[zz,n-zz]=1; 633 633 } 634 ri="ring rcoef="+"(0,@t,"+parvar+"), 635 ("+lessvar+"),M(l);"; 636 execute(ri); 634 ring rcoef = create_ring("(0,@t,"+parvar+")", "("+lessvar+")", "M("+string((l))+")"); 637 635 kill l; 638 636 poly e=imap(rh,e); -
Singular/LIB/ring.lib
re7e3983 rea6e16e 165 165 setring @r; 166 166 ideal i = ideal(@r); int @q = size(i); 167 if( @q!=0 ) 168 { string @s = "Rnew1"; } 167 string @newring = "("; 168 string strr1 = "printing vars"; // comment by sachin 169 strr1; // comment by sachin 170 vars; 171 if( vars[size(vars)-1]=="(" and vars[size(vars)]==")" ) 172 { 173 // @newring = @newring+vars[1,size(vars)-2]+"(1.."+string(nvars(@r))+")"; 174 list l6; 175 for (int zz = 1; zz <= nvars(@r); zz++) 176 { 177 l6[zz] = vars[1,size(vars)-2] + "("+string(zz)+")"; 178 } 179 } 169 180 else 170 { string @s = "Rnew"; } 171 string @newring = @s+"=("+charstr(@r)+"),("; 172 if( vars[size(vars)-1]=="(" and vars[size(vars)]==")" ) 173 { 174 @newring = @newring+vars[1,size(vars)-2]+"(1.."+string(nvars(@r))+")"; 175 } 176 else { @newring = @newring+vars; } 181 { 182 // @newring = @newring+vars; 183 list l6; 184 for(int zz=1 ; zz <= size(vars); zz++) 185 { 186 if(vars[zz] != ","){ l6[size(l6)+1] = vars[zz]; } 187 } 188 } 177 189 string ords=ordstr(@r); 178 190 int l=size(ords); … … 192 204 else { ords=string(ords[1..l1-1])+string(ords[l2+1..size(ords)]); } 193 205 } 194 @newring = @newring+"),("+ords+");"; 195 execute("ring "+@newring); 206 @newring = @newring+")"; 207 string strr1 = "printing newring"; // comment by sachin 208 strr1; // comment by sachin 209 @newring; 210 // execute("ring "+@newring); 211 if( @q!=0 ) 212 { ring Rnew1 = create_ring(ringlist(@r)[1], l6, "("+ords+")", "no_minpoly"); ringlist(Rnew1); } 213 else 214 { ring Rnew = create_ring(ringlist(@r)[1], l6, "("+ords+")", "no_minpoly"); ringlist(Rnew); } 196 215 if( @q!=0 ) 197 216 { … … 202 221 } 203 222 return(Rnew); 223 204 224 } 205 225 example -
Singular/LIB/rinvar.lib
re7e3983 rea6e16e 149 149 // Gn (contians only z(1..newVars)) to this ring 150 150 151 ringSTR2 = "ring RIGS = (" + charstr(basering) + "), (s(1.." 152 + string(newVars) + "), t(1.." + string(nrt) + ")), lp;"; 153 execute(ringSTR2); 151 list l1; 152 for (int zz = 1; zz <= newVars; zz++) 153 { 154 l1[size(l1)+1] = "s("+string(zz)+")"; 155 } 156 for (int yy = 1; yy <= nrt; yy++) 157 { 158 l1[size(l1)+1] = "t("+string(yy)+")"; 159 } 160 ring RIGS = create_ring(ringlist(basering)[1], l1, "lp", "no_minpoly"); 154 161 execute("minpoly = number(" + @mPoly + ");"); 155 162 ideal mapIdeal, groupid, actionid; … … 421 428 + " is not a linear combination of the elements of basis"); 422 429 nrt++; 423 str = charstr(basering) + ", (" + varstr(basering)424 + ",t(" + string(nrt) + ")),";425 430 if(defined(RLAB)) { kill RLAB;} 426 431 def RLAB = basering; 427 432 if(defined(RLAR)) { kill RLAR;} 428 execute("ring RLAR = " + str + "(" + order + ");");433 ring RLAR = create_ring(ringlist(basering)[1], "(" + varstr(basering)+ ",t(" + string(nrt) + "))", "(" + order + ")", "no_minpoly"); 429 434 execute("minpoly = number(" + @mPoly + ");"); 430 435 … … 867 872 868 873 nt = size(action); 869 order = "(dp(" + string(nvars(basering) - nt) + "), dp);"; 870 vars = "(s(1.." + string(nvars(basering) - nt); 871 vars = vars +"),t(1.."+string(nt) + "), Y(1.." + string(nt) + "))," + order; 872 ringSTR = "ring RNCR = (" + charstr(basering) + ")," + vars; 874 order = "(dp(" + string(nvars(basering) - nt) + "), dp)"; 873 875 // ring for the computation 874 876 875 877 string @minPoly = string(minpoly); 876 878 offset = size(G) + nt; 877 execute(ringSTR); 879 list l2; 880 for (int xx = 1; xx <= (nvars(basering) - nt); xx++) 881 { 882 l2[size(l2)+1] = "s("+string(xx)+")"; 883 } 884 for (int yy = 1; yy <= nt; yy++) 885 { 886 l2[size(l2)+1] = "t("+string(yy)+")"; 887 } 888 for (int zz = 1; zz <= nt; zz++) 889 { 890 l2[size(l2)+1] = "Y("+string(zz)+")"; 891 } 892 ring RNCR = create_ring(ringlist(basering)[1], l2, order, "no_minpoly"); 878 893 execute("poly aaa = number(" + @minPoly + ");"); 879 894 if (aaa!=0) { minpoly = number(aaa); } -
Singular/LIB/surfex.lib
re7e3983 rea6e16e 1308 1308 short = 0; 1309 1309 string str_lag = sprintf("list lag = laguerre_solve(%s);", minpoly); 1310 string str_ring = sprintf("ring r_sqrt = (complex,prec,I),(%s),lp;", parstr(basering)); 1311 execute(str_ring); 1310 ring r_sqrt = create_ring("(complex,prec,I)", "(" + parstr(basering) +")", "lp"); 1312 1311 execute(str_lag); 1313 1312 // lag; … … 1371 1370 short = 0; 1372 1371 string str_lag = sprintf("list lag = laguerre_solve(%s);", minpoly); 1373 string str_ring = sprintf("ring r_sqrt = (complex,prec,I),(%s),lp;", parstr(basering)); 1374 execute(str_ring); 1372 ring r_sqrt = create_ring("(complex,prec,I)", "(" + parstr(basering) +")", "lp"); 1375 1373 execute(str_lag); 1376 1374
Note: See TracChangeset
for help on using the changeset viewer.