-
-
Notifications
You must be signed in to change notification settings - Fork 541
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Radical expressions for roots of polynomials using Galois theory #17516
Comments
This comment has been minimized.
This comment has been minimized.
Dependencies: #14239 |
comment:3
Computing the Galois group for a polynomial works pretty fast, but I'm not sure how much use that really is. I fear we might need the map between the original polynomial and the Galois closure. Converting the Galois closure for the example above takes some time, but not so much as converting that closure to pari. The time is apparently spent somewhere inside
I still have to figure out how to turn that derived series into a radical expression. I hope you don't mind me posting thoughts along the way. |
comment:4
Replying to @gagern:
Yes indeed
I don't think need you need to convert the group to Sage, I would use |
comment:5
Replying to @jdemeyer:
Passing which subgroup as an argument? I guess I should iterate over all normal subgroups, using I just started reading the chapter “How to solve a solvable equation” in the book Classical Galois Theory by Lisl Gaal. That sounds very promising, since it apparently concentrates on the algorithm, not the theorem. |
comment:6
Replying to @gagern:
I think it suffices to take the information from |
comment:7
Replying to @jdemeyer:
Current experiments seem to indicate that Here is what I currently use in my experiments, to be on the safe side:
I'm currently experimenting with the sequence that found. And just caused yet another crash, this time somewhere in the symbolic expressions engine. Investigating… |
comment:8
Just cc-ing myself, this feature was in my plans for years. |
comment:9
Replying to @gagern:
If you apply this recursively (going from the given field to a subfield and then recursing), sure. |
comment:10
I doubt we need to use GAP for this. I think the subfield sequence given by initial segments of |
comment:11
I still have trouble figuring out what element we should adjoin. One option (Lagrange resolvent?) would apparently be sum(xizi for in in range(n))n where the xi are the roots of the polynomial and z would be a primitive n-th root of unity. For that we'd need to know the roots and the cyclic order for them. It's easy to compute the roots in Sage but they don't come with the cyclic structure. On the other hand, PARI computes the roots and gives the automorphisms in terms of these, but its roots are modulo pe, so they contain more information than GF(p) but I don't know how to match them to the algebraic roots in Sage, or how to perform a computation on them and turn the result into a number field element. I'm still not sure how to do the recusrion once this is resolved, but at the moment, I'm really wondering whether any of you knows how to match these roots. Alternative approaches to compute this resolvent from the coefficients of the polynomial look very ugly for order 4 and I know of no feasible approach for higher orders. |
comment:12
I guess I hadn't grasped the full significance of the term p-adic integer in the docs. The way I see it, we could use |
comment:14
See a related discussion in this Sage devel thread. In particular, this message suggests one could go further than radical expressions, when radical expressions are not enough. |
Changed keywords from radical galois symbolic to radical, galois, symbolic |
There is GAP package |
Given a polynomial from ℚ[X], we need a better way to express its roots using radical expressions if such an expression is possible.
The current approach, as used by e.g.
NumberFieldElement._symbolic_
(and after #14239 gets merged probablyAlgebraicNumber_base.radical_expression
instead), delegates this task to thesolve
method for expressions from the symbolic ring. That in turn will delegate to Maxima. But Maxima is not able to find a radical expression in all cases where they do exist:In #14239 comment:77 Jeroen Demeyer stated that a proper solution here would use Galois Theory, and that we might be able to leverage PARI for this. So the goal of this ticket here is a function or method which constructs radical expressions for the roots of all polynomials where PARI can compute the Galois group of the splitting field (perhaps with a bound on the degree just to limit the running time of the algorithm).
Depends on #14239
CC: @pjbruin @sagetrac-tmonteil @videlec @seblabbe @slel
Component: number fields
Keywords: radical, galois, symbolic
Issue created by migration from https://trac.sagemath.org/ticket/17516
The text was updated successfully, but these errors were encountered: