PolynomialRoots.jl
PolynomialRoots.jl copied to clipboard
Fast complex polynomial root finder, with support for arbitrary precision calculations
Complaint from [JET.jl](https://github.com/aviatesk/JET.jl): ┌ roots(poly::Vector{Int64}) @ PolynomialRoots /src/PolynomialRoots.jl:610 │┌ roots(poly::Vector{Int64}; epsilon::Float64, polish::Bool) @ PolynomialRoots /src/PolynomialRoots.jl:617 ││ no matching method found `(::Colon)(::Int64, ::Nothing)` (1/2 union split): (1 PolynomialRoots.:(:) last_nz::Union{Nothing, Int64}) │└────────────────────...
fixed standard arguments in documentation polish=false in roots and epsilon=NaN for roots and roots5
Corrects some typos in the repository.
I did some test computations and found the following troubling result: ```julia julia> using DynamicPolynomials julia> using PolynomialRoots julia> function poly(roots) @polyvar x d = length(roots) f = prod(x -...
As noted [on discourse](https://discourse.julialang.org/t/in-numerical-computation-how-could-increasing-the-number-of-bits-of-precision-decrease-accuracy/91600/5?u=stevengj), the `roots` function seems to return bogus roots, which are all nearly identical, for some polynomials. It happens pretty often for me if you just randomly...
Prevents run-time dispatch in the most basic `PolynomialRoots.roots` method.
Just a small doc bug. In the first line of `roots` documentation is declares the default value of `polish=true`, yet later in the doc (and in the actual code) it's...
I'm currently contributing an automatic PR labeler to this package as part of my task in Google Code In. I believe that by adding "**documentation**" (for detecting change in a...
the function is exactly the cardano's method, and is already written in the code, but is used only in `root5`, what about using it on the ´roots´ when the polynomial...
This package doesn't work with interval arithmetic because it restricts to `AbstractFloat`: ```julia julia> roots([1.,@interval(2),3]) ERROR: MethodError: no method matching roots!(::Array{Complex{Interval{Float64}},1}, ::Array{Complex{Interval{Float64}},1}, ::Float64, ::Int64, ::Bool) Closest candidates are: roots!(::Array{Complex{T