How does roots
work over AcbField?
#3106
Answered
by
fieker
oskarhenriksson
asked this question in
Q&A
Replies: 2 comments
-
It part of the Arb library, see
https://arblib.org/acb_poly.html#root-finding
The algorithm is explained there and is supposed to find all roots.
…On Thu, 14 Dec 2023, 16:08 Oskar Henriksson, ***@***.***> wrote:
One way to approximate the complex roots of a univariate polynomial is to
define it over an AcbField
<https://docs.oscar-system.org/stable/Nemo/acb/>, and then use the roots
command like this:
R, x = polynomial_ring(AcbField(32),"x")
f = x^5-x+1
roots(f)
How is this done? Is there any discussion about this in the documentation
somewhere (I couldn't find anything, but maybe I'm looking in the wrong
places), or any references available for the algorithm that is being used?
Are there any guarantees that all roots are found?
—
Reply to this email directly, view it on GitHub
<#3106>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AA36CV6Z4H2G3OYLREPRKFLYJMI5NAVCNFSM6AAAAABAVAAUJKVHI2DSMVQWIX3LMV43ERDJONRXK43TNFXW4OZVHE3DAOBQHE>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
0 replies
Answer selected by
oskarhenriksson
-
Just a minor comment (@fieker pointed you already in the right direction). If your input is exact (like a rational polynomial), then I suggest to compute the roots as follows:
Because in this case, we can rigorously take care of multiple roots. This is not that easy if you work with polynomials over inexact fields:
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
One way to approximate the complex roots of a univariate polynomial in Oscar is to define it over an AcbField, and then use the
roots
command like this:which returns:
How is this computed in Oscar? Is there any discussion about this in the documentation somewhere (I couldn't find anything, but maybe I'm looking in the wrong places), or any references available for the algorithm that is being used? Are there any guarantees that all roots are found?
Beta Was this translation helpful? Give feedback.
All reactions