# Singular          #### D.4.21.20 absPrimdecGTZ

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

Usage:
absPrimdecGTZ(I); I ideal

Assume:
Ground field has characteristic 0.

Return:
a ring containing two lists: `absolute_primes`, the absolute prime components of I, and `primary_decomp`, the output of `primdecGTZ(I)`. The list absolute_primes has to be interpreted as follows: each entry describes a class of conjugated absolute primes,
 ``` absolute_primes[i] the absolute prime component, absolute_primes[i] the number of conjugates. ```
The first entry of `absolute_primes[i]` is the minimal polynomial of a minimal finite field extension over which the absolute prime component is defined.
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

Note:
Algorithm of Gianni/Trager/Zacharias combined with the `absFactorize` command.

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; def S = absPrimdecGTZ(i); ==> ==> // 'absPrimdecGTZ' created a ring, in which two lists absolute_primes (th\ e ==> // absolute prime components) and primary_decomp (the primary and prime ==> // components over the current basering) are stored. ==> // To access the list of absolute prime components, type (if the name S w\ as ==> // assigned to the return value): ==> setring S; absolute_primes; setring S; absolute_primes; ==> : ==> : ==> _=a3+2 ==> _=z-a ==> _=y-za ==> : ==> 3 ==> : ==> : ==> _=a2+1 ==> _=z-a ==> _=y+1 ==> : ==> 2 ``` 