Changeset 602b552 in git
- Timestamp:
- Mar 24, 2011, 4:44:40 PM (12 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
- Children:
- 84c600783f02703f8b78f0edd53d01c0e8e0834b
- Parents:
- 0dfa244172c41202ec5a6f6e99d2e04d2f572a2f
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/primdecint.lib
r0dfa24 r602b552 3 3 category = "Commutative Algebra"; 4 4 info=" 5 LIBRARY: primdecint.lib primary decomposition over the integers 5 LIBRARY: primdecint.lib primary decomposition of an ideal in the polynomial 6 ring over the integers 6 7 7 8 AUTHORS: G. Pfister pfister@mathematik.uni-kl.de … … 13 14 A library for computing the primary decomposition of an ideal in the 14 15 polynomial ring over the integers, Z[x_1,...,x_n]. 16 The first procedure 'primdecZ' can be used in parallel. 15 17 16 18 PROCEDURES: … … 28 30 29 31 proc primdecZ(ideal I, list #) 30 "USAGE: primdecZ(I ); I ideal32 "USAGE: primdecZ(I[, n]); I ideal, n integer (number of processors) 31 33 NOTE: If size(#) > 0, then #[1] is the number of available processors for 32 the computation. Parallelization is just applicable using 32-bit 33 Singular version since MP-links are not compatible with 64-bit Singular 34 version. 34 the computation. 35 35 RETURN: a list pr of primary ideals and their associated primes: 36 36 @format … … 49 49 { 50 50 int n = #[1]; 51 if((n > 1) && (1 - system("with","MP")))52 {53 "========================================================================";54 "There is no MP available on your system. Since this is necessary to ";55 "parallelize the algorithm, the computation will be done without forking.";56 "========================================================================";57 n = 1;58 }59 51 ideal TES = 1; 60 52 } … … 62 54 { 63 55 int n = #[1]; 64 if((n > 1) && (1 - system("with","MP")))65 {66 "========================================================================";67 "There is no MP available on your system. Since this is necessary to ";68 "parallelize the algorithm, the computation will be done without forking.";69 "========================================================================";70 n = 1;71 }72 56 ideal TES = #[2]; 73 57 } … … 80 64 81 65 82 if(deg(I[1]) ==0)83 { 84 ideal J =I;66 if(deg(I[1]) == 0) 67 { 68 ideal J = I; 85 69 } 86 70 else 87 71 { 88 ideal J =stdZ(I);72 ideal J = stdZ(I); 89 73 } 90 74 … … 136 120 p=int(L[1][i + 1]); 137 121 nu=int(L[2][i + 1]); 138 link l(i) = "MPtcp:fork";139 //link l(i) = "ssi:fork";122 //link l(i) = "MPtcp:fork"; 123 link l(i) = "ssi:fork"; 140 124 open(l(i)); 141 125 write(l(i), quote(modp(eval(J), eval(p), eval(nu)))); … … 250 234 { 251 235 TQ=intersectZ(TQ,Q); 236 //TQ=intersect(TQ,Q); 252 237 P[size(P)+1]=list(Q,K); 253 238 } … … 278 263 JJ=stdZ(JJ); 279 264 TQ=intersectZ(TQ,JJ); 265 //TQ=intersect(TQ,JJ); 280 266 } 281 267 } … … 291 277 J=stdZ(J); 292 278 TQ=intersectZ(TQ,TES); 279 //TQ=intersect(TQ,TES); 293 280 if(size(reduce(TQ,J))!=0) 294 281 { … … 298 285 m++; 299 286 while(size(reduce(intersectZ(W,TQ),J))!=0) 287 //while(size(reduce(intersect(W,TQ),J))!=0) 300 288 { 301 289 //W=stdZ(addIdealZ(I,K^m)); … … 375 363 ideal I5=9c5,6d5; 376 364 ideal I6=17,a15,b15,c15,d15; 377 ideal I=intersect Z(I1,I2);378 I=intersect Z(I,I3);379 I=intersect Z(I,I4);380 I=intersect Z(I,I5);381 I=intersect Z(I,I6);365 ideal I=intersect(I1,I2); 366 I=intersect(I,I3); 367 I=intersect(I,I4); 368 I=intersect(I,I5); 369 I=intersect(I,I6); 382 370 primdecZ(I); 383 ideal J=intersect Z(ideal(17,a),ideal(17,a2,b));371 ideal J=intersect(ideal(17,a),ideal(17,a2,b)); 384 372 primdecZ(J); 385 ideal K=intersect Z(ideal(9,a+3),ideal(9,b+3));373 ideal K=intersect(ideal(9,a+3),ideal(9,b+3)); 386 374 primdecZ(K); 387 375 } … … 665 653 B=stdZ(B); 666 654 K=stdZ(intersectZ(K,B)); 655 //K=stdZ(intersect(K,B)); 667 656 setring Rhelp; 668 657 } … … 693 682 ideal M=radicalZ(J); 694 683 K=intersectZ(K,M); 684 //K=intersect(K,M); 695 685 } 696 686 return(K); … … 822 812 Q=extractZ(N,j,IS,B); 823 813 TQ=intersectZ(TQ,Q); 814 //TQ=intersect(TQ,Q); 824 815 } 825 816 setring Rhelp; … … 835 826 E=stdZ(E); 836 827 TQ=intersectZ(TQ,E); 828 //TQ=intersect(TQ,E); 837 829 } 838 830 } … … 872 864 { 873 865 E=intersectZ(M,E); 866 //E=intersect(M,E); 874 867 } 875 868 } … … 1278 1271 int i; 1279 1272 ideal K=intersectZ(I,ideal(f)); 1273 //ideal K=intersect(I,ideal(f)); 1280 1274 //=== K[i]/f; does not work in rings with integer! This should be replaced 1281 1275 //=== later … … 1303 1297 { 1304 1298 K=intersectZ(K,quotientOneZ(I,J[i])); 1299 //K=intersect(K,quotientOneZ(I,J[i])); 1305 1300 } 1306 1301 return(K); … … 1395 1390 { 1396 1391 K=intersectZ(K,L[i][1]); 1392 //K=intersect(K,L[i][1]); 1397 1393 } 1398 1394 i=size(reduce(K,stdZ(I)))+size(reduce(I,stdZ(K))); … … 1409 1405 ring R1=integer,(a,b,c,d,e,f,g),dp; 1410 1406 ideal I=a2+2de+2cf+2bg+a, 1411 Â Â Â Â Â Â Â2ab+e2+2df+2cg+b,1412 Â Â Â Â Â Â Âb2+2ac+2ef+2dg+c,1413 Â Â Â Â Â Â Â2bc+2ad+f2+2eg+d,1414 Â Â Â Â Â Â Âc2+2bd+2ae+2fg+e,1415 Â Â Â Â Â Â Â2cd+2be+2af+g2+f,1416 Â Â Â Â Â Â Âd2+2ce+2bf+2ag+g;1407 2ab+e2+2df+2cg+b, 1408 b2+2ac+2ef+2dg+c, 1409 2bc+2ad+f2+2eg+d, 1410 c2+2bd+2ae+2fg+e, 1411 2cd+2be+2af+g2+f, 1412 d2+2ce+2bf+2ag+g; 1417 1413 1418 1414 ring R2=integer,(a,b,c,d,e,f,g),dp; 1419 1415 ideal I=181*32003, 1420 1416 a2+2de+2cf+2bg+a, 1421 Â Â Â Â Â Â Â2ab+e2+2df+2cg+b,1422 Â Â Â Â Â Â Âb2+2ac+2ef+2dg+c,1423 Â Â Â Â Â Â Â2bc+2ad+f2+2eg+d,1424 Â Â Â Â Â Â Âc2+2bd+2ae+2fg+e,1425 Â Â Â Â Â Â Â2cd+2be+2af+g2+f,1426 Â Â Â Â Â Â Âd2+2ce+2bf+2ag+g;1427 Â 1417 2ab+e2+2df+2cg+b, 1418 b2+2ac+2ef+2dg+c, 1419 2bc+2ad+f2+2eg+d, 1420 c2+2bd+2ae+2fg+e, 1421 2cd+2be+2af+g2+f, 1422 d2+2ce+2bf+2ag+g; 1423 1428 1424 ring R3=integer,(w,z,y,x),dp; 1429 1425 ideal I=xzw+(-y^2+y)*z^2, … … 1480 1476 ring R11=integer,(w,z,y,x),dp; 1481 1477 ideal I=(4*y^2*x^2+(4*y^3+4*y^2-y)*x-y^2-y)*z^2, 1482 Â(x+y+1)*zw+(-4*y^2*x-4*y^3-4*y^2)*z^2,1483 Â (-x-2*y^2 - 2*y - 1)*zw +Â(8*y^3*x + 8*y^4 + 8*y^3 + 2*y^2+y)*z^2,1478 (x+y+1)*zw+(-4*y^2*x-4*y^3-4*y^2)*z^2, 1479 (-x-2*y^2 - 2*y - 1)*zw + (8*y^3*x + 8*y^4 + 8*y^3 + 2*y^2+y)*z^2, 1484 1480 ((y^3 + y^2)*x - y^2 - y)*z^2, 1485 1481 (y +1)*zw + (-y^3 -y^2)*z^2, … … 1496 1492 ideal I=(((12*y+8)*x^2 +(2*y+2)*x)*zw +((-15*y^2 -4*y)*x-4*y^2 -y)*z^2, 1497 1493 -x*w^2 +((-12*y -8)*x+2*y)*zw +(15*y^2+4*y)*z^2, 1498 (81*y^4*x^2 +(-54*y^3 -12*y^2)*x-12*y^3 -3*y^2)*z^3, Â1494 (81*y^4*x^2 +(-54*y^3 -12*y^2)*x-12*y^3 -3*y^2)*z^3, 1499 1495 (-24*yx+6*y^2-6*y)*z^2*w + (-81*y^4*x + 81*y^3 + 24*y^2)*z^3, 1500 (48*x^2 + (-30*y + 12)*x - 6*y)*z^2*w + Â((81*y^3 -54*y^2 -24*y)*x1496 (48*x^2 + (-30*y + 12)*x - 6*y)*z^2*w + ((81*y^3 -54*y^2 -24*y)*x 1501 1497 -21*y^2 -6*y)*z^3, 1502 1498 (-96*yx-18*y^3 +18*y^2-24*y)*z^2*w +(243*y^5*x-243*y^4 +72*y^3 … … 1517 1513 1518 1514 1519 ring R15=integer,(x,y,z),dp; Â1515 ring R15=integer,(x,y,z),dp; 1520 1516 ideal I=32003*181*64, 1521 1517 ((z^2-z)*y^2 + (z^2 -z)*y)*x; (z*y^3 + z*y^2)*x, … … 1535 1531 x(2)^2*x(3)*x(5)^2, 1536 1532 x(1)*x(2)*x(3)*x(5)^2, 1537 x(1)*x(3)^2*x(5)^2, Â1533 x(1)*x(3)^2*x(5)^2, 1538 1534 x(3)^3*x(5)^2, 1539 1535 x(3)^3*x(4)*x(5), … … 1541 1537 x(1)*x(2)*x(3)*x(4)*x(5), 1542 1538 x(2)^2*x(3)*x(4)*x(5), 1543 x(2)^2*x(4)^2*x(5), Â1539 x(2)^2*x(4)^2*x(5), 1544 1540 x(1)*x(2)*x(4)^2*x(5), 1545 1541 x(1)*x(4)^3*x(5), … … 1547 1543 I=intersectZ(I,ideal(64*181,x(1)^2)); 1548 1544 1549 ring R17=integer,(x,y,z),dp; Â1545 ring R17=integer,(x,y,z),dp; 1550 1546 ideal I=374, 1551 1547 (z+2)^8-140z6+2622*(z+2)^4-1820*(z+2)^2+169, 1552 Â Â Â Â17y*(z+2)^4-374*y*(z+2)^2+221y+2z7-281z5+5240z3-3081z,1553 Â Â Â Â204y2+136yz3-3128yz+z6-149z4+2739z2+117,1554 Â Â Â Â17xz4-374xz2+221x+2z7-281z5+5240z3-3081z,1555 Â Â Â Â136xy-136xz-136yz+2z6-281z4+5376z2-3081,1556 Â Â Â Â204x2+136xz3-3128xz+z6-149z4+2739z2+117;1548 17y*(z+2)^4-374*y*(z+2)^2+221y+2z7-281z5+5240z3-3081z, 1549 204y2+136yz3-3128yz+z6-149z4+2739z2+117, 1550 17xz4-374xz2+221x+2z7-281z5+5240z3-3081z, 1551 136xy-136xz-136yz+2z6-281z4+5376z2-3081, 1552 204x2+136xz3-3128xz+z6-149z4+2739z2+117; 1557 1553 1558 1554 ring R18=integer,(B,D,F,b,d,f),dp; … … 1592 1588 x3+y3+z3+t3+u3+v3; 1593 1589 1594 ring R22=integer,(s,p,S,P,T,F,f),dp; Â1590 ring R22=integer,(s,p,S,P,T,F,f),dp; 1595 1591 ideal I=35, 1596 1592 2*T-S*s-2*F+2,
Note: See TracChangeset
for help on using the changeset viewer.