#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.

Reply via email to