Fast Evaluation of Real and Complex Polynomials

10/20/2022
by   Ramona Anton, et al.
0

We propose an algorithm for quickly evaluating polynomials. It pre-conditions a complex polynomial P of degree d in time O(dlog d), with a low multiplicative constant independent of the precision. Subsequent evaluations of P computed with a fixed precision of p bits are performed in average arithmetic complexity O(√(d(p+log d))) and memory O(dp). The average complexity is computed with respect to points z ∈ℂ, weighted by the spherical area of ℂ. The worst case does not exceed the complexity of Hörner's scheme. In particular, our algorithm performs asymptotically as O(√(dlog d)) per evaluation. For many classes of polynomials, in particular those with random coefficients in a bounded region of ℂ, or for sparse polynomials, our algorithm performs much better than this upper bound, without any modification or parameterization.The article contains a detailed analysis of the complexity and a full error analysis, which guarantees that the algorithm performs as well as H'́orner's scheme, only faster. Our algorithm is implemented in a companion library, written in standard C and released as an open-source project [MV22].Our claims regarding complexity and accuracy are confirmed in practice by a set of comprehensive benchmarks.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset
Success!
Error Icon An error occurred

Sign in with Google

×

Use your Google Account to sign in to DeepAI

×

Consider DeepAI Pro