# Singular          #### D.4.1.1 absFactorize

Procedure from library `absfact.lib` (see absfact_lib).

Usage:
absFactorize(p [,s]); p poly, s string

Assume:
coefficient field is the field of rational numbers or a transcendental extension thereof

Return:
ring `R` which is obtained from the current basering by adding a new parameter (if a string `s` is given as a second input, the new parameter gets this string as name). The ring `R` comes with a list `absolute_factors` with the following entries:
 ``` absolute_factors: ideal (the absolute factors) absolute_factors: intvec (the multiplicities) absolute_factors: ideal (the minimal polynomials) absolute_factors: int (total number of nontriv. absolute factors) ```
The entry `absolute_factors` is a constant, the entry `absolute_factors` is the parameter added to the current ring.
Each of the remaining entries `absolute_factors[j]` stands for a class of conjugated absolute factors. The corresponding entry `absolute_factors[j]` is the minimal polynomial of the field extension over which the factor is minimally defined (its degree is the number of conjugates in the class). If the entry `absolute_factors[j]` coincides with `absolute_factors`, no field extension was necessary for the `j`th (class of) absolute factor(s).

Note:
All factors are presented denominator- and content-free. The constant factor (first entry) is chosen such that the product of all (!) the (denominator- and content-free) absolute factors of `p` equals `p / absolute_factors`.

Example:
 ```LIB "absfact.lib"; ring R = (0), (x,y), lp; poly p = (-7*x^2 + 2*x*y^2 + 6*x + y^4 + 14*y^2 + 47)*(5x2+y2)^3*(x-y)^4; def S = absFactorize(p) ; ==> ==> // 'absFactorize' created a ring, in which a list absolute_factors (the ==> // absolute factors) is stored. ==> // To access the list of absolute factors, type (if the name S was assign\ ed ==> // to the return value): ==> // setring(S); absolute_factors; ==> setring(S); absolute_factors; ==> : ==> _=1/21125 ==> _=5*x+(a)*y ==> _=x-y ==> _=(-14a+19)*x+13*y2+(-7a+94) ==> : ==> 1,3,4,1 ==> : ==> _=(a) ==> _=(a2+5) ==> _=(a) ==> _=(7a2-6a-47) ==> : ==> 12 ``` 