allroots patch



Raymond Toy wrote:
>
> Out of curiosity, I tried the original Fortran code (TOMS algorithm 493)
> on this polynomial.  It computes the roots just fine, so I conclude that
> the translation in maxima is wrong in some way.
>
> I'll add this to the bug list. :-(  But it shouldn't be too hard to fix
> this by comparing our translation with the Fortran code.
>   
It wasn't as easy as I thought, but I did find one clear mistake in the
algorithm.  Fixing that doesn't make it work.  What really makes it work
is reducing the values of *mre* and *are* (basically float epsilon) to
match the Fortran code.  Even though the routine is for double-precision
data, the *mre* and *are* values are single-float values.  I do not know
why.

Ray