The documentation doesn't say to what precision
allroots calculates its argument: in fact, it gives full
floating-point precision (even if the arguments are rats
or bfloats).
allroots is advertised as "find[ing] all the ...roots of the
real polynomial..." In fact it works on real AND complex
polynomials, but requires that the coefficients all be
explicit numbers (which is not stated). The following get
errors:
allroots(x-sqrt(2)) => ALLROOTS: not a polynomial
allroots(x-%pi) =>
** error while printing ERROR message **
ALLROOTS: polynomial not univariate: ~M
Shouldn't allroots simply float its argument?
allroots((x - 1)^10) gets answers about 20% off
because it multiplies out the expression before looking
for roots. Shouldn't already-factored expressions be left
that way? (I am not sure what the right answer is to
that, by the way -- perhaps it is more uniform to expand
them all as floating-point polynomials?) In any case,
this should be documented.
Imported from SourceForge on 2024-07-06 06:08:21 Created by macrakis on 2003-08-15 03:00:52 Original: https://sourceforge.net/p/maxima/bugs/384
The documentation doesn't say to what precision allroots calculates its argument: in fact, it gives full floating-point precision (even if the arguments are rats or bfloats).
allroots is advertised as "find[ing] all the ...roots of the real polynomial..." In fact it works on real AND complex polynomials, but requires that the coefficients all be explicit numbers (which is not stated). The following get errors:
allroots(x-sqrt(2)) => ALLROOTS: not a polynomial
allroots(x-%pi) => ** error while printing ERROR message ** ALLROOTS: polynomial not univariate: ~M
Shouldn't allroots simply float its argument?
allroots((x - 1)^10) gets answers about 20% off because it multiplies out the expression before looking for roots. Shouldn't already-factored expressions be left that way? (I am not sure what the right answer is to that, by the way -- perhaps it is more uniform to expand them all as floating-point polynomials?) In any case, this should be documented.