#### D.4.1.2 absFactorizeBCG

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

Usage:
  absFactorizeBCG(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[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)

  The entry `absolute_factors[1][1]` is a constant, the entry `absolute_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 entry `absolute_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 entry `absolute_factors[3][j]` coincides with `absolute_factors[3][1]`, 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[1][1]`.

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 = 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]=(2a-13)*x+y2+(a)
    ==>    _[3]=-x+y
    ==>    _[4]=(-a)*x+y
    ==> [2]:
    ==>    1,1,4,3
    ==> [3]:
    ==>    _[1]=(a)
    ==>    _[2]=(a2-14a+47)
    ==>    _[3]=(a)
    ==>    _[4]=(a2+5)
    ==> [4]:
    ==>    12

See also: absFactorize; absPrimdecGTZ; factorize.

User manual for Singular version 4-0-3, 2016, generated by texi2html.