#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: #14239 | Stopgaps:
-------------------------------------------+------------------------
Comment (by gagern):
Replying to [comment:6 jdemeyer]:
> I think it suffices to take the information from `galoisinit().gen` and
`galoisinit().orders`, but I haven't checked the details.
Current experiments seem to indicate that
`gal.galoisfixfield(gal[6][:-1])` might be enough. At least for the given
example. But I'm not sure whether that's a general rule. What one can do
is look for a sequence of normal subgroups in such a way that the index of
each one in its supergroup is a prime number. In the given example, there
is exactly one such sequence which ends up at the trivial group. Not sure
whether that's a general rule either, and if not, whether it would be
worthwhile to try different sequences. If I understand the GAP code in
`local/gap/latest/lib/grpperm.gi` correctly, its `DerivedSubgroup` method
makes that choice greedily, without a graph search. So if it really is the
derived series we want, then we might have a closer look at that as well,
or simply call GAP as I did in my first attempt.
Here is what I currently use in my experiments, to be on the safe side:
{{{
def findRadicalSeries(t, collect=None):
g = t[0]
n = t[1]
for s in g.galoissubgroups():
if g.galoisisnormal(s):
m = ZZ(prod(s[1]))
k = n // m
if is_prime(k):
t2 = (s, m, t)
if m != 1:
r = findRadicalSeries(t2, collect)
if r is not None and collect is None:
return r
else:
r = []
while t2 is not None:
r.append(t2[:2])
t2 = t2[2]
if collect is None:
return r
else:
collect.append(r)
return collect
rs = findRadicalSeries((gal, ZZ(prod(gal[7])), None))
}}}
I'm currently experimenting with the sequence that found. And just caused
yet another crash, this time somewhere in the symbolic expressions engine.
Investigating…
--
Ticket URL: <http://trac.sagemath.org/ticket/17516#comment:7>
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.