Singular
https://www.singular.uni-kl.de/forum/

factorization of polynomials
https://www.singular.uni-kl.de/forum/viewtopic.php?f=10&t=1422
Page 1 of 1

Author:  Katya [ Thu Aug 11, 2005 5:33 pm ]
Post subject:  factorization of polynomials

Hi!

I would like to factorize a homogeneous polynomial in three variables (or more variables) in its splitting field. For example, x^2+y^2+z^2. Who knows how to do this?

In order to factorize a homogeneous polynomial in two variables, e.g. x^2+y^2, I consider the polynomial x^2+1 and use command Roots in Singular. Thus, I get the roots of the polynomial and the minimal polynomial of the splitting field. But I can't factorize a polynomial in two variables using this command, it takes some time and then I recieve an error message.

Thank you for any help.

Katya

email: krupchyk_katya@tut.by
Posted in old Singular Forum on: 2004-12-17 11:38:53+01

Author:  wienand [ Tue Sep 20, 2005 5:31 pm ]
Post subject: 

Dear Katya,

the new Singular 3.0 library "absfact.lib" provides the means to compute absolute factors of polynomials, that is irreducible factors over algebraic closure of the coefficient field.

Your example x^2+y^2+z^2 is absolutely irreducible:

Code:
> ring r=0,(x,y,z),dp;
> LIB "absfact.lib";
> poly f=x^2+y^2+z^2;
> def S = absFactorize(f);

// '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 assigned
// to the return value):
        setring(S); absolute_factors;
> setring(S); absolute_factors;
[1]:
   _[1]=1
   _[2]=x2+y2+z2
[2]:
   1,1
[3]:
   _[1]=(a)
   _[2]=(a)
[4]:
   1


The last output (here: 1) is the number of absolutely irreducible factors. Below is an example which splits:

Code:
> ring r=0,(x,y,z),dp;
> poly f=x^4+(y2+z2)^2;
> def S = absFactorize(f);
> setring(S); absolute_factors;
[1]:
   _[1]=1/4
   _[2]=(2a+1)*x2+2*y2+2*z2
[2]:
   1,1
[3]:
   _[1]=(a)
   _[2]=(4a2+4a+5)
[4]:
   2


From the output you read one absolutely irreducible factor defined over the coefficient field Q[a]/(4a2+4a+5). The second factor is conjugate to this one. Note however that the extension field returned by absFactorize is usually not yet the splitting field (this would require additional computations over extension fields):

Code:
> ring r=0,x,dp;
> poly f=x^3+2;
> def S = absFactorize(f);
> setring(S); absolute_factors;
[1]:
   _[1]=1
   _[2]=x+(-a)
[2]:
   1,1
[3]:
   _[1]=(a)
   _[2]=(a3+2)
[4]:
   3
> ring r1=(0,a),x,dp;
> minpoly = a^3+2;
> factorize(x^3+2);
[1]:
   _[1]=1
   _[2]=x2+(a)*x+(a2)
   _[3]=x+(-a)
[2]:
   1,1,1


Sincerely

The Singular Team

Page 1 of 1 All times are UTC + 1 hour [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/