#17516: Radical expressions for roots of polynomials using Galois theory
-------------------------------------------+------------------------
Reporter: gagern | Owner:
Type: enhancement | Status: new
Priority: major | Milestone: sage-6.5
Component: number fields | Resolution:
Keywords: radical galois symbolic | Merged in:
Authors: | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
Dependencies: | Stopgaps:
-------------------------------------------+------------------------
Changes (by jdemeyer):
* cc: pbruin (added)
Old description:
> 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 probably
> `AlgebraicNumber_base.radical_expression` instead), delegates this task
> to the `solve` 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:
>
> {{{
> sage: p = x^6-300*x^5+30361*x^4-1061610*x^3+1141893*x^2-915320*x+101724
> sage: p.solve(x, explicit_solutions=True)
> []
> sage: r = 1/8*((sqrt(4*(1/9*sqrt(109)*sqrt(3) + 2)^(1/3) -
> 4/3/(1/9*sqrt(109)*sqrt(3) + 2)^(1/3) + 17) + 5)^2 +
> 4)*(sqrt(4*(1/9*sqrt(109)*sqrt(3) + 2)^(1/3) - 4/3/(1/9*sqrt(109)*sqrt(3)
> + 2)^(1/3) + 17) + 5)
> sage: r.minpoly() == QQ[x](p)
> True
> }}}
>
> In comment:77:ticket:14239 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
> doing so is possible, perhaps with some explicitely stated bound on the
> degree.
New description:
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 probably
`AlgebraicNumber_base.radical_expression` instead), delegates this task to
the `solve` 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:
{{{
sage: p = x^6-300*x^5+30361*x^4-1061610*x^3+1141893*x^2-915320*x+101724
sage: p.solve(x, explicit_solutions=True)
[]
sage: r = 1/8*((sqrt(4*(1/9*sqrt(109)*sqrt(3) + 2)^(1/3) -
4/3/(1/9*sqrt(109)*sqrt(3) + 2)^(1/3) + 17) + 5)^2 +
4)*(sqrt(4*(1/9*sqrt(109)*sqrt(3) + 2)^(1/3) - 4/3/(1/9*sqrt(109)*sqrt(3)
+ 2)^(1/3) + 17) + 5)
sage: r.minpoly() == QQ[x](p)
True
}}}
In comment:77:ticket:14239 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).
--
--
Ticket URL: <http://trac.sagemath.org/ticket/17516#comment:1>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.