
-------- Original Message -------- Subject: Re: The specification of sqrfree() Date: Wed, 9 Jan 2002 18:21:33 +0100 (CET) From: "Richard B. Kreckel" kreckel@ginac.de Reply-To: Richard.Kreckel@Uni-Mainz.DE To: GiNaC developers list ginac-devel@zino.physik.uni-mainz.de CC: Roberto Bagnara bagnara@cs.unipr.it
Hi,
On Wed, 9 Jan 2002, Roberto Bagnara wrote: [...]
During this work we have found that GiNaC's documentation is not very precise about what a "square-free factorization" is.
Yeah, the defintion given there is not very strict... :-)
Below you find what we believe is a sensible definition (which also seems to be compatible with the current implementation). Please, check if that is also consistent with the specification of GiNaC (we would like to avoid relying on non-features that may disappear on a subsequent release).
A polynomial p(X) in Q[X] is said <EM>square-free</EM> if, whenever two polynomials q(X) and r(X) in Q[X] are such that p(X) = q(X)^2*r(X), q(X) is constant.
I had to read this three times. Do we agree to read `X' ad a n-tuple of symbols? Then I thought this definition does not account of the square-free factorization of p(a,b,c,d) = a*c - b*c - a*d + b*d into (a-b)*(c-d), which is now handled -- this being the change that went into version 1.0.1. But now methinks your definition does indeed cover this. Isn't there a canonical definition for the multivariate case in the literature?
And at least over Z[X] and Q[X], you can rely on this extended behaviour. Maple and Mathematica do the same and I need it for my work.
If you think it over again with the above case in mind and find that it's okay, a patch for the documentation would be welcome.
Regards -richy.