Index: Singular/LIB/primdecint.lib
===================================================================
--- Singular/LIB/primdecint.lib	(revision 0dfa244172c41202ec5a6f6e99d2e04d2f572a2f)
+++ Singular/LIB/primdecint.lib	(revision 602b552f9d29583a09528a35808f7af40e1455f8)
@@ -3,5 +3,6 @@
 category = "Commutative Algebra";
 info="
-LIBRARY:  primdecint.lib   primary decomposition over the integers
+LIBRARY:  primdecint.lib   primary decomposition of an ideal in the polynomial
+                           ring over the integers
 
 AUTHORS:  G. Pfister       pfister@mathematik.uni-kl.de
@@ -13,4 +14,5 @@
   A library for computing the primary decomposition of an ideal in the
   polynomial ring over the integers, Z[x_1,...,x_n].
+  The first procedure 'primdecZ' can be used in parallel.
 
 PROCEDURES:
@@ -28,9 +30,7 @@
 
 proc primdecZ(ideal I, list #)
-"USAGE:  primdecZ(I); I ideal
+"USAGE:  primdecZ(I[, n]); I ideal, n integer (number of processors)
 NOTE:    If size(#) > 0, then #[1] is the number of available processors for
-         the computation. Parallelization is just applicable using 32-bit
-         Singular version since MP-links are not compatible with 64-bit Singular
-         version.
+         the computation.
 RETURN:  a list pr of primary ideals and their associated primes:
 @format
@@ -49,12 +49,4 @@
       {
          int n = #[1];
-         if((n > 1) && (1 - system("with","MP")))
-         {
-     "========================================================================";
-     "There is no MP available on your system. Since this is necessary to     ";
-     "parallelize the algorithm, the computation will be done without forking.";
-     "========================================================================";
-            n = 1;
-         }
          ideal TES = 1;
       }
@@ -62,12 +54,4 @@
       {
          int n = #[1];
-         if((n > 1) && (1 - system("with","MP")))
-         {
-     "========================================================================";
-     "There is no MP available on your system. Since this is necessary to     ";
-     "parallelize the algorithm, the computation will be done without forking.";
-     "========================================================================";
-            n = 1;
-         }
          ideal TES = #[2];
       }
@@ -80,11 +64,11 @@
 
 
-   if(deg(I[1])==0)
-   {
-      ideal J=I;
+   if(deg(I[1]) == 0)
+   {
+      ideal J = I;
    }
    else
    {
-      ideal J=stdZ(I);
+      ideal J = stdZ(I);
    }
 
@@ -136,6 +120,6 @@
             p=int(L[1][i + 1]);
             nu=int(L[2][i + 1]);
-            link l(i) = "MPtcp:fork";
-//            link l(i) = "ssi:fork";
+            //link l(i) = "MPtcp:fork";
+            link l(i) = "ssi:fork";
             open(l(i));
             write(l(i), quote(modp(eval(J), eval(p), eval(nu))));
@@ -250,4 +234,5 @@
                {
                   TQ=intersectZ(TQ,Q);
+                  //TQ=intersect(TQ,Q);
                   P[size(P)+1]=list(Q,K);
                }
@@ -278,4 +263,5 @@
                JJ=stdZ(JJ);
                TQ=intersectZ(TQ,JJ);
+               //TQ=intersect(TQ,JJ);
             }
          }
@@ -291,4 +277,5 @@
       J=stdZ(J);
       TQ=intersectZ(TQ,TES);
+      //TQ=intersect(TQ,TES);
       if(size(reduce(TQ,J))!=0)
       {
@@ -298,4 +285,5 @@
          m++;
          while(size(reduce(intersectZ(W,TQ),J))!=0)
+         //while(size(reduce(intersect(W,TQ),J))!=0)
          {
             //W=stdZ(addIdealZ(I,K^m));
@@ -375,13 +363,13 @@
    ideal I5=9c5,6d5;
    ideal I6=17,a15,b15,c15,d15;
-   ideal I=intersectZ(I1,I2);
-   I=intersectZ(I,I3);
-   I=intersectZ(I,I4);
-   I=intersectZ(I,I5);
-   I=intersectZ(I,I6);
+   ideal I=intersect(I1,I2);
+   I=intersect(I,I3);
+   I=intersect(I,I4);
+   I=intersect(I,I5);
+   I=intersect(I,I6);
    primdecZ(I);
-   ideal J=intersectZ(ideal(17,a),ideal(17,a2,b));
+   ideal J=intersect(ideal(17,a),ideal(17,a2,b));
    primdecZ(J);
-   ideal K=intersectZ(ideal(9,a+3),ideal(9,b+3));
+   ideal K=intersect(ideal(9,a+3),ideal(9,b+3));
    primdecZ(K);
 }
@@ -665,4 +653,5 @@
          B=stdZ(B);
          K=stdZ(intersectZ(K,B));
+         //K=stdZ(intersect(K,B));
          setring Rhelp;
       }
@@ -693,4 +682,5 @@
       ideal M=radicalZ(J);
       K=intersectZ(K,M);
+      //K=intersect(K,M);
    }
    return(K);
