There are several functions for computing a
factorization of a ring element.
The factorizations produced have different properties.
factor(f)factorization into irreducibles
SqFreeFactor(f)factorization into coprime squarefree factors (NB may not be the coarsest such factorization)
ContentFreeFactor(f)polynomial factorization into (coprime) content-free factors
NOTE The irreducible factorization of a polynomial with rational coefficients produces factors with integer coefficients (and integer content = 1) having positive leading coefficient. The remaining factor is the unique rational number (actually a polynomial of degree 0) which makes the factorization correct.
SqFreeFactor is new code; should be reasonably clean and efficient.
Originally written by d'Ali` but then considerably modified by JAA.
The code is based on Bernardin's paper "On square-free factorization
of multivariate polynomials over a finite field" in Theoretical Computer
Science (special volume on algebra) Volume 187 Issue 1-2, Nov. 15, 1997
Pages 105 - 116.
ContentFreeFactor is a fairly simplistic recursive method; most of the
work is done by
factor is still only a prototype -- just uses old C4 code to do the work.
factor still only a prototype -- just uses old C4 code to do the work.