> In the commercial macsyma, if rootsepsilon is a floating-point
> number, the rational number is converted to float.
> similarly for bfloats.
The bfloat hack is reasonable, since the precision of the bfloat can
be set appropriately. But if rootepsilon=1.0e-20, converting the
roots to floats will lose precision.
In fact, I'd think the straightforward thing to do here is to always
convert the result to a bfloat *of the appropriate number of digits*.
That would avoid confusion and not lose precision. It would also
signal to the user roughly how accurate the result is (the
much-maligned digits of precision...), e.g.
realroots(...,1.0e-5) => 3.4567b0
realroots(...,1.0e-20) => 1.2345678901234567890b0
> Perhaps the documentation should be made more explicit,
> leaving no doubt as to what is being computing, how and why.
Always a good idea to have clear documentation....
-s