Singular

D.4.21.1 primdecZ

Procedure from library `primdecint.lib` (see primdecint_lib).

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.

Return:
a list pr of primary ideals and their associated primes:
 ``` pr[i][1] the i-th primary component, pr[i][2] the i-th prime component. ```

Example:
 ```LIB "primdecint.lib"; ring R=integer,(a,b,c,d),dp; ideal I1=9,a,b; ideal I2=3,c; ideal I3=11,2a,7b; ideal I4=13a2,17b4; 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); primdecZ(I); ==> [1]: ==> [1]: ==> _[1]=d5 ==> _[2]=c5 ==> [2]: ==> _[1]=d ==> _[2]=c ==> [2]: ==> [1]: ==> _[1]=a2 ==> _[2]=b4 ==> [2]: ==> _[1]=b ==> _[2]=a ==> [3]: ==> [1]: ==> _[1]=2 ==> _[2]=c5 ==> [2]: ==> _[1]=2 ==> _[2]=c ==> [4]: ==> [1]: ==> _[1]=3 ==> [2]: ==> _[1]=3 ==> [5]: ==> [1]: ==> _[1]=13 ==> _[2]=b4 ==> [2]: ==> _[1]=13 ==> _[2]=b ==> [6]: ==> [1]: ==> _[1]=17 ==> _[2]=a2 ==> [2]: ==> _[1]=17 ==> _[2]=a ==> [7]: ==> [1]: ==> _[1]=17 ==> _[2]=d15 ==> _[3]=c15 ==> _[4]=b15 ==> _[5]=a15 ==> [2]: ==> _[1]=17 ==> _[2]=d ==> _[3]=c ==> _[4]=b ==> _[5]=a ==> [8]: ==> [1]: ==> _[1]=9 ==> _[2]=3d5 ==> _[3]=d10 ==> [2]: ==> _[1]=3 ==> _[2]=d ideal J=intersectZ(ideal(17,a),ideal(17,a2,b)); primdecZ(J); ==> [1]: ==> [1]: ==> _[1]=17 ==> _[2]=a ==> [2]: ==> _[1]=17 ==> _[2]=a ==> [2]: ==> [1]: ==> _[1]=17 ==> _[2]=b ==> _[3]=a2 ==> [2]: ==> _[1]=17 ==> _[2]=b ==> _[3]=a ideal K=intersectZ(ideal(9,a+3),ideal(9,b+3)); primdecZ(K); ==> [1]: ==> [1]: ==> _[1]=9 ==> _[2]=b+3 ==> [2]: ==> _[1]=3 ==> _[2]=b ==> [2]: ==> [1]: ==> _[1]=9 ==> _[2]=a+3 ==> [2]: ==> _[1]=3 ==> _[2]=a ```