- Timestamp:
- Apr 11, 2011, 7:09:03 PM (13 years ago)
- Branches:
- (u'spielwiese', '2a584933abf2a2d3082034c7586d38bb6de1a30a')
- Children:
- 4a7c16db46749a1ff4d60c3e2bec50c2b0df1b6c
- Parents:
- 58f1ff5391c1bacd73a916e015bc437b6be11461
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/primdecint.lib
r58f1ff5 r049b78 22 22 heightZ(I); compute the height of I 23 23 equidimZ(I); compute the equidimensional part of I 24 intersectZ(I,J) compute the intersection of I and J 24 25 "; 25 26 … … 232 233 if(size(reduce(TES,Q))>0) 233 234 { 234 TQ=intersect(TQ,Q); 235 TQ=intersectZ(TQ,Q); 236 //TQ=intersect(TQ,Q); 235 237 P[size(P)+1]=list(Q,K); 236 238 } … … 251 253 if(size(reduce(TES,Q))>0) 252 254 { 253 //TQ=intersect (TQ,Q);255 //TQ=intersectZ(TQ,Q); 254 256 P[size(P)+1]=list(Q,K); 255 257 } … … 260 262 JJ=JJ,p; 261 263 JJ=stdZ(JJ); 262 TQ=intersect(TQ,JJ); 264 TQ=intersectZ(TQ,JJ); 265 //TQ=intersect(TQ,JJ); 263 266 } 264 267 } … … 273 276 if(!ex){return(P);} 274 277 J=stdZ(J); 275 TQ=intersect(TQ,TES); 278 TQ=intersectZ(TQ,TES); 279 //TQ=intersect(TQ,TES); 276 280 if(size(reduce(TQ,J))!=0) 277 281 { … … 280 284 ideal W=K; 281 285 m++; 282 while(size(reduce(intersect(W,TQ),J))!=0) 286 while(size(reduce(intersectZ(W,TQ),J))!=0) 287 //while(size(reduce(intersect(W,TQ),J))!=0) 283 288 { 284 289 //W=stdZ(addIdealZ(I,K^m)); … … 358 363 ideal I5=9c5,6d5; 359 364 ideal I6=17,a15,b15,c15,d15; 360 ideal I=intersect (I1,I2);361 I=intersect (I,I3);362 I=intersect (I,I4);363 I=intersect (I,I5);364 I=intersect (I,I6);365 ideal I=intersectZ(I1,I2); 366 I=intersectZ(I,I3); 367 I=intersectZ(I,I4); 368 I=intersectZ(I,I5); 369 I=intersectZ(I,I6); 365 370 primdecZ(I); 366 ideal J=intersect (ideal(17,a),ideal(17,a2,b));371 ideal J=intersectZ(ideal(17,a),ideal(17,a2,b)); 367 372 primdecZ(J); 368 ideal K=intersect (ideal(9,a+3),ideal(9,b+3));373 ideal K=intersectZ(ideal(9,a+3),ideal(9,b+3)); 369 374 primdecZ(K); 370 375 } … … 494 499 ideal I5=9c5,6d5; 495 500 ideal I6=17,a15,b15,c15,d15; 496 ideal I=intersect (I1,I2);497 I=intersect (I,I3);498 I=intersect (I,I4);499 I=intersect (I,I5);500 I=intersect (I,I6);501 ideal I=intersectZ(I1,I2); 502 I=intersectZ(I,I3); 503 I=intersectZ(I,I4); 504 I=intersectZ(I,I5); 505 I=intersectZ(I,I6); 501 506 minAssZ(I); 502 ideal J=intersect (ideal(17,a),ideal(17,a2,b));507 ideal J=intersectZ(ideal(17,a),ideal(17,a2,b)); 503 508 minAssZ(J); 504 ideal K=intersect (ideal(9,a+3),ideal(9,b+3));509 ideal K=intersectZ(ideal(9,a+3),ideal(9,b+3)); 505 510 minAssZ(K); 506 511 } … … 590 595 ideal I5=9c5,6d5; 591 596 ideal I6=17,a15,b15,c15,d15; 592 ideal I=intersect (I1,I2);593 I=intersect (I,I3);594 I=intersect (I,I4);595 I=intersect (I,I5);596 I=intersect (I,I6);597 ideal I=intersectZ(I1,I2); 598 I=intersectZ(I,I3); 599 I=intersectZ(I,I4); 600 I=intersectZ(I,I5); 601 I=intersectZ(I,I6); 597 602 heightZ(I); 598 603 } … … 647 652 B=B,p; 648 653 B=stdZ(B); 649 K=stdZ(intersect(K,B)); 654 K=stdZ(intersectZ(K,B)); 655 //K=stdZ(intersect(K,B)); 650 656 setring Rhelp; 651 657 } … … 675 681 { 676 682 ideal M=radicalZ(J); 677 K=intersect(K,M); 683 K=intersectZ(K,M); 684 //K=intersect(K,M); 678 685 } 679 686 return(K); … … 688 695 ideal I5=9c5,6d5; 689 696 ideal I6=17,a15,b15,c15,d15; 690 ideal I=intersect (I1,I2);691 I=intersect (I,I3);692 I=intersect (I,I4);693 I=intersect (I,I5);694 I=intersect (I,I6);697 ideal I=intersectZ(I1,I2); 698 I=intersectZ(I,I3); 699 I=intersectZ(I,I4); 700 I=intersectZ(I,I5); 701 I=intersectZ(I,I6); 695 702 radicalZ(I); 696 ideal J=intersect (ideal(17,a),ideal(17,a2,b));703 ideal J=intersectZ(ideal(17,a),ideal(17,a2,b)); 697 704 radicalZ(J); 698 705 } … … 804 811 N=stdZ(N); 805 812 Q=extractZ(N,j,IS,B); 806 TQ=intersect(TQ,Q); 813 TQ=intersectZ(TQ,Q); 814 //TQ=intersect(TQ,Q); 807 815 } 808 816 setring Rhelp; … … 817 825 E=E,p; 818 826 E=stdZ(E); 819 TQ=intersect(TQ,E); 827 TQ=intersectZ(TQ,E); 828 //TQ=intersect(TQ,E); 820 829 } 821 830 } … … 854 863 if(he==heightZ(M)) 855 864 { 856 E=intersect(M,E); 865 E=intersectZ(M,E); 866 //E=intersect(M,E); 857 867 } 858 868 } … … 868 878 ideal I5=9c5,6d5; 869 879 ideal I6=17,a15,b15,c15,d15; 870 ideal I=intersect (I1,I2);871 I=intersect (I,I3);872 I=intersect (I,I4);873 I=intersect (I,I5);874 I=intersect (I,I6);880 ideal I=intersectZ(I1,I2); 881 I=intersectZ(I,I3); 882 I=intersectZ(I,I4); 883 I=intersectZ(I,I5); 884 I=intersectZ(I,I6); 875 885 equidimZ(I); 886 } 887 888 //////////////////////////////////////////////////////////////////////////////// 889 890 proc intersectZ(ideal I, ideal J) 891 "USAGE: intersectZ(I,J); I,J ideals 892 RETURN: the intersection of the input ideals 893 NOTE: this is needed because intersect(I,J) does not work, should be replaced 894 by intersect later 895 EXAMPLE: example intersectZ; shows an example 896 { 897 def R = basering; 898 execute("ring S=integer,(t,"+varstr(R)+"),(dp(1),dp(nvars(R)));"); 899 ideal I=imap(R,I); 900 ideal J=imap(R,J); 901 ideal K=addIdealZ(t*I,(1-t)*J); 902 K=stdZ(K); 903 int i; 904 ideal L; 905 for(i=1;i<=size(K);i++) 906 { 907 if(lead(K[i])/t==0){L[size(L)+1]=K[i];} 908 } 909 setring R; 910 ideal L=imap(S,L); 911 return(L); 912 } 913 example 914 { "EXAMPLE:"; echo = 2; 915 ring R=integer,(a,b,c,d),dp; 916 ideal I1=9,a,b; 917 ideal I2=3,c; 918 ideal I3=11,2a,7b; 919 ideal I4=13a2,17b4; 920 ideal I5=9c5,6d5; 921 ideal I6=17,a15,b15,c15,d15; 922 ideal I=intersectZ(I1,I2); I; 923 I=intersectZ(I,I3); I; 924 I=intersectZ(I,I4); I; 925 I=intersectZ(I,I5); I; 926 I=intersectZ(I,I6); I; 876 927 } 877 928 … … 1219 1270 def R=basering; 1220 1271 int i; 1221 ideal K=intersect(I,ideal(f)); 1272 ideal K=intersectZ(I,ideal(f)); 1273 //ideal K=intersect(I,ideal(f)); 1222 1274 //=== K[i]/f; does not work in rings with integer! This should be replaced 1223 1275 //=== later … … 1244 1296 for(i=2;i<=size(J);i++) 1245 1297 { 1246 K=intersect(K,quotientOneZ(I,J[i])); 1298 K=intersectZ(K,quotientOneZ(I,J[i])); 1299 //K=intersect(K,quotientOneZ(I,J[i])); 1247 1300 } 1248 1301 return(K); … … 1336 1389 for(i=2;i<=size(L);i++) 1337 1390 { 1338 K=intersect(K,L[i][1]); 1391 K=intersectZ(K,L[i][1]); 1392 //K=intersect(K,L[i][1]); 1339 1393 } 1340 1394 i=size(reduce(K,stdZ(I)))+size(reduce(I,stdZ(K))); … … 1487 1541 x(1)*x(4)^3*x(5), 1488 1542 x(4)^4*x(5); 1489 I=intersect (I,ideal(64*181,x(1)^2));1543 I=intersectZ(I,ideal(64*181,x(1)^2)); 1490 1544 1491 1545 ring R17=integer,(x,y,z),dp;
Note: See TracChangeset
for help on using the changeset viewer.