CoCoALib function for radical (or SqFree) of a polynomial
This problem is generally easier than
SqFreeFactor, indeed in
SqFreeFactorPosDerChar0 it is just computed by the first 3 lines.
How easy is it to extract this function out of all cases considerend in
#3 Updated by John Abbott over 1 year ago
- Status changed from New to In Progress
- Assignee set to John Abbott
- Target version changed from CoCoALib-0.99999 to CoCoALib-0.99560
- % Done changed from 10 to 50
I have an implementation in CoCoALib. It took so long because of a "mysterious bug" in
My current implementation works only for
RingZZ and a polynomial ring over
Curiously it seems to be faster for polynomials over
f/gcd(f,f') whereas in the latter it computes a squarefree factorization then multiplies the factors together.
The case of monomials is handled specially.
NOTE Other cases could be handled: e.g. polynomials with integer coeffs.
#6 Updated by John Abbott over 1 year ago
- Status changed from In Progress to Resolved
- % Done changed from 50 to 60
Checked in the code. Also two new tests
No documentation yet.
Names not yet decided. JAA finds
radical clearer than
rad (but it is also longer).
#9 Updated by John Abbott over 1 year ago
I like the idea of a fn
IsSqFree; it certainly could be faster than testing equality with the radical (and also clearer?)
I find that
IsSqFree is easier to understand than
IsRadical for ringelems (and perhaps
But then it is inconsistent to have
IsSqFree as the test, and
radical to compute the "maximal square-free factor".
Unfortunately, I also find
SqFree to be a poor choice for the name of the fn which computes the "maximal square-free factor".
Not sure how to resolve this naming problem.
#12 Updated by Anna Maria Bigatti 4 months ago
John Abbott wrote:
It seems that this issue is practically finished except for the questoon of the name of the function.
The main choice seems to be between:
I vote for radical: I cannot see a similar function in Macaulay2; however in Singular it is called
sqrfree and its result is by default the square free factorization (and with flag "3" the radical of the polynomial).