Home Online Manual
Top
Back: absFactorize
Forward: algebra_lib
FastBack: Commutative algebra
FastForward: algebra_lib
Up: absfact_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

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 jth (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.