|  |  D.4.1.2 absFactorizeBCG Procedure from libraryabsfact.lib(see  absfact_lib).
 
Example:Usage:
absFactorizeBCG(p [,s]); p poly, s string
Assume:
coefficient field is the field of rational numbers or a
transcendental extension thereof
Return:
ring Rwhich is obtained from the current basering
by adding a new parameter (if a stringsis given as a
second input, the new parameter gets this string as name). The ringRcomes with a listabsolute_factorswith the
following entries:The entry|  |     absolute_factors[1]: ideal   (the absolute factors)
    absolute_factors[2]: intvec  (the multiplicities)
    absolute_factors[3]: ideal   (the minimal polynomials)
    absolute_factors[4]: int     (total number of nontriv. absolute factors)
 | 
 absolute_factors[1][1]is a constant, the
entryabsolute_factors[3][1]is the parameter added to the
current ring.Each of the remaining entries
 absolute_factors[1][j]stands for
a class of conjugated absolute factors. The corresponding entryabsolute_factors[3][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 entryabsolute_factors[3][j]coincides withabsolute_factors[3][1],
no field extension was necessary for thejth (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 pequalsp / absolute_factors[1][1].
 See also:
 absFactorize;
 absPrimdecGTZ;
 factorize.|  | 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 = absFactorizeBCG(p) ;
==> 
==> // 'absFactorizeBCG' created a ring, in which a list absolute_factors (th\
   e
==> // 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]:
==>    _[1]=1
==>    _[2]=-x+y
==>    _[3]=(-a)*x+y
==>    _[4]=(2a-13)*x+y2+(a)
==> [2]:
==>    1,4,3,1
==> [3]:
==>    _[1]=(a)
==>    _[2]=(a)
==>    _[3]=(a2+5)
==>    _[4]=(a2-14a+47)
==> [4]:
==>    12
 | 
 
 |