# Singular

#### D.4.21.2 primdecGTZ

Procedure from library `primdec.lib` (see primdec_lib).

Usage:
primdecGTZ(I); I ideal

Return:
a list pr of primary ideals and their associated primes for a proper ideal I, otherwise pr = list( list( ideal(1), ideal(1) )
 ``` pr[i][1] the i-th primary component, pr[i][2] the i-th prime component. ```

Note:
- Algorithm of Gianni/Trager/Zacharias.
- Designed for characteristic 0, works also in char k > 0, if it terminates (may result in an infinite loop in small characteristic!) - For local orderings, the result is considered in the localization of the polynomial ring, not in the power series ring
- For local and mixed orderings, the decomposition in the corresponding global ring is returned if the string 'global' is specified as second argument

Example:
 ```LIB "primdec.lib"; ring r = 0,(x,y,z),lp; poly p = z2+1; poly q = z3+2; ideal i = p*q^2,y-z2; list pr = primdecGTZ(i); pr; ==> [1]: ==> [1]: ==> _[1]=z6+4z3+4 ==> _[2]=y-z2 ==> [2]: ==> _[1]=z3+2 ==> _[2]=y-z2 ==> [2]: ==> [1]: ==> _[1]=z2+1 ==> _[2]=y-z2 ==> [2]: ==> _[1]=z2+1 ==> _[2]=y-z2 ```