|
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[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 = 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]:
==> _[1]=1/21125
==> _[2]=(-14a+19)*x+13*y2+(-7a+94)
==> _[3]=5*x+(a)*y
==> _[4]=x-y
==> [2]:
==> 1,1,3,4
==> [3]:
==> _[1]=(a)
==> _[2]=(7a2-6a-47)
==> _[3]=(a2+5)
==> _[4]=(a)
==> [4]:
==> 12
| See also:
absPrimdecGTZ;
factorize.
|