Date: Feb 13, 2013 4:48 AM
Author: Andrzej Kozlowski
Subject: Re: Factoring a polynomial with many variables

On 12 Feb 2013, at 09:23, wrote:

> Is there a way to factor a polynomial in many variables. I have not studied
> algebraic geometry, or Buchberger algorithm.

Is your question a Mathematica question or a algorithmic algebra question? This is significant because this is a Mathematica group. Besides, do you want to factor over the integers or over the complexes or the reals? This is also significant.

In any case,the answer to all these questions is: "yes". For factoring over the integers just use Factor:

p = 5 + 5 x^2 + 7 x^3 + x^5 - 6 x y - 3 x^3 y + 3 x^4 y - 9 x^2 y^2;


(5 + x^3 - 3 x y) (7 + x^2 + 3 x y)

If you want to factor over other fields you have to specify the field extension.

As for the algorithmic algebra: the classical way to factor univariate polynomials is the so called Berlekamp-Hensel algorithm, which has been generalised to the multivariate case by Wang. A faster algorithm was presented about 30 years ago by Kaltofen, in his PhD thesis. I have not followed any subsequent developments and am not sure if Mathematica implements only the original Wang algorithm (as seems to be suggested by the documentation) or later improvements.

PS. Groebner basis and, in particular, Buchsberger's algorithm, don't really enter into this.