William Sit wrote: > The domain Factored R does not promise full factorization. Indeed, it only > promise to keep the elements of R in factored form, and a factor has a flag, > including "nil", "sqfr", "irred" or "prime". So returning a square free form > is > not a bug. >
Well, if you look just at types factor can return anything. However, we have: factor : P -> Factored P ++ factor(p) factors the multivariate polynomial p over its coefficient ++ domain The ++ comment does not mention possibility of unfactored output. Other factor functions give completly factored output, so giving unfactored output is inconsistent with other functions. Given that there are functions like subtractIfCan it is natural that function which factorizes on "best effort" basis should have different name. > The MultivariateSquareFree package has a squareFree operation when the > coefficient domain is a EuclideanDomain (and the PolynomialGcdPackage provides > gcd operations via Hensel lifting). However, I am not sure if there is a > squareFree operation when the coefficient ring is just an integral domain. > There > is some indication from the +++ comments that the author (Gianni) believed a > squareFree factorization is possible for multivariate polynomial rings over > certain integral domains (but the algorithm then used requires a Euclidean > division algorithm) and hence the more relaxed requirement on the coefficient > domain in GENMFACT. > Mathematically, to have well-defined (unique) factorizations we need something like Krull ring. But Krull ring such that gcd exists for all pairs of elements is a unique factorisation domain. I suspect that similar things holds for square free decomposition. Practically, when working with polynomils we may want to ignore problems due to coefficient ring, that is consider degree 0 factors as trivial. But it is still not clear if we can do square free decomposition (without for example extending coefficient ring to a field). However, assuming that we can compute such a decomposition it would be a different operation than the normal square free decomposition, so I feel that it deserves different name. Similarly, it may happen that some elements of a ring which is not a unique factorisation domain happen to have unique factorisation. Again, a operation which factors elements which are factorizable and returns other unfactored is IMHO a different operation than Axiom factor function. -- Waldek Hebisch [EMAIL PROTECTED] _______________________________________________ Axiom-developer mailing list Axiom-developer@nongnu.org http://lists.nongnu.org/mailman/listinfo/axiom-developer