How to compute the subfields of a Galois Hilbert class field?

114 views
Skip to first unread message

jonhanke

unread,
Aug 23, 2014, 2:49:07 AM8/23/14
to sage-s...@googlegroups.com, jonhanke
Dear Sage-support,

I'd like to use cloud.sagemath.com to compute the subfields F of the Hilbert class field of QQ(sqrt(-39)), which is a Galois extension of QQ with Galois group D_8. For number fields defined by a single polynomial it seems (from the documentation here) we can say 

L.<a> = NumberField(x^4+1)
G = L.galois_group()
H = G.decomposition_group(L.primes_above(3)[0])
F = H.fixed_field()[0]

to produce a number field F associated to the subgroup H of G.  This works well, but how can I run over all subgroups of G?  The desired command

G.subgroups()

we would like seems to require that G is a PermuatationGroup(), but G has type 

type(G)

<class 'sage.rings.number_field.galois_group.GaloisGroup_v2_with_category'>

Question 1:  How can we coerce between these types of groups to be able to enumerate subgroups?

If one tries to use the hilbert_class_field() command then one gets a relative extension

K = NumberField(x^2+39,'a')
K.class_group()  
Class group of order 4 with structure C4 of Number Field in a with defining polynomial x^2 + 39
H = K.hilbert_class_field('b'); H
Number Field in b with defining polynomial x^4 + 2*x^3 + 2*x^2 + x + 1 over its base field

but the type of the Galois group one gets from this construction is not as nice

G = H.galois_group()
type(G)
<class 'sage.rings.number_field.galois_group.GaloisGroup_v1'> 
 
and in particular this Galois group type does not support decomposition groups.  A similar thing happens when one considers a tower of fields 

k.<a,b,c> = NumberField([x^2 + 1, x^2 + 3, x^2 + 5])
GG = k.galois_group()
type(GG)
<class 'sage.rings.number_field.galois_group.GaloisGroup_v1>

This leads to...

Question 2:  (How) Can we access the more robust Galois group type for absolute number fields made as a tower of fields?

Any comments are appreciated.  Thanks a lot!

-Jon
 =)



William A Stein

unread,
Aug 23, 2014, 4:05:17 AM8/23/14
to sage-support, jonhanke
This doesn't answer any of your questions below, but it answers the
subject line of your email:

L.<c> = H.absolute_field()
L.subfields()

>
> but the type of the Galois group one gets from this construction is not as
> nice
>
> G = H.galois_group()
> type(G)
> <class 'sage.rings.number_field.galois_group.GaloisGroup_v1'>
>
>
>
> and in particular this Galois group type does not support decomposition
> groups. A similar thing happens when one considers a tower of fields
>
> k.<a,b,c> = NumberField([x^2 + 1, x^2 + 3, x^2 + 5])
> GG = k.galois_group()
> type(GG)
> <class 'sage.rings.number_field.galois_group.GaloisGroup_v1>
>
>
> This leads to...
>
> Question 2: (How) Can we access the more robust Galois group type for
> absolute number fields made as a tower of fields?
>
> Any comments are appreciated. Thanks a lot!
>
> -Jon
> =)
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-support" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-support...@googlegroups.com.
> To post to this group, send email to sage-s...@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-support.
> For more options, visit https://groups.google.com/d/optout.



--
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
wst...@uw.edu
Reply all
Reply to author
Forward
0 new messages