@@ -822,4 +812,5 @@
                   Q=extractZ(N,j,IS,B);
                   TQ=intersectZ(TQ,Q);
+                  //TQ=intersect(TQ,Q);
                }
                setring Rhelp;
@@ -835,4 +826,5 @@
                E=stdZ(E);
                TQ=intersectZ(TQ,E);
+               //TQ=intersect(TQ,E);
             }
          }
@@ -872,4 +864,5 @@
        {
           E=intersectZ(M,E);
+          //E=intersect(M,E);
        }
    }
@@ -1278,4 +1271,5 @@
    int i;
    ideal K=intersectZ(I,ideal(f));
+   //ideal K=intersect(I,ideal(f));
    //=== K[i]/f; does not work in rings with integer! This should be replaced
    //=== later
@@ -1303,4 +1297,5 @@
    {
       K=intersectZ(K,quotientOneZ(I,J[i]));
+      //K=intersect(K,quotientOneZ(I,J[i]));
    }
    return(K);
@@ -1395,4 +1390,5 @@
    {
       K=intersectZ(K,L[i][1]);
+      //K=intersect(K,L[i][1]);
    }
    i=size(reduce(K,stdZ(I)))+size(reduce(I,stdZ(K)));
@@ -1409,21 +1405,21 @@
 ring R1=integer,(a,b,c,d,e,f,g),dp;
 ideal I=a2+2de+2cf+2bg+a,
-Â Â Â Â Â Â Â  2ab+e2+2df+2cg+b,
-Â Â Â Â Â Â Â  b2+2ac+2ef+2dg+c,
-Â Â Â Â Â Â Â  2bc+2ad+f2+2eg+d,
-Â Â Â Â Â Â Â  c2+2bd+2ae+2fg+e,
-Â Â Â Â Â Â Â  2cd+2be+2af+g2+f,
-Â Â Â Â Â Â Â  d2+2ce+2bf+2ag+g;
+        2ab+e2+2df+2cg+b,
+        b2+2ac+2ef+2dg+c,
+        2bc+2ad+f2+2eg+d,
+        c2+2bd+2ae+2fg+e,
+        2cd+2be+2af+g2+f,
+        d2+2ce+2bf+2ag+g;
 
 ring R2=integer,(a,b,c,d,e,f,g),dp;
 ideal I=181*32003,
         a2+2de+2cf+2bg+a,
-Â Â Â Â Â Â Â  2ab+e2+2df+2cg+b,
-Â Â Â Â Â Â Â  b2+2ac+2ef+2dg+c,
-Â Â Â Â Â Â Â  2bc+2ad+f2+2eg+d,
-Â Â Â Â Â Â Â  c2+2bd+2ae+2fg+e,
-Â Â Â Â Â Â Â  2cd+2be+2af+g2+f,
-Â Â Â Â Â Â Â  d2+2ce+2bf+2ag+g;
-Â 
+        2ab+e2+2df+2cg+b,
+        b2+2ac+2ef+2dg+c,
+        2bc+2ad+f2+2eg+d,
+        c2+2bd+2ae+2fg+e,
+        2cd+2be+2af+g2+f,
+        d2+2ce+2bf+2ag+g;
+
 ring R3=integer,(w,z,y,x),dp;
 ideal I=xzw+(-y^2+y)*z^2,
@@ -1480,6 +1476,6 @@
 ring R11=integer,(w,z,y,x),dp;
 ideal I=(4*y^2*x^2+(4*y^3+4*y^2-y)*x-y^2-y)*z^2,
