### A.3.9 Primary decomposition

There are two algorithms implemented in SINGULAR which provide primary decomposition: `primdecGTZ`, based on Gianni/Trager/Zacharias (written by Gerhard Pfister) and `primdecSY`, based on Shimoyama/Yokoyama (written by Wolfram Decker and Hans Schoenemann).

The result of `primdecGTZ` and `primdecSY` is returned as a list of pairs of ideals, where the second ideal is the prime ideal and the first ideal the corresponding primary ideal.

 ``` LIB "primdec.lib"; ring r = 0,(a,b,c,d,e,f),dp; ideal i= f3, ef2, e2f, bcf-adf, de+cf, be+af, e3; primdecGTZ(i); ==> : ==> : ==> _=f ==> _=e ==> : ==> _=f ==> _=e ==> : ==> : ==> _=f3 ==> _=ef2 ==> _=e2f ==> _=e3 ==> _=de+cf ==> _=be+af ==> _=-bc+ad ==> : ==> _=f ==> _=e ==> _=-bc+ad // We consider now the ideal J of the base space of the // miniversal deformation of the cone over the rational // normal curve computed in section *8* and compute // its primary decomposition. ring R = 0,(A,B,C,D),dp; ideal J = CD, BD+D2, AD; primdecGTZ(J); ==> : ==> : ==> _=D ==> : ==> _=D ==> : ==> : ==> _=C ==> _=B+D ==> _=A ==> : ==> _=C ==> _=B+D ==> _=A // We see that there are two components which are both // prime, even linear subspaces, one 3-dimensional, // the other 1-dimensional. // (This is Pinkhams example and was the first known // surface singularity with two components of // different dimensions) // // Let us now produce an embedded component in the last // example, compute the minimal associated primes and // the radical. We use the Characteristic set methods // from primdec.lib. J = intersect(J,maxideal(3)); // The following shows that the maximal ideal defines an embedded // (prime) component. primdecSY(J); ==> : ==> : ==> _=D ==> : ==> _=D ==> : ==> : ==> _=C ==> _=B+D ==> _=A ==> : ==> _=C ==> _=B+D ==> _=A ==> : ==> : ==> _=D2 ==> _=C2 ==> _=B2 ==> _=AB ==> _=A2 ==> _=BCD ==> _=ACD ==> : ==> _=D ==> _=C ==> _=B ==> _=A minAssChar(J); ==> : ==> _=C ==> _=B+D ==> _=A ==> : ==> _=D radical(J); ==> _=CD ==> _=BD+D2 ==> _=AD ```

User manual for Singular version 4.3.1, 2022, generated by texi2html.