Skip to content

non-monic polynomials in acb_poly_find_roots #2421

@thofma

Description

@thofma

I noticed that acb_poly_find_roots chokes on some non-monic polynomials:

julia> f
10*x^4 - 10//17*x^3 + 10//289*x^2 - 10//4913*x + 10//83521

julia> roots(complex_field(), f) # no matter what precision used
ERROR: unable to isolate all roots (insufficient precision, or there is a multiple root)

Works fine once made monic:

julia> roots(complex_field(), f/10)
4-element Vector{ComplexFieldElem}:
 [0.047589235 +/- 2.90e-10] + [-0.034575603 +/- 3.29e-10]*im
 [0.047589235 +/- 2.90e-10] + [0.034575603 +/- 3.29e-10]*im
 [-0.018177470 +/- 5.08e-10] + [-0.055944501 +/- 2.92e-10]*im
 [-0.018177470 +/- 5.08e-10] + [0.055944501 +/- 2.92e-10]*im

I am not sure whether something is missing in the documentation or something else is going on. It is working for some non-monic polynomials:

julia> f = 10//17*x^3 + 10//289*x^2 - 10//4913*x + 10//83521
10//17*x^3 + 10//289*x^2 - 10//4913*x + 10//83521

julia> roots(complex_field(), f)
3-element Vector{ComplexFieldElem}:
 [-0.108193339 +/- 6.92e-10]
 [0.024684905 +/- 5.41e-10] + [-0.035664161 +/- 5.64e-10]*im
 [0.024684905 +/- 5.41e-10] + [0.035664161 +/- 5.64e-10]*im

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions