Open
Description
It looks like this will sometimes give a much tighter box than the other algorithms: when evaluating a polynomial at x = x0 +/- delta
, first do a Taylor shift by x0 +/- 0
, then evaluate at 0 +/- delta
. For example, for 49*x^4 - 188*x^2 + 72*x + 292
(radius 0 for all coefficients) at x = -1.5 +/- 0.1
, I see:
9.0625 +/- 70.1889
for_arb_poly_evaluate_horner
;9.0625 +/- 138.544
for_arb_poly_evaluate_rectangular
;9.0625 +/- 70.1889
for_arb_poly_taylor_shift_horner
then taking the constant coefficient;9.0625 +/- 138.544
for_arb_poly_taylor_shift_divconquer
then taking the constant coefficient;9.0625 +/- 138.544
for_arb_poly_taylor_shift_convolution
then taking the constant coefficient;9.0625 +/- 7.5839
for this new approach.
If instead we take x = -1.5 +- 1e-6
, we see:
9.0625 +/- 6.36001e-4
for the*_horner
options above;9.0625 +/- 1.2975e-3
for the other three options above;9.0625 +/- 2.55005e-5
for the new approach.
Metadata
Metadata
Assignees
Labels
No labels