John Cremona on Fri, 06 Nov 2015 12:13:37 +0100

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

real polynomials

I am using the library functions sturm() and sturmpart() to get the
number of real roots of a real polynomial in the whole real line or
just the positive or negative half-lines.  But occasionally it fails

 ***   domain error in polsturm: issquarefree(pol) = 0

which I expect is only happening if the discriminant is exactly 0.  Is
that right?  Is there a reliable way of taking the squarefreepart, or
the radical, or a real polynomial?

It is in fact true that in my program the polynomial coefficients are
always rational with denominator a power of 2, so will be known
exactly.  I would like to avoid having to keep track of the
denominators and using (scaled) integer coefficients.