There are several functions for computing factorizations of ring elements. 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.