PWPoly.jl

PWPoly.jl provides a Julia interface for PWPoly, a C library for multipoint evaluation and root finding of well conditioned polynomials. Its exported features include:

  • complex root isolation of square-free polynomials,
  • complex root cluster approximation of non-square-free polynomials,
  • complex root refinement in a given domain,
  • multipoint polynomial evaluation (at complex points).

Installation

using Pkg
Pkg.add(url="https://github.com/chkat/PWPoly_jll.jl.git")
Pkg.add(url="https://gitlab.inria.fr/pace/pwpoly.jl.git")

Quick Start

julia> using PWPoly

# Roots of x^3 - 1
julia> roots, is_real, nbreals = isolate_roots([-1, 0, 0, 1])
(Complex{BigFloat}[1.0 + 0.0im, -0.5 + 0.8660254037844386im, -0.5 - 0.8660254037844385965883020617184229195117950439453125im], Bool[1, 0, 0], 1)

See the manual for a larger example workflow.

References