-Â        (x+y+1)*zw+(-4*y^2*x-4*y^3-4*y^2)*z^2,
-Â        (-x-2*y^2 - 2*y - 1)*zw +Â (8*y^3*x + 8*y^4 + 8*y^3 + 2*y^2+y)*z^2,
+        (x+y+1)*zw+(-4*y^2*x-4*y^3-4*y^2)*z^2,
+        (-x-2*y^2 - 2*y - 1)*zw + (8*y^3*x + 8*y^4 + 8*y^3 + 2*y^2+y)*z^2,
         ((y^3 + y^2)*x - y^2 - y)*z^2,
         (y +1)*zw + (-y^3 -y^2)*z^2,
@@ -1496,7 +1492,7 @@
 ideal I=(((12*y+8)*x^2 +(2*y+2)*x)*zw +((-15*y^2 -4*y)*x-4*y^2 -y)*z^2,
         -x*w^2 +((-12*y -8)*x+2*y)*zw +(15*y^2+4*y)*z^2,
-        (81*y^4*x^2 +(-54*y^3 -12*y^2)*x-12*y^3 -3*y^2)*z^3,Â 
+        (81*y^4*x^2 +(-54*y^3 -12*y^2)*x-12*y^3 -3*y^2)*z^3,
         (-24*yx+6*y^2-6*y)*z^2*w + (-81*y^4*x + 81*y^3 + 24*y^2)*z^3,
-        (48*x^2 + (-30*y + 12)*x - 6*y)*z^2*w +Â ((81*y^3 -54*y^2 -24*y)*x
+        (48*x^2 + (-30*y + 12)*x - 6*y)*z^2*w + ((81*y^3 -54*y^2 -24*y)*x
         -21*y^2 -6*y)*z^3,
         (-96*yx-18*y^3 +18*y^2-24*y)*z^2*w +(243*y^5*x-243*y^4 +72*y^3
@@ -1517,5 +1513,5 @@
 
 
-ring R15=integer,(x,y,z),dp; Â 
+ring R15=integer,(x,y,z),dp;
 ideal I=32003*181*64,
         ((z^2-z)*y^2 + (z^2 -z)*y)*x; (z*y^3 + z*y^2)*x,
@@ -1535,5 +1531,5 @@
         x(2)^2*x(3)*x(5)^2,
         x(1)*x(2)*x(3)*x(5)^2,
-        x(1)*x(3)^2*x(5)^2,Â 
+        x(1)*x(3)^2*x(5)^2,
         x(3)^3*x(5)^2,
         x(3)^3*x(4)*x(5),
@@ -1541,5 +1537,5 @@
         x(1)*x(2)*x(3)*x(4)*x(5),
         x(2)^2*x(3)*x(4)*x(5),
-        x(2)^2*x(4)^2*x(5),Â 
+        x(2)^2*x(4)^2*x(5),
         x(1)*x(2)*x(4)^2*x(5),
         x(1)*x(4)^3*x(5),
@@ -1547,12 +1543,12 @@
       I=intersectZ(I,ideal(64*181,x(1)^2));
 
-ring R17=integer,(x,y,z),dp; Â 
+ring R17=integer,(x,y,z),dp;
 ideal I=374,
         (z+2)^8-140z6+2622*(z+2)^4-1820*(z+2)^2+169,
-Â Â Â Â     17y*(z+2)^4-374*y*(z+2)^2+221y+2z7-281z5+5240z3-3081z,
-Â Â Â    Â  204y2+136yz3-3128yz+z6-149z4+2739z2+117,
-Â Â Â Â     17xz4-374xz2+221x+2z7-281z5+5240z3-3081z,
-Â Â Â Â     136xy-136xz-136yz+2z6-281z4+5376z2-3081,
-Â Â Â Â     204x2+136xz3-3128xz+z6-149z4+2739z2+117;
+        17y*(z+2)^4-374*y*(z+2)^2+221y+2z7-281z5+5240z3-3081z,
+        204y2+136yz3-3128yz+z6-149z4+2739z2+117,
+        17xz4-374xz2+221x+2z7-281z5+5240z3-3081z,
+        136xy-136xz-136yz+2z6-281z4+5376z2-3081,
+        204x2+136xz3-3128xz+z6-149z4+2739z2+117;
 
 ring R18=integer,(B,D,F,b,d,f),dp;
@@ -1592,5 +1588,5 @@
         x3+y3+z3+t3+u3+v3;
 
-ring R22=integer,(s,p,S,P,T,F,f),dp; Â 
+ring R22=integer,(s,p,S,P,T,F,f),dp;
 ideal I=35,
         2*T-S*s-2*F+2,
