{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/fast-evaluation-of-real-and-complex-1","title":"Fast Evaluation of Real and Complex Polynomials","arxiv_id":"2211.06320","date":"2022-10-20","proceeding":null,"authors":["Ramona Anton","Nicolae Mihalache","François Vigneron"],"abstract":"We propose an algorithm for quickly evaluating polynomials. It pre-conditions a complex polynomial $P$ of degree $d$ in time $O(d\\log 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\\big(\\sqrt{d(p+\\log d)}\\big)$ and memory $O(dp)$. The average complexity is computed with respect to points $z \\in \\mathbb{C}$, weighted by the spherical area of $\\overline{\\mathbb{C}}$. The worst case does not exceed the complexity of H{\\\"o}rner's scheme. In particular, our algorithm performs asymptotically as $O(\\sqrt{d\\log d})$ per evaluation. For many classes of polynomials, in particular those with random coefficients in a bounded region of $\\mathbb{C}$, 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.","url_abs":"https://arxiv.org/abs/2211.06320v1","url_pdf":"https://arxiv.org/pdf/2211.06320v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"fast-evaluation-of-real-and-complex-1","repo_url":"https://github.com/fvigneron/fastpolyeval","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}