The specification of sqrfree()
Hi there, we are developing a GiNaC-based recurrence relations solver. During this work we have found that GiNaC's documentation is not very precise about what a "square-free factorization" is. 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. The sqrfree function computes polynomials p1(X), ..., pk(X) and positive integers e1, ..., ek such that p(X) = p1(X)^e1 * ... * pk(X)^ek and p1(X) * ... * pk(X) is square-free. If you agree with the above definition we are willing to provide Doxygen and TeXinfo patches against the current sources. All the best, the PURRS team -- Prof. Roberto Bagnara Computer Science Group Department of Mathematics, University of Parma, Italy http://www.cs.unipr.it/~bagnara/ mailto: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. -- Richard B. Kreckel <Richard.Kreckel@Uni-Mainz.DE> <http://wwwthep.physik.uni-mainz.de/~kreckel/>
participants (2)
-
Richard B. Kreckel
-
Roberto Bagnara